/* Cayman Bookings — app shell + components. Brand-tokened; no off-palette colours. */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html{width:100%;max-width:100%;overflow-x:hidden}
body.cbt{
  margin:0;width:100%;max-width:100%;overflow-x:hidden;font-family:var(--cb-font-ui);font-size:var(--cb-fs-base);line-height:1.5;
  color:var(--cb-ink);background:var(--cb-paper);
  font-variant-numeric:normal;-webkit-font-smoothing:antialiased;
}
@supports (overflow:clip){html,body.cbt{overflow-x:clip}}
.cbt-shell,.cbt-main,.cbt-footer{width:100%;max-width:100%}
h1,h2,h3,h4{font-family:var(--cb-font-display);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 .4em}
a{color:var(--cb-reef);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
button{font:inherit;cursor:pointer}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.cbt-skip:focus{position:fixed;left:16px;top:12px;z-index:1000;width:auto;height:auto;clip:auto;background:var(--cb-white);padding:10px 16px;border-radius:var(--r-sm);box-shadow:var(--shadow)}

/* Focus rings: turquoise */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--cb-turq);outline-offset:2px;border-radius:var(--r-sm)
}

.cbt-money{font-variant-numeric:tabular-nums}

/* ---------- Layout ---------- */
.cbt-main{max-width:1200px;margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-10)}
.cbt-main--narrow{max-width:760px}
/* App surfaces (account/cart/checkout) use the full content width, never the prose column. */
.cbt-main--app{max-width:1200px}
/* Home: main is full-bleed so the hero spans edge to edge; content below is re-constrained. */
.cbt-main.cbt-main--home{max-width:none;margin:0;padding:0}
.cbt-wrap{max-width:1200px;margin:0 auto;padding:var(--s-8) var(--s-5) var(--s-10)}
/* Home discovery: filter tab bar + in-place grid (blends native + partner cards) */
.cbt-explore{max-width:1200px;margin:0 auto;padding:var(--s-6) var(--s-5) var(--s-10)}
.cbt-filterbar{width:100%;max-width:100%;display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cbt-filterbar::-webkit-scrollbar{display:none}
.cbt-filterchip{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 15px;border-radius:var(--r-pill);border:1px solid var(--cb-mist);background:var(--cb-white);color:var(--cb-ink);font-weight:600;font-size:var(--cb-fs-sm);line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.cbt-filterchip .cbt-icon{width:18px;height:18px;color:var(--cb-reef)}
.cbt-filterchip:hover{background:var(--cb-shallows-2);border-color:var(--cb-shallows-2)}
.cbt-filterchip.is-active{background:var(--cb-ink);border-color:var(--cb-ink);color:var(--cb-white)}
.cbt-filterchip.is-active .cbt-icon{color:var(--cb-shallows)}
.cbt-filterchip__count{font-variant-numeric:tabular-nums;font-weight:500;opacity:.6}
.cbt-explore__bar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:var(--s-4) 0 var(--s-3)}
.cbt-explore__count{color:var(--cb-slate);font-size:var(--cb-fs-sm);margin:0}
.cbt-explore__seeall{font-weight:600;color:var(--cb-reef);white-space:nowrap}
.cbt-explore__grid .cbt-card{animation:cbt-fade .22s ease both}
@keyframes cbt-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cbt-explore__grid .cbt-card{animation:none}}
/* Vertical listing archive header */
.cbt-archivehead{max-width:1200px;margin:0 auto;padding:var(--s-8) var(--s-5) var(--s-3);display:flex;align-items:center;gap:14px}
.cbt-archivehead__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-base);background:var(--cb-shallows-2);color:var(--cb-reef);flex:none}
.cbt-archivehead__titles h1{margin:0;font-size:var(--cb-fs-2xl)}
.cbt-archivehead__count{color:var(--cb-slate);font-size:var(--cb-fs-sm)}
.cbt-pagination{max-width:1200px;margin:var(--s-6) auto 0;padding:0 var(--s-5);display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;list-style:none}
.cbt-pagination>ul.page-numbers{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.cbt-pagination>ul.page-numbers>li{list-style:none;margin:0;padding:0}
.cbt-pagination a.page-numbers,.cbt-pagination span.page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--cb-mist);background:var(--cb-white);color:var(--cb-ink);font-weight:600;line-height:1;text-decoration:none}
.cbt-pagination span.page-numbers.current{background:var(--cb-ink);color:var(--cb-white);border-color:var(--cb-ink)}
.cbt-pagination a.page-numbers:hover{background:var(--cb-shallows-2);text-decoration:none}
.cbt-grid{display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}

/* ---------- Lockup ---------- */
.cbt-lockup{display:inline-flex;align-items:center;text-decoration:none;min-height:34px;flex:0 0 auto}
.cbt-lockup:hover{text-decoration:none}
.cbt-lockup__logo{display:block;width:168px;max-width:100%;line-height:0}
.cbt-lockup__logo svg{display:block;width:100%;height:auto;overflow:visible}
.cbt-footer .cbt-lockup__logo{width:190px}

/* ---------- Icons ---------- */
.cbt-icon{width:24px;height:24px;display:block}

/* ---------- App bar ---------- */
.cbt-appbar{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--cb-white) 88%,transparent);
  backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--cb-mist)}
.cbt-appbar__inner{width:100%;max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:var(--s-4);padding:12px var(--s-5)}
.cbt-appbar__inner>*{min-width:0}
.cbt-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--cb-white);border:1px solid var(--cb-mist);
  border-radius:var(--r-pill);padding:8px 16px;max-width:520px;min-width:0}
.cbt-search__icon{color:var(--cb-slate);display:flex}
.cbt-search__input{border:0;outline:0;flex:1;min-width:0;width:100%;max-width:100%;background:transparent;font-size:var(--cb-fs-base);color:var(--cb-ink)}
.cbt-appbar__actions{display:flex;align-items:center;gap:var(--s-3);margin-left:auto}
.cbt-currency__select{appearance:none;border:1px solid var(--cb-mist);background:var(--cb-white);border-radius:var(--r-pill);
  padding:8px 14px;font-weight:600;color:var(--cb-ink)}
