/* Only the consent interface is styled here; existing page components are untouched. */
.consent-banner[hidden], .consent-reopen[hidden] { display: none !important; }
.consent-banner {
    position: fixed;
    z-index: 90;
    inset: auto 0 0;
    margin: 0;
    border-top: 1px solid #a9b9c8;
    padding: 1rem max(1.25rem, env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));
    background: #f1f4f6;
    color: #01030e;
    text-align: left;
    font: 1rem/1.5 "D-DIN Expanded", "Arial Narrow", Arial, sans-serif;
    max-height: calc(100svh - 5.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.consent-banner, .consent-banner * { box-sizing: border-box; }
.consent-inner { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; }
.consent-banner .consent-copy h2 { margin: 0 0 .35rem; color: #01030e; font: 700 1rem/1.3 "D-DIN Expanded", "Arial Narrow", Arial, sans-serif; letter-spacing: 0; }
.consent-banner .consent-copy p { max-width: 68ch; margin: 0; color: #363a43; font-size: .875rem; line-height: 1.55; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.consent-actions button {
    appearance: none;
    min-height: 44px;
    padding: .65rem .8rem;
    border: 1px solid #718596;
    border-radius: 0;
    background: #fff;
    color: #01030e;
    font: inherit;
    font-size: .875rem;
    line-height: 1.4;
    cursor: pointer;
}
.consent-actions button:hover { background: #e2e8ed; }
.consent-banner :focus-visible, .consent-reopen:focus-visible { outline: 3px solid #526a7d; outline-offset: 3px; }
.consent-footer { width: min(calc(100% - 2.5rem), 1120px); margin: .65rem auto 0; }
.consent-reopen { display: inline-block; min-height: 44px; padding: .5rem 0; border: 0; border-radius: 0; background: none; color: inherit; font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: .25em; cursor: pointer; }
.home-footer .consent-footer { width: auto; margin: 0; }
.home-footer .consent-reopen { margin-block: -.65rem; }
.consent-spacer { flex: none; height: 0; }
html { scroll-padding-bottom: var(--consent-space, 0px); }
@media (max-width: 1100px) {
    .consent-inner { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
}
@media (max-width: 759px) {
    .consent-banner { padding-top: .85rem; padding-bottom: calc(.85rem + env(safe-area-inset-bottom)); }
    .consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .consent-actions button:last-child { grid-column: 1 / -1; }
}
@media (max-width: 359px) {
    .consent-banner { padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right)); }
}
@media print {
    .consent-banner, .consent-footer, .consent-spacer { display: none !important; }
}
