.cookie-consent {
    position: fixed;
    z-index: 200;
    inset: 0;
    display: grid;
    place-items: end center;
    padding: max(0.6rem, env(safe-area-inset-top)) max(0.6rem, env(safe-area-inset-right)) max(0.6rem, env(safe-area-inset-bottom)) max(0.6rem, env(safe-area-inset-left));
    background: var(--color-overlay);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.cookie-consent__panel {
    display: grid;
    width: min(100%, 48rem);
    min-width: 0;
    max-width: 100%;
    max-height: calc(100dvh - 1.2rem);
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem 1rem;
    padding: clamp(1.1rem, 4vw, 1.75rem);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: var(--shadow-nav);
    overflow-y: auto;
}

.cookie-consent__icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    color: var(--landing-icon-orange);
    background: color-mix(in srgb, var(--landing-icon-orange) 14%, var(--color-surface));
    font-size: 1.25rem;
    place-items: center;
}

.cookie-consent__content {
    min-width: 0;
}

.cookie-consent__content h2 {
    margin: 0.3rem 0 0.55rem;
    font-size: clamp(1.35rem, 5vw, 1.8rem);
    line-height: 1.15;
}

.cookie-consent__content p {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.cookie-consent__actions {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-top: 0.25rem;
}

.cookie-consent__actions .btn {
    width: 100%;
    min-width: 0;
    padding-inline: 0.6rem;
    white-space: nowrap;
}

@media (min-width: 48rem) {
    .cookie-consent {
        place-items: center;
    }
}

@media (max-width: 34rem) {
    .cookie-consent__panel {
        grid-template-columns: 1fr;
        gap: 0.7rem;
        padding: clamp(0.9rem, 5vw, 1.25rem);
    }

    .cookie-consent__icon {
        width: 2.6rem;
        height: 2.6rem;
        font-size: 1.05rem;
    }

    .cookie-consent__content h2 {
        margin-block: 0.2rem 0.45rem;
        font-size: clamp(1.2rem, 6vw, 1.45rem);
    }

    .cookie-consent__content p {
        font-size: clamp(0.82rem, 3.6vw, 0.92rem);
        line-height: 1.5;
    }

    .cookie-consent__actions {
        gap: 0.35rem;
    }

    .cookie-consent__actions .btn {
        min-height: var(--touch-target);
        padding-inline: 0.25rem;
        font-size: clamp(0.68rem, 3.1vw, 0.82rem);
    }
}

@media (max-width: 22rem) {
    .cookie-consent {
        padding-inline: max(0.35rem, env(safe-area-inset-left));
    }

    .cookie-consent__panel {
        padding-inline: 0.8rem;
    }
}

@media (max-height: 32rem) and (orientation: landscape) {
    .cookie-consent {
        place-items: start center;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .cookie-consent__panel {
        animation: cookie-consent-enter 180ms ease-out;
    }
}

@keyframes cookie-consent-enter {
    from {
        opacity: 0;
        transform: translateY(0.75rem);
    }
}