.cbt-appbar__icon{display:flex;color:var(--cb-ink);padding:6px;border-radius:var(--r-pill)}
.cbt-appbar__icon:hover{background:var(--cb-shallows-2);text-decoration:none}
.cbt-appbar__nav{border-top:1px solid var(--cb-mist)}

/* ---------- Vertical nav ---------- */
.cbt-vnav{width:100%;max-width:1200px;margin:0 auto;padding:6px var(--s-5);overflow:hidden}
.cbt-vnav__list{width:100%;max-width:100%;list-style:none;display:flex;gap:6px;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}
.cbt-vnav__list::-webkit-scrollbar{display:none}
.cbt-vnav__link{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-pill);
  color:var(--cb-ink);white-space:nowrap;font-weight:500;transition:background var(--dur) var(--ease)}
.cbt-vnav__link:hover{background:var(--cb-shallows-2);text-decoration:none}
.cbt-vnav__link[aria-current="page"]{background:var(--cb-ink);color:var(--cb-white)}
.cbt-vnav__icon{display:flex;color:var(--cb-reef)}

/* ---------- Buttons ---------- */
.cbt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;
  border-radius:var(--r-pill);padding:12px 22px;font-weight:600;font-size:var(--cb-fs-base);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.cbt-btn:hover{text-decoration:none}
