/* Base styles and custom utilities */

/* Ensure smooth rendering */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Selection color */
::selection {
    background: rgba(196, 114, 74, 0.2);
    color: #2C2420;
}

/* Focus visible styles */
:focus-visible {
    outline: 1px solid #C4724A;
    outline-offset: 2px;
}

/* Prevent layout shift on image load */
img {
    max-width: 100%;
    height: auto;
}

/* Smooth transitions for all interactive elements */
a, button {
    transition: all 0.3s ease;
}

/* Custom select styling */
select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232C2420' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0 center;
    padding-right: 2rem !important;
}

/* Print styles */
@media print {
    .grain::after { display: none; }
    nav, #mobile-menu { display: none; }
    body { color: #000; background: #fff; }
}

/* Mobile responsiveness tweaks */
@media (max-width: 768px) {
    .float-1, .float-2, .float-3 {
        display: none;
    }
}

/* Tablet and up: show floating cards */
@media (min-width: 1024px) {
    .float-1, .float-2, .float-3 {
        display: block;
    }
}
