/* Restaurant booking pages retain their own editable palette. Admin branding is separate. */
body{background:var(--page-bg);color:var(--title-color)}body>header{background:var(--card-bg);border-color:color-mix(in srgb,var(--title-color),transparent 80%);color:var(--title-color)}#brand-name,header label,header select{color:var(--title-color)}#booking-form{background:var(--card-bg);border-color:color-mix(in srgb,var(--title-color),transparent 80%)}#booking-form label,#booking-form h2,#booking-form input,#booking-form select,#booking-form textarea{color:var(--title-color)}#booking-form input,#booking-form select,#booking-form textarea,#language{background:color-mix(in srgb,var(--card-bg),var(--page-bg) 30%);border-color:color-mix(in srgb,var(--title-color),transparent 75%)}#intro,.hint,#slots-message,#reservation-policy,#booking-form small{color:var(--intro-color)}.booking-step+.booking-step{border-color:color-mix(in srgb,var(--title-color),transparent 80%)}#booking-form button{background:var(--accent);color:var(--accent-ink,#fff);border-color:var(--accent)}#booking-form button.secondary{background:transparent;color:var(--accent)}#booking-form .slot-grid button{background:var(--card-bg);color:var(--accent);border-color:color-mix(in srgb,var(--title-color),transparent 70%)}#booking-form .slot-grid button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink,#fff);border-color:var(--accent)}#booking-mode{background:color-mix(in srgb,var(--accent),var(--card-bg) 90%);color:var(--title-color)}#restaurant-photo{display:block;width:100%;height:240px;object-fit:cover;border-radius:16px;order:4;margin-top:24px}#restaurant-photo[hidden],#logo[hidden]{display:none}#logo{max-height:70px;background:#fff8eb;border-radius:8px;padding:7px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.step-number{background:color-mix(in srgb,var(--accent),var(--card-bg) 85%);color:var(--accent)}
body.group-request{--page-bg:#10100f;--card-bg:#1b1a18;--title-color:#f3eee5;--intro-color:#c7bbab;--accent:#c39754;--accent-ink:#10100f;background:var(--page-bg);color:var(--title-color)}.group-request main,.group-request .notice,.group-request .success{background:var(--card-bg);color:var(--title-color);border-color:color-mix(in srgb,var(--title-color),transparent 75%)}.group-request button{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.group-request input,.group-request select,.group-request textarea{background:var(--card-bg);color:var(--title-color);border-color:color-mix(in srgb,var(--title-color),transparent 70%)}#group-identity{padding:16px 24px;display:flex;gap:18px;align-items:center;justify-content:center}#group-identity[hidden]{display:none}#group-logo{max-width:160px;max-height:60px;object-fit:contain;background:#fff8eb;padding:7px;border-radius:8px}#group-photo{width:min(720px,calc(100% - 32px));height:190px;object-fit:cover;display:block;margin:24px auto 0;border-radius:16px}#group-photo[hidden]{display:none}@media(max-width:760px){#restaurant-photo{height:170px;margin:16px 0 4px}}

.group-request .brand,.group-request a{color:var(--accent)}.group-request .eyebrow{color:var(--accent)}.group-request .hint{color:var(--intro-color)}.group-request .choice label,.group-request #success{background:var(--card-bg);color:var(--title-color);border-color:color-mix(in srgb,var(--title-color),transparent 70%)}

#booking-form p{color:var(--intro-color)}#result.error,#slots-message.error,.group-request #error{color:color-mix(in srgb,#e06b5e,var(--title-color) 20%)}

/* Honor visibility when a group request replaces the normal reservation steps. */
[hidden]{display:none!important}
#booking-form .group-routing-notice{border:1px solid color-mix(in srgb,var(--accent),var(--card-bg) 55%);border-radius:14px;background:color-mix(in srgb,var(--accent),var(--card-bg) 92%);padding:20px;margin:8px 0 0;display:grid;gap:16px}
#booking-form .group-routing-notice p{color:var(--title-color);font-size:15px;line-height:1.65;margin:0}
#booking-form .group-routing-notice button{width:100%;min-height:48px;white-space:normal;line-height:1.4;padding:13px 18px}
.group-routing-dialog{border:1px solid color-mix(in srgb,var(--title-color),transparent 75%);border-radius:16px;padding:0;width:min(720px,96vw);height:94dvh;max-height:94dvh;background:var(--card-bg)}
.group-routing-dialog .group-routing-close{position:sticky;top:0;width:100%;height:48px;border:0;background:var(--card-bg);color:var(--title-color);border-bottom:1px solid color-mix(in srgb,var(--title-color),transparent 75%)}
.group-routing-dialog iframe{width:100%;height:calc(100% - 48px);border:0}
.group-routing-dialog::backdrop{background:#0009}
#booking-form .group-routing-notice h3{margin:0;color:var(--title-color);font-size:18px;line-height:1.4}