.cbt-btn:active{transform:translateY(1px)}
.cbt-btn--primary{background:var(--cb-turq);color:var(--cb-ink)}
.cbt-btn--primary:hover{background:var(--cb-shallows)}
.cbt-btn--reef{background:var(--cb-reef);color:var(--cb-white)}
.cbt-btn--reef:hover{background:#0a5d67}
.cbt-btn--ghost{background:transparent;border-color:var(--cb-mist);color:var(--cb-ink)}
.cbt-btn--ghost:hover{background:var(--cb-shallows-2)}
.cbt-btn--danger{background:transparent;border-color:var(--cb-coral);color:#c2452b}
.cbt-btn--block{width:100%}
.cbt-btn--sm{padding:8px 14px;font-size:var(--cb-fs-sm)}
.cbt-btn[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- Chips ---------- */
.cbt-chip{display:inline-flex;align-items:center;background:var(--cb-shallows-2);color:var(--cb-reef);
  border:0;border-radius:var(--r-pill);padding:4px 12px;font-size:var(--cb-fs-xs);font-weight:600}
.cbt-chip--toggle{cursor:pointer}
.cbt-chip--toggle[aria-pressed="true"]{background:var(--cb-ink);color:var(--cb-white)}
.cbt-pill{display:inline-flex;align-items:center;gap:8px;background:var(--cb-white);border:1px solid var(--cb-mist);
  border-radius:var(--r-pill);padding:10px 18px;color:var(--cb-ink);font-weight:600;box-shadow:var(--shadow)}
.cbt-pill:hover{text-decoration:none;transform:translateY(-1px)}
.cbt-pill svg{color:var(--cb-reef)}

/* ---------- Hero ---------- */
.cbt-hero{position:relative;overflow:hidden;color:var(--cb-ink);
  background:
    radial-gradient(120% 100% at 86% 6%, rgba(255,255,255,.24), transparent 56%),
    linear-gradient(150deg,#0AD3E3 0%,var(--cb-turq) 58%,#05B4C4 100%)}
.cbt-hero__inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:var(--s-10) var(--s-5)}
.cbt-hero__title{color:var(--cb-ink);font-size:var(--cb-fs-3xl);margin-bottom:.2em}
.cbt-hero__sub{color:#08343E;font-size:var(--cb-fs-md);margin:0 0 var(--s-6);max-width:52ch}
.cbt-hero__search{display:flex;align-items:center;gap:8px;background:var(--cb-white);border-radius:var(--r-pill);
  padding:8px 8px 8px 18px;width:100%;max-width:620px;min-width:0;box-shadow:var(--shadow-lg)}
.cbt-hero__search input{flex:1;min-width:0;width:100%;max-width:100%;border:0;outline:0;background:transparent;color:var(--cb-ink);font-size:var(--cb-fs-md)}
.cbt-hero__searchicon{color:var(--cb-slate);display:flex}
.cbt-hero__verticals{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s-6)}
.cbt-hero__verticals .cbt-pill{background:var(--cb-white);border-color:var(--cb-white);color:var(--cb-ink);box-shadow:0 8px 18px -10px rgba(8,34,43,.35)}
.cbt-hero__verticals .cbt-pill:hover{background:var(--cb-shallows-2);border-color:var(--cb-shallows-2)}
.cbt-hero__verticals .cbt-pill svg{color:var(--cb-reef)}
/* Search button reads as ink on the turquoise hero (turquoise-on-turquoise would vanish) */
.cbt-hero__search .cbt-btn--primary{background:var(--cb-ink);color:var(--cb-white)}
.cbt-hero__search .cbt-btn--primary:hover{background:#0d3543}

/* ---------- Collections ---------- */
.cbt-collection{max-width:1200px;margin:0 auto;padding:var(--s-8) var(--s-5) 0}
.cbt-collection__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s-4)}
.cbt-collection__title{font-size:var(--cb-fs-xl);margin:0}
.cbt-collection__all{font-weight:600}

/* ---------- Listing card ---------- */
.cbt-card{background:var(--cb-white);border:1px solid var(--cb-mist);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.cbt-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.cbt-card__media{position:relative;display:block;aspect-ratio:3/2;background:var(--cb-shallows-2)}
.cbt-card__img{width:100%;height:100%;object-fit:cover}
.cbt-card__fav{position:absolute;top:10px;right:10px;background:color-mix(in srgb,var(--cb-white) 85%,transparent);
  border:0;border-radius:var(--r-pill);width:38px;height:38px;display:grid;place-items:center;color:var(--cb-ink)}
.cbt-card__fav[aria-pressed="true"]{color:var(--cb-coral)}
.cbt-card__fav[aria-pressed="true"] svg{fill:var(--cb-coral)}
.cbt-card__body{padding:var(--s-4)}
.cbt-card__meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:var(--cb-slate);font-size:var(--cb-fs-xs)}
.cbt-card__vicon{color:var(--cb-reef);display:flex}
.cbt-card__vicon svg{width:18px;height:18px}
.cbt-card__rating{margin-left:auto;color:var(--cb-ink);font-weight:600}
.cbt-card__title{font-size:var(--cb-fs-md);margin:0 0 6px}
.cbt-card__title a{color:var(--cb-ink)}
.cbt-card__price{margin:0;color:var(--cb-ink);font-weight:700}
.cbt-card__from{color:var(--cb-slate);font-weight:400;font-size:var(--cb-fs-xs);margin-right:4px}

/* ---------- Single listing ---------- */
.cbt-listing__layout{display:grid;grid-template-columns:1fr 380px;gap:var(--s-8);align-items:start}
.cbt-crumbs{font-size:var(--cb-fs-sm);margin-bottom:var(--s-3)}
.cbt-listing__title{font-size:var(--cb-fs-2xl)}
.cbt-listing__meta{display:flex;align-items:center;gap:12px;color:var(--cb-slate);margin-bottom:var(--s-5)}
.cbt-listing__rating{font-weight:600;color:var(--cb-ink)}
.cbt-gallery__main{width:100%;border-radius:var(--r-lg);aspect-ratio:16/9;object-fit:cover;background:var(--cb-shallows-2)}
.cbt-listing__section{padding:var(--s-6) 0;border-top:1px solid var(--cb-mist)}
.cbt-listing__section h2{font-size:var(--cb-fs-lg)}
.cbt-note{color:var(--cb-slate);font-size:var(--cb-fs-sm)}
.cbt-prose{max-width:64ch}
.cbt-prose p{margin:0 0 1em}
.cbt-map{background:var(--cb-shallows-2);border-radius:var(--r);min-height:220px;display:grid;place-items:center}
.cbt-map__placeholder{color:var(--cb-reef);font-weight:600}

/* ---------- Booking widget ---------- */
.cbt-widget-rail{position:sticky;top:120px}
.cbt-widget{background:var(--cb-white);border:1px solid var(--cb-mist);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);padding:var(--s-5)}
.cbt-widget__head{display:flex;align-items:baseline;gap:8px;margin-bottom:var(--s-4)}
.cbt-widget__from{color:var(--cb-slate);font-size:var(--cb-fs-sm);margin:0}
.cbt-widget__price{font-family:var(--cb-font-display);font-size:var(--cb-fs-xl);font-weight:700;margin:0}
.cbt-widget__body{display:flex;flex-direction:column;gap:var(--s-3)}
.cbt-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s-3)}
.cbt-field__label{font-size:var(--cb-fs-sm);font-weight:600;color:var(--cb-ink)}
.cbt-field input,.cbt-field select{border:1px solid var(--cb-mist);border-radius:var(--r-sm);padding:11px 12px;font-size:var(--cb-fs-base);background:var(--cb-white);color:var(--cb-ink)}
.cbt-stepper{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--cb-mist);border-radius:var(--r-sm);padding:6px 10px}
.cbt-stepper__btn{width:32px;height:32px;border-radius:var(--r-pill);border:1px solid var(--cb-mist);background:var(--cb-white);font-size:18px;line-height:1;color:var(--cb-ink)}
.cbt-slotchips{display:flex;flex-wrap:wrap;gap:8px}
.cbt-slot{border:1px solid var(--cb-mist);background:var(--cb-white);border-radius:var(--r-pill);padding:8px 14px;font-weight:600}
.cbt-slot[aria-pressed="true"]{background:var(--cb-ink);color:var(--cb-white);border-color:var(--cb-ink)}
.cbt-breakdown{border-top:1px dashed var(--cb-mist);margin-top:var(--s-3);padding-top:var(--s-3);display:flex;flex-direction:column;gap:6px}
.cbt-breakdown__row{display:flex;justify-content:space-between;font-size:var(--cb-fs-sm)}
.cbt-breakdown__row--total{font-weight:700;font-size:var(--cb-fs-md);color:var(--cb-ink);border-top:1px solid var(--cb-mist);padding-top:8px;margin-top:4px}
.cbt-widget__footer{margin-top:var(--s-4);display:flex;flex-direction:column;gap:10px}
.cbt-widget__timing{font-size:var(--cb-fs-sm);color:var(--cb-reef);font-weight:600}
.cbt-widget__advisory{color:var(--cb-slate);font-size:var(--cb-fs-xs);text-align:center;margin:0}
.cbt-widget__error{background:#fff2ee;border:1px solid var(--cb-coral);color:#a83a24;border-radius:var(--r-sm);padding:10px 12px;font-size:var(--cb-fs-sm)}
.cbt-fxnote{color:var(--cb-slate);font-size:var(--cb-fs-xs);margin:0}

/* Hold countdown */
.cbt-hold{display:inline-flex;align-items:center;gap:8px;background:var(--cb-shallows-2);color:var(--cb-reef);
  border-radius:var(--r-pill);padding:6px 12px;font-weight:600;font-size:var(--cb-fs-sm);font-variant-numeric:tabular-nums}
.cbt-hold__dot{width:8px;height:8px;border-radius:50%;background:var(--cb-turq);animation:cbt-pulse 1.4s var(--ease) infinite}
@keyframes cbt-pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---------- Archive ---------- */
.cbt-archive__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--s-5)}
.cbt-archive__title{font-size:var(--cb-fs-2xl)}
.cbt-archive__count{color:var(--cb-slate);font-size:var(--cb-fs-sm)}
.cbt-archive__layout{display:grid;grid-template-columns:260px 1fr;gap:var(--s-7);align-items:start}
.cbt-facets{position:sticky;top:120px;display:flex;flex-direction:column;gap:var(--s-5)}
.cbt-facets__h{font-size:var(--cb-fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--cb-slate);margin:0 0 8px}
.cbt-facets__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}

