/* Internal Variant B: presentation only. Native state, content and prices are unchanged. */
.theme-b {
  --ink:#0c0c0d; --paper:#f5f3ef; --card:#fff; --line:#e6e3dd;
  --line-strong:#dad6cf; --muted:#5c5a55; --body-2:#3d3a33;
  --placeholder:#8c8983; --ok:#2f7d5b; --error:#8a2e1f;
  --tile:linear-gradient(180deg,#e7e3dc 0%,#f5f3ef 100%);
  --content:1280px; background:var(--paper); color:var(--ink);
  font-family:'Schibsted Grotesk',sans-serif; font-size:15px; line-height:1.55;
}
.theme-b :is(h1,h2) { font-family:'Newsreader',Georgia,serif; font-weight:400; text-wrap:balance; }
.theme-b h1 { font-size:clamp(56px,6.4vw,92px); line-height:1; letter-spacing:-.02em; }
.theme-b h2 { font-size:clamp(40px,4.4vw,60px); line-height:1.04; letter-spacing:-.015em; }
.theme-b :is(input,select,textarea) { font-size:16px; }
.theme-b :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.theme-b :is(.button,.chbs-button,.savoy-trip-segments button) { border-radius:999px !important; }
.theme-b :is(.button,.chbs-button) { min-height:44px; box-shadow:none; }
.theme-b :is(.service-section,.service-hero,.service-breadcrumb>div,.hero__inner) { max-width:1280px; margin-inline:auto; }
.theme-b .service-section { padding:clamp(64px,8vw,120px) clamp(20px,3vw,40px); }
.theme-b .service-section--alt { background:var(--paper); }
.theme-b .service-hero { position:relative; isolation:isolate; max-width:none; overflow:visible; background:var(--ink); color:#fff; display:block; padding:72px max(20px,calc((100% - 1200px)/2)); }
.theme-b .service-hero__copy { position:relative; z-index:1; max-width:1280px; }
.theme-b .service-hero h1 { max-width:18ch; color:#fff; }
.theme-b .service-hero__lead { max-width:44ch; font-size:18px; line-height:1.5; color:rgb(255 255 255 / .82); }
.theme-b .service-hero .eyebrow { color:rgb(255 255 255 / .78); }
.theme-b .service-hero__media { position:absolute; z-index:-1; inset:0 0 0 auto; width:60%; height:100%; border-radius:0; }
.theme-b .service-hero__media img { width:100%; height:100%; object-fit:cover; object-position:62% 45%; border-radius:0; }
.theme-b .service-hero::after { content:''; position:absolute; z-index:0; inset:0; pointer-events:none; background:linear-gradient(90deg,#0c0c0d 0%,#0c0c0d 40%,rgb(12 12 13 / .55) 60%,transparent 80%),linear-gradient(180deg,rgb(12 12 13 / .55),transparent 22%,transparent 55%,#0c0c0d); }
.theme-b .service-actions .button { background:#fff; color:var(--ink); min-height:54px; padding-inline:28px; }
.theme-b .service-actions .service-button--secondary { background:transparent; color:#fff; border:1px solid rgb(255 255 255 / .4); }
.theme-b .service-facts { color:rgb(255 255 255 / .8); }
.theme-b :is(.service-facts strong,.service-facts span) { color:inherit; }
.theme-b :is(.service-hero,.hero) :is(a,button,input,select):focus-visible { outline-color:#fff; }
.theme-b .hero { background:var(--ink); }
.theme-b .hero__inner { display:flex; flex-direction:column; align-items:stretch; padding:72px clamp(20px,3vw,40px); }
.theme-b .hero__copy { max-width:720px; }
.theme-b .hero__copy h1 { max-width:12ch; }
.theme-b .booking-entry--engine { position:relative; z-index:2; width:100%; max-width:none; margin-top:44px; background:rgb(255 255 255 / .06) !important; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgb(255 255 255 / .22); border-radius:20px; padding:24px 28px; color:#fff; }
.theme-b .booking-entry--engine :is(.booking-entry__heading h2,.booking-entry__heading .eyebrow) { color:#fff; }
.theme-b .booking-entry--engine .booking-entry__heading h2 { font-size:28px; }
.theme-b .booking-entry--engine .savoy-trip-segments { background:transparent; border:1px solid rgb(255 255 255 / .2); border-radius:999px; padding:4px; }
.theme-b .booking-entry--engine .savoy-trip-segments button { min-height:40px; color:#fff; background:transparent; }
.theme-b .booking-entry--engine .savoy-trip-segments button[aria-pressed=true] { color:var(--ink); background:#fff; }
.theme-b .booking-entry--engine :is(.chbs-form-field,.savoy-airport-panel,.savoy-airport-panel__flight) { background:transparent !important; color:#fff !important; border-color:rgb(255 255 255 / .3) !important; }
.theme-b .booking-entry--engine :is(input,select,.chbs-form-field>label,.savoy-airport-panel__flight span) { color:#fff !important; background:transparent; }
.theme-b .booking-entry--engine .chbs-form-field input { color:#fff !important; font-size:16px !important; }
.theme-b .booking-entry--engine .chbs-main { background:transparent; }
.theme-b .booking-entry--engine .chbs-form-field>label { color:rgb(255 255 255 / .72) !important; }
.theme-b .booking-entry--engine .chbs-form-field:focus-within { border-color:#fff !important; }
.theme-b .booking-entry--engine .savoy-counter-controls button { color:#fff; background:transparent; border-color:rgb(255 255 255 / .3); }
.theme-b .booking-entry--engine input::placeholder { color:rgb(255 255 255 / .72); }
.theme-b .booking-entry--engine :is(.savoy-booking-helper,.savoy-v3-payment-caption) { color:rgb(255 255 255 / .66); }
.theme-b .booking-entry--engine .chbs-button { background:#fff !important; color:var(--ink) !important; }
.theme-b .service-fleet__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:12px; }
.theme-b .service-fleet__grid article { background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:none; overflow:hidden; }
.theme-b :is(.service-fleet__image,.vehicle-card__image) { aspect-ratio:4/3; padding:16px; border-radius:12px; background:var(--tile); }
.theme-b :is(.service-fleet__image,.vehicle-card__image) img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.theme-b :is(.service-fleet__grid h3,.vehicle-card h3) { font:400 26px/1.1 'Newsreader',Georgia,serif; }
.theme-b :is(.service-includes article,.service-planning__grid article) { border:0; border-top:1px solid var(--line-strong); border-radius:0; padding:20px 0; background:transparent; box-shadow:none; }
.theme-b .service-why { background:#fff; color:var(--ink); }
.theme-b .service-why :is(h2,h3,p,.eyebrow) { color:var(--ink); }
.theme-b .service-why__media img { border-radius:18px; object-fit:cover; }
.theme-b .service-why__items article { border-top:1px solid var(--line); padding:20px 0; }
.theme-b .service-faq { background:var(--paper); }
.theme-b .service-faq details { border:0; border-bottom:1px solid var(--line-strong); border-radius:0; padding:22px 0; background:transparent; }
.theme-b .service-faq summary { min-height:44px; font-size:16.5px; }
.theme-b .service-cta { background:var(--ink); color:#fff; text-align:center; padding:clamp(64px,8vw,120px) 20px; }
.theme-b .service-cta>div { max-width:760px; margin:auto; }
.theme-b .service-cta :is(h2,p) { color:#fff; }
.theme-b .service-cta .button { background:#fff; color:var(--ink); }
.theme-b .content-shell { background:var(--paper); }
.theme-b .entry--contact .contact-details { display:grid; gap:12px; }
.theme-b .entry--contact .contact-details>div { border:1px solid var(--line); border-radius:16px; padding:20px 22px; min-height:72px; background:#fff; }
.theme-b .entry--contact form { background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px; }
.theme-b .content-shell:has(.entry--contact) { max-width:none; padding:0; }
.theme-b .entry--contact { max-width:none; margin:0; }
.theme-b .entry--contact .entry__header { padding:72px max(20px,calc((100% - 1200px)/2)); margin:0; background:linear-gradient(90deg,#0c0c0d 0%,rgb(12 12 13 / .9) 45%,rgb(12 12 13 / .25)),url('../images/services/corporate.jpg') 65% 45%/cover; color:#fff; }
.theme-b .entry--contact .entry__header :is(h1,p) { color:#fff; }
.theme-b .entry--contact .entry__lede { max-width:44ch; }
.theme-b .entry--contact .entry__content { max-width:1280px; margin:auto; padding:64px 40px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:start; }
.theme-b .entry--contact .contact-details { grid-column:1; grid-row:1; margin:0; }
.theme-b .entry--contact .savoy-enquiry-form { grid-column:2; grid-row:1; margin:0; min-width:0; background:var(--paper); }
.theme-b .entry--contact :is(.savoy-reviews,.contact-driver-cta) { grid-column:1/-1; margin:0; }
.theme-b #booking.savoy-journey-v3 .chbs-main .chbs-form-field:focus-within { border-color:#fff !important; box-shadow:inset 0 0 0 1px #fff !important; }
.theme-b #booking.savoy-journey-v3 .chbs-main .chbs-form-field input:focus { outline:none !important; box-shadow:none !important; }
.theme-b .site-footer { background:var(--ink); border-top:1px solid var(--line); }
.theme-b:not(.page-template-page-book) .site-header { background:var(--ink); color:#fff; border-color:var(--ink); }
.theme-b:not(.page-template-page-book) .site-header :is(.header-contact,.header-whatsapp,.nav-link,.nav-trigger) { color:#fff; }
.theme-b:not(.page-template-page-book) .primary-nav:not(.is-open)>.menu>.menu-item>:is(a,button) { color:rgb(255 255 255 / .88); }
.theme-b:not(.page-template-page-book) .menu-toggle { color:#fff; border-color:rgb(255 255 255 / .4); }
.theme-b:not(.page-template-page-book) :is(.menu-toggle__icon,.menu-toggle__icon::before,.menu-toggle__icon::after) { background:#fff; }
.theme-b #booking .chbs-form-field-location-autocomplete input { width:100% !important; max-width:100% !important; }
.theme-b:not(.page-template-page-book) .site-header .brand-logo-frame { background:transparent; }
.theme-b:not(.page-template-page-book) .site-header .brand-logo-frame img { filter:invert(1); mix-blend-mode:screen; }
.theme-b:not(.page-template-page-book) .site-header .header-book { background:#fff; color:var(--ink); }
.theme-b .booking-entry--engine { overflow:visible; }
.theme-b .savoy-b-selected-detail { border:1px solid var(--line); border-radius:18px; background:#fff; padding:28px; margin-top:24px; }
.theme-b .savoy-b-selected-detail h2 { font-size:26px; margin:0 0 12px; }
.theme-b .savoy-b-selected-detail p { color:var(--muted); margin:8px 0; }
.theme-b .savoy-b-selected-detail .savoy-b-selected-detail__price { color:var(--ink); font-size:17px; }
.theme-b .savoy-b-journey-pill { display:block; max-width:800px; width:100%; margin:0 auto 24px; padding:14px 24px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.theme-b .booking-flow-progress .is-complete::after { display:none; }
.theme-b .booking-flow-progress { font-size:11px; }
/* Keep native cards and controls intact: CSS changes their layout, not their handlers. */
.theme-b .booking-entry--engine .chbs-main .chbs-tab { background:transparent !important; box-shadow:none !important; }
.theme-b .booking-entry--engine .chbs-main .chbs-form-field { background:transparent !important; border:1px solid rgb(255 255 255 / .3) !important; border-radius:14px !important; }
.theme-b .booking-entry--engine .chbs-main .chbs-form-field :is(input,label,.savoy-time-trigger,.ui-selectmenu-text) { color:#fff !important; background:transparent !important; }
.theme-b .booking-entry--engine .savoy-counter-controls { color:#fff !important; }
.theme-b .booking-entry--engine .savoy-route-swap { background:var(--ink) !important; color:#fff !important; }
.theme-b .booking-entry--engine .savoy-trip-segments { max-width:520px; }
.theme-b .booking-entry--engine.savoy-journey-v3 .chbs-main .chbs-form-field input { -webkit-text-fill-color:#fff !important; caret-color:#fff !important; }
.theme-b .booking-entry--engine.savoy-journey-v3 .chbs-main .chbs-form-field:focus-within { box-shadow:inset 0 0 0 1px #fff !important; }
.theme-b .booking-entry--engine.savoy-journey-v3 .savoy-counter-controls button { color:#fff !important; background:transparent !important; border:1px solid rgb(255 255 255 / .4) !important; }
.theme-b .booking-entry--engine.savoy-journey-v3 .savoy-v3-route-swap { background:var(--ink) !important; color:#fff !important; }
.theme-b .booking-entry--engine.savoy-journey-v3 .savoy-meet-greet { background:transparent !important; color:#fff !important; border:1px solid rgb(255 255 255 / .3); border-radius:12px; }
.theme-b .booking-entry--engine.savoy-journey-v3 .savoy-date-display { color:#fff !important; }
@media (min-width:1000px) {
 .theme-b .booking-entry--engine .chbs-main .ui-tabs-panel { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(250px,1fr); gap:12px; }
 .theme-b .booking-entry--engine .chbs-main .ui-tabs-panel[aria-hidden=true] { display:none !important; }
 .theme-b .booking-entry--engine .chbs-main .chbs-form-field { margin:0 !important; min-width:0; }
 .theme-b .booking-entry--engine .chbs-form-field-pickup-date-time { margin:0 !important; }
 .theme-b .booking-entry--engine .chbs-form-field-passenger { grid-column:1; grid-row:2; margin:0 !important; }
 .theme-b .booking-entry--engine .savoy-airport-panel { grid-column:2; grid-row:2; margin:0 !important; }
 .theme-b .booking-entry--engine .chbs-form-field-return-date-time { grid-column:3; margin:0 !important; }
 .theme-b .booking-entry--engine .chbs-main .savoy-v3-route-swap { right:-28px !important; top:8px !important; }
}
.theme-b.page-template-page-book { background:var(--paper); }
.theme-b.page-template-page-book .booking-page { max-width:1280px; padding:32px clamp(20px,3vw,40px) 40px; background:var(--paper); }
.theme-b.page-template-page-book :is(.booking-page__intro h1,.savoy-step-intro h2) { font:400 46px/1.02 'Newsreader',Georgia,serif; letter-spacing:-.015em; }
.theme-b.page-template-page-book .chbs-vehicle-list>ul { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card { display:flex !important; flex-direction:column; width:auto !important; min-width:0; padding:10px !important; margin:0 !important; border:1px solid var(--line) !important; border-radius:18px !important; background:#fff !important; color:var(--ink) !important; box-shadow:none !important; transition:none !important; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card.savoy-v3-selected { box-shadow:inset 0 0 0 2px var(--ink) !important; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-image { width:100% !important; height:auto !important; aspect-ratio:4/3; padding:16px !important; margin:0; background:var(--tile) !important; border:0 !important; border-radius:12px; }
.theme-b.page-template-page-book .savoy-vehicle-card .chbs-vehicle-image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-content { display:flex !important; flex-direction:column; gap:8px; width:100% !important; min-height:0; padding:14px 8px 8px !important; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-content-header { display:flex; flex-wrap:wrap; gap:8px; padding:0; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-content-header>span { font:400 23px/1.1 'Newsreader',Georgia,serif !important; color:var(--ink) !important; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-content-header>a.chbs-button { position:static !important; min-height:44px; margin:0 !important; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-content-header { display:contents; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-content-header>a.chbs-button { order:5; align-self:stretch; text-align:center; }
.theme-b #main-content .savoy-vehicle-card .chbs-vehicle-content-header>span { padding-bottom:0 !important; }
.theme-b #main-content .savoy-vehicle-card .savoy-vehicle-badge { align-self:flex-start; }
.theme-b #main-content .savoy-vehicle-card .chbs-vehicle-content-header>a.chbs-button { min-height:44px !important; display:flex !important; align-items:center; justify-content:center; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-content-price { min-width:0; padding:0; align-self:stretch; text-align:left; align-items:flex-start; color:var(--ink) !important; }
.theme-b.page-template-page-book .savoy-vehicle-payable { font:600 17px/1.4 'Schibsted Grotesk',sans-serif; }
.theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card :is(.savoy-vehicle-model,.savoy-vehicle-specs,.savoy-vehicle-specs svg,.chbs-vehicle-content-price small) { color:var(--muted) !important; font-size:13px; }
.theme-b.page-template-page-book .savoy-vehicle-model { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
.theme-b.page-template-page-book .savoy-vehicle-specs { flex-wrap:wrap; }
.theme-b.page-template-page-book .savoy-journey-v3 .chbs-summary { border-color:var(--line) !important; border-radius:18px !important; background:#fff !important; color:var(--ink) !important; }
.theme-b.page-template-page-book .savoy-journey-v3 .chbs-summary .chbs-summary-price-element { background:var(--paper) !important; }
.theme-b.page-template-page-book .savoy-price-row--total>strong { font:400 32px/1.1 'Newsreader',Georgia,serif; }
.theme-b.page-template-page-book .chbs-form-field { border-color:var(--line) !important; border-radius:14px; }
.theme-b.page-template-page-book .chbs-main-content-navigation-button { background:#fff !important; border:1px solid var(--line) !important; border-radius:18px; padding:12px 16px !important; }
.theme-b.page-template-page-book .chbs-form-field input { font-size:16px !important; }
@media (min-width:1080px) {
 .theme-b.page-template-page-book :is(.chbs-main-content-step-2,.chbs-main-content-step-3)>.chbs-layout-25x75 { display:grid !important; grid-template-columns:minmax(0,1fr) 360px; gap:32px; align-items:start; }
 .theme-b.page-template-page-book :is(.chbs-main-content-step-2,.chbs-main-content-step-3)>.chbs-layout-25x75>.chbs-layout-column-right { grid-column:1; grid-row:1; width:auto !important; }
 .theme-b.page-template-page-book :is(.chbs-main-content-step-2,.chbs-main-content-step-3)>.chbs-layout-25x75>.chbs-layout-column-left { grid-column:2; grid-row:1; width:auto !important; position:sticky; top:24px; }
}
@media (max-width:759px) {
 .theme-b .savoy-b-journey-pill { border-radius:18px; padding:12px 16px; margin-bottom:20px; font-size:13px; }
 .theme-b h1 { font-size:46px; }
 .theme-b h2 { font-size:38px; }
 .theme-b .service-section { padding:56px 20px; }
 .theme-b .service-hero { padding:150px 20px 48px; }
 .theme-b .service-hero__media { inset:0 0 auto; height:300px; width:100%; }
 .theme-b .service-hero__media img { object-position:60% 55%; }
 .theme-b .service-hero::after { background:linear-gradient(180deg,rgb(12 12 13 / .6),rgb(12 12 13 / .2) 105px,#0c0c0d 300px); }
 .theme-b .service-hero__lead { font-size:16px; }
 .theme-b .service-actions { display:grid; }
 .theme-b .hero__inner { padding:150px 20px 48px; }
 .theme-b .booking-entry--engine { margin-top:28px; padding:18px; }
 .theme-b .entry--contact form { padding:20px; }
 .theme-b .entry--contact .entry__header { padding:100px 20px 48px; }
 .theme-b .entry--contact .entry__content { display:flex; flex-direction:column; padding:48px 20px; }
 .theme-b .entry--contact .contact-details { order:0; width:100%; }
 .theme-b .entry--contact .savoy-enquiry-form { order:1; width:100%; }
 .theme-b .entry--contact .savoy-reviews { order:2; width:100%; }
 .theme-b .entry--contact .contact-driver-cta { order:3; width:100%; }
 .theme-b.page-template-page-book .booking-page { padding:20px 16px 24px; }
 .theme-b.page-template-page-book :is(.booking-page__intro h1,.savoy-step-intro h2) { font-size:36px; }
 .theme-b.page-template-page-book .chbs-vehicle-list>ul { grid-template-columns:minmax(0,1fr); }
 .theme-b.page-template-page-book :is(.chbs-main-content-step-2,.chbs-main-content-step-3)>.chbs-layout-25x75 { flex-direction:column !important; gap:24px; }
 .theme-b.page-template-page-book :is(.chbs-main-content-step-2,.chbs-main-content-step-3)>.chbs-layout-25x75>.chbs-layout-column-right { order:1 !important; }
 .theme-b.page-template-page-book :is(.chbs-main-content-step-2,.chbs-main-content-step-3)>.chbs-layout-25x75>.chbs-layout-column-left { order:2 !important; }
 .theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card { display:grid !important; grid-template-columns:112px minmax(0,1fr); gap:14px; align-items:center; }
 .theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-image { padding:6px !important; }
 .theme-b.page-template-page-book .savoy-journey-v3 .savoy-vehicle-card .chbs-vehicle-content { padding:0 !important; }
 .theme-b.page-template-page-book .chbs-main-content-navigation-button { position:sticky !important; bottom:0; z-index:20; border-radius:0; margin-bottom:0; padding:10px 8px calc(10px + env(safe-area-inset-bottom)) !important; display:grid !important; grid-template-columns:70px minmax(0,1fr); gap:8px !important; }
 .theme-b.page-template-page-book .chbs-main-content-navigation-button .savoy-action-total { grid-column:1/-1; grid-row:1; display:flex; justify-content:space-between; align-items:center; }
 .theme-b.page-template-page-book .chbs-main-content-navigation-button .savoy-action-total small { margin-right:8px; }
 .theme-b.page-template-page-book .chbs-main-content-navigation-button .chbs-button { min-height:48px !important; width:100% !important; padding:12px 8px !important; font-size:11px !important; margin:0 !important; }
 .theme-b.page-template-page-book .chbs-main-content-navigation-button .chbs-button-step-prev { grid-column:1; grid-row:2; }
 .theme-b.page-template-page-book .chbs-main-content-navigation-button .chbs-button-step-next { grid-column:2; grid-row:2; }
 .theme-b.page-template-page-book .chbs-main-content-navigation-button .chbs-button-step-prev span { display:none; }
}
