/* Selected DOM bubble identity: rich dark blue and white. */
:root{--dom-blue:#153e75;--dom-navy:#0c2852;--dom-pale:#f0f6fa;--dom-line:#c6dce8;--ink:var(--dom-navy);--paper:#fff;--booking-brown:#fff;--booking-deep:var(--dom-pale);--booking-line:var(--dom-line);--booking-cream:var(--dom-navy)}
body:not(.standalone)>main,body:not(.standalone)>footer{color:var(--dom-navy);text-shadow:none}
.sky .wordmark img{filter:none}
.wordmark{width:min(72vw,430px);margin-bottom:20px}
.sky .small-brand img,.small-brand img,.standalone .small-brand img,.menu-page .small-brand img,header .brand img{width:44px;height:44px;max-height:44px;object-fit:contain;filter:none}
.sky .instagram-icon,.instagram-icon{color:var(--dom-blue)!important}
body:not(.standalone)>main .reserve-button,body:not(.standalone)>main .menu-button,body:not(.standalone)>main .sky .reserve-button,.reserve-button,dialog .reserve-button,body.standalone .reserve-button{background:var(--dom-blue);border:1px solid var(--dom-blue);color:#fff;border-radius:8px;text-shadow:none;min-height:50px;padding:12px 28px;line-height:1.25;transition:background .2s,border-color .2s}
body:not(.standalone)>main .reserve-button:hover,body:not(.standalone)>main .menu-button:hover,body:not(.standalone)>main .sky .reserve-button:hover,.reserve-button:hover,dialog .reserve-button:hover,body.standalone .reserve-button:hover{background:var(--dom-navy);border-color:var(--dom-navy);color:#fff}
.menu-links{align-items:stretch}.menu-links .reserve-button,.menu-links .menu-button{padding:12px 16px}
.introduction>.eyebrow{color:#fff}
body.standalone,dialog,.standalone-form{background:#fff;color:var(--dom-navy)}
dialog .dialog-header,.standalone .topbar{background:var(--dom-pale)}
dialog input,dialog select,dialog textarea,body.standalone input,body.standalone select,body.standalone textarea{background:#fff;color:var(--dom-navy);border-color:var(--dom-line);color-scheme:light}
dialog input::placeholder,dialog textarea::placeholder,body.standalone input::placeholder,body.standalone textarea::placeholder{color:#587185}
dialog .success,body.standalone .success,.summary{background:var(--dom-pale);color:var(--dom-navy)}
dialog .form-note,body.standalone .form-note,.open-days{color:#506c7d}
.time-stepper{background:#fff;border-color:var(--dom-line)}.time-change{background:var(--dom-pale);color:var(--dom-blue)}.time-change:hover{background:#e0eef5}
.close{border-color:var(--dom-line)}
.menu-page .topbar a,.menu-content h1,.pdf-link{color:var(--dom-navy);text-shadow:none}#menu-loading{background:var(--dom-blue);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--dom-blue);outline-offset:4px}
/* Staff surfaces use the same palette while retaining their existing layout. */
body:has(.calendar-layout),body.code-entry-page{--bg:#fff;--panel:var(--dom-pale);--ink:var(--dom-navy);--muted:#506c7d;--gold:var(--dom-blue);--wine:var(--dom-blue);background:#fff;color:var(--dom-navy)}
body:has(.calendar-layout) header{background:var(--dom-pale);border-color:var(--dom-line)}
body:has(.calendar-layout) a,body:has(.calendar-layout) p{color:var(--dom-navy)}
body:has(.calendar-layout) input,body:has(.calendar-layout) select,body:has(.calendar-layout) textarea,.code-entry-page input{background:#fff;color:var(--dom-navy);border-color:var(--dom-line);color-scheme:light}
body:has(.calendar-layout) input::placeholder,body:has(.calendar-layout) textarea::placeholder{color:#587185}
body:has(.calendar-layout) .button,.code-entry-page .button{background:var(--dom-blue);border-color:var(--dom-blue);color:#fff;border-radius:8px}
body:has(.calendar-layout) .button:hover,.code-entry-page .button:hover{background:var(--dom-navy);border-color:var(--dom-navy)}
body:has(.calendar-layout) .day,body:has(.calendar-layout) .booking-card,.tabs,.empty,.member{border-color:var(--dom-line)}
body:has(.calendar-layout) .day.selected{background:#e0eef5;outline:2px solid var(--dom-blue)}
.code-entry-page h1{color:var(--dom-blue)}.code-entry-page input:focus{border-color:var(--dom-blue);outline-color:#153e7540}
.manual-dialog{background:#fff;border-color:var(--dom-line);color:var(--dom-navy)}
body:has(.calendar-layout) .error,.manual-dialog .error,.code-entry-page .error{color:#b42336}
@media(max-width:600px){.wordmark{width:72vw}.menu-links .reserve-button,.menu-links .menu-button{padding:10px 8px}.introduction>.eyebrow{font-size:clamp(10.2px,2.635vw,13.6px)}}

/* Quiet geometric lettering balances the rounded DOM wordmark. */
.introduction>.eyebrow{font-family:"DM Sans",Arial,sans-serif;font-weight:500;font-size:clamp(14px,1.6vw,18px);letter-spacing:.065em;line-height:1.5}
@media(max-width:600px){.introduction>.eyebrow{font-size:clamp(10px,2.55vw,13.6px);letter-spacing:.035em}}

/* Show the selected cream-and-blue cartoon logo in its original colours. */
.sky .wordmark{background:none;-webkit-mask:none;mask:none}
.sky .wordmark img{opacity:1;filter:none}
.time-change,.code-entry-page h1{color:var(--dom-navy)}

/* Uppercase labels across all DOM button surfaces. */
button,.button,.reserve-button,.menu-button,[role="button"],input[type="submit"],input[type="button"],input[type="reset"]{text-transform:uppercase}