/* ---------- Checkout ---------- */
.cbt-checkout__form{display:grid;grid-template-columns:1fr 380px;gap:var(--s-7);align-items:start}
.cbt-steps{list-style:none;display:flex;gap:8px;margin:0 0 var(--s-6);padding:0;flex-wrap:wrap}
.cbt-steps__item{display:flex;align-items:center;gap:8px;color:var(--cb-slate);font-weight:600;font-size:var(--cb-fs-sm)}
.cbt-steps__item span{width:26px;height:26px;border-radius:50%;background:var(--cb-mist);color:var(--cb-ink);display:grid;place-items:center;font-size:var(--cb-fs-xs)}
.cbt-steps__item.is-active{color:var(--cb-ink)}
.cbt-steps__item.is-active span{background:var(--cb-turq)}
.cbt-panel{background:var(--cb-white);border:1px solid var(--cb-mist);border-radius:var(--r-lg);padding:var(--s-5);margin-bottom:var(--s-5)}
.cbt-panel__h{font-size:var(--cb-fs-lg)}
.cbt-checkout__summary{position:sticky;top:120px}
.cbt-summarycard{background:var(--cb-white);border:1px solid var(--cb-mist);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}
.cbt-summarycard__h{font-size:var(--cb-fs-md);margin:0}
.cbt-summaryline{display:flex;justify-content:space-between;font-size:var(--cb-fs-sm)}
.cbt-summaryline--due{font-size:var(--cb-fs-md);font-weight:700;border-top:1px solid var(--cb-mist);padding-top:10px;margin-top:4px}
.cbt-summarycard__trust{display:flex;flex-wrap:wrap;gap:6px;color:var(--cb-slate);font-size:var(--cb-fs-xs);border-top:1px solid var(--cb-mist);padding-top:10px}

/* Confirmation */
.cbt-confirm{max-width:640px;margin:0 auto;text-align:center;padding:var(--s-9) var(--s-5)}
.cbt-confirm__ray{width:96px;height:80px;margin:0 auto var(--s-5);color:var(--cb-reef)}

/* ---------- Account ---------- */
.woocommerce-account .woocommerce{max-width:1100px;margin:0 auto}
.cbt-account-layout{display:grid;grid-template-columns:260px 1fr;gap:var(--s-7);align-items:start;padding:var(--s-2) 0 var(--s-6)}
.cbt-accountnav{position:sticky;top:120px;background:var(--cb-white);border:1px solid var(--cb-mist);border-radius:var(--r-lg);padding:var(--s-4)}
.cbt-accountnav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.cbt-accountnav__item a{display:block;padding:10px 12px;border-radius:var(--r-sm);color:var(--cb-ink);font-weight:500}
.cbt-accountnav__item a:hover{background:var(--cb-shallows-2);text-decoration:none}
.cbt-accountnav__item.is-active a,.woocommerce-MyAccount-navigation-link--active a{background:var(--cb-ink);color:var(--cb-white)}
.cbt-accountnav__console{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--cb-mist)}
.cbt-accountnav__consolehead{font-size:var(--cb-fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--cb-reef);font-weight:700;margin:0 0 6px}
.cbt-accountnav__admin{margin-top:var(--s-4);font-size:var(--cb-fs-sm)}
.cbt-account__title{font-size:var(--cb-fs-2xl)}
.cbt-account__hello{color:var(--cb-slate);margin-top:-.4em}
.cbt-account__block{margin-top:var(--s-7)}
.cbt-account__h2{font-size:var(--cb-fs-lg)}
.cbt-payments{display:flex;flex-direction:column;gap:var(--s-3)}
.cbt-payment{display:flex;align-items:center;gap:var(--s-4);background:var(--cb-white);border:1px solid var(--cb-mist);border-radius:var(--r);padding:var(--s-4)}
.cbt-payment__meta{display:flex;flex-direction:column;gap:4px}
.cbt-payment__ref{font-weight:700}
.cbt-payment__date{color:var(--cb-slate);font-size:var(--cb-fs-sm);margin-left:auto}
.cbt-payment__total{font-weight:700}
.cbt-bookinglist{display:flex;flex-direction:column;gap:var(--s-3)}
.cbt-vendorconsole__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s-4)}
.cbt-vendorcard{background:var(--cb-ink);color:var(--cb-white);border-radius:var(--r-lg);padding:var(--s-5)}
.cbt-vendorcard h3{color:var(--cb-white);font-size:var(--cb-fs-md)}
.cbt-vendorcard .cbt-note{color:var(--cb-shallows)}

/* Status pills */
.cbt-status{display:inline-flex;align-items:center;border-radius:var(--r-pill);padding:3px 10px;font-size:var(--cb-fs-xs);font-weight:700}
.cbt-status--completed,.cbt-status--confirmed{background:#e5f7ee;color:#0a7a4b}
.cbt-status--processing,.cbt-status--on-hold{background:var(--cb-shallows-2);color:var(--cb-reef)}
.cbt-status--pending{background:var(--cb-sand);color:#7a5a1e}
.cbt-status--cancelled,.cbt-status--failed{background:#fdeae4;color:#b23a1e}

/* ---------- Footer ---------- */
.cbt-footer{background:var(--cb-ink);color:var(--cb-shallows);margin-top:var(--s-10)}
.cbt-footer__inner{max-width:1200px;margin:0 auto;padding:var(--s-9) var(--s-5);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s-7)}
.cbt-footer__note{color:var(--cb-shallows);max-width:32ch;margin:var(--s-3) 0}
.cbt-footer__locale{color:var(--cb-slate);font-size:var(--cb-fs-sm)}
.cbt-footer__h{color:var(--cb-white);font-size:var(--cb-fs-sm);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--s-3)}
.cbt-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cbt-footer__col a{color:var(--cb-shallows)}
.cbt-footer__col a:hover{color:var(--cb-white)}
.cbt-footer__legal{border-top:1px solid rgba(255,255,255,.1);padding:var(--s-4) var(--s-5);text-align:center;color:var(--cb-slate);font-size:var(--cb-fs-sm)}

/* ---------- Bottom nav (mobile) ---------- */
.cbt-bottomnav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--cb-white);
  border-top:1px solid var(--cb-mist);padding:6px max(10px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));
  justify-content:space-around}
.cbt-bottomnav__tab{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--cb-slate);font-size:10px;font-weight:600;padding:6px 10px;min-width:56px;border-radius:var(--r-sm)}
.cbt-bottomnav__tab:hover{text-decoration:none}
.cbt-bottomnav__tab[aria-current="page"]{color:var(--cb-reef)}

