/* London-inspired shared chrome; native trip content, menus and CTAs stay intact. */
body.bt-site-shell { --shell-paper:#fcfbf9; --shell-ink:#181818; --shell-rule:#deded5; }
body.bt-site-shell:not(.bt-shell-trip) { padding-top:0!important; padding-bottom:0!important; --bt-topbar-height:0px; }
body.bt-site-shell:not(.bt-shell-trip) :is(.bt-global-topbar,#btTravelPlayer,.mobile-bottom-app-bar,.top-announcement-bar,.music-widget,.b2b-marquee) { display:none!important; }
:root body.bt-site-shell header.bt-shell-header { top:0!important; position:sticky!important; height:auto!important; padding:0!important; background:var(--shell-paper)!important; color:var(--shell-ink)!important; border:0!important; border-bottom:1px solid var(--shell-rule)!important; box-shadow:none!important; z-index:1000; }
:root body.bt-site-shell header.bt-shell-header::after { display:none!important; }
:root body.bt-site-shell header.bt-shell-over-hero { position:fixed!important; inset:0 0 auto; background:transparent!important; color:#fff!important; border-bottom-color:rgba(255,255,255,.22)!important; }
:root body.bt-site-shell header.bt-shell-over-hero:is(.bt-shell-scrolled,.is-menu-open) { background:rgba(252,251,249,.97)!important; color:var(--shell-ink)!important; border-bottom-color:var(--shell-rule)!important; backdrop-filter:blur(14px); }
:root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner { width:calc(100% - clamp(40px,8vw,128px)); max-width:1600px!important; height:auto!important; min-height:80px; margin:0 auto!important; padding:0!important; display:flex!important; align-items:center; justify-content:space-between; gap:28px; }
:root body.bt-site-shell header .bt-shell-brand { display:inline-flex!important; flex-direction:column!important; align-items:flex-start!important; justify-content:center; gap:0!important; flex:none; color:inherit!important; text-decoration:none!important; min-width:0; }
:root body.bt-site-shell header .bt-shell-brand-name { font:400 clamp(21px,1.6vw,28px)/1.1 "Playfair Display",Georgia,serif!important; letter-spacing:.09em!important; white-space:nowrap; text-transform:none!important; }
:root body.bt-site-shell header .bt-shell-brand-by { margin-top:5px; font:700 10px/1.3 Lato,Arial,sans-serif!important; letter-spacing:.14em!important; color:inherit!important; text-transform:none!important; }
:root body.bt-site-shell .bt-shell-primary-nav { display:flex!important; align-items:center; gap:28px!important; margin:0 0 0 auto!important; padding:0!important; }
:root body.bt-site-shell .bt-shell-primary-nav a { font:600 14px/1.5 Lato,Arial,sans-serif!important; color:inherit!important; letter-spacing:0!important; text-transform:none!important; padding:12px 0!important; border-bottom:0!important; text-decoration:none; white-space:nowrap; }
body.bt-site-shell .bt-shell-primary-nav a:is(:hover,[aria-current]) { text-decoration:underline; text-underline-offset:6px; }
body.bt-site-shell .bt-shell-primary-nav a::after { display:none!important; }
:root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner .bt-shell-contact { display:inline-flex!important; position:static!important; flex:0 0 auto; width:auto!important; min-width:0!important; max-width:none!important; max-height:none!important; margin:0!important; align-items:center; justify-content:center; background:transparent!important; color:inherit!important; border:1px solid currentColor!important; border-radius:99px!important; min-height:42px!important; height:auto!important; padding:8px 17px!important; font:700 13px/1.5 Lato,Arial,sans-serif!important; letter-spacing:.025em!important; text-transform:none!important; text-decoration:none!important; white-space:nowrap; box-shadow:none!important; cursor:pointer; }
:root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner .bt-shell-menu-toggle { position:static!important; color:inherit!important; background:transparent; border:0; width:44px!important; min-width:44px!important; max-width:none!important; min-height:44px; margin:0!important; padding:0!important; flex:none; cursor:pointer; }
:root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner .bt-shell-menu-toggle i { color:inherit!important; }
body.bt-site-shell .bt-shell-header-inner :is(.b2b-b2c-link,[data-b2b-profile-open]) { display:none!important; }
body.bt-site-shell :is(.header-actions,.b2b-header__actions) { gap:12px; }
body.bt-site-shell :is(.header-controls-modern,.header-lang-divider) { display:none!important; }
body.bt-site-shell:not(.bt-shell-trip) :is(#mobileMenu .global-sidebar-section:has(>.btn-contact-trigger),.v2-drawer [data-open-contact],.b2b-drawer__actions [data-b2b-contact],.b2b-drawer__actions [data-b2b-profile-open],.b2b-drawer__actions>a) { display:none!important; }
body.bt-site-shell .bt-shell-header-inner :is(a,button,summary):focus-visible,.bt-shell-footer :is(a,button):focus-visible,.bt-shell-menu a:focus-visible { outline:3px solid #d4af37; outline-offset:4px; }
.bt-shell-trip-links { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:20px; padding-top:14px; border-top:1px solid #deded5; }
.bt-shell-trip-links a { font:600 14px/1.5 Lato,Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; padding:8px 0; color:inherit; }
.bt-shell-footer { margin:0!important; padding:42px 0 28px!important; background:#f7f6f2!important; color:#102337!important; border-top:1px solid #e2e0da; font:400 14px/1.5 Lato,Inter,Arial,sans-serif; }
.bt-shell-footer-inner { width:min(1696px,calc(100% - 64px)); margin:0 auto; }
.bt-shell-footer-main { display:grid; grid-template-columns:minmax(330px,1.4fr) auto minmax(250px,.58fr); align-items:start; gap:48px clamp(38px,5vw,92px); }
.bt-shell-footer-intro { min-width:0; }
.bt-shell-footer-brand { display:inline-flex; flex-direction:column; color:#102337!important; text-decoration:none!important; }
.bt-shell-footer-brand strong { font:800 27px/1.1 Lato,Inter,Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.bt-shell-footer-brand small { margin-top:7px; color:#78818a; font-size:11px; font-weight:500; letter-spacing:.2em; }
.bt-shell-footer-intro p { max-width:520px!important; margin:21px 0 0!important; color:#425161!important; font:400 15px/1.55 Lato,Inter,Arial,sans-serif!important; }
.bt-shell-footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:10px clamp(26px,3vw,60px); }
.bt-shell-footer-primary { justify-content:center; padding-top:8px; }
.bt-shell-footer a,.bt-shell-footer button { display:inline-flex; align-items:center; min-height:42px; color:inherit!important; font:inherit; background:none; border:0; border-radius:0; text-decoration:none; padding:7px 0; cursor:pointer; text-transform:none; letter-spacing:0; }
.bt-shell-footer a:hover,.bt-shell-footer button:hover { text-decoration:underline; text-underline-offset:5px; }
.bt-shell-footer-primary a { color:#102337!important; font-weight:700; white-space:nowrap; }
.bt-shell-footer .bt-shell-footer-contact { justify-content:center; align-self:start; width:100%; min-height:60px; padding:13px 24px; border-radius:999px; background:#0d2238; color:#fff!important; font-weight:700; text-align:center; }
.bt-shell-footer .bt-shell-footer-contact:hover { background:#173653; text-decoration:none; }
.bt-shell-footer-contact span { margin-left:5px; font-size:13px; }
.bt-shell-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:14px 32px; margin-top:34px; padding-top:20px; border-top:1px solid #dfded8; color:#747d86; font-size:12px; }
.bt-shell-footer-bottom small { font-size:12px; }
.bt-shell-footer-meta { display:flex; align-items:center; flex-wrap:wrap; gap:4px clamp(22px,3vw,48px); }
.bt-shell-footer-bottom nav { justify-content:flex-end; gap:4px clamp(22px,3vw,48px); }
.bt-shell-footer-bottom a { min-height:38px; color:#747d86!important; }
.bt-shell-menu { padding:0 20px 20px; display:grid; gap:4px; background:var(--shell-paper); color:var(--shell-ink); }
.bt-shell-menu[hidden] { display:none; }
.bt-shell-menu a { color:inherit; font:600 16px/1.5 Lato,Arial,sans-serif; padding:12px 0; text-decoration:none; }
.bt-shell-menu-toggle > span { display:block; width:24px; height:2px; background:currentColor; margin:4px 0; }
@media(max-width:1150px) {
 :root body.bt-site-shell .bt-shell-primary-nav { display:none!important; }
 :root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner .bt-shell-menu-toggle { display:inline-flex!important; flex-direction:column; align-items:center; justify-content:center; }
 :root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner { gap:12px; }
 body.bt-site-shell .b2b-header__actions :is(.b2b-language,[data-b2b-theme]) { display:none!important; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-nav .bt-shell-contact { display:none!important; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-drawer { z-index:2100; top:0; right:0; bottom:0; width:min(390px,88vw); visibility:visible; padding:38px; background:var(--paper); color:var(--ink); opacity:1; transform:translateX(105%); transition:transform .3s; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-drawer.is-open { transform:none; pointer-events:auto; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-drawer-shade { z-index:2000; inset:0; background:rgba(0,0,0,.55); transition:opacity .3s; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-drawer-shade.is-open { visibility:visible; opacity:1; pointer-events:auto; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-drawer-close { position:absolute; top:20px; right:20px; width:44px; height:44px; border:0; background:none; font-size:30px; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-drawer-inner { display:flex; height:100%; flex-direction:column; justify-content:center; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-drawer nav { display:grid; margin:10px 0 35px; }
 body.bt-site-shell:not(.bt-shell-trip) .v2-drawer nav a { padding:13px 0; border-bottom:1px solid var(--line); font:400 27px var(--serif); }
}
@media(max-width:1000px) and (min-width:681px) {
 .bt-shell-footer-main { grid-template-columns:minmax(300px,1fr) auto; }
 .bt-shell-footer-primary { justify-content:flex-end; }
 .bt-shell-footer .bt-shell-footer-contact { grid-column:2; width:min(290px,100%); }
}
@media(max-width:680px) {
 :root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner { width:calc(100% - 32px); min-height:72px; gap:8px; }
 :root body.bt-site-shell header .bt-shell-brand-name { font-size:18px!important; }
 :root body.bt-site-shell header .bt-shell-brand-by { font-size:9px!important; }
 body.bt-site-shell .header-actions { gap:4px; }
 body.bt-site-shell .bt-shell-header-inner :is(.mobile-only-flex,.lang-mob-header) { display:none!important; }
 :root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner .bt-shell-contact { min-height:40px!important; padding:7px 10px!important; font-size:12px!important; }
 body.bt-shell-trip[data-trip-page="plan"] .bt-shell-header-inner { flex-wrap:wrap; padding:12px 0!important; }
 body.bt-shell-trip[data-trip-page="plan"] :is(.bt-plan-header-actions,.vn-header__actions) { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; width:100%; gap:8px; }
 body.bt-shell-trip[data-trip-page="plan"] :is(.bt-plan-header-register,.vn-header__register) { font-size:12px; white-space:normal; max-width:calc(100% - 180px); padding:8px 10px; }
 .bt-shell-footer { padding:34px 0 22px!important; }
 .bt-shell-footer-inner { width:calc(100% - 40px); }
 .bt-shell-footer-main { grid-template-columns:1fr; gap:20px; }
 .bt-shell-footer-brand strong { font-size:21px; }
 .bt-shell-footer-brand small { font-size:9px; }
 .bt-shell-footer-intro p { margin-top:14px!important; font-size:14px!important; }
 .bt-shell-footer-primary { justify-content:flex-start; padding:0; gap:6px 24px!important; }
 .bt-shell-footer .bt-shell-footer-contact { min-height:52px; }
 .bt-shell-footer-bottom { align-items:flex-start; flex-direction:column; margin-top:28px; padding-top:14px; }
 .bt-shell-footer-bottom nav { justify-content:flex-start; gap:2px 22px!important; }
 .bt-shell-footer-meta { gap:2px 22px; }
}
@media(max-width:360px) {
 :root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner { width:calc(100% - 24px); gap:4px; }
 :root body.bt-site-shell header .bt-shell-brand-name { font-size:16px!important; }
 :root body.bt-site-shell header .bt-shell-brand-by { font-size:8px!important; }
 :root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner .bt-shell-contact { font-size:11px!important; padding:7px 8px!important; }
 body.bt-site-shell .trip-header-actions { gap:4px; }
}
:root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner .header-actions { display:flex!important; position:static!important; transform:none!important; width:auto!important; max-width:none!important; margin:0!important; padding:0!important; gap:8px!important; }
:root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner { grid-template-columns:none!important; }
@media(max-width:335px) {
 :root body.bt-site-shell header .bt-shell-brand-name { font-size:14px!important; }
 :root body.bt-site-shell header.bt-shell-header .bt-shell-header-inner .bt-shell-contact { font-size:10px!important; padding-inline:6px!important; }
}
@media(max-width:680px) {
 :root body.bt-shell-trip[data-trip-page="plan"] header.bt-shell-header .bt-shell-header-inner { display:grid!important; grid-template-columns:minmax(0,1fr) auto 44px!important; gap:8px 4px; padding:10px 0!important; }
 :root body.bt-shell-trip[data-trip-page="plan"] :is(.bt-plan-header-actions,.vn-header__actions) { display:contents!important; }
 :root body.bt-shell-trip[data-trip-page="plan"] :is(.bt-plan-header-register,.vn-header__register) { grid-column:1/-1; grid-row:2; display:flex; align-items:center; justify-content:center; width:100%!important; max-width:none!important; margin:0!important; min-height:42px; font-size:12px; padding:8px 10px; white-space:normal; text-align:center; }
 :root body.bt-shell-trip[data-trip-page="plan"] header .bt-shell-menu-toggle { grid-column:3; grid-row:1; }
}
