:root{--ink:#191c22;--paper:#f5f4f0;--surface:#fff;--blue:#2d4a6b;--muted:#525a65;--line:#dce2e7;--notice:#edf3fa;--link:#24527a;--button:#191c22;--button-text:#fff;--error:#a31b28;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);color-scheme:light}
:root[data-lighting=dim]{--ink:#181a1d;--paper:#e6e1d6;--surface:#f2efe8;--blue:#26415e;--muted:#4a5058;--line:#cbc4b6;--notice:#dfd9cb;--link:#1e3f63;--button:#181a1d;--button-text:#f2efe8;--error:#9e1b26;color-scheme:light}
:root[data-lighting=semi-dark]{--ink:#eef2f6;--paper:#1a2028;--surface:#232b35;--blue:#a9c2d8;--muted:#aeb9c6;--line:#364252;--notice:#283747;--link:#b2d2ee;--button:#eef2f6;--button-text:#182028;--error:#ffabb4;color-scheme:dark}
:root[data-theme=dark]:not([data-lighting=semi-dark]){--ink:#edf1f5;--paper:#111316;--surface:#181b1f;--blue:#a9c2d8;--muted:#b2bdc9;--line:#2a2f36;--notice:#1f2a36;--link:#a4c8ea;--button:#e9eff5;--button-text:#17212c;--error:#ffabb4;color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme]):not([data-lighting]){--ink:#edf1f5;--paper:#111316;--surface:#181b1f;--blue:#a9c2d8;--muted:#b2bdc9;--line:#2a2f36;--notice:#1f2a36;--link:#a4c8ea;--button:#e9eff5;--button-text:#17212c;--error:#ffabb4;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;padding:max(20px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom));background:var(--paper);color:var(--ink)}main{max-width:850px;margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,5vw,48px);box-shadow:0 20px 65px #11223308}header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:35px}a{color:var(--link);text-underline-offset:4px}.brand{display:block;flex-shrink:0}.brand img{display:block;width:100px;height:100px;object-fit:contain}.brand .logo-on-dark{display:none}:root[data-theme=dark] .brand .logo-on-light{display:none}:root[data-theme=dark] .brand .logo-on-dark{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme]) .brand .logo-on-light{display:none}:root:not([data-theme]) .brand .logo-on-dark{display:block}}.header-controls{display:flex;align-items:flex-end;gap:12px;flex-direction:column}.header-controls select{max-width:150px}.header-controls nav{font-size:14px;white-space:nowrap}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:750;color:var(--blue)}h1{font-size:clamp(28px,5vw,44px);line-height:1.13;letter-spacing:-.025em;margin:15px 0}p{line-height:1.65;color:var(--muted)}.notice,#booking-success{padding:18px;background:var(--notice);border-radius:12px}form{margin-top:24px}label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px;margin:14px 0}input,select,button,.button{font:inherit;border:1px solid var(--line);border-radius:9px;padding:12px;min-height:44px;max-width:100%}input,select{background:var(--surface);color:var(--ink);width:100%}button,.button{cursor:pointer;background:var(--button);color:var(--button-text);text-decoration:none;font-weight:650;display:inline-block}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}legend{padding:0 6px;font-weight:650}#booking-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:9px;min-height:45px;max-height:360px;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding:3px;scrollbar-width:thin}.slot{background:var(--surface);color:var(--ink);font-weight:600}.slot[aria-pressed=true]{background:var(--button);color:var(--button-text);border-color:var(--button)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.check{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.6}.check input{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--blue)}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#booking-error{color:var(--error)}#book-submit{width:100%;padding:15px}footer{margin-top:32px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--muted)}[hidden]{display:none!important}#selected-time{font-weight:600;color:var(--ink)}@media(max-width:540px){.fields{grid-template-columns:1fr}main{border-radius:15px}header{margin-bottom:25px}.brand img{width:85px;height:85px}#booking-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}

.header-controls{min-width:0;flex:1}.header-controls nav{display:flex;flex-wrap:wrap;gap:4px 8px;white-space:normal;justify-content:flex-end}.header-controls nav a{white-space:nowrap}.trap{position:absolute!important;left:0;top:0;width:1px;height:1px;margin:-1px;padding:0;clip-path:inset(50%);white-space:nowrap;overflow:hidden}

/* Shared header actions: language and appearance stay on the same row. */
header{display:grid;grid-template-columns:100px minmax(0,1fr)}.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0;flex-wrap:wrap}.header-tools .header-controls{flex:0 1 320px;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}.header-tools .header-controls select{flex:1;min-width:0;max-width:160px;margin:0}.book-home{background:var(--surface);color:var(--ink);text-align:center;font-size:14px;white-space:normal}.book-home-footer{white-space:nowrap}
@media(max-width:540px){header{grid-template-columns:85px minmax(0,1fr);gap:14px}.brand{grid-column:1;grid-row:1}.header-tools{display:contents}.header-tools .header-controls{grid-column:1/-1;grid-row:2;width:100%;justify-content:stretch}.header-tools .header-controls select{max-width:none;width:50%}.book-home{grid-column:2;grid-row:1;justify-self:end;max-width:100%}}
