
/* Phase 1 extension: multi-page application patterns */
[hidden] { display: none !important; }
.app-page { padding-bottom: 0; }
.menu-toggle { display: none; }
.app-page main { min-height: 70vh; }
.header-shell--app { grid-template-columns: auto 1fr auto; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-icon { width: 46px; height: 46px; }
.primary-nav a.is-active { color: var(--ink); }
.primary-nav a.is-active::after { left: 0; width: 100%; }
.section-pad-sm { padding: 62px 0; }
.page-hero { padding: 54px 0 52px; }
.page-hero--compact { background: linear-gradient(180deg, rgba(238,228,255,.48), transparent); }
.page-hero h1, .detail-title-row h1, .destination-hero h1, .flow-title h1, .account-welcome h1, .help-hero h1, .legal-hero h1 { margin: 10px 0 12px; font: 800 clamp(2.55rem,5vw,5.2rem)/1.02 var(--clay-heading-font); letter-spacing: -.055em; }
.page-hero p, .detail-title-row p, .destination-hero p, .flow-title p, .account-welcome p, .legal-hero p { color: var(--muted); }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 28px; color: var(--muted); font-size: .82rem; }
.breadcrumbs a:hover { color: var(--brand-deep); }
.breadcrumbs strong { color: var(--ink); }
.page-hero-grid { display: grid; grid-template-columns: 1fr minmax(360px,.72fr); align-items: end; gap: 48px; }
.catalog-search, .global-search, .help-search { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 8px 8px 8px 18px; border-radius: 24px; }
.catalog-search input, .global-search input, .help-search input { min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); }
.catalog-layout { display: grid; grid-template-columns: 270px 1fr; gap: 38px; align-items: start; }
.filter-panel { position: sticky; top: 100px; padding: 24px; }
.filter-panel-head, .catalog-toolbar, .wishlist-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.filter-panel h2, .order-summary h2, .payment-summary h2, .traveler-nav h2 { margin: 0; font: 800 1.3rem/1.2 var(--clay-heading-font); }
.text-button { padding: 0; border: 0; background: transparent; color: var(--brand-deep); font-weight: 800; }
.filter-block { padding: 22px 0; border-top: 1px solid #eee5ec; }
.filter-block:first-of-type { margin-top: 12px; }
.filter-block h3 { margin: 0 0 14px; font-size: .9rem; }
.filter-check { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; margin: 10px 0; color: var(--muted); font-size: .86rem; }
.filter-check input { accent-color: var(--brand); }
.filter-check b { font-size: .72rem; color: #a496aa; }
.range { width: 100%; accent-color: var(--brand); }
.range-label { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .7rem; }
.range-label strong { color: var(--ink); }
.switch-row { display: flex; justify-content: space-between; gap: 12px; margin: 12px 0; font-size: .82rem; }
.switch-row input { position: absolute; opacity: 0; }
.switch-row i { position: relative; width: 42px; height: 24px; border-radius: 999px; background: #ddd4df; transition: .2s; }
.switch-row i::after { content:""; position:absolute; width:18px; height:18px; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.2); transition:.2s; }
.switch-row input:checked + i { background: var(--mint-strong); }
.switch-row input:checked + i::after { transform: translateX(18px); }
.mobile-apply, .filter-open { display: none; }
.catalog-toolbar { margin-bottom: 22px; }
.catalog-toolbar > div { display: grid; }
.catalog-toolbar small, .wishlist-toolbar small { color: var(--muted); font-size: .74rem; }
.catalog-toolbar label, .wishlist-toolbar label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .8rem; }
.catalog-toolbar select, .wishlist-toolbar select { padding: 10px 13px; border: 1px solid #e5dbe8; border-radius: 15px; background: var(--surface); color: var(--ink); }
.catalog-card.is-filtered { display: none; }
.load-more { display: flex; margin: 38px auto 0; }
.site-footer--app { margin-top: 48px; }
.mobile-bottom-nav { display: none; }
.toast { position: fixed; left: 50%; bottom: 28px; z-index: 100; max-width: min(92vw,520px); padding: 13px 18px; border-radius: 17px; color: #fff; background: #3d3047; box-shadow: 0 18px 40px rgba(42,27,50,.32); transform: translate(-50%,30px); opacity: 0; visibility: hidden; transition: .22s; }
.toast.is-visible { transform: translate(-50%,0); opacity: 1; visibility: visible; }

/* Product details */
.detail-hero { padding: 42px 0 30px; }
.detail-title-row { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 28px; }
.detail-actions { display: flex; gap: 10px; }
.gallery-grid { display: grid; grid-template-columns: 1.45fr .7fr .7fr; grid-template-rows: 205px 205px; gap: 16px; }
.gallery-grid button { position: relative; overflow: hidden; padding: 0; border: 0; }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; }
.gallery-main { grid-row: 1/3; border-radius: 34px; }
.gallery-small, .gallery-more { border-radius: 26px; }
.gallery-more { grid-column: 2/4; }
.gallery-more span { position:absolute; right:18px; bottom:16px; padding:8px 12px; border-radius:14px; color:#fff; background:rgba(56,45,73,.82); font-weight:800; font-size:.75rem; }
.detail-layout { display:grid; grid-template-columns: minmax(0,1fr) 360px; gap:48px; align-items:start; }
.highlight-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:20px; }
.highlight-strip > div { display:grid; grid-template-columns:auto 1fr; column-gap:10px; padding:6px 16px; border-right:1px solid #e9e0e9; }
.highlight-strip > div:last-child { border-right:0; }
.highlight-strip span { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border-radius:14px; background:var(--lavender); }
.highlight-strip strong, .highlight-strip small { display:block; }
.highlight-strip small { color:var(--muted); font-size:.68rem; }
.content-section { padding:48px 0; border-bottom:1px solid #eadfe9; }
.content-section h2 { margin:0 0 18px; font:800 clamp(1.8rem,3vw,2.8rem)/1.1 var(--clay-heading-font); letter-spacing:-.04em; }
.content-section > p { color:var(--muted); font-size:1.02rem; }
.clay-note { margin-top:25px; padding:22px; border-radius:24px; }
.clay-note--mint { background:var(--mint); box-shadow:var(--shadow-clay-mint); }
.clay-note p { margin:6px 0 0; color:#54705f; }
.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.mini-feature { display:flex; gap:13px; padding:17px; border-radius:22px; background:var(--surface); box-shadow:0 12px 30px rgba(80,59,96,.1); }
.mini-feature > span { width:40px; height:40px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; background:var(--peach); }
.mini-feature strong,.mini-feature small { display:block; }
.mini-feature small { color:var(--muted); }
.accordion-list { display:grid; gap:12px; }
.accordion-item { overflow:hidden; border:1px solid rgba(255,255,255,.8); border-radius:22px; background:var(--surface); box-shadow:0 12px 28px rgba(81,61,98,.1); }
.accordion-item > button { width:100%; display:flex; justify-content:space-between; gap:18px; padding:19px 21px; border:0; background:transparent; text-align:left; font-weight:700; }
.accordion-item > button i { font-style:normal; color:var(--brand-deep); }
.accordion-item > div { display:none; padding:0 21px 19px; color:var(--muted); }
.accordion-item.is-open > div { display:block; }
.accordion-item > div p { margin:0; }
.included-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.included-grid ul { margin:0; padding:22px; list-style:none; border-radius:24px; background:var(--mint); }
.included-grid .not-included { background:var(--pink); }
.included-grid li { margin:10px 0; }
.map-card { display:grid; grid-template-columns:1fr .7fr; align-items:center; gap:20px; }
.map-card h3 { margin:5px 0; font:800 1.5rem/1.2 var(--clay-heading-font); }
.map-visual { min-height:180px; display:grid; place-items:center; align-content:center; border-radius:24px; background:linear-gradient(135deg,#dff4e8,#eee4ff); box-shadow:inset 0 -6px 12px rgba(73,86,118,.1),inset 0 6px 12px rgba(255,255,255,.7); }
.map-visual span { font-size:2.4rem; color:var(--brand); }
.review-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.review-cards article { padding:24px; }
.review-cards p { color:var(--muted); }
.booking-panel { position:sticky; top:105px; padding:26px; }
.booking-price small,.booking-price span { color:var(--muted); }
.booking-price strong { display:inline-block; margin:0 4px; font:800 1.8rem/1 var(--clay-heading-font); }
/* Tablet rebah (861-1080): panel pesan 320px, isi ~268px. "Mulai dari" +
   harga 1.8rem + "/ orang" tidak muat satu baris dan satuannya terlipat
   sendirian. Label naik ke baris sendiri, harga sedikit diperkecil. */
/* Tablet tegak (641-860): judul detail tur/kapal di samping tombol "Tambahkan
   ke Favorit" tinggal ~450px dan terlipat tiga baris. Seperti di HP, judul
   mengambil lebar penuh dan tombolnya turun ke bawah. */
@media (min-width:641px) and (max-width:860px) {
  .detail-title-row { display:block; }
  .detail-actions { margin-top:16px; }
}
@media (min-width:861px) and (max-width:1080px) {
  .booking-panel .booking-price small { display:block; margin-bottom:6px; }
  .booking-panel .booking-price strong { margin-left:0; font-size:1.55rem; }
}
.booking-rating { margin:10px 0 22px; color:#e99b25; font-weight:800; }
.booking-rating span { color:var(--muted); font-weight:500; }
.booking-panel form { display:grid; gap:13px; }
.booking-panel label,.form-card label,.traveler-panel label,.promo-field { display:grid; gap:7px; color:var(--muted); font-size:.78rem; font-weight:700; }
.booking-panel input,.booking-panel select,.form-card input,.form-card select,.form-card textarea,.traveler-panel input,.traveler-panel select,.traveler-panel textarea,.promo-field input { width:100%; padding:13px 14px; border:1px solid #e6dce8; border-radius:16px; background:#fffdfa; color:var(--ink); outline:0; }
.price-lines { padding:15px 0; border-top:1px dashed #ded2df; border-bottom:1px dashed #ded2df; }
.price-lines p { display:flex; justify-content:space-between; margin:8px 0; color:var(--muted); font-size:.82rem; }
.price-lines b { color:var(--ink); }
.price-total { padding-top:10px; border-top:1px solid #eee5ed; font-size:.95rem!important; }
.secure-note { text-align:center; color:var(--muted); }
.support-chip { display:flex; align-items:center; gap:12px; margin-top:20px; padding:15px; border-radius:20px; background:var(--lavender); }
.support-chip > span { width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:#fff; }
.support-chip strong,.support-chip small { display:block; }
.support-chip small { color:var(--muted); }
.mobile-booking-bar { display:none; }
.lightbox { position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:50px; background:rgba(48,35,56,.86); }
.lightbox[hidden] { display:none; }
.lightbox img { max-width:min(1000px,90vw); max-height:82vh; border-radius:30px; background:#fff; }
.lightbox button { position:absolute; top:24px; right:24px; }

/* Destination and search */
.destination-hero { padding:42px 0 28px; }
.destination-hero-card { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; min-height:480px; padding:45px 52px; }
.destination-hero-card img { max-height:430px; justify-self:end; }
.stats-row { display:grid; grid-template-columns:repeat(4,1fr); padding:22px; text-align:center; }
.stats-row > div { padding:12px; border-right:1px solid #e9e0e9; }
.stats-row > div:last-child { border-right:0; }
.stats-row strong,.stats-row small { display:block; }
.stats-row strong { font:800 1.45rem/1.2 var(--clay-heading-font); }
.stats-row small { color:var(--muted); }
.destination-content-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:54px; align-items:start; }
.destination-guide > h2,.help-heading { margin:38px 0 16px; font:800 clamp(2rem,4vw,3.4rem)/1.07 var(--clay-heading-font); letter-spacing:-.045em; }
.destination-guide > p { color:var(--muted); font-size:1.02rem; }
.guide-callout { display:flex; gap:20px; margin:32px 0; padding:25px; }
.guide-callout > span { font-size:2rem; }
.guide-callout h3 { margin:0; }
.guide-callout p { margin:5px 0 0; color:#54705f; }
.things-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.things-grid article { padding:22px; }
.things-grid article > span { color:var(--brand); font-weight:800; }
.things-grid h3 { margin:12px 0 5px; }
.things-grid p { margin:0; color:var(--muted); }
.destination-side { position:sticky; top:105px; display:grid; gap:20px; }
.quick-facts { padding:23px; }
.quick-facts h3 { margin-top:0; }
.quick-facts p { display:grid; gap:2px; padding:10px 0; margin:0; border-bottom:1px solid #eee5ec; }
.quick-facts p:last-child { border:0; }
.quick-facts span { color:var(--muted); font-size:.7rem; }
.side-cta h3 { font:800 1.4rem/1.2 var(--clay-heading-font); }
.side-cta a { color:var(--brand-deep); font-weight:800; }
.page-hero--search { padding-bottom:0; }
.page-hero--search h1 { max-width:900px; }
.global-search { max-width:800px; margin-top:28px; }
.result-tabs,.booking-tabs { display:flex; gap:8px; margin-top:32px; overflow-x:auto; }
.result-tabs button,.booking-tabs button { min-width:max-content; padding:12px 17px; border:0; border-radius:17px; background:transparent; color:var(--muted); font-weight:800; }
.result-tabs button.is-active,.booking-tabs button.is-active { color:var(--ink); background:var(--lavender); box-shadow:inset 0 -3px 7px rgba(80,53,122,.1),inset 0 3px 7px rgba(255,255,255,.7); }
.result-tabs span,.booking-tabs span { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-left:5px; border-radius:9px; background:rgba(255,255,255,.65); font-size:.67rem; }
.search-results-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:42px; align-items:start; }
.results-caption { color:var(--muted); }
.mixed-result { display:grid; grid-template-columns:260px 1fr; align-items:center; gap:30px; padding:25px; }
.mixed-result img { height:200px; object-fit:contain; }
.mixed-result h2 { margin:6px 0; font:800 2rem/1.1 var(--clay-heading-font); }
.mixed-result p { color:#735e69; }
.result-type { color:var(--brand-deep); font-size:.73rem; font-weight:800; text-transform:uppercase; letter-spacing:.09em; }
.search-card-grid { margin-top:20px; }
.guide-result { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; margin-top:16px; padding:20px 22px; }
.guide-result > span { padding:8px 12px; border-radius:13px; background:var(--mint); color:#4c725c; font-size:.7rem; font-weight:800; }
.guide-result h3,.guide-result p { margin:0; }
.guide-result p { color:var(--muted); }
.search-suggestions { position:sticky; top:105px; padding:22px; }
.search-suggestions h3 { margin-top:0; }
.search-suggestions > a { display:block; padding:10px 0; border-bottom:1px solid #eee5ec; color:var(--muted); }
.search-suggestions .clay-note { margin-top:22px; }

/* Checkout and status */
.flow-header { padding:42px 0 24px; }
.checkout-progress { display:flex; align-items:center; max-width:720px; margin-top:28px; }
.checkout-progress span { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:.8rem; font-weight:800; }
.checkout-progress span.is-active { color:var(--ink); }
.checkout-progress i { width:30px;height:30px;display:grid;place-items:center;border-radius:11px;background:var(--lavender);font-style:normal; }
.checkout-progress span.is-active i { background:var(--peach-strong); }
.checkout-progress b { flex:1; height:2px; margin:0 12px; background:#e6dce7; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:38px; align-items:start; }
.checkout-form { display:grid; gap:20px; }
.form-card { padding:27px; }
.form-card-head { display:flex; align-items:flex-start; gap:14px; margin-bottom:24px; }
.form-card-head > span:first-child { width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:var(--peach);font-weight:800; }
.form-card-head h2,.form-card-head p { margin:0; }
.form-card-head h2 { font:800 1.35rem/1.2 var(--clay-heading-font); }
.form-card-head p { color:var(--muted); font-size:.8rem; }
.form-card-head .status-badge { margin-left:auto; width:auto; height:auto; }
.selected-product { display:grid; grid-template-columns:100px 1fr auto; gap:17px; align-items:center; padding:16px; margin-bottom:22px; border-radius:22px; background:var(--bg-soft); }
.selected-product img { width:100px;height:82px;object-fit:contain;border-radius:17px;background:var(--peach); }
.selected-product h3,.selected-product p { margin:2px 0; }
.selected-product span,.selected-product p { color:var(--muted); font-size:.76rem; }
.selected-product a { color:var(--brand-deep); font-weight:800; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.form-grid .span-2 { grid-column:1/-1; }
.check-row { display:flex!important; grid-template-columns:none!important; align-items:flex-start; gap:10px!important; margin-top:18px; }
.check-row input { width:auto!important; margin-top:4px; accent-color:var(--brand); }
.check-row a { color:var(--brand-deep); }
.payment-methods { display:grid; gap:10px; }
.payment-option { grid-template-columns:auto 1fr auto!important; align-items:center; padding:14px; border:2px solid transparent; border-radius:19px; background:var(--bg-soft); }
.payment-option.is-selected { border-color:var(--peach-strong); background:var(--peach); }
.payment-option input { width:auto!important; accent-color:var(--brand); }
.payment-option b,.payment-option small { display:block; }
.payment-option small { color:var(--muted); }
.payment-option > strong { padding:7px 10px; border-radius:12px; background:#fff; }
.promo-field { margin-top:18px; }
.promo-field > div { display:grid; grid-template-columns:1fr auto; gap:8px; }
.promo-field button { border:0; border-radius:14px; padding:0 16px; background:var(--lavender); font-weight:800; }
.checkout-submit { width:100%; }
.order-summary { position:sticky; top:105px; padding:24px; }
.summary-product { display:flex; gap:13px; align-items:center; padding:18px 0; border-bottom:1px solid #eee5ec; }
.summary-product img { width:76px;height:66px;object-fit:contain;border-radius:16px;background:var(--peach); }
.summary-product strong,.summary-product small { display:block; }
.summary-product small { color:var(--muted); }
.summary-lines { padding:15px 0; }
.summary-lines p { display:flex; justify-content:space-between; color:var(--muted); }
.summary-lines b { color:var(--ink); }
.summary-lines .discount { color:#468461; }
.summary-total { padding-top:14px; border-top:1px solid #e7dce7; font-size:1.05rem; }
.secure-box { display:flex; gap:11px; padding:14px; border-radius:18px; background:var(--mint); }
.secure-box strong,.secure-box small { display:block; }
.secure-box small { color:#55715f; }
.status-section { padding:42px 0 90px; }
.status-container { max-width:900px; }
.status-switcher { display:flex; width:max-content; max-width:100%; gap:7px; margin:0 auto 28px; padding:7px; overflow-x:auto; }
.status-switcher button { min-width:max-content; padding:10px 16px; border:0; border-radius:15px; background:transparent; font-weight:800; }
.status-switcher button.is-active { background:var(--lavender); }
.status-card { padding:52px; text-align:center; }
.status-icon { width:84px;height:84px;display:grid;place-items:center;margin:0 auto 20px;border-radius:30px;background:rgba(255,255,255,.72);box-shadow:inset 0 -6px 12px rgba(70,50,70,.1),inset 0 6px 12px rgba(255,255,255,.9);font:800 2.2rem/1 var(--clay-heading-font); }
.status-card h1 { max-width:700px; margin:10px auto 16px; font:800 clamp(2.5rem,5vw,4.5rem)/1.02 var(--clay-heading-font); letter-spacing:-.05em; }
.status-card > p { max-width:680px; margin:0 auto; color:#6c5c69; }
.status-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:28px 0; padding:19px; border-radius:24px; background:rgba(255,255,255,.58); }
.status-meta span { display:grid; gap:4px; }
.status-meta small { color:var(--muted); }
.status-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
.payment-instruction { max-width:500px; display:grid; gap:6px; margin:28px auto; padding:20px; border-radius:24px; background:rgba(255,255,255,.58); }
.payment-instruction strong { font:800 1.7rem/1.2 var(--clay-heading-font); letter-spacing:.08em; }
.payment-instruction button { width:max-content; margin:auto; border:0;background:transparent;color:var(--brand-deep);font-weight:800; }

/* Booking and traveler */
.booking-status-title,.account-welcome { display:flex; justify-content:space-between; gap:28px; align-items:end; }
.booking-status-title h1 { margin:13px 0 5px; font:800 clamp(2.4rem,5vw,4.7rem)/1.02 var(--clay-heading-font); letter-spacing:-.05em; }
.booking-status-title p { margin:0;color:var(--muted); }
.status-badge { display:inline-flex; align-items:center; width:max-content; padding:6px 11px; border-radius:999px; font-size:.68rem; font-weight:800; }
.status-badge--confirmed,.status-badge--paid { background:var(--mint);color:#467358; }
.status-badge--warning { background:var(--yellow);color:#826514; }
.booking-top-actions { display:flex;gap:10px; }
.booking-detail-layout { display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:35px;align-items:start; }
.booking-detail-main { display:grid;gap:20px; }
.action-alert { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;padding:22px; }
.action-alert > span { width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.65);font-weight:800; }
.action-alert strong,.action-alert p { margin:0; }
.action-alert p { color:#735f29; }
.booking-block { padding:27px; }
.block-title { display:flex;gap:13px;margin-bottom:23px; }
.block-title > span { width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:var(--lavender); }
.block-title h2,.block-title p { margin:0; }
.block-title h2 { font:800 1.35rem/1.2 var(--clay-heading-font); }
.block-title p { color:var(--muted);font-size:.8rem; }
.booking-product-row { display:flex;gap:17px;align-items:center;padding:16px;border-radius:22px;background:var(--bg-soft); }
.booking-product-row img { width:110px;height:90px;object-fit:contain; }
.booking-product-row h3,.booking-product-row p { margin:3px 0; }
.booking-product-row span,.booking-product-row p { color:var(--muted);font-size:.76rem; }
.info-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px; }
.info-grid > div { display:grid;gap:3px;padding:16px;border:1px solid #eee4ec;border-radius:19px; }
.info-grid small,.info-grid span { color:var(--muted); }
.meeting-card { display:grid;grid-template-columns:.75fr 1fr;gap:20px;align-items:center; }
.traveler-summary { display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:14px 0;border-top:1px solid #eee5ec; }
.traveler-summary > span { width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:var(--peach);font-weight:800; }
.traveler-summary strong,.traveler-summary small { display:block; }
.traveler-summary small { color:var(--muted); }
.traveler-summary a { color:var(--brand-deep);font-weight:800;font-size:.8rem; }
.booking-sidebar { position:sticky;top:105px;display:grid;gap:18px; }
.payment-summary { padding:22px; }
.payment-summary > p { display:grid;gap:3px;padding:12px 0;margin:0;border-bottom:1px solid #eee5ec; }
.payment-summary span { color:var(--muted);font-size:.72rem; }
.support-card h3 { font:800 1.35rem/1.2 var(--clay-heading-font); }
.support-card a { color:var(--brand-deep);font-weight:800; }
.booking-links { padding:10px 18px; }
.booking-links a { display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #eee5ec; }
.booking-links a:last-child { border:0; }
.booking-links span { width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:var(--lavender); }
.booking-links strong,.booking-links small { display:block; }
.booking-links small { color:var(--muted); }
.traveler-progress { max-width:780px;padding:20px;margin-top:24px; }
.traveler-progress > div { display:flex;justify-content:space-between;gap:15px; }
.traveler-progress progress { width:100%;height:10px;margin:13px 0;border:0;border-radius:999px;overflow:hidden; }
.traveler-progress progress::-webkit-progress-bar { background:#e8dfe9; }
.traveler-progress progress::-webkit-progress-value { background:var(--brand); }
.traveler-progress small { color:var(--muted); }
.traveler-layout { display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:start; }
.traveler-nav { position:sticky;top:105px;padding:20px; }
.traveler-nav > button { width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;margin-top:10px;border:0;border-radius:18px;background:transparent;text-align:left; }
.traveler-nav > button.is-active { background:var(--lavender); }
.traveler-nav > button > span { width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:var(--peach);font-weight:800; }
.traveler-nav strong,.traveler-nav small { display:block; }
.traveler-nav small { color:var(--muted); }
.traveler-nav i { font-style:normal;font-size:.68rem;color:var(--brand-deep); }
.traveler-help { margin-top:22px;padding:17px;border-radius:19px;background:var(--mint); }
.traveler-help p { margin:5px 0 0;color:#567160;font-size:.76rem; }
.traveler-form { display:grid;gap:20px; }
.traveler-panel { padding:28px; }
.form-subtitle { margin:28px 0 15px;padding-top:22px;border-top:1px solid #eee5ec;font:800 1rem/1.2 var(--clay-heading-font); }
.upload-field { position:relative;display:flex;align-items:center;gap:13px;padding:18px;border:2px dashed #d9cddd;border-radius:19px;background:var(--bg-soft); }
.upload-field input { position:absolute;inset:0;opacity:0;cursor:pointer; }
.upload-field > span { font-size:1.5rem; }
.upload-field strong,.upload-field small { display:block; }
.traveler-form-actions { display:flex;justify-content:flex-end;gap:12px; }

/* Account */
.account-hero { padding:42px 0 26px;background:linear-gradient(180deg,rgba(223,244,232,.48),transparent); }
.account-hero--compact { padding-bottom:14px; }
.profile-chip { display:flex;align-items:center;gap:12px;padding:10px 12px 10px 10px; }
.profile-chip > span { width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:var(--peach);font-weight:800; }
.profile-chip strong,.profile-chip small { display:block; }
.profile-chip small { color:var(--muted); }
.profile-chip .icon-button { width:36px;height:36px;margin-left:10px; }
.account-grid { display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;align-items:start; }
.account-menu { position:sticky;top:105px;padding:12px; }
.account-menu a { display:flex;align-items:center;gap:11px;padding:12px;border-radius:17px;color:var(--muted);font-weight:700;font-size:.82rem; }
.account-menu a.is-active { color:var(--ink);background:var(--lavender); }
.account-menu a > span { width:31px;height:31px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.72); }
.account-menu b { margin-left:auto;min-width:23px;height:23px;display:grid;place-items:center;border-radius:9px;background:var(--peach);font-size:.65rem; }
.account-main { min-width:0; }
.dashboard-alert { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:22px; }
.alert-icon { width:43px;height:43px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.7);font-weight:800; }
.dashboard-alert strong,.dashboard-alert p { margin:0; }
.dashboard-alert p { color:#735f29; }
.dashboard-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px; }
.dashboard-stats article { display:flex;gap:13px;padding:20px; }
.stat-icon { width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:17px; }
.stat-icon--peach { background:var(--peach); }.stat-icon--mint{background:var(--mint)}.stat-icon--lavender{background:var(--lavender)}
.dashboard-stats small,.dashboard-stats strong,.dashboard-stats a { display:block; }
.dashboard-stats small { color:var(--muted); }.dashboard-stats strong{font:800 1.8rem/1.2 var(--clay-heading-font)}.dashboard-stats a{color:var(--brand-deep);font-size:.7rem;font-weight:800}
.dashboard-section { margin-top:40px; }
.upcoming-card { display:grid;grid-template-columns:180px 1fr auto;gap:23px;align-items:center;padding:20px; }
.upcoming-card > img { width:180px;height:150px;object-fit:contain;border-radius:24px;background:var(--peach); }
.upcoming-main h3 { margin:9px 0 4px;font:800 1.5rem/1.2 var(--clay-heading-font); }.upcoming-main p{margin:0;color:var(--muted)}
.trip-countdown { display:flex;align-items:baseline;gap:7px;margin-top:16px; }.trip-countdown strong{font:800 2rem/1 var(--clay-heading-font);color:var(--brand)}.trip-countdown span{color:var(--muted)}
.upcoming-actions { display:grid;gap:12px;text-align:center; }
.dashboard-products { grid-template-columns:repeat(2,1fr); }
.booking-tabs { margin-top:0;margin-bottom:20px; }
.booking-list-card { display:grid;grid-template-columns:180px 1fr auto;gap:22px;align-items:center;padding:20px;margin-bottom:16px; }
.booking-list-image { position:relative; }.booking-list-image img{width:180px;height:145px;object-fit:contain;border-radius:24px;background:var(--peach)}.booking-list-image .status-badge{position:absolute;left:10px;top:10px}
.booking-list-content > small { color:var(--muted); }.booking-list-content h2{margin:5px 0;font:800 1.45rem/1.2 var(--clay-heading-font)}.booking-list-content>p{margin:0;color:var(--muted)}
.booking-task { display:flex;gap:10px;align-items:center;margin-top:14px;padding:11px;border-radius:16px;background:var(--yellow); }.booking-task>span{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:#fff}.booking-task strong,.booking-task small{display:block}.booking-task small{color:#735f29}
.booking-list-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:16px; }
.booking-list-date { display:flex;align-items:center;gap:8px;padding:13px;border-radius:18px;background:var(--lavender); }.booking-list-date strong{font:800 2rem/1 var(--clay-heading-font)}.booking-list-date span{font-size:.68rem;font-weight:800;line-height:1.2}
.wishlist-grid { grid-template-columns:repeat(2,1fr); }
.wishlist-note { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding:22px; }.wishlist-note>div{display:flex;gap:15px;align-items:center}.wishlist-note>div>span{font-size:2rem}.wishlist-note strong,.wishlist-note p{margin:0}.wishlist-note p{color:#675b72}

/* Help and legal */
.help-hero { padding:42px 0 54px;background:linear-gradient(180deg,rgba(255,226,210,.68),transparent);text-align:center; }
.help-hero .breadcrumbs { justify-content:center; }
.help-hero-inner { max-width:900px;margin:auto; }.help-hero h1{margin:12px auto 20px;max-width:880px}.help-search{max-width:750px;margin:auto;text-align:left}.help-quick-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}.help-quick-links a{padding:8px 13px;border-radius:14px;background:rgba(255,255,255,.62);font-size:.75rem;font-weight:800}
.help-categories { display:grid;grid-template-columns:repeat(4,1fr);gap:17px; }.help-categories a{min-height:260px}.help-categories a>span{font-size:2rem}.help-categories h3{font:800 1.25rem/1.2 var(--clay-heading-font)}.help-categories p{color:#6d606e}.help-categories b{color:var(--brand-deep);font-size:.8rem}
.help-content-layout { display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:45px;align-items:start; }.help-accordion{margin-top:25px}.help-contact{position:sticky;top:105px;text-align:center}.support-avatar{width:72px;height:72px;display:grid;place-items:center;margin:auto;border-radius:25px;background:rgba(255,255,255,.7);font-size:2rem}.help-contact h2{font:800 2rem/1.1 var(--clay-heading-font)}.help-contact p{color:#735e69}.help-contact .clay-button{width:100%;margin-top:10px}.help-contact small{display:block;margin-top:15px;color:#735e69}
.legal-hero { padding:48px 0 42px;background:linear-gradient(180deg,rgba(238,228,255,.55),transparent); }.legal-hero p{max-width:760px;font-size:1.03rem}.legal-hero small{color:var(--muted)}
.legal-layout { display:grid;grid-template-columns:250px minmax(0,1fr);gap:38px;align-items:start; }.legal-toc{position:sticky;top:105px;padding:20px}.legal-toc strong{display:block;margin-bottom:10px}.legal-toc a{display:block;padding:8px 0;color:var(--muted);font-size:.79rem}.legal-toc hr{border:0;border-top:1px solid #eee5ec;margin:14px 0}.legal-content{padding:42px}.legal-content section{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid #eee5ec}.legal-content h2{margin:0 0 12px;font:800 1.65rem/1.15 var(--clay-heading-font)}.legal-content p{color:var(--muted)}.legal-contact{margin-top:20px}.legal-contact h3{margin-top:0}.legal-contact a{color:var(--brand-deep);font-weight:800}

@media (max-width:1080px){
  .header-actions .header-icon{display:none}.page-hero-grid{grid-template-columns:1fr}.catalog-layout{grid-template-columns:230px 1fr}.detail-layout{grid-template-columns:minmax(0,1fr) 320px}.help-categories{grid-template-columns:repeat(2,1fr)}.account-grid{grid-template-columns:190px minmax(0,1fr)}.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-stats article:last-child{grid-column:1/-1}.upcoming-card,.booking-list-card{grid-template-columns:150px 1fr}.upcoming-card>img,.booking-list-image img{width:150px}.upcoming-actions,.booking-list-date{grid-column:2}.wishlist-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .app-page, body:not(.app-page){padding-bottom:78px}.menu-toggle{width:48px;height:48px;display:grid;align-content:center;gap:5px}.header-shell--app{grid-template-columns:auto auto}.header-actions{display:none}.site-footer--app{margin-bottom:0}.mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:90;display:grid;grid-template-columns:repeat(5,1fr);padding:7px;border:1px solid rgba(255,255,255,.8);border-radius:23px;background:rgba(255,253,249,.94);box-shadow:0 18px 45px rgba(63,43,75,.24);backdrop-filter:blur(15px)}.mobile-bottom-nav a{display:grid;place-items:center;gap:1px;padding:7px 3px;border-radius:16px;color:var(--muted)}.mobile-bottom-nav a.is-active{color:var(--ink);background:var(--lavender)}.mobile-bottom-nav span{font-size:1.12rem}.mobile-bottom-nav small{font-size:.58rem;font-weight:800}.back-to-top{bottom:92px}.catalog-layout,.detail-layout,.destination-content-layout,.search-results-layout,.checkout-layout,.booking-detail-layout,.traveler-layout,.account-grid,.help-content-layout,.legal-layout{grid-template-columns:1fr}.filter-panel{position:fixed;inset:0 0 0 auto;z-index:110;width:min(90vw,360px);border-radius:30px 0 0 30px;overflow-y:auto;transform:translateX(110%);transition:.25s}.filter-panel.is-open{transform:translateX(0)}.filter-open,.mobile-apply{display:inline-flex}.filter-panel .mobile-apply{width:100%;position:sticky;bottom:0}.catalog-toolbar>div{grid-template-columns:auto 1fr;align-items:center;column-gap:12px}.catalog-toolbar>div small{grid-column:2}.gallery-grid{grid-template-columns:1.4fr .8fr;grid-template-rows:240px 180px}.gallery-main{grid-row:1/3}.gallery-more{grid-column:2}.gallery-grid .gallery-small:nth-of-type(3){display:none}.booking-panel,.destination-side,.search-suggestions,.order-summary,.booking-sidebar,.traveler-nav,.account-menu,.help-contact,.legal-toc{position:static}.mobile-booking-bar{position:fixed;left:10px;right:10px;bottom:86px;z-index:75;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 12px;border-radius:22px;background:rgba(255,253,249,.95);box-shadow:0 18px 45px rgba(63,43,75,.25);backdrop-filter:blur(15px)}.mobile-booking-bar small,.mobile-booking-bar strong{display:block}.product-page{padding-bottom:150px}.destination-hero-card{grid-template-columns:1fr;text-align:center}.destination-hero-card img{justify-self:center}.stats-row{grid-template-columns:repeat(2,1fr)}.stats-row>div:nth-child(2){border-right:0}.stats-row>div:nth-child(-n+2){border-bottom:1px solid #e9e0e9}.search-suggestions{display:none}.checkout-layout{display:flex;flex-direction:column}.order-summary{order:-1}.booking-status-title,.account-welcome{align-items:flex-start}.booking-top-actions{display:none}.booking-detail-layout,.traveler-layout,.account-grid{display:block}.account-menu,.traveler-nav{display:flex;overflow-x:auto;margin-bottom:22px}.account-menu a,.traveler-nav>button{min-width:max-content}.traveler-help{display:none}.traveler-nav h2{display:none}.dashboard-alert{grid-template-columns:auto 1fr}.dashboard-alert a{grid-column:2}.help-contact{margin-top:20px}.legal-toc{display:flex;gap:12px;overflow-x:auto}.legal-toc strong,.legal-toc hr{display:none}.legal-toc a{min-width:max-content;padding:9px 12px;border-radius:14px;background:var(--lavender)}
}
@media (max-width:640px){
  .section-pad-sm{padding:45px 0}.page-hero,.detail-hero,.flow-header,.account-hero,.legal-hero{padding-top:30px}.page-hero h1,.detail-title-row h1,.destination-hero h1,.flow-title h1,.account-welcome h1,.help-hero h1,.legal-hero h1{font-size:clamp(2.5rem,12vw,3.8rem)}.catalog-search,.global-search,.help-search{grid-template-columns:auto 1fr}.catalog-search button,.global-search button,.help-search button{grid-column:1/-1;width:100%}.catalog-toolbar{align-items:flex-end}.catalog-toolbar label{display:grid}.detail-title-row{display:block}.detail-actions{margin-top:18px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 140px}.gallery-main{grid-column:1/-1;grid-row:auto}.gallery-small{grid-row:2}.gallery-more{display:none}.highlight-strip{grid-template-columns:1fr 1fr}.highlight-strip>div:nth-child(2){border-right:0}.highlight-strip>div:nth-child(-n+2){border-bottom:1px solid #e9e0e9}.feature-grid,.included-grid,.review-cards,.things-grid,.form-grid,.info-grid,.dashboard-stats,.help-categories,.wishlist-grid,.dashboard-products{grid-template-columns:1fr}.map-card,.meeting-card{grid-template-columns:1fr}.destination-hero-card{padding:30px 22px}.stats-row{font-size:.85rem}.mixed-result{grid-template-columns:1fr}.mixed-result img{height:180px}.guide-result{grid-template-columns:auto 1fr}.guide-result>b{grid-column:2}.checkout-progress span{font-size:0}.checkout-progress span i{font-size:.8rem}.checkout-progress b{margin:0 7px}.form-card,.traveler-panel,.legal-content{padding:22px}.selected-product{grid-template-columns:78px 1fr}.selected-product>a{grid-column:2}.payment-option{grid-template-columns:auto 1fr!important}.payment-option>strong{display:none}.status-card{padding:34px 20px}.status-meta{grid-template-columns:1fr}.status-actions{display:grid}.action-alert{grid-template-columns:auto 1fr}.action-alert a{grid-column:1/-1;width:100%}.booking-product-row{align-items:flex-start}.booking-product-row img{width:80px;height:70px}.traveler-summary{grid-template-columns:auto 1fr}.traveler-summary a{grid-column:2}.traveler-form-actions{display:grid}.profile-chip{display:none}.account-welcome{display:block}.dashboard-stats article:last-child{grid-column:auto}.upcoming-card,.booking-list-card{grid-template-columns:1fr}.upcoming-card>img,.booking-list-image img{width:100%;height:210px}.upcoming-actions,.booking-list-date{grid-column:auto}.booking-list-date{width:max-content}.wishlist-note{display:grid;text-align:center}.wishlist-note>div{display:grid}.help-categories a{min-height:230px}.help-contact{padding:27px 22px}.legal-content h2{font-size:1.4rem}
}
@media print {.site-header,.site-footer,.mobile-bottom-nav,.back-to-top,.booking-top-actions,.action-alert{display:none!important}.app-page{padding:0}.booking-detail-layout{grid-template-columns:1fr}.booking-sidebar{position:static}.clay-surface,.clay-card{box-shadow:none!important;border:1px solid #ddd}.section-pad-sm{padding:20px 0}}