/* ---------- Skeletons ---------- */
.cbt-skeleton{background:linear-gradient(90deg,var(--cb-mist) 25%,var(--cb-shallows-2) 37%,var(--cb-mist) 63%);
  background-size:400% 100%;animation:cbt-shimmer 1.4s ease infinite;border-radius:var(--r-sm)}
.cbt-skeleton--widget{height:220px}
.cbt-skeleton--row{height:64px;margin-bottom:8px}
@keyframes cbt-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* ---------- Empty / error ---------- */
.cbt-empty{text-align:center;padding:var(--s-9) var(--s-5);color:var(--cb-slate)}
.cbt-empty--soft{background:var(--cb-white);border:1px solid var(--cb-mist);border-radius:var(--r-lg)}
.cbt-empty--404 h1{font-size:var(--cb-fs-2xl)}

/* ---------- Pagehead / prose ---------- */
.cbt-pagehead{margin-bottom:var(--s-6)}
.cbt-pagehead__title{font-size:var(--cb-fs-2xl)}

/* ---------- Responsive ---------- */
@media(max-width:960px){
  .cbt-listing__layout,.cbt-checkout__form,.cbt-archive__layout,.cbt-account-layout{grid-template-columns:1fr}
  .cbt-widget-rail,.cbt-checkout__summary,.cbt-facets,.cbt-accountnav{position:static}
  .cbt-footer__inner{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .cbt-appbar__nav{display:none}
  .cbt-bottomnav{display:flex}
  body.cbt{padding-bottom:72px}

  /* Mobile app bar must never establish a desktop-width min-content viewport.
     Account + trip are already present in the bottom tab bar, so remove them
     here and let the brand + universal search share the actual viewport. */
  .cbt-appbar__inner{width:100%;max-width:100%;padding:10px 16px;gap:10px}
  .cbt-appbar__actions{display:none}
  .cbt-lockup{flex:0 1 auto;min-width:0;max-width:47%}
  .cbt-lockup__logo{width:138px;max-width:100%}
  .cbt-search{flex:1 1 0;width:auto;max-width:none;min-width:0;padding:8px 11px}
  .cbt-search__icon{flex:none}
  .cbt-search__input{min-width:0;width:100%;font-size:14px;text-overflow:ellipsis}

  /* Keep every full-bleed/home surface anchored to the device viewport. */
  .cbt-main.cbt-main--home,.cbt-hero,.cbt-hero__inner,.cbt-explore,.cbt-wrap,.cbt-archivehead,.cbt-pagination{width:100%;max-width:100%}
  .cbt-hero__inner{padding:48px 20px 56px}
  .cbt-hero__title{font-size:clamp(2rem,9vw,2.5rem);overflow-wrap:anywhere}
  .cbt-hero__sub{max-width:100%;overflow-wrap:anywhere}
  .cbt-hero__search{width:100%;max-width:100%;min-width:0}
  .cbt-hero__search input{min-width:0}
  .cbt-hero__search .cbt-btn{flex:none;padding-left:18px;padding-right:18px}
  .cbt-explore{padding:24px 20px 40px;overflow:hidden}
  .cbt-filterbar{width:100%;max-width:100%;overscroll-behavior-x:contain}
  .cbt-explore__bar{min-width:0}
  .cbt-explore__count{min-width:0}
  .cbt-explore__seeall{max-width:58%;overflow:hidden;text-overflow:ellipsis}
  .cbt-grid{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}
  .cbt-card{min-width:0;max-width:100%}
  .cbt-footer__inner{grid-template-columns:1fr}

  /* Booking widget becomes a bottom sheet CTA on mobile */
  .cbt-widget-rail{position:fixed;left:0;right:0;bottom:56px;z-index:65;margin:0;max-width:100%}
  .cbt-widget{border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -20px 50px -20px rgba(8,34,43,.4)}
}
@media(max-width:420px){
  .cbt-lockup{max-width:45%}
  .cbt-lockup__logo{width:118px;max-width:100%}
  .cbt-search{padding-left:10px;padding-right:10px}
  .cbt-search__input{font-size:13px}
  .cbt-hero__search{padding-left:14px}
  .cbt-hero__search .cbt-btn{padding:11px 16px}
}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ---------- Partner inventory ---------- */
.cbt-card--partner{border-color:var(--cb-shallows);position:relative}
.cbt-card__img--placeholder,.cbt-partner-placeholder{display:grid;place-items:center;background:var(--cb-shallows-2);color:var(--cb-reef)}
.cbt-card__img--placeholder svg,.cbt-partner-placeholder svg{width:52px;height:52px}
.cbt-partner-badge{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;max-width:calc(100% - 20px);padding:6px 10px;border-radius:var(--r-pill);background:var(--cb-ink);color:var(--cb-white);font-size:var(--cb-fs-xs);font-weight:700;box-shadow:var(--shadow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cbt-card__reviews{color:var(--cb-slate);font-weight:500}
.cbt-card__source{margin:8px 0 0;color:var(--cb-slate);font-size:var(--cb-fs-xs)}
.cbt-source-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:var(--s-4)}
.cbt-chip--source{border:1px solid var(--cb-mist);background:var(--cb-white);color:var(--cb-ink)}
.cbt-chip--source:hover{text-decoration:none;background:var(--cb-shallows-2)}
.cbt-chip--source.is-active{background:var(--cb-ink);border-color:var(--cb-ink);color:var(--cb-white)}
.cbt-partner-note{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:0 0 var(--s-5);padding:12px 14px;border:1px solid var(--cb-shallows);border-radius:var(--r);background:var(--cb-shallows-2);color:var(--cb-ink);font-size:var(--cb-fs-sm)}
.cbt-partner-note strong{color:var(--cb-reef)}
.cbt-wrap--catalogue{padding-top:var(--s-4)}
.cbt-partner-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--s-4);padding:12px 14px;border:1px solid var(--cb-shallows);border-radius:var(--r);background:var(--cb-shallows-2);font-size:var(--cb-fs-sm);color:var(--cb-slate)}
.cbt-partner-banner .cbt-partner-badge{position:static;max-width:none;box-shadow:none;flex:none}
.cbt-partner-widget{display:flex;flex-direction:column;gap:var(--s-4)}
.cbt-partner-widget__supplier{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:var(--r-sm);background:var(--cb-shallows-2);font-size:var(--cb-fs-sm)}
.cbt-partner-widget__supplier span{color:var(--cb-slate);font-size:var(--cb-fs-xs)}

