/* Public services only. Brand shell/fonts stay owned by each premium theme. */
.service-toolbar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:16px;padding-block:10px;border-bottom:1px solid var(--line,#ddd)}
.service-toolbar>a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none}
.footer-service-tools{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding-block:24px}
.footer-service-tools a,.footer-service-tools button{color:inherit;min-height:44px}
.footer-service-tools .scc-footer-currency{margin:0}
.quote-add{margin-top:16px;font-size:.9rem;white-space:normal}
.journey-stops{grid-column:1/-1;min-width:0;margin:12px 0;padding:16px;border:1px solid var(--svc-line);border-radius:var(--svc-radius);background:var(--svc-paper)}
.journey-stops legend{padding-inline:8px;font-weight:600}.journey-stops>p{font-size:.85rem;margin-bottom:14px}.journey-stop-list{display:grid;gap:16px}
.journey-stop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:16px}.journey-stop .search-field{min-width:0}
.journey-stops .stop-remove{margin-top:24px;min-height:44px;padding:8px;background:transparent;border:1px solid var(--svc-line);color:var(--svc-accent);font-size:.8rem}
.journey-stops>.button{min-height:44px;padding:10px 16px;font-size:.85rem}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-basket-button{color:var(--svc-ink);border-color:var(--svc-line)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-basket-button em{background:var(--svc-accent)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-basket-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0}
body:is(.brand-PT,.brand-MC,.brand-JC) .service-toolbar .scc-header-currency{display:flex;align-items:center;gap:8px}
.service-toolbar .scc-header-currency :is(.scc-currency-flag,.scc-currency-name,.scc-currency-code,i){display:none}
.service-toolbar .scc-header-currency select{width:88px;min-height:44px;padding:0 8px;border-radius:4px;font:inherit;background:var(--svc-paper);color:var(--svc-ink)}
@media(max-width:480px){.service-toolbar .header-selector-label{display:none}.service-toolbar{font-size:.9rem}}
@media(max-width:480px){.service-toolbar{justify-content:space-between;gap:8px}.service-toolbar .scc-currency-name{display:none}}
body.brand-PT{--svc-accent:#c9141c;--svc-ink:#2c2123;--svc-paper:#fffdfa;--svc-tint:#fff0ed;--svc-line:#eadbd7;--svc-radius:24px;--svc-heading:var(--heading,var(--body,inherit))}
body.brand-MC{--svc-accent:#12633b;--svc-ink:#193e2b;--svc-paper:#f9f7ef;--svc-tint:#edf1e7;--svc-line:#d1d9c9;--svc-radius:0px;--svc-heading:'Cormorant Garamond',Georgia,serif}
body.brand-JC{--svc-accent:#0055cc;--svc-ink:#102a43;--svc-paper:#fff;--svc-tint:#edf4ff;--svc-line:#cddced;--svc-radius:4px;--svc-heading:var(--heading,var(--body,inherit))}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.service-page,.simple-page.shell.scc-affiliates){width:min(1248px,calc(100% - 48px));margin:clamp(32px,5vw,72px) auto;min-width:0;color:var(--svc-ink)}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-pending,.scc-basket-drawer,.scc-save-basket-modal__panel,.scc-enquiry-modal__panel){--account-accent:var(--svc-accent);--account-ink:var(--svc-ink);--scc-brand:var(--svc-accent);--scc-accent:var(--svc-accent);--scc-ink:var(--svc-ink);--scc-soft:var(--svc-tint);--scc-line:var(--svc-line);--scc-paper:var(--svc-paper);--scc-muted:#52606a;--scc-shadow:none;font-family:var(--body,inherit);color:var(--svc-ink);min-width:0}
body:is(.brand-PT,.brand-MC,.brand-JC) .service-page :is(.scc-account-shell,.scc-checkout,.scc-pending,.scc-checkout-auth){width:100%;max-width:none;margin:24px 0 48px;padding-inline:0}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-basket-drawer,.scc-affiliates,.scc-save-basket-modal__panel,.scc-enquiry-modal__panel) *{box-sizing:border-box;min-width:0}
body:is(.brand-PT,.brand-MC,.brand-JC) .p114-service-status{padding:20px 24px;margin:24px 0;border:1px solid var(--svc-line);border-inline-start:4px solid var(--svc-accent);border-radius:var(--svc-radius);background:var(--svc-tint);color:var(--svc-ink);font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates) :is(h1,h2,h3){font-family:var(--svc-heading);color:inherit;text-wrap:balance;overflow-wrap:break-word}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates) h1{font-size:clamp(2.1rem,4.5vw,4.2rem);line-height:1.08;letter-spacing:-.035em}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates) h2{font-size:clamp(1.55rem,2.5vw,2.3rem);line-height:1.18}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates) h3{font-size:1.3rem;line-height:1.25}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-eyebrow,.scc-booking-brand,.scc-checkout-auth__eyebrow){color:var(--svc-accent);font-family:var(--body,inherit);letter-spacing:.12em;font-size:.75rem}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-hero,.scc-account-panel,.scc-auth-card,.scc-booking-card,.scc-account-gateway,.scc-account-stats article,.scc-affiliates__card,.scc-checkout-auth){border:1px solid var(--svc-line);border-radius:var(--svc-radius);background:var(--svc-paper);box-shadow:none;padding:clamp(20px,3vw,36px)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-auth-page{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,64px);align-items:start;background:none;border:0;padding:0;color:var(--svc-ink)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-auth-intro{padding:clamp(20px,3vw,40px);color:var(--svc-ink);background:var(--svc-tint);border-radius:var(--svc-radius)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-auth-card{width:100%;max-width:none}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-fields,.scc-checkout__fields){grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-settings-grid,.scc-affiliates__grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;margin-inline:0}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-stats,.scc-account-toolbar,.scc-booking-card>header,.scc-booking-actions,.scc-affiliates__head){gap:16px;flex-wrap:wrap}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-booking-route,.scc-booking-facts div,.scc-preference,.scc-checkout__journeys){background:var(--svc-tint);border-radius:calc(var(--svc-radius)/2);color:var(--svc-ink)}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates,.scc-save-basket-modal__panel) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;max-width:100%;min-height:48px;border:1px solid var(--svc-line);border-radius:calc(var(--svc-radius)/2);padding:12px 14px;background:#fff;color:var(--svc-ink);font:inherit;font-size:1rem;line-height:1.45;box-shadow:none}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates) textarea{min-height:112px;resize:vertical}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates) :is(input[type=checkbox],input[type=radio]){accent-color:var(--svc-accent);width:22px;height:22px;flex-shrink:0}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-check,.scc-affiliates__check,.scc-checkout__consents label){min-height:44px;align-items:start;gap:12px}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates,.scc-basket-drawer,.scc-save-basket-modal__panel,.scc-enquiry-modal__panel) :is(button,.scc-account-button,.scc-basket-checkout,.scc-basket-add){min-height:44px;max-width:100%;white-space:normal;overflow-wrap:break-word;font:inherit;font-size:1rem;line-height:1.35}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-button,.scc-checkout__primary,.scc-basket-checkout,.scc-affiliates .button,.scc-affiliates form button){display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--svc-accent);border-radius:var(--svc-radius);padding:13px 22px;background:var(--svc-accent);color:#fff;font-weight:600;text-decoration:none;box-shadow:none}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-account-shell .scc-account-button.scc-account-button--quiet,body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-basket-add,.scc-checkout__back,.scc-checkout__save){background:transparent;color:var(--svc-accent);border:1px solid var(--svc-line);border-radius:var(--svc-radius);padding:12px 18px}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-affiliates,.scc-basket-drawer,.scc-save-basket-modal__panel,.scc-enquiry-modal__panel) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--svc-accent);outline-offset:4px;box-shadow:0 0 0 2px #fff}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-auth-links a,.scc-booking-actions a,.scc-affiliates__secondary,.scc-account-link){display:inline-flex;align-items:center;min-height:44px;color:var(--svc-accent);overflow-wrap:anywhere}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);border:1px solid var(--svc-line);border-radius:var(--svc-radius);box-shadow:none}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__summary{padding:clamp(22px,3vw,40px);background:var(--svc-tint);color:var(--svc-ink)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__summary:after{content:none}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__main{padding:clamp(20px,3vw,40px)}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-checkout__steps,.scc-checkout__nav){display:flex;flex-wrap:wrap;gap:10px}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__steps button{flex:1 1 120px;border-radius:calc(var(--svc-radius)/2)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__steps button.is-active{background:var(--svc-accent);color:#fff}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-basket-drawer{width:100%;max-width:100%;border:0;background:var(--svc-paper);box-shadow:-12px 0 50px #102a4326}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-basket-drawer>header,.scc-basket-drawer>footer){background:var(--svc-tint);color:var(--svc-ink);border-color:var(--svc-line);padding:20px 24px}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-basket-drawer>header button{min-width:44px;min-height:44px;color:var(--svc-ink);background:#fff;border:1px solid var(--svc-line);border-radius:var(--svc-radius)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-basket-item{border-color:var(--svc-line);overflow-wrap:anywhere}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-basket-item__number{background:var(--svc-tint);color:var(--svc-accent);border-radius:var(--svc-radius)}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-save-basket-modal__panel,.scc-enquiry-modal__panel){width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:clamp(20px,4vw,40px);border:1px solid var(--svc-line);border-radius:var(--svc-radius);background:var(--svc-paper);color:var(--svc-ink)}
body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-affiliates__terms,.scc-affiliates__notice){width:100%;max-width:100%;margin-inline:0}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-affiliates__copy{min-width:0;overflow-wrap:anywhere}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-affiliates__table{max-width:100%;overscroll-behavior-inline:contain}
/* Pilgrim Taxi: personable, generous rounded surfaces and a welcoming side note. */
body.brand-PT .scc-auth-intro{border-top:4px solid var(--svc-accent);border-radius:32px 32px 80px 32px}
body.brand-PT .scc-account-shell .scc-account-hero{background:var(--svc-tint);border-radius:32px}
body.brand-PT .scc-account-stats article{border-radius:24px;border-bottom:3px solid var(--svc-line)}
body.brand-PT .scc-checkout__layout{gap:24px;background:transparent;border:0;overflow:visible}
body.brand-PT .scc-checkout__summary,body.brand-PT .scc-checkout__main{border:1px solid var(--svc-line);border-radius:24px}
body.brand-PT .scc-basket-drawer{border-radius:28px 0 0 28px}
/* Makkah Cabs: restrained editorial hierarchy, offset form and ruled summaries. */
body.brand-MC .scc-auth-page{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,88px)}
body.brand-MC .scc-auth-intro{padding-inline-start:0;background:none;border-top:1px solid var(--svc-line);padding-top:32px}
body.brand-MC .scc-auth-card{margin-top:48px;border:0;border-top:3px solid var(--svc-accent);background:var(--svc-tint)}
body.brand-MC .scc-account-shell .scc-account-hero{border:0;border-block:1px solid var(--svc-line);padding-inline:0;background:none}
body.brand-MC .scc-account-stats article{border:0;border-inline-start:1px solid var(--svc-line);background:none}
body.brand-MC .scc-checkout__summary{background:none;border-inline-end:1px solid var(--svc-line)}
body.brand-MC .scc-checkout__summary h2{font-size:2.3rem}
body.brand-MC .scc-affiliates__grid{gap:40px}
body.brand-MC .scc-affiliates__card{border:0;border-top:1px solid var(--svc-line);background:none;padding-inline:0}
body.brand-MC .scc-affiliates__hero{border-bottom:1px solid var(--svc-line);padding-bottom:40px}
/* Jeddah Cabs: crisp application panels and an inverted account welcome. */
body.brand-JC .scc-auth-page{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0;border:1px solid var(--svc-line)}
body.brand-JC .scc-auth-intro{height:100%;background:#102a43;color:#fff;padding:clamp(24px,4vw,56px);border-radius:0}
body.brand-JC .scc-auth-intro .scc-account-eyebrow{color:#b5d5ff}
body.brand-JC .scc-auth-card{border:0;border-radius:0;padding:clamp(24px,4vw,56px)}
body.brand-JC .scc-account-shell .scc-account-hero{background:#102a43;color:#fff;border:0;border-bottom:5px solid var(--svc-accent)}
body.brand-JC .scc-account-hero :is(.scc-account-eyebrow,a){color:#b5d5ff}
body.brand-JC .scc-account-stats article{border-top:3px solid var(--svc-accent);background:var(--svc-tint)}
body.brand-JC .scc-checkout__summary{background:#102a43;color:#fff}
body.brand-JC .scc-checkout__summary :is(p,small,.scc-checkout__eyebrow){color:#e0ecfa}
body.brand-JC .scc-affiliates__card{border-top:3px solid var(--svc-accent);background:var(--svc-tint)}
body.brand-JC .scc-basket-drawer>header{border-bottom:3px solid var(--svc-accent)}
@media(max-width:850px){
 body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-auth-page,.scc-checkout__layout){grid-template-columns:minmax(0,1fr);gap:24px}
 body.brand-MC .scc-auth-card{margin-top:0}
 body.brand-MC .scc-checkout__summary{border-inline-end:0;border-bottom:1px solid var(--svc-line)}
 body.brand-JC .scc-auth-page{gap:0}
 body:is(.brand-PT,.brand-MC,.brand-JC) .scc-basket-drawer{border-radius:20px 20px 0 0}
 body.brand-MC .scc-basket-drawer,body.brand-JC .scc-basket-drawer{border-radius:0}
}
@media(max-width:560px){
 body:is(.brand-PT,.brand-MC,.brand-JC) :is(.service-page,.simple-page.shell.scc-affiliates){width:calc(100% - 32px);margin-block:28px}
 body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-fields,.scc-checkout__fields,.scc-account-settings-grid,.scc-account-stats,.scc-affiliates__grid,.scc-booking-route){grid-template-columns:minmax(0,1fr)}
 body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-fields .full,.scc-checkout__field--wide,.scc-account-panel--wide){grid-column:auto}
 body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-hero,.scc-account-toolbar,.scc-booking-card>header){display:flex;flex-direction:column;align-items:stretch}
 body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__nav>*{flex:1 1 100%}
 body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-auth-card,.scc-checkout__main,.scc-checkout__summary,.scc-auth-intro){padding:22px 18px}
 body:is(.brand-PT,.brand-MC,.brand-JC) .scc-affiliates__inline{grid-template-columns:minmax(0,1fr)}
 body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__steps button{flex-basis:40%;font-size:.875rem}
 body:is(.brand-PT,.brand-MC,.brand-JC) .p114-service-status{padding:16px 18px}
}
@media(prefers-reduced-motion:reduce){
 body:is(.brand-PT,.brand-MC,.brand-JC) :is(.scc-account-shell,.scc-checkout,.scc-basket-layer,.scc-save-basket-modal,.scc-enquiry-modal) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* New-brand checkout summaries use their own readable surface palette. */
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__summary{--svc-summary-ink:var(--svc-ink);--svc-summary-accent:var(--svc-accent)}
body.brand-JC .scc-checkout__summary{--svc-summary-ink:#e0ecfa;--svc-summary-accent:#b5d5ff}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__summary :is(h2,dt,dd,.scc-checkout__confirmation strong,.scc-checkout__save,.scc-checkout__save span){color:var(--svc-summary-ink)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__summary dl div:last-child dd{color:var(--svc-summary-accent)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__summary .scc-checkout__save span{opacity:1}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__route:before,body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__route:after{background:var(--svc-summary-accent);box-shadow:none}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__route i{background:var(--svc-summary-ink);opacity:.45}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__steps button{color:var(--svc-ink)}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__steps button>span{color:inherit;width:29px;min-width:29px}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__steps button.is-active{color:#fff}
body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__steps button b{display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:break-word}
@media(max-width:580px){body:is(.brand-PT,.brand-MC,.brand-JC) .scc-checkout__steps button{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;min-height:68px}}
