/* Live storefront adaptation of the supplied November2026 identity.
   Merchant primary colour, logo, background, font and booking state stay authoritative. */
body.tw-storefront{
 --tw-store-ink:#1A1A1A;--tw-store-paper:#FAF8F5;--tw-store-line:#E6E2DD;
 --tw-store-accent:var(--primary-color,#E8833A);--tw-store-accent-text:color-mix(in srgb,var(--primary-color,#E8833A) 72%,#1A1A1A);
 --tw-store-on-accent:var(--text-on-primary,#1A1A1A);--tw-store-radius:16px;
 font-family:var(--tw-store-font,"Cairo"),"Inter",system-ui,sans-serif;
 background:var(--bg-color,#FAF8F5);color:var(--text-color,#1A1A1A);line-height:1.7;
 -webkit-font-smoothing:antialiased;
}
.tw-storefront .tw-store-main{min-width:0}
.tw-storefront .tw-store-header{background:color-mix(in srgb,var(--bg-color,#fff) 96%,transparent)!important;border-bottom:1px solid var(--tw-store-line);box-shadow:none;backdrop-filter:blur(8px)}
.tw-storefront .tw-store-header>div>div{min-height:72px;height:72px}
.tw-storefront .tw-store-header img{max-height:48px;object-fit:contain}
.tw-storefront .tw-store-header nav a{min-height:44px;display:inline-flex;align-items:center;border-radius:8px;padding-inline:8px}
.tw-storefront .tw-store-header nav a:hover{background:color-mix(in srgb,var(--tw-store-accent) 9%,transparent)}
.tw-storefront .tw-store-page{background:var(--bg-color,#FAF8F5)!important;color:var(--text-color,#1A1A1A);min-width:0}
.tw-storefront .tw-store-page :is(h1,h2,h3){line-height:1.3;text-wrap:balance}
.tw-storefront .tw-store-page h1{letter-spacing:-.025em}
/* Booking heroes declare white text over their own dark image/gradient. */
.tw-storefront .tw-store-booking h1.text-white{color:#fff}
.tw-storefront .tw-store-page :is(input,select,textarea){font-family:inherit}
.tw-storefront .tw-store-page :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select,textarea){border-radius:12px;border-width:1.5px;min-height:44px}
.tw-storefront .tw-store-page :is(input,select,textarea):focus-visible{outline:2px solid var(--tw-store-accent);outline-offset:2px}
.tw-storefront .tw-store-page :is(input[type=email],input[type=tel],input[autocomplete=one-time-code]){font-family:"Inter","Cairo",system-ui,sans-serif;direction:ltr;font-variant-numeric:tabular-nums}
.tw-storefront .tw-store-page :is(button,a).bg-brand,
.tw-storefront .tw-store-page :is(button,a)[class*="from-[var(--primary-color"]{background:var(--tw-store-accent)!important;background-image:none!important;color:var(--tw-store-on-accent)!important;min-height:44px;border-radius:12px;box-shadow:none}
.tw-storefront .tw-store-page :is(button,a).bg-brand:hover{filter:brightness(.96)}
.tw-storefront .tw-store-page :is(button,a).bg-brand:disabled{filter:none;opacity:.5;cursor:not-allowed}
.tw-storefront .tw-store-page .text-brand{color:var(--tw-store-accent-text)!important}
.tw-storefront .tw-store-page :is(.font-mono,[dir=ltr]){font-family:"Inter","Cairo",system-ui,sans-serif;font-variant-numeric:tabular-nums}
.tw-storefront .tw-store-panel{border:1px solid var(--tw-store-line);border-radius:24px;box-shadow:0 8px 28px rgb(26 26 26 / 5%);background:#fff}
.tw-storefront .tw-store-booking :is(.shadow-xl,.shadow-2xl){box-shadow:0 8px 28px rgb(26 26 26 / 6%)}
.tw-storefront .tw-store-booking [role=radiogroup],.tw-storefront .tw-store-booking fieldset{min-width:0}
.tw-storefront .tw-store-ticket{border:1px solid var(--tw-store-line);box-shadow:0 6px 20px rgb(26 26 26 / 4%)}
.tw-storefront .tw-store-ticket [class*=border-dashed]{border-color:#DDD5CC}
.tw-storefront .tw-store-footer{background:#1A1A1A!important;color:#BDB6AE!important;border-top:0;margin-top:auto}
.tw-storefront .tw-store-footer :is(h2,h3,h4){color:#fff!important}
.tw-storefront .tw-store-footer :is(p,li,a,span){color:inherit}
.tw-storefront .tw-store-footer a:hover{color:#fff}
.tw-storefront .tw-store-footer [class*=border-t]{border-color:#3A3A3A}
.tw-storefront .tw-store-footer .tw-store-merchant-logo{background:#fff;padding:6px;border-radius:12px;filter:none}
.tw-storefront .tw-store-powered{display:inline-flex!important;align-items:center;gap:10px;min-height:36px;padding:7px 12px;border:1px solid #3A3A3A;border-radius:999px;background:#262626;color:#fff!important;font-size:12px;font-weight:700;text-decoration:none}
.tw-storefront .tw-store-powered img{width:auto;height:22px;max-width:140px;object-fit:contain}
.tw-store-tikko{display:block;width:150px;max-width:100%;height:150px;flex:none;object-fit:contain;margin-inline:auto}
.tw-store-tikko--compact{width:96px;height:96px}.tw-store-tikko--large{width:240px;height:240px}.tw-store-tikko--hero{width:300px;height:300px}
.tw-storefront .tw-store-state{padding-block:40px;text-align:center}
.tw-storefront .tw-store-state .tw-store-tikko{margin-bottom:20px}
.tw-storefront .tw-store-success-heading{background:#1A1A1A!important;background-image:none!important;color:#fff!important;border-bottom:1px dashed #6B6B6B}
.tw-storefront .tw-store-auth{background:#1A1A1A!important;background-image:none!important}
.tw-storefront .tw-store-auth>div.absolute{background:none!important}
.tw-storefront .tw-store-auth [data-template-auth-panel]{border:1px solid var(--tw-store-line);border-radius:24px;box-shadow:0 20px 60px rgb(0 0 0 / 12%)}
.tw-storefront .tw-store-auth [data-template-auth-visual]{background:#262626;border-radius:24px;border-color:#3A3A3A;box-shadow:none}
.tw-storefront .tw-store-auth [data-template-auth-visual]>.absolute{background:none!important}
.tw-storefront .tw-store-auth [data-template-auth-step].bg-brand{color:var(--tw-store-on-accent)!important}
.tw-storefront .tw-store-auth .tw-store-tikko{margin-block:24px}
.tw-storefront .tw-store-chat-window{max-width:calc(100vw - 32px);border-radius:24px;border:1px solid var(--tw-store-line);box-shadow:0 20px 60px rgb(26 26 26 / 15%)}
/* Pages without a fixed booking bar still need a chat that fits a short viewport. */
.tw-storefront .tw-store-chat-window{display:flex;flex-direction:column;max-height:max(0px,calc(var(--store-chat-viewport-height,100dvh) - var(--store-booking-footer-height,0px) - 7.5rem - env(safe-area-inset-top,0px)));overflow-y:auto}
.tw-storefront .tw-store-chat-window>*{flex-shrink:0}
.tw-storefront [data-store-chat-messages]{height:auto;min-height:0;flex:1 1 20rem}
.tw-storefront .tw-store-chat-launcher,.tw-storefront .tw-store-chat-window{left:auto;right:auto;inset-inline-end:24px}
.tw-storefront .tw-store-chat-window [class*=bg-brand]{color:var(--tw-store-on-accent)!important}
.tw-storefront .tw-store-chat-window .tw-store-tikko{margin-bottom:12px}
@media(max-width:767px){
 .tw-storefront .tw-store-header>div>div{min-height:64px;height:64px}
 .tw-storefront .tw-store-header img{max-height:40px}
 .tw-storefront .tw-store-page h1{font-size:28px}
 .tw-storefront .tw-store-panel{border-radius:16px}
 .tw-storefront .tw-store-page{padding-inline:max(16px,env(safe-area-inset-left))}
 .tw-storefront .tw-store-chat-launcher,.tw-storefront .tw-store-chat-window{inset-inline-end:16px}
 .tw-store-tikko--hero{width:200px;height:200px}
}
@media(prefers-reduced-motion:reduce){.tw-storefront *,.tw-storefront *::before,.tw-storefront *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* The supplied login split is applied around the live OTP forms. */
.tw-storefront .tw-store-auth{padding:0!important}
.tw-storefront .tw-store-auth>div.relative{max-width:none}
.tw-storefront .tw-store-auth>div.relative>header{background:#fff;color:#1A1A1A;border-bottom:1px solid #E6E2DD;min-height:72px;padding:12px max(24px,calc((100vw - 1200px)/2))}
.tw-storefront .tw-store-auth>div.relative>header a{color:#1A1A1A;border-color:#E6E2DD;background:#fff}
.tw-storefront .tw-store-auth>div.relative>.grid{padding:0;gap:0;align-items:stretch}
.tw-storefront .tw-store-auth [data-template-auth-panel]{order:2;border:0;border-radius:0;padding:48px clamp(24px,5vw,80px);box-shadow:none}
.tw-storefront .tw-store-auth [data-template-auth-visual]{order:1;border:0;border-radius:0;background:#1A1A1A;justify-content:center}
.tw-storefront .tw-store-auth [data-template-auth-visual]>.relative{justify-content:center;gap:40px}
@media(max-width:767px){.tw-storefront .tw-store-auth [data-template-auth-panel]{padding:32px 20px}.tw-storefront .tw-store-auth>div.relative>header{padding:12px 16px}}

.tw-storefront .tw-store-pending-heading{background:#FDF0D5!important;background-image:none!important;color:#1A1A1A!important;border-bottom:1px dashed #DDD5CC}
.tw-storefront .tw-store-pending-heading :is(h1,h2,p,span){color:inherit}
