/* Consent banner styles for the legacy /reservation.html, which does not load styles.css.
   The .cc rules are copied from styles.css (tests/reservation-consent.test.js keeps them in sync);
   the design tokens are scoped to .cc so the legacy page layout is untouched. */
.cc{--ink:#173b30;--ink-soft:#4b665a;--forest:#193e32;--forest-dark:#102e26;--paper:#fffefa;--line:#cddccf;--font-display:Georgia,'Times New Roman',serif;--font-body:Arial,Helvetica,sans-serif}
.footer-legal .footer-cookie-button{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.footer-legal a{color:inherit}
.cc{position:fixed;z-index:1000;left:16px;right:16px;bottom:16px;max-width:720px;margin:0 auto;max-height:calc(100vh - 32px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 50px rgba(16,46,38,.28);font-family:var(--font-body)}
.cc[hidden]{display:none}
.cc-inner{padding:24px 26px}
.cc-title{margin:0 0 10px;font-family:var(--font-display);font-size:22px;font-weight:400;line-height:1.2;color:var(--forest)}
.cc-title:focus{outline:none}
.cc-title:focus-visible{outline:3px solid var(--forest-dark);outline-offset:3px}
.cc-intro{margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--ink-soft)}
.cc-link{color:var(--forest);font-weight:700;text-decoration:underline}
.cc-prefs{margin:0 0 18px;padding:0;border:0}
.cc-prefs[hidden]{display:none}
.cc-prefs legend{margin-bottom:8px;padding:0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--forest)}
.cc-option{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.cc-option input{width:22px;height:22px;margin:0;accent-color:var(--forest)}
.cc-option label{font-size:14px;font-weight:700;color:var(--ink);cursor:pointer}
.cc-option input:disabled+label{cursor:default}
.cc-option-desc{grid-column:2;margin:0;font-size:13px;line-height:1.5;color:var(--ink-soft)}
.cc-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cc-button{min-height:48px;padding:10px 16px;border:1px solid var(--forest);background:var(--forest);color:#f7f8ef;font:700 13px/1.3 var(--font-body);letter-spacing:.03em;cursor:pointer;transition:background .2s ease}
.cc-button:hover{background:var(--forest-dark)}
.cc-button[hidden]{display:none}
.cc-button[data-cc="save"]{grid-column:1/-1}
@media (max-width:560px){.cc{left:8px;right:8px;bottom:8px}.cc-inner{padding:18px}.cc-actions{grid-template-columns:1fr}.cc-title{font-size:20px}}
@media (prefers-reduced-motion:reduce){.cc-button{transition:none}}
.cc{z-index:2147483000}
@media(max-width:900px){.cc{bottom:80px;max-height:calc(100vh - 96px)}}
