@tailwind base;
@tailwind components;
@tailwind utilities;

/* Smooth scrolling fallback for browsers without native behavior */
html {
    scroll-behavior: smooth;
}

/* Accessible focus outline */
*:focus {
    outline: 2px solid #38bdf8;
    outline-offset: 2px;
}

/* Legacy utility shims from previous build */
.hover\:bg-blue-700:hover {
    background-color: #1d4ed8;
}

.hover\:text-blue-600:hover {
    color: #2563eb;
}

@media (max-width: 768px) {
    .text-5xl {
        font-size: 2.5rem;
    }

    .grid-cols-3 {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 380px) {
    .hide-on-w380 {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .hide-on-w1023-767 {
        display: none;
    }
}

#cookie-banner {
    z-index: 1000;
    animation: slideUp 0.5s ease-in-out;
}

#cookie-banner.hidden {
    display: none;
}

#cookie-banner-close {
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 14px;
}

@media (max-width: 640px) {
    #cookie-banner-close {
        padding: 4px 10px;
        font-size: 12px;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(100%);
    }
    to {
        transform: translateY(0);
    }
}

.cookie-banner-visible {
    padding-bottom: 52px;
}