/* ---------- Equipment & Party Rentals ---------- */
.cbt-equipment-search{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 var(--s-5);padding:16px;border:1px solid var(--cb-mist);border-radius:var(--r-lg);background:var(--cb-white);box-shadow:var(--shadow)}
.cbt-equipment-search__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cbt-equipment-search__field label{font-size:var(--cb-fs-xs);font-weight:700;color:var(--cb-ink)}
.cbt-equipment-search__field input,.cbt-equipment-search__field select{width:100%;min-width:0;border:1px solid var(--cb-mist);border-radius:var(--r-sm);padding:10px 11px;background:var(--cb-white);color:var(--cb-ink);font:inherit}
.cbt-equipment-search__field--compact{max-width:180px}
.cbt-equipment-search__actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:2px}
.cbt-card--equipment .cbt-card__meta{align-items:center}
.cbt-card--equipment .cbt-card__rating{white-space:nowrap}
@media(max-width:980px){.cbt-equipment-search{grid-template-columns:repeat(2,minmax(0,1fr))}.cbt-equipment-search__field--compact{max-width:none}}
@media(max-width:620px){.cbt-equipment-search{grid-template-columns:1fr;padding:12px}.cbt-equipment-search__actions{grid-column:auto}.cbt-card--equipment .cbt-card__meta{flex-wrap:wrap}.cbt-card--equipment .cbt-card__rating{margin-left:0}}


/* ---------- Unified Events filters ---------- */
.cbt-event-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;width:100%;max-width:100%;margin:0 0 var(--s-5);padding:16px;border:1px solid var(--cb-mist);border-radius:var(--r-lg);background:var(--cb-white);box-shadow:var(--shadow);overflow:hidden}
.cbt-event-filters__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cbt-event-filters__field label{font-size:var(--cb-fs-xs);font-weight:700;color:var(--cb-ink)}
.cbt-event-filters__field input,.cbt-event-filters__field select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid var(--cb-mist);border-radius:var(--r-sm);padding:10px 11px;background:var(--cb-white);color:var(--cb-ink);font:inherit}
.cbt-event-filters__actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:980px){.cbt-event-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cbt-event-filters{grid-template-columns:1fr;padding:12px}.cbt-event-filters__actions{grid-column:auto}}

/* ---------- Things to Do / Viator filters ---------- */
.cbt-excursion-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(5,minmax(120px,1fr));gap:12px;align-items:end;margin:0 0 var(--s-4);padding:16px;border:1px solid var(--cb-mist);border-radius:var(--r-lg);background:var(--cb-white);box-shadow:var(--shadow)}
.cbt-excursion-filters__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cbt-excursion-filters__field label{font-size:var(--cb-fs-xs);font-weight:700;color:var(--cb-ink)}
.cbt-excursion-filters__field input,.cbt-excursion-filters__field select{width:100%;min-width:0;border:1px solid var(--cb-mist);border-radius:var(--r-sm);padding:10px 11px;background:var(--cb-white);color:var(--cb-ink);font:inherit}
.cbt-excursion-filters__check{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 4px;font-size:var(--cb-fs-sm);font-weight:600;color:var(--cb-ink)}
.cbt-excursion-filters__check input{width:18px;height:18px;margin:0}
.cbt-excursion-filters__actions{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:1100px){.cbt-excursion-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.cbt-excursion-filters__field--category{grid-column:span 2}}
@media(max-width:720px){
  .cbt-excursion-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .cbt-excursion-filters__field--category{grid-column:1/-1}
  .cbt-excursion-filters__actions{grid-column:1/-1}
  /* EventPro's full purchase card belongs in normal document flow on phones.
     The global booking widget remains a bottom sheet for native bookings. */
  .cbt-widget-rail--eventpro{position:static;left:auto;right:auto;bottom:auto;z-index:auto;margin:var(--s-5) 0 0;max-width:none;width:100%}
  .cbt-widget-rail--eventpro .cbt-widget{border-radius:var(--r-lg);box-shadow:var(--shadow)}
}
@media(max-width:480px){.cbt-excursion-filters{grid-template-columns:1fr}.cbt-excursion-filters__field--category,.cbt-excursion-filters__actions{grid-column:auto}}

/* ---------- Home curated category discovery ---------- */
.cbt-explore__intro{margin:0 0 var(--s-4)}
.cbt-explore__title{font-size:var(--cb-fs-2xl);margin:0 0 6px}
.cbt-explore__lead{margin:0;color:var(--cb-slate);max-width:680px}
.cbt-filterbar--categories{margin-bottom:var(--s-7)}
.cbt-filterbar--categories .cbt-filterchip{text-decoration:none}
.cbt-filterbar--categories .cbt-filterchip:hover{text-decoration:none}
.cbt-home-sections{display:grid;gap:var(--s-9)}
.cbt-home-category{scroll-margin-top:140px}
.cbt-home-category__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 var(--s-4)}
.cbt-home-category__identity{display:flex;align-items:center;gap:12px;min-width:0}
.cbt-home-category__icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:var(--r-base);background:var(--cb-shallows-2);color:var(--cb-reef)}
.cbt-home-category__icon .cbt-icon{width:21px;height:21px}
.cbt-home-category__title{font-size:var(--cb-fs-xl);margin:0}
.cbt-home-category__seeall{font-weight:600;color:var(--cb-reef);white-space:nowrap}
.cbt-home-category__empty{margin:0}
@media(max-width:720px){
  .cbt-explore__intro{margin-bottom:18px}
  .cbt-filterbar--categories{margin-bottom:32px}
  .cbt-home-sections{gap:44px}
  .cbt-home-category{scroll-margin-top:118px}
  .cbt-home-category__head{align-items:flex-end}
  .cbt-home-category__title{font-size:var(--cb-fs-lg)}
  .cbt-home-category__seeall{font-size:var(--cb-fs-sm);max-width:48%;overflow:hidden;text-overflow:ellipsis}
}

