/* Custom styles that complement Tailwind */

/* Smooth scroll offset for fixed nav */
section[id] {
    scroll-margin-top: 80px;
}

/* Selection color */
::selection {
    background: #a11a38;
    color: white;
}

/* Focus styles */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid #a11a38;
    outline-offset: 2px;
}

/* Image placeholder fallback */
img {
    image-rendering: auto;
}

/* Print styles */
@media print {
    nav, .mobile-menu, #menuBtn, #closeMenu {
        display: none !important;
    }
    .asymmetric-grid {
        grid-template-columns: 1fr;
    }
    body {
        color: #2A2522;
        background: white;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    html {
        scroll-behavior: auto;
    }
    .marquee-track {
        animation: none;
    }
}

/* Tablet adjustments */
@media (max-width: 768px) {
    .asymmetric-grid {
        grid-template-columns: 1fr;
    }
    .asymmetric-grid > div:first-child {
        min-height: 80vh;
    }
    .asymmetric-grid > div:last-child {
        min-height: 50vh;
    }
}

/* Small mobile */
@media (max-width: 360px) {
    .serif {
        font-size: 1.25rem;
    }
    .btn-primary,
    .btn-outline {
        padding: 0.75rem 1.25rem;
        font-size: 0.7rem;
    }
}
