/* Cookie banner (assets/js/consent.js). A card, not a modal: the page stays usable and focus is never trapped. On
   phones it sits above the booking bar (--co-cc-bottom, measured by the script), so the booking button stays visible. */
.co-cc { position: fixed; z-index: 70; left: var(--space-4); right: var(--space-4); bottom: calc(var(--co-cc-bottom, 0px) + var(--space-4)); max-width: 420px; padding: var(--space-5); background: var(--surface-raised); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow-float); font: 400 15px/1.45 var(--font-text); }
.co-cc[hidden] { display: none; }
.co-cc h2 { margin: 0 0 var(--space-2); font: 600 16px/1.3 var(--font-text); }
.co-cc p { margin: 0 0 var(--space-4); }
.co-cc .co-cc-do { display: flex; gap: var(--space-3); }
.co-cc .co-cc-do .co-btn { flex: 1 1 0; }
.co-cc:focus { outline: none; }
@media (max-width: 1023px) { .co-cc { padding: var(--space-4); font-size: 14px; } .co-cc p { margin-bottom: var(--space-3); } }
@media (min-width: 1024px) { .co-cc { right: auto; } }
.co-cc-open { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; display: inline-flex; align-items: center; min-height: 44px; }
@media print { .co-cc { display: none; } }
