/* Font Smoothing */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* GSAP - Hide children of containers AND standalone elements */
html:not(.gsap-not-found) [data-gsap-transition] > *,
html:not(.gsap-not-found) [data-gsap-transition]:not(:has(*)) {
    visibility: hidden;
}

/* Fallback for browsers without :has() support */
@@supports not selector(:has(*)) {
    html:not(.gsap-not-found) img[data-gsap-transition],
    html:not(.gsap-not-found) video[data-gsap-transition] {
        visibility: hidden;
    }
}

.cookie-consent {
    position: fixed;
    inset: auto 0 1rem 0;
    z-index: 9999;
    padding: 0 1rem;
}

.cookie-consent_card {
    border-radius: 1rem;
    padding: 1.25rem;
    background: #fff;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(0, 0, 0, 0.08);
    max-width: 62rem;
    margin-inline: auto;
}

.cookie-consent_card p {
    margin-top: 0.5rem;
}

.cookie-consent_actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

.cookie-settings-toggle {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 9998;
}

body.cookie-consent-set .cookie-settings-toggle {
    opacity: 0;
    transition: opacity 0.2s ease;
}

body.cookie-consent-set .cookie-settings-toggle:hover,
body.cookie-consent-set .cookie-settings-toggle:focus-visible {
    opacity: 1;
}

@media (hover: none) {
    body.cookie-consent-set .cookie-settings-toggle {
        opacity: 1;
        pointer-events: auto;
    }
}
