/* A quiet, compact notice in Mont°6's limestone palette. Both choices are equal. */
.cookie-banner {
    left: max(1.5rem, env(safe-area-inset-left));
    bottom: max(1.5rem, env(safe-area-inset-bottom));
    width: min(460px, calc(100% - 3rem));
    max-height: calc(100dvh - 3rem);
    overflow: auto;
    padding: 1.5rem 1.5rem 1rem;
    border: 0;
    border-radius: 12px;
    background: var(--color-bg-light);
    color: var(--color-text);
    box-shadow: 0 8px 32px rgba(28, 36, 32, 0.18);
}
.cookie-content { display: flex; flex-direction: column; align-items: stretch; gap: 1.25rem; margin: 0; }
.cookie-copy h2 { font-family: var(--font-heading); font-size: 1.875rem; font-weight: 500; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 0.65rem; }
.cookie-content p { padding: 0; font-size: 0.875rem; line-height: 1.6; color: var(--color-text); }
.cookie-actions { width: 100%; margin: 0; flex-direction: column; align-items: stretch; gap: 0.35rem; }
.cookie-choice-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 0.625rem; }
.cookie-choice-actions .btn-cookie {
    margin: 0; padding: 0.75rem 0.6rem; min-height: 46px;
    border: 1px solid #81776A; border-radius: 6px;
    background: transparent; color: var(--color-text);
    font-size: 0.875rem; font-weight: 600; line-height: 1.4; white-space: normal; text-align: center;
}
.cookie-choice-actions .btn-cookie:hover { background: var(--color-bg-dark); border-color: var(--color-bg-dark); color: var(--color-bg-card); }
.cookie-choice-actions .btn-cookie:active { background: #303D33; }
.cookie-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 1rem; }
.cookie-content .cookie-links a { min-height: 44px; font-size: 0.75rem; line-height: 1.5; color: var(--color-text-light); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cookie-content .cookie-links a:hover { color: var(--color-text); }
.cookie-preferences { width: min(92vw, 600px); padding: clamp(1.25rem, 4vw, 2rem); border-radius: 12px; }
.cookie-preferences p { font-size: 1rem; line-height: 1.6; }
.cookie-preferences .cookie-choice-actions { margin-top: 1.5rem; }
.cookie-preferences .cookie-choice-actions .btn-cookie { margin-top: 0; }
.cookie-consent-status { font-weight: 600; }
.cookie-preferences-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem; margin-top: 1rem; }
.cookie-text-button { border: 0; background: transparent; color: inherit; font: inherit; font-size: 0.9375rem; padding: 0.5rem 0; min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: 0.2em; }
.cookie-text-button[data-cookie-close] { margin-inline-start: auto; }
.cookie-banner :focus-visible, .cookie-preferences :focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.cookie-banner [hidden], .cookie-preferences [hidden] { display: none !important; }
body.cookie-notice-open { padding-bottom: calc(var(--cookie-notice-height, 0px) + 3rem); }
/* On compact screens the notice takes its own space below the hero action.
   A fixed sheet must never cover booking controls or keyboard focus. */
@media (max-width: 900px), (max-height: 600px) {
    .cookie-banner {
        position: relative; inset: auto; flex: 0 0 auto;
        width: min(460px, calc(100% - 1.5rem)); max-height: none;
        margin: 0 auto; z-index: 1;
    }
    body.cookie-notice-open { padding-bottom: 0; }
    .cookie-notice-open .hero {
        height: auto; min-height: 100svh; flex-direction: column;
        justify-content: flex-start; padding: 7rem 0 1.25rem; gap: 1.5rem;
    }
    .cookie-notice-open .hero-bottom-bar { display: none; }
    main > .cookie-banner { margin-bottom: 2rem; }
}
@media (max-width: 600px) {
    .cookie-banner {
        left: auto; bottom: auto;
        width: calc(100% - 1.5rem); max-height: none;
        padding: 1.25rem 1.25rem 0.75rem;
    }
    .cookie-copy h2 { font-size: 1.75rem; }
    .cookie-content { gap: 1rem; }
    body.cookie-notice-open { padding-bottom: 0; }
}
