:root{color-scheme:light;--ink:#09274d;--blue:#075cad;--muted:#46617f;--line:#d5e0ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:280px;min-height:100vh;color:var(--ink);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#dfedf7 url('/book/terrace.webp?v=4.7.46') center/cover fixed no-repeat}body::before{content:"";position:fixed;inset:0;background:linear-gradient(100deg,#f6faffed 0%,#eef7ffb5 37%,#eef7ff22 66%);pointer-events:none;z-index:-1}.booking-layout{max-width:1440px;margin:0 auto;padding:38px 5vw 28px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:5vw;align-items:start}.intro{padding-top:0;position:sticky;top:38px}.eyebrow{font-size:16px;color:#355676;letter-spacing:.02em;margin-bottom:24px}h1{font-size:clamp(36px,4.2vw,58px);line-height:1.08;letter-spacing:-.04em;margin:0 0 20px;font-weight:750}h2{font-size:29px;line-height:1.2;margin:0 0 3px;letter-spacing:-.03em}.intro-copy{font-size:20px;max-width:480px;color:var(--muted);margin:0}.features{list-style:none;padding:0;margin:32px 0;display:grid;gap:22px}.features li{display:flex;gap:20px;align-items:center}.feature-icon{display:grid;place-items:center;flex:0 0 64px;height:64px;background:#fffffff0;border:1px solid #e7eef4;border-radius:50%;box-shadow:0 3px 10px #18395c0a;color:var(--blue)}.feature-icon .icon{width:34px;height:34px}.features strong{font-size:19px}.features p{margin:2px 0 0;color:var(--muted)}.icon{display:inline-block;width:23px;height:23px;flex-shrink:0;vertical-align:middle;color:var(--blue)}a{color:var(--blue)}.lookup-link{display:inline-flex;align-items:center;gap:9px;font-weight:650;text-decoration:none;border-bottom:1px solid #91afc6;padding-bottom:4px}.booking-card,.lookup-card{background:#ffffffed;border:1px solid #fff;border-radius:22px;box-shadow:0 10px 40px #12345617;padding:30px}.card-heading{display:flex;align-items:center;gap:20px;margin-bottom:12px}.heading-icon{display:grid;place-items:center;flex:0 0 62px;height:62px;border-radius:50%;background:var(--blue)}.heading-icon .icon{color:white;width:35px;height:35px}.card-heading p{margin:0;color:var(--muted);font-size:15px}fieldset{border:0;padding:0;margin:0;min-width:0}label{display:block;min-width:0;margin-top:18px}.field-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:650;margin-bottom:6px}.field-label small{font-size:12px;color:var(--muted);font-weight:400}.field-label .icon{width:21px;height:21px}input,select,textarea{display:block;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;background:#fff;color:#112d4a;box-shadow:0 1px 2px #102a4303}input::placeholder,textarea::placeholder{color:#7a899e}input[type=date],input[type=time]{appearance:auto;-webkit-appearance:auto}select{padding-right:8px}textarea{min-height:90px;resize:vertical}.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.field-info{font-size:12px;color:#4d6d8b;background:#eaf2f8b3;border-radius:7px;padding:8px 12px;margin:0;overflow-wrap:anywhere}.field-info:empty{display:none}.timezone{margin-top:8px}.stepper{display:flex;align-items:center;min-height:46px;border:1px solid var(--line);border-radius:10px;background:white;padding:2px 4px}.stepper input{appearance:textfield;-moz-appearance:textfield;text-align:center;border:0;box-shadow:none;padding:4px;min-height:40px}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper button{flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;margin:0;background:#edf3f8;border:0;border-radius:50%;font-size:23px;color:var(--ink);box-shadow:none}.optional-note{margin:16px 0 0}.optional-note summary{color:var(--muted);font-size:13px;cursor:pointer}.optional-note label{margin-top:10px}button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;margin-bottom:8px;border:1px solid var(--line);border-radius:12px;font:inherit;font-weight:700;background:white;color:var(--blue);cursor:pointer;box-shadow:0 2px 5px #1234560d}button .icon{color:inherit}button:disabled{opacity:.55;cursor:wait}.submit-button{width:100%;background:var(--blue);color:white;border-color:var(--blue);margin-top:20px;min-height:52px;box-shadow:0 4px 12px #075cad1c}.trust-note{display:flex;justify-content:center;align-items:flex-start;gap:6px;font-size:12px;line-height:1.4;color:var(--muted);margin:0;text-align:center}.trust-note .icon{width:16px;height:16px}.lookup-card{margin-top:18px;padding:20px 26px;background:#fffffff5}.lookup-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;cursor:pointer;list-style:none;min-height:32px}.lookup-card summary::-webkit-details-marker{display:none}.lookup-card summary>span:first-child{display:flex;gap:10px;align-items:center}.lookup-button{width:100%;margin-top:18px}.muted,footer{color:var(--muted);font-size:13px}footer{padding:18px 12px;text-align:center}#bookingError,#lookupError{color:#b42318;white-space:pre-line;margin:8px 0 0;font-size:14px}#bookingError:empty,#lookupError:empty{display:none}.result{background:#f0f7fa;border:1px solid #cbdfe7;border-radius:12px;padding:16px;margin-top:18px;overflow-wrap:anywhere}.result h3{margin:10px 0}.status{display:inline-block;border-radius:99px;padding:5px 12px;font-size:13px;font-weight:700;background:#fff3d6;color:#805b00}.cancelled{color:#b42318;background:#fee4e2}.approved,.arrived{color:#08764f;background:#dcf5e7}.secret{user-select:all;overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #247bc0;outline-offset:3px}.spam-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link{position:fixed;top:-100px;left:12px;background:white;padding:12px;z-index:10}.skip-link:focus{top:12px}
@media(min-width:1500px){.booking-layout{padding-inline:40px;gap:100px}}
@media(max-width:850px){body{background-attachment:scroll;background-position:center top;background-size:auto 660px;background-color:#edf4f8}body::before{background:linear-gradient(#eff8ffd9,#eff8ff8c 200px,#edf4f8 620px)}.booking-layout{display:block;max-width:650px;padding:24px 16px 12px}.intro{position:static;padding:0 4px 24px}.eyebrow{margin-bottom:14px;font-size:13px}h1{font-size:36px;margin-bottom:12px}.intro-copy{font-size:16px;max-width:430px}.features{display:none}.lookup-link{font-size:13px;margin-top:16px}.booking-card{padding:24px;border-radius:18px}.card-heading{gap:14px}h2{font-size:26px}.heading-icon{flex-basis:52px;height:52px}.heading-icon .icon{width:30px;height:30px}.pair{gap:14px}.lookup-card{padding:18px 22px}}
@media(max-width:380px){.booking-layout{padding-inline:10px}.booking-card{padding:20px 14px}.pair{gap:10px}.contact-pair{grid-template-columns:1fr}.contact-pair label+label{margin-top:8px}.field-label{font-size:13px;gap:6px}.card-heading p{font-size:13px}h1{font-size:32px}.stepper button{flex-basis:36px;width:36px;height:40px}.trust-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Language selection never changes submitted values or reservation IDs. */
h1[data-i18n]{white-space:pre-line;}
.language-picker{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 16px;font-size:12px;color:#355676;}
.language-picker select{width:auto;min-width:128px;max-width:180px;min-height:44px;font-size:15px;background:#ffffffed;}
@media(max-width:850px){.language-picker{margin-bottom:12px;}.language-picker select{min-height:44px;}}

/* 4.7.38: dropdown controls/items stay flat. */
select,option{box-shadow:none!important;}option{border:0!important;padding:8px 12px;}

.booking-success-title{color:#006699;font-weight:800;margin:0 0 14px;font-size:clamp(1.25rem,4vw,1.65rem)}#confirmation{scroll-margin-top:24px;outline:none}

/* 4.7.49: keep the English headline on one line at desktop and mobile widths. */
.intro{container-type:inline-size;min-width:0;}
html[lang="en"] .intro h1{white-space:nowrap;font-size:clamp(16px,2.4vw,40px);}
@media(max-width:850px){html[lang="en"] .intro h1{font-size:clamp(16px,6.3vw,40px);}}
@supports(font-size:1cqi){html[lang="en"] .intro h1{font-size:clamp(16px,7cqi,40px);}}

.brand-backdrop{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none;}.brand-backdrop[hidden],.restaurant-brand[hidden],#restaurantLogo[hidden]{display:none;}body.restaurant-background{background-image:none;background-color:#edf4f8;isolation:isolate;}.restaurant-brand{display:flex;align-items:center;gap:14px;margin:12px 0 20px;}.restaurant-brand img{width:76px;height:76px;object-fit:contain;border-radius:14px;background:white;padding:6px;}.restaurant-brand p{font-size:26px;font-weight:750;line-height:1.2;margin:0;overflow-wrap:anywhere;}@media(max-width:600px){.restaurant-brand img{width:60px;height:60px;}.restaurant-brand p{font-size:23px;}}