/* ---------- Flights ---------- */
.cbt-main--flights{max-width:1180px}
.cbt-flights-hero{display:flex;align-items:flex-start;gap:18px;margin:0 0 var(--s-6)}
.cbt-flights-hero__icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:var(--r);background:var(--cb-shallows-2);color:var(--cb-reef)}
.cbt-flights-hero__icon .cbt-icon{width:28px;height:28px}
.cbt-flights-hero__eyebrow{margin:0 0 4px;color:var(--cb-reef);font-size:var(--cb-fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.cbt-flights-hero h1{font-size:var(--cb-fs-3xl);margin:0 0 8px}
.cbt-flights-hero p:last-child{margin:0;color:var(--cb-slate);max-width:720px}
.cbt-flight-search{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;margin:0 0 var(--s-7);padding:18px;border:1px solid var(--cb-mist);border-radius:var(--r-lg);background:var(--cb-white);box-shadow:var(--shadow)}
.cbt-flight-search__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cbt-flight-search__field label{font-size:var(--cb-fs-xs);font-weight:700;color:var(--cb-ink)}
.cbt-flight-search__field input,.cbt-flight-search__field select{width:100%;min-width:0;border:1px solid var(--cb-mist);border-radius:var(--r-sm);padding:11px;background:var(--cb-white);color:var(--cb-ink);font:inherit;text-transform:none}
.cbt-flight-search__field--place{position:relative}.cbt-flight-search__field--place input[type="text"]{font-weight:600}

.cbt-flight-place-results{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:290px;overflow:auto;border:1px solid var(--cb-mist);border-radius:var(--r-sm);background:var(--cb-white);box-shadow:var(--shadow);padding:5px}
.cbt-flight-place-option{display:block;width:100%;border:0;background:transparent;color:var(--cb-ink);padding:10px 11px;border-radius:8px;text-align:left;font:inherit;font-size:var(--cb-fs-sm);line-height:1.35;cursor:pointer}
.cbt-flight-place-option:hover,.cbt-flight-place-option:focus{background:var(--cb-surface,#f3f8f9);outline:none}
.cbt-flight-search__check{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;font-size:var(--cb-fs-sm);font-weight:600;color:var(--cb-ink)}
.cbt-flight-search__check input{width:18px;height:18px;margin:0}
.cbt-flight-search__actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:2px}
.cbt-flight-results__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 var(--s-4)}
.cbt-flight-results__head h2{margin:0 0 4px;font-size:var(--cb-fs-xl)}
.cbt-flight-results__head p{margin:0;color:var(--cb-slate);font-size:var(--cb-fs-sm)}
.cbt-flight-results__notice{max-width:540px;text-align:right}
.cbt-flight-results{display:grid;gap:12px}
.cbt-flight-card{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(320px,2fr) minmax(210px,.9fr);gap:20px;align-items:center;padding:18px;border:1px solid var(--cb-mist);border-radius:var(--r-lg);background:var(--cb-white);box-shadow:0 10px 28px -24px rgba(8,34,43,.5)}
.cbt-flight-card__route{display:flex;align-items:center;gap:12px;min-width:0}
.cbt-flight-card__plane{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--cb-shallows-2);color:var(--cb-reef)}
.cbt-flight-card__plane .cbt-icon{width:21px;height:21px}
.cbt-flight-card__eyebrow{margin:0 0 2px;color:var(--cb-slate);font-size:var(--cb-fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cbt-flight-card__title{margin:0;font-size:var(--cb-fs-lg);line-height:1.28;white-space:normal;overflow-wrap:anywhere}
.cbt-flight-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.cbt-flight-card__facts span{display:flex;flex-direction:column;min-width:0;color:var(--cb-ink);font-size:var(--cb-fs-sm)}
.cbt-flight-card__facts strong{margin-bottom:1px;color:var(--cb-slate);font-size:var(--cb-fs-xs);font-weight:600}
.cbt-flight-card__fare{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.cbt-flight-card__from{margin:0 0 1px;color:var(--cb-slate);font-size:var(--cb-fs-xs);text-align:right}
.cbt-flight-card__price{margin:0;font-family:var(--cb-font-display);font-size:var(--cb-fs-xl);font-weight:700;color:var(--cb-ink);text-align:right;white-space:nowrap}
.cbt-flight-card__note{grid-column:1/-1;margin:-5px 0 0;color:var(--cb-slate);font-size:var(--cb-fs-xs);text-align:right}
.cbt-flight-status{margin-top:var(--s-5)}
.cbt-btn.is-disabled{opacity:.55;pointer-events:none}
@media(max-width:980px){
  .cbt-flight-search{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cbt-flight-card{grid-template-columns:minmax(180px,1fr) minmax(280px,1.7fr)}
  .cbt-flight-card__fare{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--cb-mist);padding-top:12px}
  .cbt-flight-card__note{margin:0}
}
@media(max-width:680px){
  .cbt-flights-hero{gap:12px}
  .cbt-flights-hero__icon{width:44px;height:44px;flex-basis:44px}
  .cbt-flights-hero h1{font-size:var(--cb-fs-2xl)}
  .cbt-flight-search{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}
  .cbt-flight-search__actions{grid-column:1/-1}
  .cbt-flight-results__head{align-items:flex-start;flex-direction:column;gap:8px}
  .cbt-flight-results__notice{text-align:left}
  .cbt-flight-card{grid-template-columns:1fr;gap:14px;padding:15px}
  .cbt-flight-card__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cbt-flight-card__fare{grid-column:auto;justify-content:space-between;align-items:flex-end}
  .cbt-flight-card__from,.cbt-flight-card__price{text-align:left}
  .cbt-flight-card__note{grid-column:auto;text-align:left;margin:-4px 0 0}
}
@media(max-width:420px){.cbt-flight-search{grid-template-columns:1fr}.cbt-flight-search__actions{grid-column:auto}.cbt-flight-card__facts{grid-template-columns:1fr 1fr}.cbt-flight-card__fare{align-items:stretch;flex-direction:column}.cbt-flight-card__fare .cbt-btn{text-align:center}}
.cbt-home-flights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cbt-home-flights .cbt-flight-card{grid-template-columns:1fr;gap:13px;padding:16px}
.cbt-home-flights .cbt-flight-card__route>div{min-width:0}.cbt-home-flights .cbt-flight-card__title{font-size:var(--cb-fs-md);line-height:1.3}.cbt-home-flights .cbt-flight-card__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.cbt-home-flights .cbt-flight-card__fare{grid-column:auto;justify-content:space-between;border-top:1px solid var(--cb-mist);padding-top:12px}
.cbt-home-flights .cbt-flight-card__from,.cbt-home-flights .cbt-flight-card__price{text-align:left}
.cbt-home-flights .cbt-flight-card__note{grid-column:auto;text-align:left;margin:-3px 0 0}
@media(max-width:720px){.cbt-home-flights{grid-template-columns:1fr}}


/* HBX Stays search and native-looking property cards. */
.cbt-stay-search{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;padding:18px;margin:0 0 24px;border:1px solid var(--cbt-border);border-radius:18px;background:var(--cbt-surface);box-shadow:var(--cbt-shadow-sm)}
.cbt-stay-search__field label,.cbt-stay-detail-search label{display:grid;gap:6px;font-size:.78rem;font-weight:700;color:var(--cbt-text-muted)}
.cbt-stay-search input,.cbt-stay-search select,.cbt-stay-detail-search input,.cbt-stay-detail-search select{width:100%;min-height:44px;border:1px solid var(--cbt-border);border-radius:10px;background:#fff;padding:8px 10px;color:var(--cbt-text)}
.cbt-stay-search__ages{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cbt-stay-search__ages-label{font-size:.78rem;font-weight:700;color:var(--cbt-text-muted)}.cbt-stay-search__age-selects{display:flex;gap:8px;flex-wrap:wrap}.cbt-stay-search__age-selects select{width:72px;min-height:40px}.cbt-stay-search__actions{grid-column:1/-1;display:flex;gap:10px}
.cbt-card--hbx .cbt-card__rating{letter-spacing:.06em}.cbt-card--hbx .cbt-card__price strong{font-size:1rem}.cbt-stay-detail-search{display:grid;gap:12px}.cbt-hbx-room-summary{margin-top:16px;padding-top:16px;border-top:1px solid var(--cbt-border)}
@media(max-width:900px){.cbt-stay-search{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cbt-stay-search{grid-template-columns:1fr}}

/* HBX Stays room/rate selection and evaluation booking */
.cbt-hbx-rates__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.cbt-hbx-rates__heading h2{margin:0 0 4px}.cbt-hbx-rate-list{display:grid;gap:12px}.cbt-hbx-rate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid var(--cbt-border,#dbe7ea);border-radius:16px;background:#fff}.cbt-hbx-rate__main{min-width:0}.cbt-hbx-rate__main h3{margin:0 0 4px;font-size:1.05rem;line-height:1.25}.cbt-hbx-rate__board{margin:0 0 8px;font-weight:700;color:var(--cbt-ink,#062d38)}.cbt-hbx-rate__policy{margin:6px 0 0;font-size:.9rem;color:var(--cbt-muted,#607d85)}.cbt-hbx-rate__action{text-align:right;min-width:150px}.cbt-hbx-rate__price{font-size:1.25rem;font-weight:800;line-height:1.1;margin-bottom:2px}.cbt-hbx-rate__action small{display:block;margin-bottom:10px;color:var(--cbt-muted,#607d85)}.cbt-hbx-selection{margin-top:16px;padding:18px;border-radius:16px;background:#fff;border:1px solid var(--cbt-border,#dbe7ea)}.cbt-hbx-selection h3{margin-top:0}.cbt-hbx-selection__summary{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 14px}.cbt-hbx-selection__summary span{color:var(--cbt-muted,#607d85)}.cbt-hbx-test-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cbt-hbx-test-form label{display:grid;gap:6px;margin-bottom:12px;font-weight:700}.cbt-hbx-test-form input,.cbt-hbx-test-form textarea{width:100%;box-sizing:border-box}.cbt-hbx-selection .cbt-alert{margin:12px 0;padding:11px 12px;border-radius:10px;background:#eef8fa}.cbt-hbx-selection .cbt-alert[data-type="error"]{background:#fff0f0}.cbt-hbx-selection .cbt-alert[data-type="warning"]{background:#fff8e8}.cbt-hbx-selection .cbt-alert[data-type="success"]{background:#edf9f1}.cbt-stay-child-ages{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cbt-stay-child-ages .cbt-stay-search__age-selects{display:flex;gap:6px}.cbt-stay-child-ages select{width:68px;min-height:40px}[data-cbt-child-ages][hidden],[data-cbt-child-age][hidden]{display:none!important}@media(max-width:720px){.cbt-hbx-rate{grid-template-columns:1fr}.cbt-hbx-rate__action{text-align:left}.cbt-hbx-test-form__grid{grid-template-columns:1fr}.cbt-hbx-rates__heading{display:block}.cbt-hbx-rates__heading .cbt-chip{display:inline-flex;margin-top:8px}}


/* Proprietary Search Intelligence */
.cbt-smart-search__head{max-width:900px}
.cbt-smart-search__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--cb-teal,#067b8b);margin:0 0 8px}
.cbt-smart-search__summary{max-width:760px;color:var(--cb-slate);margin:8px 0 0}
.cbt-smart-search__chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.cbt-smart-search__groups{display:flex;gap:10px;flex-wrap:wrap;margin:-8px 0 28px}
.cbt-smart-search__groups a{display:inline-flex;gap:8px;align-items:center;padding:9px 13px;border:1px solid var(--cb-mist);border-radius:999px;background:var(--cb-white);text-decoration:none;color:var(--cb-ink);font-weight:600}
.cbt-smart-search__groups a span{color:var(--cb-slate);font-weight:500}
.cbt-smart-search__section{margin:0 0 42px;scroll-margin-top:160px}
.cbt-smart-search__section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}
.cbt-smart-search__section-head h2{margin:0;font-size:var(--cb-fs-xl)}
.cbt-smart-search__section-head span{color:var(--cb-slate);font-size:14px}
@media(max-width:640px){.cbt-smart-search__section-head{align-items:start}.cbt-smart-search__groups{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.cbt-smart-search__groups a{white-space:nowrap}}
