/* Customer-facing UI system. Loaded after legacy CSS to keep the public experience predictable. */
:root {
  --customer-primary: #ff5b4d;
  --customer-primary-dark: #e8483a;
  --customer-navy: #12345a;
  --customer-ink: #13233a;
  --customer-muted: #607089;
  --customer-canvas: #fff8f6;
  --customer-surface: #ffffff;
  --customer-soft: #fff0ed;
  --customer-line: #f1e5e1;
  --customer-cta: #ff5b4d;
  --customer-cta-dark: #e8483a;
  --customer-success: #087b59;
  --customer-danger: #c43c3c;
  --customer-radius-sm: 12px;
  --customer-radius: 20px;
  --customer-radius-lg: 32px;
  --customer-shadow: 0 14px 35px rgba(18, 89, 140, .10);
  --customer-shadow-lg: 0 24px 60px rgba(18, 89, 140, .16);
  --customer-z-header: 100;
  --customer-z-popover: 200;
  --customer-z-sheet: 300;
}

.customer-shell, .auth-layout { background: var(--customer-canvas); color: var(--customer-ink); }
.customer-shell *, .auth-layout * { min-width: 0; }
.customer-shell img, .auth-layout img { max-width: 100%; height: auto; }
.customer-shell :is(p, h1, h2, h3, h4, h5, h6, a, span, small), .auth-layout :is(p, h1, h2, h3, h4, h5, h6, a, span, small) { overflow-wrap: anywhere; }
.customer-shell :focus-visible, .auth-layout :focus-visible { outline: 3px solid rgba(255, 91, 77, .55); outline-offset: 3px; }
.customer-shell button, .customer-shell a, .auth-layout button, .auth-layout a { touch-action: manipulation; }

.customer-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 12px; padding: 10px 16px; font: 700 .9rem/1 "DM Sans", sans-serif; cursor: pointer; transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.customer-button:hover { transform: translateY(-1px); }
.customer-button-primary { background: var(--customer-primary); color: #fff; box-shadow: 0 8px 18px rgba(15, 124, 190, .2); }
.customer-button-primary:hover { background: var(--customer-primary-dark); color: #fff; }
.customer-button-cta { background: var(--customer-cta); color: #fff; box-shadow: 0 8px 18px rgba(233, 108, 44, .22); }
.customer-button-cta:hover { background: var(--customer-cta-dark); color: #fff; }

.marketplace-page { min-height:70vh; padding:clamp(28px,5vw,64px) 0 72px; background:var(--customer-canvas); }.marketplace-intro { display:flex; align-items:end; justify-content:space-between; gap:24px; }.marketplace-intro > div { max-width:690px; }.marketplace-eyebrow { margin:0 0 10px; color:var(--customer-primary); font:700 .75rem "DM Sans",sans-serif; letter-spacing:.12em; text-transform:uppercase; }.marketplace-intro h1 { margin:0; color:var(--customer-ink); font:700 clamp(2.2rem,5vw,4.4rem)/.98 "DM Sans",sans-serif; letter-spacing:-.065em; }.marketplace-intro p:not(.marketplace-eyebrow) { max-width:590px; margin:16px 0 0; color:var(--customer-muted); font-size:1.05rem; }.marketplace-filter { min-height:46px; display:inline-flex; align-items:center; gap:9px; flex:0 0 auto; border:1px solid var(--customer-line); border-radius:12px; padding:0 16px; background:#fff; color:var(--customer-ink); font-weight:700; cursor:pointer; }.marketplace-results { margin-top:42px; }.tour-market-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }.tour-market-card { overflow:hidden; border:1px solid var(--customer-line); border-radius:20px; background:#fff; box-shadow:0 2px 0 rgba(25,35,55,.02); transition:transform .2s,box-shadow .2s; }.tour-market-card:hover { transform:translateY(-4px); box-shadow:var(--customer-shadow); }.tour-market-image { position:relative; aspect-ratio:1.36; overflow:hidden; }.tour-market-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }.tour-market-card:hover img { transform:scale(1.04); }.tour-market-category { position:absolute; top:12px; left:12px; padding:6px 9px; border-radius:9px; background:rgba(255,255,255,.94); color:var(--customer-ink); font-size:.7rem; font-weight:800; letter-spacing:.04em; }.tour-market-body { padding:18px; }.tour-market-facts { display:flex; gap:12px; color:var(--customer-muted); font-size:.76rem; font-weight:700; }.tour-market-facts span { display:inline-flex; align-items:center; gap:5px; }.tour-market-body h2 { margin:12px 0 8px; color:var(--customer-ink); font:700 1.16rem/1.25 "DM Sans",sans-serif; }.tour-market-body > p { display:-webkit-box; min-height:42px; margin:0; overflow:hidden; color:var(--customer-muted); font-size:.88rem; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.tour-market-footer { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-top:18px; }.tour-market-footer small { display:block; margin-bottom:3px; color:var(--customer-muted); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }.tour-market-footer strong { color:var(--customer-ink); font-size:1.08rem; font-variant-numeric:tabular-nums; }.tour-market-action { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:var(--customer-primary); color:#fff; }.tour-market-action:hover { background:var(--customer-primary-dark); color:#fff; }
.tour-wishlist-button { position:absolute; z-index:2; top:10px; right:10px; width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:rgba(255,255,255,.94); color:#29435c; box-shadow:0 5px 16px rgba(10,35,58,.18); cursor:pointer; }.tour-wishlist-button.saved { background:#e9f6ff; color:#087fce; }.tour-wishlist-button:disabled { opacity:.65; cursor:wait; }.tour-detail-hero { position:relative; height:420px; display:flex; align-items:flex-end; padding:48px; }.tour-detail-wishlist { position:absolute; top:24px; right:24px; min-height:44px; display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.75); border-radius:999px; padding:0 15px; background:rgba(255,255,255,.94); color:#203b55; font-weight:800; box-shadow:0 8px 24px rgba(10,35,58,.2); cursor:pointer; }.tour-detail-wishlist.saved { background:#e9f6ff; color:#087fce; }
.public-auth-trigger { border:0; background:transparent; cursor:pointer; font-family:inherit; }.public-auth-backdrop { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; background:rgba(16,28,45,.52); backdrop-filter:blur(8px); }.public-auth-modal { width:min(100%,460px); max-height:min(760px,calc(100dvh - 40px)); overflow:auto; border-radius:24px; padding:28px; background:#fff; box-shadow:0 28px 80px rgba(5,20,40,.28); }.public-auth-modal header { display:flex; align-items:start; justify-content:space-between; gap:16px; }.public-auth-modal header p { margin:0 0 6px; color:var(--customer-primary); font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.public-auth-modal h1 { margin:0; color:var(--customer-ink); font:700 2rem/1.05 "DM Sans",sans-serif; }.public-auth-close { width:42px; height:42px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--customer-soft); cursor:pointer; }.public-auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:26px 0 20px; padding:4px; border-radius:12px; background:var(--customer-soft); }.public-auth-tabs button { min-height:40px; border:0; border-radius:9px; background:transparent; color:var(--customer-muted); font-weight:800; cursor:pointer; }.public-auth-tabs button.active { background:#fff; color:var(--customer-ink); box-shadow:0 2px 8px rgba(20,30,50,.08); }.public-auth-form { display:grid; gap:14px; }.public-auth-form label { display:grid; gap:7px; color:var(--customer-ink); font-size:.84rem; font-weight:800; }.public-auth-form input { min-height:48px; border:1px solid var(--customer-line); border-radius:12px; padding:0 13px; font:1rem inherit; }.public-auth-password-shell { display:grid; grid-template-columns:minmax(0,1fr) 46px; overflow:hidden; border:1px solid var(--customer-line); border-radius:12px; background:#fff; }.public-auth-password-shell input { min-width:0; border:0; border-radius:0; }.public-auth-password-shell button { border:0; background:transparent; color:var(--customer-muted); cursor:pointer; }.public-auth-password-shell:focus-within { outline:3px solid color-mix(in srgb,var(--customer-primary) 25%,transparent); outline-offset:2px; }.public-auth-form input.invalid { border-color:#dc2626; background:#fffafa; }.public-auth-password-shell:has(input.invalid) { border-color:#dc2626; background:#fffafa; }.public-auth-field-error { color:#b91c1c; font-size:.74rem; font-weight:700; line-height:1.35; }.public-auth-submit { min-height:50px; border:0; border-radius:12px; background:var(--customer-primary); color:#fff; font-weight:800; cursor:pointer; }.public-auth-form a { color:var(--customer-primary-dark); font-size:.86rem; font-weight:800; text-align:center; }.public-auth-message { margin:0 0 14px; padding:12px; border-radius:10px; background:var(--customer-soft); color:var(--customer-ink); font-size:.88rem; }

/* Header, locale popover, and phone navigation are customer-only. */
.customer-topbar { display: none; }
.customer-navbar { position: sticky; top: 0; z-index: var(--customer-z-header); width: min(1200px, calc(100% - 32px)); margin: 14px auto 0; padding: 0; border: 1px solid rgba(216, 232, 245, .9); border-radius: 20px; background: rgba(255,255,255,.94); box-shadow: var(--customer-shadow); backdrop-filter: blur(16px); }
.customer-shell main { padding-top: 24px !important; }
.customer-navbar .hlt-nav-inner { min-height: 68px; }.customer-navbar .hlt-logo { color: var(--customer-navy); }.customer-navbar .hlt-logo-icon { background: var(--customer-primary); }.customer-navbar .hlt-nav-link { color: var(--customer-muted); text-transform: none; letter-spacing: 0; }.customer-navbar .hlt-btn-book { min-height: 44px; border-radius: 12px; background: var(--customer-cta); text-transform: none; letter-spacing: 0; }.customer-navbar .hlt-btn-book:hover { background: var(--customer-cta-dark); }
.customer-navbar .hlt-nav-inner { gap: 14px; }.customer-navbar .hlt-nav-links { gap: 4px; flex: 1; justify-content: center; white-space: nowrap; }.customer-navbar .hlt-nav-link { flex: 0 0 auto; padding: 10px 9px; font-size: .82rem; }.customer-navbar .hlt-nav-actions { gap: 8px; }.customer-navbar .hlt-nav-signin { padding: 8px 7px; white-space: nowrap; }.customer-more-menu { position: relative; }.customer-more-trigger { border: 0; background: transparent; cursor: pointer; font-family: inherit; }.customer-more-popover { position:absolute; z-index:var(--customer-z-popover); top:calc(100% + 10px); right:0; display:grid; min-width:150px; padding:8px; border:1px solid var(--customer-line); border-radius:14px; background:#fff; box-shadow:var(--customer-shadow); }.customer-more-popover a { min-height:42px; display:flex; align-items:center; padding:0 10px; border-radius:9px; font-size:.84rem; }.customer-more-popover a:hover { background:var(--customer-soft); }
.locale-control { position: relative; }.locale-trigger { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--customer-line); border-radius: 12px; padding: 0 12px; background: var(--customer-soft); color: var(--customer-primary-dark); font: 700 .79rem/1 "DM Sans", sans-serif; cursor: pointer; }.locale-trigger .fa-chevron-down { font-size: .7rem; }.locale-popover { position: absolute; z-index: var(--customer-z-popover); top: calc(100% + 10px); right: 0; width: 244px; padding: 8px; border: 1px solid var(--customer-line); border-radius: 20px; background: var(--customer-surface); box-shadow: var(--customer-shadow-lg); }.locale-popover button { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 0; border-radius: 12px; padding: 10px 12px; background: transparent; color: var(--customer-ink); text-align: left; cursor: pointer; }.locale-popover button:hover, .locale-popover button:focus-visible { background: var(--customer-soft); }.locale-popover span { display: grid; gap: 3px; }.locale-popover b { font-size: .9rem; }.locale-popover small { color: var(--customer-muted); font-size: .75rem; }.locale-popover .fa-check { color: var(--customer-primary); }
.customer-menu-toggle { min-width: 44px; min-height: 44px; border-radius: 12px; background: var(--customer-soft); }.customer-menu-toggle span { background: var(--customer-primary-dark); }.customer-mobile-sheet { border-top: 1px solid var(--customer-line); background: var(--customer-surface); box-shadow: var(--customer-shadow); }.customer-mobile-sheet .locale-control-mobile { margin-bottom: 8px; }.customer-mobile-sheet .locale-trigger { width: 100%; justify-content: center; }.auth-locale-control { position: fixed; z-index: var(--customer-z-popover); top: 16px; right: 16px; }.auth-locale-control .locale-popover { top: calc(100% + 8px); }

/* Home, tour, and authentication customer surfaces. */
.customer-hero { position: relative; width: min(1200px, calc(100% - 32px)); height: min(520px, 48vw); min-height: 420px; margin: 0 auto 40px; overflow: hidden; border-radius: var(--customer-radius-lg); box-shadow: var(--customer-shadow-lg); }.customer-hero .hlt-hero-carousel { height: 100%; }.customer-hero .mud-carousel-item > div { height: 100% !important; }.customer-hero .hlt-hero-overlay { background: linear-gradient(90deg, rgba(18,52,90,.32), rgba(18,52,90,.10)); }.customer-hero .hlt-hero-content-absolute { align-items:flex-end; justify-content:flex-start; padding:24px clamp(20px, 5vw, 54px); text-align:left; }.customer-hero-copy { max-width:550px; padding:clamp(20px,3vw,32px); border:1px solid rgba(255,255,255,.7); border-radius:20px; background:rgba(255,255,255,.94); box-shadow:0 18px 40px rgba(8,33,65,.18); }.customer-hero .hlt-hero-kicker { color:var(--customer-primary-dark); font:700 .76rem/1.4 "DM Sans",sans-serif; letter-spacing:.12em; }.customer-hero .hlt-hero-title-carousel { margin:10px 0 18px; color:var(--customer-ink); font-family:"DM Sans",sans-serif; font-size:clamp(2.1rem,4.3vw,3.8rem); letter-spacing:-.055em; line-height:1.02; text-shadow:none; }.customer-hero .hlt-hero-cta { min-height:46px; border-radius:12px; background:var(--customer-cta); color:#fff; font:700 .9rem/1 "DM Sans",sans-serif; letter-spacing:0; text-transform:none; }.customer-services { padding-top:0; }.customer-services .hlt-cat-grid { margin-top:0; }.hlt-section { background:transparent !important; }.hlt-sec-title,.hlt-nl-title { font-family:"DM Sans",sans-serif !important; color:var(--customer-ink); }.hlt-sec-desc { color:var(--customer-muted); }.hlt-cat-item,.hlt-card,.hlt-testi-card { border-color:var(--customer-line); box-shadow:none; }.hlt-cat-item:hover,.hlt-card:hover { border-color:#8bcaee; box-shadow:var(--customer-shadow); }.hlt-cat-icon { color:var(--customer-primary); }.hlt-newsletter { background:linear-gradient(135deg,var(--customer-navy),var(--customer-primary-dark)); }.hlt-nl-title,.hlt-nl-desc { color:#fff; }.tour-card { border-color:var(--customer-line) !important; border-radius:var(--customer-radius) !important; }.tour-card:hover { box-shadow:var(--customer-shadow-lg) !important; }.tour-card .mud-button-root { background:var(--customer-primary) !important; }.tour-detail-page { background:var(--customer-canvas); }.tour-detail-page .mud-paper { border-color:var(--customer-line); border-radius:var(--customer-radius); box-shadow:var(--customer-shadow); }.auth-panel-right { background:var(--customer-canvas); }.auth-form-wrap { padding:clamp(24px,4vw,40px); border:1px solid var(--customer-line); border-radius:var(--customer-radius); background:var(--customer-surface); box-shadow:var(--customer-shadow); }.auth-panel-left { background:linear-gradient(145deg,var(--customer-navy),var(--customer-primary-dark)); }.auth-submit-btn { background:var(--customer-primary); }.auth-submit-btn:hover { background:var(--customer-primary-dark); }.auth-hint-button { min-width:26px; min-height:26px; }.auth-input-toggle { min-width:36px; min-height:36px; }
.auth-page { min-height:100dvh; grid-template-columns:minmax(360px,.9fr) minmax(480px,1.1fr); background:var(--customer-canvas); }.auth-panel-left { position:relative; padding:clamp(48px,7vw,96px); }.auth-brand { max-width:430px; }.auth-logo { font-family:"DM Sans",sans-serif; font-size:1rem; }.auth-tagline { white-space:pre-line; font-family:"DM Sans",sans-serif; font-size:clamp(2.3rem,4vw,4.2rem); letter-spacing:-.055em; line-height:1.02; }.auth-sub { max-width:360px; color:#d9ecff; font-size:1rem; }.auth-highlights { margin-top:40px; padding-top:28px; border-top:1px solid rgba(255,255,255,.2); }.auth-hl-item { min-height:32px; }.auth-hl-item i { color:#83cfff; }.auth-panel-right { padding:88px clamp(24px,6vw,96px) 48px; }.auth-form-wrap { max-width:460px; }.auth-form-title { font-family:"DM Sans",sans-serif; font-size:clamp(2rem,3vw,2.65rem); letter-spacing:-.045em; }.auth-form-subtitle { color:var(--customer-muted); }.auth-field { margin-bottom:22px; }.auth-label { color:var(--customer-ink); }.auth-input { min-height:48px; border-color:var(--customer-line); border-radius:12px; font-size:1rem; }.auth-submit-btn { min-height:50px; border-radius:12px; }.auth-back-link { color:var(--customer-primary-dark); }.auth-hint-popover { border-color:var(--customer-line); background:var(--customer-soft); color:var(--customer-ink); }

@media (max-width: 640px) {
  .customer-shell, .auth-layout { overflow-x: clip; }
  .customer-shell .hlt-container { padding-inline: 16px; }.tour-wishlist-button { top:8px; right:8px; }.tour-detail-hero { height:340px; padding:24px 18px; }.tour-detail-wishlist { top:14px; right:14px; min-width:44px; padding:0 12px; }.tour-detail-wishlist span { display:none; }
  .marketplace-page { padding-top:28px; }.marketplace-intro { align-items:flex-start; flex-direction:column; gap:20px; }.marketplace-intro h1 { font-size:2.5rem; }.marketplace-filter { width:100%; justify-content:center; }.marketplace-results { margin-top:26px; }.tour-market-grid { grid-template-columns:1fr; gap:14px; }.tour-market-card { display:grid; grid-template-columns:124px minmax(0,1fr); min-height:156px; border-radius:16px; }.tour-market-image { aspect-ratio:auto; height:100%; }.tour-market-body { padding:15px; }.tour-market-body h2 { margin:8px 0 5px; font-size:1rem; }.tour-market-body > p { display:none; }.tour-market-facts { gap:8px; font-size:.7rem; }.tour-market-footer { margin-top:10px; }.tour-market-action { width:38px; height:38px; }
  .customer-navbar { width: calc(100% - 24px); margin-top: 12px; border-radius: 16px; }.customer-navbar .hlt-nav-inner { min-height: 60px; }.customer-navbar .hlt-logo { font-size: .84rem; }.customer-shell main { padding-top: 18px !important; }.locale-trigger { min-height: 44px; padding-inline: 10px; }.customer-navbar .locale-trigger span { display: none; }.locale-popover { position: fixed; inset: auto 16px 16px; width: auto; padding: 10px; border-radius: 20px; }.locale-popover button { min-height: 56px; }.auth-locale-control { top: 12px; right: 12px; }.auth-locale-control .locale-trigger span { display: inline; }
  .customer-hero { width: calc(100% - 24px); height: 360px; min-height: 0; margin-bottom: 28px; border-radius: 22px; }.customer-hero .hlt-hero-content-absolute { padding: 24px; align-items: flex-end; }.customer-hero .hlt-hero-title-carousel { font-size: clamp(2.1rem, 11vw, 3.2rem); }.customer-hero .hlt-hero-kicker { font-size: .68rem; }.customer-hero .hlt-hero-cta { width: 100%; justify-content: center; }.hlt-cat-grid { grid-template-columns: 1fr !important; }.hlt-grid { grid-template-columns: 1fr !important; }.hlt-newsletter { margin-inline: 0; border-radius: 20px; }.auth-form-wrap { padding: 28px 20px; border-radius: 18px; }.auth-panel-right { padding: 96px 16px 32px; }
  .auth-page { display:block; min-height:100dvh; }.auth-panel-left { display:none; }.auth-panel-right { min-height:100dvh; align-items:flex-start; padding-top:92px; }.auth-form-wrap { width:100%; max-width:520px; margin-inline:auto; }.auth-form-title { font-size:2rem; }.auth-language-switch { position:static !important; }
}

@media (prefers-reduced-motion: reduce) {
  .customer-shell *, .customer-shell *::before, .customer-shell *::after,
  .auth-layout *, .auth-layout *::before, .auth-layout *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
/* Public verification and auth compatibility routes */
.verification-page,.auth-route-bridge{min-height:calc(100vh - 180px);display:grid;place-items:center;padding:clamp(32px,6vw,80px) 16px;background:radial-gradient(circle at 15% 15%,rgba(14,165,233,.13),transparent 30%),radial-gradient(circle at 90% 80%,rgba(249,115,22,.09),transparent 28%),#f5faff}
.verification-card{width:min(100%,620px);position:relative;overflow:hidden;padding:clamp(24px,5vw,48px);border:1px solid #dbeafe;border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(15,83,132,.14)}
.verification-card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,#0284c7,#38bdf8 70%,#f97316)}
.verification-back{display:inline-flex;align-items:center;gap:9px;color:#475569;font-weight:700;font-size:.9rem;text-decoration:none;transition:color .2s ease}.verification-back:hover{color:#0369a1}
.verification-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:30px 0 24px;color:#0f2f4a;font-size:.78rem;font-weight:800;letter-spacing:.08em}.verification-brand strong{color:#0284c7}
.verification-brand__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#0284c7;color:#fff;box-shadow:0 8px 18px rgba(2,132,199,.24)}
.verification-state{text-align:center}.verification-icon,.verification-spinner{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 20px;border-radius:24px;background:#e0f2fe;color:#0284c7;font-size:1.65rem}.verification-icon--success{background:#dcfce7;color:#15803d}
.verification-spinner{border:6px solid #e0f2fe;border-top-color:#0284c7;background:transparent;border-radius:50%;animation:verification-spin .85s linear infinite}
.verification-eyebrow{display:block;margin-bottom:9px;color:#0284c7;font-size:.72rem;font-weight:800;letter-spacing:.13em}.verification-state h1{margin:0;color:#102a43;font-size:clamp(1.8rem,5vw,2.55rem);line-height:1.1;letter-spacing:-.04em}.verification-state>p{max-width:470px;margin:14px auto 26px;color:#64748b;font-size:.98rem;line-height:1.7}
.verification-state--form{text-align:left}.verification-state--form>.verification-icon,.verification-state--form>.verification-eyebrow,.verification-state--form>h1,.verification-state--form>p{text-align:center}
.verification-field{margin:24px 0 18px}.verification-field label{display:block;margin-bottom:8px;color:#17324d;font-size:.87rem;font-weight:800}.verification-input{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 16px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;color:#94a3b8;transition:border-color .2s,box-shadow .2s,background .2s}.verification-input:focus-within{border-color:#0284c7;background:#fff;box-shadow:0 0 0 4px rgba(14,165,233,.12)}.verification-input input{width:100%;border:0;outline:0;background:transparent;color:#0f172a;font:inherit}
.verification-primary{width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:14px;background:linear-gradient(135deg,#0284c7,#0ea5e9);color:#fff;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 12px 26px rgba(2,132,199,.25);transition:transform .2s,box-shadow .2s}.verification-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 15px 30px rgba(2,132,199,.3)}.verification-primary:disabled{opacity:.68;cursor:not-allowed}
.verification-alert{display:flex;align-items:flex-start;gap:10px;margin:20px 0;padding:13px 14px;border-radius:12px;font-size:.87rem;line-height:1.5}.verification-alert--error{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.verification-alert--success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.verification-error{display:block;margin-top:7px;color:#be123c;font-size:.8rem;font-weight:700}
.verification-preview{display:grid;gap:6px;margin-top:18px;padding:14px;border:1px dashed #7dd3fc;border-radius:12px;background:#f0f9ff;color:#475569;font-size:.82rem}.verification-preview a{color:#0369a1;font-weight:800}
.verification-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin-top:32px;padding-top:22px;border-top:1px solid #e2e8f0;color:#64748b;font-size:.77rem;font-weight:700}.verification-trust i{margin-right:5px;color:#0284c7}
.verification-button-spinner,.auth-route-bridge__spinner{width:19px;height:19px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:verification-spin .8s linear infinite}.auth-route-bridge{align-content:center;color:#475569;text-align:center}.auth-route-bridge__spinner{display:block;width:42px;height:42px;margin:0 auto 12px;border-color:#dbeafe;border-top-color:#0284c7}
@keyframes verification-spin{to{transform:rotate(360deg)}}
@media (max-width:600px){.verification-page,.auth-route-bridge{min-height:calc(100vh - 130px);padding:20px 12px}.verification-card{padding:24px 18px;border-radius:22px}.verification-brand{margin:24px 0 20px}.verification-icon,.verification-spinner{width:62px;height:62px;border-radius:20px}.verification-trust{align-items:flex-start;flex-direction:column}.verification-state>p{font-size:.92rem}}
.public-auth-label-row{display:flex;align-items:center;gap:7px}.public-auth-rule-help{width:21px;height:21px;border:0;border-radius:50%;background:var(--customer-soft);color:var(--customer-muted);font-weight:900;cursor:pointer}.public-auth-rule-help.active,.public-auth-rule-help:hover{background:#dbeafe;color:var(--customer-primary-dark)}.public-auth-password-rules{display:grid;gap:5px;padding:9px 11px;border-radius:10px;background:var(--customer-soft);color:var(--customer-muted);font-size:.74rem;font-weight:700}.public-auth-password-rules>span{display:flex;align-items:center;gap:7px;max-height:28px;overflow:hidden;opacity:1;transition:max-height .2s ease,opacity .2s ease,transform .2s ease}.public-auth-password-rules>span i{color:#94a3b8}.public-auth-password-rules>span.passed{max-height:0;opacity:0;transform:translateY(-3px)}.public-auth-password-rules>span.passed i{color:#16a34a}
.public-auth-modal{width:min(100%,640px);max-height:calc(100dvh - 24px);padding:30px 34px}.public-auth-socials{display:grid;grid-template-columns:1fr 1fr;gap:10px}.public-auth-socials button{min-height:50px;display:flex;align-items:center;justify-content:flex-start;gap:10px;border:1px solid var(--customer-line);border-radius:14px;padding:0 14px;background:#fff;color:var(--customer-ink);font:700 .84rem/1.15 inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.public-auth-socials button:hover{border-color:#8bcaee;box-shadow:0 6px 16px rgba(2,132,199,.12);transform:translateY(-1px)}.public-auth-socials button i{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#f8fafc;font-size:1rem}.public-auth-socials .fa-google{color:#ea4335}.public-auth-socials .fa-facebook-f{color:#1877f2}.public-auth-divider{display:flex;align-items:center;gap:10px;color:var(--customer-muted);font-size:.72rem;font-weight:700;text-align:center}.public-auth-divider:before,.public-auth-divider:after{content:"";height:1px;flex:1;background:var(--customer-line)}.public-auth-password-rules{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;padding:12px 14px}.public-auth-password-rules>span{font-size:.77rem}@media(max-width:480px){.public-auth-modal{padding:22px 20px}.public-auth-form{gap:11px}.public-auth-form input{min-height:45px}.public-auth-socials{gap:7px}.public-auth-socials button{min-height:44px;padding-inline:9px;font-size:.72rem}.public-auth-socials button i{width:23px;height:23px}.public-auth-password-rules{grid-template-columns:1fr;gap:5px;padding:9px 11px}.public-auth-password-rules>span{font-size:.73rem}}

/* Supplied brand assets: cropped transparent mark and wordmark. */
.brand-lockup{display:flex!important;align-items:center;gap:10px;min-width:0}.brand-logo-mark,.brand-wordmark,.public-auth-wordmark{display:block;min-width:0;object-fit:contain}.brand-logo-mark{width:35px;height:35px}.brand-wordmark{width:190px;height:34px;object-position:left center}.customer-navbar .hlt-logo{gap:9px}.customer-navbar .brand-logo-mark{width:36px;height:36px}.customer-navbar .brand-wordmark{width:190px;height:34px}.hlt-footer-logo{gap:11px}.hlt-footer-logo .brand-logo-mark{width:42px;height:42px}.hlt-footer-logo .brand-wordmark{width:205px;height:37px}.auth-logo{gap:12px}.auth-logo .brand-logo-mark{width:43px;height:43px}.auth-logo .brand-wordmark{width:220px;height:40px}.verification-brand{gap:11px}.verification-brand .brand-logo-mark{width:39px;height:39px}.verification-brand .brand-wordmark{width:215px;height:39px}.public-auth-wordmark{width:174px;height:28px;margin:0 0 9px;object-position:left center}.public-auth-modal header p{display:none}

/* One shared public header: homepage and catalogue use the same shell and account control. */
.customer-navbar--unified { position: sticky; top: 0; width: 100%; margin: 0; border: 0; border-bottom: 1px solid var(--customer-line); border-radius: 0; background: #fff; box-shadow: none; backdrop-filter: none; }
.customer-navbar--unified .hlt-nav-inner { width: min(1280px, calc(100% - 64px)); min-height: 76px; margin-inline: auto; }
.customer-navbar--unified .hlt-nav-links { gap: 6px; }
.customer-navbar--unified .hlt-nav-link { position: relative; padding: 11px 12px; color: var(--customer-ink); font-family: "DM Sans", "Inter", sans-serif; font-size: .88rem; font-weight: 650; letter-spacing: -.006em; line-height: 1; text-transform: none; }
.customer-navbar--unified .hlt-nav-link::after { position: absolute; right: 12px; bottom: 4px; left: 12px; height: 2px; content: ""; border-radius: 999px; background: var(--customer-primary); transform: scaleX(0); transform-origin: center; transition: transform .18s ease; }
.customer-navbar--unified .hlt-nav-link:hover::after,
.customer-navbar--unified .hlt-nav-link:focus-visible::after { transform: scaleX(1); }
.customer-navbar--unified .hlt-nav-actions { gap: 10px; }
.customer-account-trigger { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--customer-line); border-radius: 12px; padding: 0 12px; background: var(--customer-soft); color: var(--customer-primary-dark); font: 700 .79rem/1 "DM Sans", sans-serif; white-space: nowrap; cursor: pointer; }
.customer-account-trigger:hover, .customer-account-trigger:focus-visible { border-color: var(--customer-primary); background: var(--customer-soft); }
.customer-account-trigger--signed { max-width: 210px; overflow: hidden; text-overflow: ellipsis; }
.customer-account-trigger--signed > span:not(.hlt-user-avatar) { overflow: hidden; text-overflow: ellipsis; }
.customer-account-trigger .hlt-user-avatar { width: 24px; height: 24px; flex: 0 0 auto; border-radius: 50%; background: var(--customer-primary); color: #fff; font-size: .68rem; }
.customer-account-trigger .hlt-user-avatar img { width: 100%; height: 100%; display: block; border-radius: inherit; object-fit: cover; }
.customer-account-trigger .hlt-user-avatar > span { display: grid; width: 100%; height: 100%; place-items: center; }
.customer-account-trigger > .fa-chevron-down { color: var(--customer-muted); font-size: .65rem; }
.hlt-user-dropdown-wrap.is-open .hlt-dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.customer-more-popover{top:calc(100% + 12px)!important;min-width:236px!important;padding:10px!important;border-color:#e4e8e5!important;border-radius:18px!important;box-shadow:0 18px 42px rgba(16,46,38,.16)!important}.customer-more-popover p{margin:4px 10px 7px;color:#668077;font-size:.64rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.customer-more-popover a{min-height:44px!important;gap:10px;padding:0 10px!important;border-radius:11px!important;font-weight:700}.customer-more-popover a i{width:18px;color:#35705a}.customer-more-popover a:hover{background:#f0f6f2!important;color:#173d32}.customer-account-menu__head{display:flex;align-items:center;gap:10px;margin:2px 2px 9px;padding:9px 8px 13px;border-bottom:1px solid #e7ece8}.customer-account-menu__head .hlt-user-avatar{width:36px;height:36px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#35705a;color:#fff;font-size:.78rem;font-weight:800}.customer-account-menu__head img{width:100%;height:100%;object-fit:cover}.customer-account-menu__head div{display:grid;gap:3px}.customer-account-menu__head b{font-size:.82rem;color:#173d32}.customer-account-menu__head small{color:#718078;font-size:.67rem}
@media(max-width:700px){.customer-navbar .brand-logo-mark{width:31px;height:31px}.customer-navbar .brand-wordmark{width:150px;height:29px}.hlt-footer-logo .brand-wordmark{width:184px}.auth-logo .brand-wordmark{width:190px;height:35px}.verification-brand .brand-wordmark{width:185px;height:34px}}
@media(max-width:420px){.customer-navbar .brand-wordmark{width:126px;height:25px}.customer-navbar .brand-logo-mark{width:28px;height:28px}.auth-logo .brand-logo-mark{width:37px;height:37px}.auth-logo .brand-wordmark{width:165px;height:31px}.public-auth-wordmark{width:154px;height:25px}}

@media(max-width:700px){
  .customer-navbar--unified { width:100%; margin:0; border-radius:0; }
  .customer-navbar--unified .hlt-nav-inner { min-height:64px; width:calc(100% - 32px); }
}

/* Marketplace filters — mobile-first. */
.marketplace-filterbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.marketplace-category-select{display:grid;width:100%;min-width:0;gap:6px}.marketplace-category-select span{color:var(--customer-muted);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.marketplace-category-select select{min-height:48px;padding:0 42px 0 14px;border:1px solid var(--customer-line);border-radius:14px;background:#fff;color:var(--customer-ink);font-weight:900}.marketplace-filter{width:100%}
@media(min-width:701px){.marketplace-category-select{width:auto;min-width:260px}.marketplace-filter{width:auto}}
/* Trip-style booking guest picker and calendar. */
.trip-date-pill{position:relative!important}
.trip-date-pill button{border:0!important;background:transparent!important;color:#003b21!important;font:inherit!important;font-weight:850!important;cursor:pointer!important}
.trip-guest-picker{display:grid!important;gap:14px!important;padding:18px!important;border:1px solid #d7e4dc!important;border-radius:18px!important;background:#fff!important;box-shadow:0 18px 45px rgba(0,43,24,.14)!important}
.trip-guest-picker .trip-traveller-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.trip-guest-picker .trip-traveller-row>div:first-child{display:grid!important;gap:2px!important}
.trip-guest-picker .trip-traveller-row b{color:#003b21!important;font-size:1rem!important}
.trip-guest-picker .trip-traveller-row span{color:#66776d!important;font-size:.84rem!important}
.trip-guest-picker .trip-traveller-row small{color:#003b21!important;font-size:.82rem!important;font-weight:750!important}
.trip-guest-picker .trip-traveller-row>div:last-child{display:grid!important;grid-template-columns:34px 30px 34px!important;align-items:center!important;gap:10px!important}
.trip-guest-picker .trip-traveller-row button{display:grid!important;width:34px!important;height:34px!important;place-items:center!important;border:0!important;border-radius:999px!important;background:#004225!important;color:#fff!important;font-size:1.1rem!important;font-weight:900!important;cursor:pointer!important}
.trip-guest-picker .trip-traveller-row button:disabled{background:#c7c7c7!important;color:#fff!important;cursor:not-allowed!important}
.trip-guest-picker .trip-traveller-row strong{text-align:center!important;color:#003b21!important;font-size:1rem!important}
.trip-update-search{min-height:48px!important;border:1px solid #00b85c!important;border-radius:999px!important;background:#11d866!important;color:#003b21!important;font-weight:950!important;cursor:pointer!important}
.trip-calendar-popover{position:absolute!important;right:0!important;z-index:20!important;display:grid!important;grid-template-columns:auto minmax(250px,1fr) minmax(250px,1fr) auto!important;gap:14px!important;width:min(760px,calc(100vw - 28px))!important;margin-top:8px!important;padding:18px!important;border:1px solid #d7e4dc!important;border-radius:18px!important;background:#fff!important;box-shadow:0 22px 55px rgba(0,43,24,.16)!important}
.trip-calendar-month{display:grid!important;gap:12px!important}
.trip-calendar-month h3{margin:0!important;text-align:center!important;color:#003b21!important;font-size:1rem!important}
.trip-calendar-weekdays,.trip-calendar-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:6px!important}
.trip-calendar-weekdays span{text-align:center!important;color:#526158!important;font-size:.78rem!important;font-weight:850!important}
.trip-calendar-empty{min-height:40px!important}
.trip-calendar-day{display:grid!important;min-height:40px!important;place-items:center!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#003b21!important;cursor:pointer!important}
.trip-calendar-day b{font-size:.94rem!important}
.trip-calendar-day:hover{background:#e9f8ef!important}
.trip-calendar-day.selected{background:#003b21!important;color:#fff!important}
.trip-calendar-day.disabled{color:#aaa!important;text-decoration:line-through!important;cursor:not-allowed!important}
.trip-calendar-nav{align-self:start!important;display:grid!important;width:36px!important;height:36px!important;place-items:center!important;border:0!important;border-radius:999px!important;background:#f1f6f3!important;color:#003b21!important;cursor:pointer!important}
.trip-calendar-nav:disabled{opacity:.35!important;cursor:not-allowed!important}
.trip-start-times button:disabled{opacity:.38!important;text-decoration:line-through!important;cursor:not-allowed!important}
@media(max-width:760px){.trip-calendar-popover{left:0!important;right:auto!important;grid-template-columns:1fr!important}.trip-calendar-nav{display:none!important}}

/* Tour Detail — mobile-first public booking surface. */
.trip-detail-page{background:#fff;color:#002b18}
.trip-detail-shell,.trip-detail-loading{width:min(1180px,calc(100% - 24px));margin:0 auto;padding:12px 0 56px}
.trip-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 16px;color:#456257;font-size:.82rem;font-weight:700}.trip-breadcrumb a{color:#006b3b;text-decoration:none}.trip-breadcrumb b{color:#1d3329}
.trip-title-row{display:grid;gap:12px;margin-bottom:18px}.trip-title-row h1{margin:0;color:#001f11;font:800 clamp(1.85rem,9vw,2.3rem)/1.08 "DM Sans",Inter,Arial,sans-serif;letter-spacing:-.045em}.trip-save-button{display:inline-flex;align-items:center;justify-content:center;justify-self:start;gap:8px;min-height:44px;padding:0 14px;border:1px solid #003c22;border-radius:999px;background:#fff;color:#003c22;font-weight:850;cursor:pointer}.trip-save-button.saved{background:#effaf2;color:#007a42}
.trip-rating-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;color:#17382b;font-size:.9rem;font-weight:750}.trip-rating-line a{color:#005f34;font-weight:850;text-decoration:underline;text-underline-offset:3px}.trip-rating-dots{display:inline-flex;align-items:center;gap:3px}.trip-rating-dots i{display:block;width:13px;height:13px;border-radius:50%;background:#008f4c}.trip-rating-dots.small i{width:11px;height:11px}.trip-recommended{display:inline-flex;align-items:center;gap:6px;color:#006b3b}.trip-recommended i{color:#e6467a}
.trip-photo-grid{display:grid;grid-template-columns:1fr;grid-auto-rows:190px;gap:4px;overflow:hidden;border-radius:12px;margin-bottom:22px;background:#e5e7eb}.trip-photo-grid figure{margin:0;overflow:hidden;background:#eef4f1}.trip-photo-grid figure:nth-of-type(n+3){display:none}.trip-photo-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.trip-photo-grid figure:hover img{transform:scale(1.035)}.trip-photo-main{grid-row:auto}.trip-review-callout{display:grid;align-content:start;gap:8px;padding:22px;border:1px solid #003c22;background:#ccf5cf;color:#001f11}.trip-review-callout b{font-size:1.45rem}.trip-review-callout p{margin:0;font-weight:800;line-height:1.45}.trip-review-callout small{color:#315143;font-weight:750}
.trip-section-tabs{position:sticky;top:0;z-index:20;display:flex;gap:16px;overflow-x:auto;margin:0 0 22px;padding:0 2px;border-bottom:1px solid #d7e1dc;background:#fff}.trip-section-tabs a{flex:0 0 auto;padding:14px 0 13px;border-bottom:3px solid transparent;color:#113729;font-size:.9rem;font-weight:850;text-decoration:none}
.trip-detail-layout{display:grid;grid-template-columns:1fr;gap:28px}.trip-detail-main{min-width:0}.trip-anchor-target{scroll-margin-top:92px}.trip-detail-section,.trip-facts-grid,.trip-question-box,.trip-accordion-list details{border-bottom:1px solid #dfe8e3;padding:0 0 24px;margin-bottom:22px}.trip-detail-section h2,.trip-question-box h2{margin:0 0 14px;color:#001f11;font-size:1.3rem;font-weight:900}.trip-detail-section p{margin:0;color:#17382b;font-size:1rem;line-height:1.8}
.trip-benefit-list{display:grid;gap:10px;margin-top:22px}.trip-benefit-list span{display:flex;align-items:flex-start;gap:9px;color:#17382b;font-size:.9rem;font-weight:750}.trip-benefit-list i{margin-top:2px;color:#00a568}
.trip-facts-grid{display:grid;grid-template-columns:1fr;gap:12px;padding-top:4px}.trip-facts-grid article{display:grid;grid-template-columns:24px minmax(0,1fr);gap:3px 9px}.trip-facts-grid i{grid-row:span 2;margin-top:3px;color:#003c22}.trip-facts-grid b{color:#001f11}.trip-facts-grid span{color:#315143;font-size:.92rem;line-height:1.45}
.trip-question-box{padding:20px;border:1px solid #003c22;border-radius:4px;background:#fff}.trip-question-box div{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.trip-question-box button{min-height:38px;padding:0 14px;border:1px solid #003c22;border-radius:999px;background:#fff;color:#003c22;font-weight:800;cursor:pointer}.trip-question-box label{display:grid;grid-template-columns:1fr 42px;align-items:center;overflow:hidden;border:1px solid #8aa197;border-radius:999px}.trip-question-box label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.trip-question-box input{min-height:42px;border:0;padding:0 15px;outline:0}.trip-question-box label:after{content:"↑";display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#d4d0cc;color:#fff;font-weight:900}
.trip-accordion-list details{padding-bottom:0}.trip-accordion-list summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;color:#001f11;font-weight:900;cursor:pointer}.trip-accordion-list summary::-webkit-details-marker{display:none}.trip-accordion-list summary:after{content:"⌄";font-size:1.1rem}.trip-accordion-list details[open] summary:after{transform:rotate(180deg)}.trip-accordion-list details>p{margin:0 0 16px;color:#17382b;line-height:1.7}
.trip-inclusion-grid,.trip-tour-type,.trip-booking-fields{display:grid;grid-template-columns:1fr;gap:10px}.trip-inclusion-grid{padding-bottom:20px;gap:18px}.trip-inclusion-grid h3{margin:0 0 10px;color:#001f11}.trip-inclusion-grid p{display:flex;gap:9px;margin:0 0 9px;color:#17382b}.trip-inclusion-grid i{margin-top:3px;color:#008f4c}.trip-inclusion-grid div:nth-child(2) i{color:#a83232}
.trip-itinerary-map{display:grid;grid-template-columns:1fr;gap:24px;padding:8px 0 22px;align-items:start}.trip-itinerary-line{position:relative;display:grid;gap:9px;margin:0;padding:0;list-style:none}.trip-itinerary-line:before{content:"";position:absolute;top:18px;bottom:18px;left:17px;border-left:2px dotted #003c22}.trip-itinerary-line li{position:relative;display:grid;gap:5px;padding-left:46px;color:#17382b}.trip-itinerary-line li:before{display:none}.trip-itinerary-marker,.trip-itinerary-terminal-badge{position:absolute;left:0;top:0;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;font-size:.72rem;font-weight:950;line-height:1;text-align:center}.trip-itinerary-marker{background:#003c22;color:#fff}.trip-itinerary-terminal-badge{background:#ffe600;border:2px solid #003c22;color:#001f11}.trip-itinerary-line li.active .trip-itinerary-marker{background:#0ad95b;color:#001f11;box-shadow:0 0 0 5px rgba(10,217,91,.18)}.trip-itinerary-summary{display:grid;gap:3px;width:100%;min-height:34px;color:#17382b}.trip-itinerary-summary b{color:#001f11;font-size:.93rem}.trip-itinerary-summary span,.trip-itinerary-summary small{font-size:.8rem;line-height:1.35}.trip-itinerary-line li.active .trip-itinerary-summary b{color:#008f4c}.trip-itinerary-expanded{display:grid;gap:9px;margin-top:4px}.trip-itinerary-photo-wrap{overflow:hidden;border-radius:12px;border:1px solid #dfe8e3}.trip-itinerary-photo{display:block;width:100%;height:150px;object-fit:cover}.trip-itinerary-description{margin:0;color:#315143;font-size:.86rem;line-height:1.65}.trip-itinerary-address{display:flex;gap:8px;color:#315143;font-size:.82rem;font-weight:750}.trip-itinerary-toggle-link{justify-self:start;min-height:28px;padding:0;border:0;background:transparent;color:#003c22;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.trip-itinerary-map-panel{position:relative;top:auto}
.trip-map-card{height:300px;overflow:hidden;display:grid;place-items:stretch;padding:0;border-radius:14px;background:#eef6f0;color:#003c22;text-align:center;box-shadow:0 18px 45px rgba(0,43,24,.1)}.trip-map-canvas{min-height:300px;width:100%}.trip-map-empty{display:grid;place-items:center;align-content:center;gap:10px;padding:28px}.trip-map-card i{font-size:3rem}.trip-map-card b{font-size:1.2rem}.trip-map-card span{max-width:360px;color:#315143;line-height:1.55}.trip-map-marker-shell{background:transparent!important;border:0!important}.trip-map-marker{display:grid!important;width:32px!important;height:32px!important;place-items:center!important;border:3px solid #fff!important;border-radius:50%!important;background:#003c22!important;color:#fff!important;font-weight:950!important;box-shadow:0 8px 18px rgba(0,43,24,.28)!important}.trip-map-marker.active{background:#0ad95b!important;color:#001f11!important}.trip-map-hint{display:block;margin-top:10px;color:#315143;font-weight:800}
.trip-help-links{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 18px}.trip-help-links a{display:inline-flex;align-items:center;gap:8px;color:#003c22;font-weight:900}.trip-booking-column{position:relative}.trip-booking-card{position:relative;top:auto;display:grid;gap:14px;padding:20px;border:1px solid #dbe5df;border-radius:14px;background:#fff;box-shadow:0 12px 34px rgba(0,43,24,.08)}
.trip-booking-total{display:flex;align-items:baseline;gap:6px;color:#001f11}.trip-booking-total span{font-weight:850}.trip-booking-total b{font-size:1.2rem;font-weight:950}.trip-pill-row{display:grid;grid-template-columns:1fr;gap:8px;position:relative}.trip-date-pill,.trip-traveller-pill{min-height:44px;display:flex;align-items:center;gap:8px;border:1px solid #003c22;border-radius:999px;background:#fff;color:#003c22;font-weight:850}.trip-date-pill{padding:0 12px}.trip-date-pill input{width:100%;border:0;outline:0;color:#003c22;font-weight:850}.trip-traveller-pill{padding:0 14px;cursor:pointer}
.trip-traveller-popover{display:grid;gap:12px;padding:14px;border:1px solid #dbe5df;border-radius:14px;background:#fff;box-shadow:0 16px 35px rgba(0,43,24,.11)}.trip-traveller-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.trip-traveller-row>div:first-child{display:grid;gap:2px}.trip-traveller-row b{color:#001f11}.trip-traveller-row span,.trip-traveller-row small{color:#315143;font-size:.82rem}.trip-traveller-row>div:last-child{display:flex;align-items:center;gap:12px}.trip-traveller-row button{width:34px;height:34px;border:0;border-radius:50%;background:#003c22;color:#fff;font-size:1.2rem;font-weight:900;cursor:pointer}.trip-traveller-row button:disabled{background:#c9c9c9;cursor:not-allowed}.trip-traveller-note{color:#315143;font-size:.82rem}
.trip-selected-product{display:grid;gap:7px;padding:16px;border:1px solid #003c22;border-radius:8px;background:#fff}.trip-selected-product h2{margin:0;color:#001f11;font-size:1rem;font-weight:900}.trip-selected-product p{margin:0;color:#17382b;font-size:.86rem;line-height:1.45}.trip-selected-product span{display:flex;align-items:center;gap:7px;color:#17382b;font-size:.86rem;font-weight:750}.trip-tour-type legend{color:#001f11;font-weight:900}.trip-tour-type label{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #b6c7be;border-radius:999px;color:#003c22;font-weight:850;cursor:pointer}.trip-tour-type label.selected{border-color:#003c22;background:#eaffef}
.trip-start-times{display:grid;gap:9px}.trip-start-times b{color:#001f11}.trip-start-times div{display:flex;flex-wrap:wrap;gap:8px}.trip-start-times button{min-height:42px;padding:0 16px;border:1px solid #003c22;border-radius:999px;background:#fff;color:#003c22;font-weight:900;cursor:pointer}.trip-start-times button.selected{background:#0ad95b;border-color:#0ad95b;color:#001f11}.trip-booking-fields label{display:grid;gap:6px;color:#001f11;font-size:.8rem;font-weight:850}.trip-booking-fields input,.trip-booking-fields textarea{width:100%;min-height:44px;border:1px solid #d7e1dc;border-radius:10px;padding:10px 12px;color:#001f11;font:inherit}.trip-booking-fields textarea{resize:vertical}
.trip-reserve-button{min-height:52px;border:0;border-radius:999px;background:#0ad95b;color:#001f11;font-weight:950;cursor:pointer;box-shadow:0 9px 18px rgba(10,217,91,.25)}.trip-reserve-button:disabled{opacity:.7;cursor:wait}.trip-paypal-button{min-height:50px;border:1px solid #003c22;border-radius:999px;background:#fff;color:#003c22;font-weight:950;cursor:pointer}.trip-paypal-button:disabled{opacity:.7;cursor:wait}.trip-paypal-status{display:grid;gap:8px;padding:12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#123052;font-size:.86rem;line-height:1.45}.trip-paypal-status a,.trip-paypal-status button{display:inline-flex;justify-content:center;padding:9px 12px;border-radius:999px;border:1px solid #1d4ed8;background:#fff;color:#1d4ed8;font-weight:850;text-decoration:none;cursor:pointer}.trip-book-ahead{display:flex;gap:9px;padding:12px;border-radius:6px;background:#baf5c3;color:#003c22;font-size:.86rem;line-height:1.45}.trip-book-ahead i{margin-top:3px}
.trip-booking-feedback{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;font-size:.88rem;line-height:1.5}.trip-booking-feedback.success{background:#e7f9ed;color:#065f36}.trip-booking-feedback.error{background:#fff0f0;color:#9f1d1d}.trip-booking-feedback i{margin-top:3px}.trip-booking-timezone{display:block;color:#526b60;line-height:1.45}
@media (min-width: 641px){.trip-detail-shell,.trip-detail-loading{width:min(1180px,calc(100% - 32px));padding:22px 0 72px}.trip-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.trip-title-row h1{max-width:850px;font-size:clamp(1.85rem,4vw,2.5rem)}.trip-photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.trip-photo-grid figure:nth-of-type(n+3){display:block}.trip-photo-main{grid-column:1/-1;grid-row:auto}.trip-facts-grid,.trip-inclusion-grid,.trip-tour-type,.trip-booking-fields{grid-template-columns:1fr 1fr}.trip-tour-type legend,.trip-booking-fields label:last-child{grid-column:1/-1}.trip-pill-row{grid-template-columns:1fr auto}.trip-map-card{height:360px}.trip-map-canvas{min-height:360px}}
@media (min-width: 981px){.trip-title-row h1{font-size:clamp(2rem,3.2vw,2.75rem)}.trip-photo-grid{grid-template-columns:1.25fr .82fr .82fr;grid-auto-rows:176px}.trip-photo-main{grid-column:auto;grid-row:span 2}.trip-review-callout{display:grid}.trip-section-tabs{top:78px;gap:22px}.trip-detail-layout{grid-template-columns:minmax(0,1fr) 390px;gap:34px;align-items:start}.trip-anchor-target{scroll-margin-top:150px}.trip-itinerary-map{grid-template-columns:minmax(280px,390px) minmax(320px,1fr)}.trip-itinerary-map-panel,.trip-booking-card{position:sticky;top:132px}.trip-booking-card{padding:24px}.trip-map-card{height:420px}.trip-map-canvas{min-height:420px}}
.trip-reviews-summary{display:flex;align-items:center;gap:15px;margin:16px 0 20px;padding:16px 18px;background:#f4f7f1;border-left:3px solid #47765c}.trip-reviews-summary strong{font:400 2.45rem Georgia,serif;color:#102e26}.trip-reviews-summary div{display:grid;gap:3px}.trip-reviews-summary small{color:#607066;font-size:.73rem}.trip-review-stars{display:block;color:#df9e1d;font-size:.86rem;letter-spacing:2px}.trip-review-stars i{color:#d9ded9;font-style:normal}.trip-review-list{display:grid;gap:14px}.trip-review-card{display:grid;grid-template-columns:43px minmax(0,1fr);gap:12px;padding:17px 0;border-top:1px solid #e0e6de}.trip-review-card>img,.trip-review-avatar{width:43px;height:43px;border-radius:50%;object-fit:cover}.trip-review-avatar{display:grid;place-items:center;background:#315f4a;color:#fff;font-size:.82rem;font-weight:800}.trip-review-body{min-width:0}.trip-review-body header{display:flex;justify-content:space-between;gap:8px}.trip-review-body header div{display:grid;gap:2px}.trip-review-body b{color:#102e26;font-size:.86rem}.trip-review-body small,.trip-review-body time{color:#758078;font-size:.7rem}.trip-review-body time{white-space:nowrap}.trip-review-body>.trip-review-stars{margin:8px 0}.trip-review-body h3{margin:0 0 4px;color:#102e26;font:700 .9rem "DM Sans",sans-serif}.trip-review-body p{font-size:.86rem;line-height:1.55}.trip-reviews-empty{display:flex;align-items:flex-start;gap:13px;margin-top:16px;padding:16px;background:#f8f8f4}.trip-reviews-empty>i{color:#c29431;font-size:1.2rem}.trip-reviews-empty div{display:grid;gap:4px}.trip-reviews-empty b{color:#102e26;font-size:.85rem}.trip-reviews-empty span{color:#66726b;font-size:.76rem;line-height:1.45}
.trip-review-section{margin:30px 0;padding:28px;border:1px solid #d9e2d8;background:#fffdf9;scroll-margin-top:145px}.trip-review-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid #e0e6de}.trip-review-section-heading span{display:block;margin-bottom:7px;color:#498166;font-size:.63rem;font-weight:900;letter-spacing:.14em}.trip-review-section-heading h2{margin:0;color:#102e26;font:400 clamp(1.45rem,3vw,2rem)/1.1 Georgia,serif}.trip-review-write-link{display:inline-flex;flex:none;align-items:center;gap:8px;padding:11px 14px;background:#153e31;color:#fff!important;font-size:.73rem!important;font-weight:800;text-decoration:none}.trip-review-write-link:hover{background:#245844}.trip-review-section .trip-reviews-summary{margin-top:20px;border-left:0;background:#edf3eb}.trip-review-section .trip-review-card:last-child{padding-bottom:0}.trip-review-section .trip-reviews-empty{align-items:center;gap:21px;margin:22px 0 0;padding:26px;background:linear-gradient(135deg,#f4f6ee,#fbfaf4);border:1px solid #e0e6d8}.trip-reviews-empty__mark{display:flex!important;align-items:center;justify-content:center;gap:1px;width:58px;height:58px;flex:none;border-radius:50%;background:#f1dfb7;color:#bb8111;font-size:.95rem}.trip-reviews-empty__content{display:block!important}.trip-reviews-empty__content b{display:block;font:400 1.05rem/1.35 Georgia,serif}.trip-reviews-empty__content p{margin:7px 0 12px!important;color:#66726b!important;font-size:.82rem!important;line-height:1.55!important}.trip-reviews-empty__content a{color:#1d6048;font-size:.76rem;font-weight:900;text-decoration:none}.trip-reviews-empty__content a i{margin-left:4px}.trip-review-section .trip-review-list{margin-top:8px}@media(max-width:620px){.trip-review-section{margin-inline:-4px;padding:20px}.trip-review-section-heading{align-items:flex-start;flex-direction:column}.trip-review-section .trip-reviews-empty{align-items:flex-start;flex-direction:column}.trip-review-card{grid-template-columns:36px minmax(0,1fr)}.trip-review-card>img,.trip-review-avatar{width:36px;height:36px}.trip-review-body header{display:block}.trip-review-body time{display:block;margin-top:4px}}
.trip-review-write-link,.trip-reviews-empty__action{border:0;cursor:pointer}.trip-reviews-empty__action{padding:0;background:transparent;color:#1d6048;font-size:.76rem;font-weight:900}.trip-review-dialog-backdrop{position:fixed;z-index:500;inset:0;background:rgba(6,30,22,.62);backdrop-filter:blur(4px)}.trip-review-dialog{position:fixed;z-index:501;top:50%;left:50%;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;transform:translate(-50%,-50%);padding:30px;background:#fffdf8;box-shadow:0 28px 90px rgba(0,0,0,.3)}.trip-review-dialog>span{display:block;color:#438064;font-size:.62rem;font-weight:900;letter-spacing:.13em}.trip-review-dialog h2{margin:8px 0;color:#102e26;font:400 1.7rem/1.15 Georgia,serif}.trip-review-dialog>p{margin:0;color:#65726a;font-size:.85rem;line-height:1.55}.trip-review-dialog__close{position:absolute;top:10px;right:14px;border:0;background:transparent;color:#52645b;font-size:1.7rem;cursor:pointer}.trip-review-dialog__stars{display:flex;gap:7px;margin:20px 0 15px}.trip-review-dialog__stars button{padding:0;border:0;background:transparent;color:#d5d8d1;font-size:1.55rem;cursor:pointer}.trip-review-dialog__stars button.selected{color:#d89b19}.trip-review-dialog input,.trip-review-dialog textarea{box-sizing:border-box;width:100%;margin:0 0 10px;padding:12px;border:1px solid #d6ddd4;background:#fff;color:#173d32;font:inherit}.trip-review-dialog textarea{resize:vertical}.trip-review-dialog__error{margin:4px 0 10px!important;color:#a63d32!important}.trip-review-dialog__submit{width:100%;padding:13px;border:0;background:#153e31;color:#fff;font-weight:800;cursor:pointer}.trip-review-dialog__submit:disabled{opacity:.65;cursor:wait}
.trip-review-section{background:#fff;border-color:#e1e8e2}.trip-review-section-heading h2{font-family:"DM Sans",sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:-.025em}.trip-review-section-heading h2 i{margin-left:4px;color:#75827b;font-size:.9rem}.trip-reviews-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:42px;margin-top:26px}.trip-reviews-scorecard{padding-right:28px;border-right:1px solid #e2e7e2}.trip-reviews-scorecard>span{display:block;color:#253d34;font-size:.82rem;font-weight:800}.trip-reviews-scorecard>strong{display:block;margin-top:16px;color:#102e26;font:800 2.45rem/1 "DM Sans",sans-serif;letter-spacing:-.08em}.trip-reviews-scorecard>strong small{margin-left:2px;color:#67766e;font-size:1.05rem;letter-spacing:0}.trip-reviews-scorecard__stars{margin:14px 0 13px;color:#133d31;font-size:2.15rem;letter-spacing:4px;line-height:1}.trip-reviews-scorecard p{margin:0!important;color:#748078!important;font-size:.77rem!important;line-height:1.45!important}.trip-reviews-content{min-width:0}.trip-reviews-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.trip-reviews-search{display:flex;align-items:center;gap:8px;width:min(300px,100%);padding:9px 12px;border:1px solid #87938d;border-radius:999px;color:#64746b}.trip-reviews-search input{min-width:0;width:100%;border:0;background:transparent;color:#173d32;font:inherit;outline:0}.trip-reviews-controls{display:flex;align-items:center;gap:12px}.trip-reviews-controls label{display:flex;align-items:center;gap:7px;color:#53635a;font-size:.66rem;font-weight:900;text-transform:uppercase;white-space:nowrap}.trip-reviews-controls select{border:0;border-bottom:1px solid #50665b;padding:4px 1px;background:transparent;color:#183d31;font:800 .78rem "DM Sans",sans-serif;outline:0}.trip-reviews-filter{padding:7px 10px;border-radius:999px;background:#edf1ee}.trip-reviews-filter select{border:0}.trip-review-list{gap:0}.trip-review-card{grid-template-columns:46px minmax(0,1fr);gap:11px;padding:22px 0;border-top:0;border-bottom:1px solid #e4e9e5}.trip-review-card>img,.trip-review-avatar{width:42px;height:42px}.trip-review-body header{align-items:flex-start}.trip-review-body b{font-size:.89rem}.trip-review-body small,.trip-review-body time{font-size:.75rem}.trip-review-body>.trip-review-stars{margin:8px 0 10px;color:#173d32;font-size:.78rem}.trip-review-body>.trip-review-stars i{color:#cdd4cf}.trip-review-body h3{font-size:.93rem}.trip-review-body p{max-width:780px;margin:0!important;color:#263f34!important;font-size:.92rem!important;line-height:1.62!important}.trip-reviews-no-match{padding:28px 0;color:#6c7971;font-size:.83rem!important;text-align:center}
.trip-detail-main{display:flex;flex-direction:column}.trip-accordion-list{display:flex;flex-direction:column}.trip-accordion-list>#help{order:10}.trip-accordion-list>#reviews{order:11}.trip-review-provider-reply{margin-top:15px;padding:14px 16px;border-left:3px solid #35705a;background:#f2f7f3}.trip-review-provider-reply b{display:block;margin-bottom:5px;color:#1d563f;font-size:.77rem}.trip-review-provider-reply p{font-size:.84rem!important}.trip-review-dialog input{width:100%;box-sizing:border-box}

/* Tour gallery, compact facts and scroll-aware section navigation. */
.trip-photo-grid{position:relative}
.trip-photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.trip-photo-open:focus-visible,.trip-photo-view-all:focus-visible{outline:3px solid #0a9c61;outline-offset:-3px}
.trip-photo-view-all{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid #d4e3d7;border-radius:8px;background:#fff;color:#003c22;font-size:.76rem;font-weight:850;box-shadow:0 5px 18px rgba(0,0,0,.16);cursor:pointer}
.trip-photo-grid.photo-count-1{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);grid-auto-rows:350px}
.trip-photo-grid.photo-count-1 .trip-photo-main{grid-column:1;grid-row:1}
.trip-photo-grid.photo-count-1 .trip-review-callout{grid-column:2;grid-row:1}
.trip-photo-grid.photo-count-2 .trip-photo-main{grid-row:span 2}
.trip-photo-grid.photo-count-2 figure:nth-of-type(2){grid-column:2/-1}
.trip-photo-grid.photo-count-2 .trip-review-callout{grid-column:2/-1;grid-row:2}
.trip-photo-grid.photo-count-3 .trip-review-callout{grid-column:2/-1}
@media(min-width:641px) and (max-width:980px){.trip-photo-grid.photo-count-2 .trip-photo-main,.trip-photo-grid.photo-count-3 .trip-photo-main{grid-column:1;grid-row:1/3}.trip-photo-grid.photo-count-2 figure:nth-of-type(2){grid-column:2;grid-row:1}.trip-photo-grid.photo-count-2 .trip-review-callout{grid-column:2;grid-row:2}.trip-photo-grid.photo-count-3 figure:nth-of-type(2){grid-column:2;grid-row:1}.trip-photo-grid.photo-count-3 figure:nth-of-type(3){grid-column:2;grid-row:2}.trip-photo-grid.photo-count-3 .trip-review-callout{grid-column:1/-1;grid-row:3}}
.trip-section-tabs a.active{border-bottom-color:#003c22;color:#003c22}
.trip-facts-grid{align-items:start}
.trip-facts-grid article{align-content:start;break-inside:avoid;margin-bottom:20px;padding:0 0 0 2px}
.trip-facts-grid span{overflow-wrap:anywhere}
@media(min-width:641px){.trip-facts-grid{display:block;columns:2;column-gap:30px}.trip-facts-grid article{display:grid;grid-template-columns:24px minmax(0,1fr);margin:0 0 24px}}
@media(max-width:640px){.trip-photo-grid.photo-count-1,.trip-photo-grid.photo-count-2,.trip-photo-grid.photo-count-3{grid-template-columns:1fr;grid-auto-rows:190px}.trip-photo-grid.photo-count-1 .trip-review-callout,.trip-photo-grid.photo-count-2 .trip-photo-main,.trip-photo-grid.photo-count-2 figure:nth-of-type(2),.trip-photo-grid.photo-count-2 .trip-review-callout,.trip-photo-grid.photo-count-3 .trip-review-callout{grid-column:auto;grid-row:auto}.trip-facts-grid article{margin-bottom:0}}
.trip-gallery-backdrop{position:fixed;inset:0;z-index:600;background:rgba(0,22,15,.82)}
body:has(.trip-gallery-dialog){overflow:hidden}
.trip-gallery-dialog{position:fixed;inset:clamp(8px,3vw,30px);z-index:601;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#0c1d17;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.4)}
.trip-gallery-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.15);font-size:.9rem;font-weight:800}
.trip-gallery-dialog header b{margin-left:10px;color:#c8e6d3;font-weight:600}
.trip-gallery-close,.trip-gallery-arrow{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
.trip-gallery-close:hover,.trip-gallery-arrow:hover:not(:disabled){background:rgba(255,255,255,.2)}
.trip-gallery-arrow:disabled{opacity:.35;cursor:default}
.trip-gallery-stage{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:0;padding:12px}
.trip-gallery-stage figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;height:100%;margin:0}
.trip-gallery-stage img{display:block;max-width:100%;max-height:calc(100% - 30px);object-fit:contain}
.trip-gallery-stage figcaption{max-width:100%;overflow:hidden;color:#c8d7ce;font-size:.77rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.trip-gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:10px 16px 14px;border-top:1px solid rgba(255,255,255,.15)}
.trip-gallery-thumbnails button{flex:none;width:72px;height:56px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:6px;background:#223c2f;opacity:.65;cursor:pointer}
.trip-gallery-thumbnails button.selected{border-color:#68d49a;opacity:1}
.trip-gallery-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.trip-gallery-dialog{inset:4px}.trip-gallery-stage{gap:5px;padding:6px}.trip-gallery-arrow{width:32px;height:32px}.trip-gallery-thumbnails button{width:58px;height:46px}}
.trip-review-section{margin:48px 0 34px;padding:38px 40px;box-shadow:0 14px 34px rgba(18,61,48,.06)}.trip-review-section-heading{padding-bottom:25px}.trip-reviews-shell{grid-template-columns:205px minmax(0,1fr);gap:48px;margin-top:32px}.trip-reviews-scorecard{padding-right:34px}.trip-review-card{grid-template-columns:54px minmax(0,1fr);gap:16px;padding:28px 0}.trip-review-card>img,.trip-review-avatar{width:50px;height:50px}.trip-review-avatar{font-size:.95rem}.trip-review-body b{font-size:1rem}.trip-review-body small,.trip-review-body time{font-size:.8rem}.trip-review-body>.trip-review-stars{margin:10px 0 12px;font-size:.9rem}.trip-review-body h3{font-size:1.05rem;margin-bottom:7px}.trip-review-body p{font-size:1rem!important;line-height:1.72!important}.trip-review-provider-reply{margin-top:18px;padding:17px 19px}.trip-review-provider-reply b{font-size:.84rem}.trip-review-provider-reply p{font-size:.94rem!important}.trip-reviews-toolbar{gap:22px;margin-bottom:20px}
@media(max-width:620px){.trip-review-section{margin:30px -4px 26px;padding:22px 20px}.trip-review-section-heading{padding-bottom:18px}.trip-reviews-shell{gap:22px;margin-top:22px}.trip-review-card{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:21px 0}.trip-review-card>img,.trip-review-avatar{width:40px;height:40px}.trip-review-body p{font-size:.91rem!important;line-height:1.62!important}.trip-review-provider-reply{padding:13px 14px}}
.trip-review-section{margin:54px 0 42px;padding:30px 0 42px;border:0;background:transparent;box-shadow:none}.trip-review-section-heading{padding:0 0 24px}.trip-reviews-shell{grid-template-columns:180px minmax(0,1fr);gap:44px}.trip-reviews-scorecard{padding-right:30px}.trip-review-card{padding:30px 0}.trip-reviews-empty{margin-top:26px!important;border-inline:0!important}.trip-reviews-empty__content p{max-width:640px}@media(max-width:620px){.trip-review-section{margin:34px 0 28px;padding:22px 0 28px}.trip-reviews-shell{grid-template-columns:1fr;gap:22px}.trip-reviews-scorecard{padding-right:0}.trip-review-section .trip-reviews-empty{padding-inline:0;background:transparent}}
@media(max-width:850px){.trip-reviews-shell{grid-template-columns:1fr;gap:22px}.trip-reviews-scorecard{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px;padding:0 0 18px;border-right:0;border-bottom:1px solid #e2e7e2}.trip-reviews-scorecard>span{grid-column:1}.trip-reviews-scorecard>strong{grid-column:1;margin-top:3px}.trip-reviews-scorecard__stars{grid-column:2;grid-row:1/3;margin:0;font-size:1.55rem}.trip-reviews-scorecard p{grid-column:1}.trip-reviews-toolbar{align-items:stretch;flex-direction:column}.trip-reviews-search{width:auto}.trip-reviews-controls{justify-content:space-between}.trip-reviews-controls label:first-child{min-width:0}.trip-reviews-controls label:first-child select{max-width:120px}}
@media(max-width:480px){.trip-reviews-controls{align-items:stretch;flex-direction:column;gap:8px}.trip-reviews-controls label{justify-content:space-between}.trip-reviews-filter{padding:8px 10px}.trip-reviews-scorecard__stars{font-size:1.25rem;letter-spacing:2px}}
.trip-itinerary-description{white-space:pre-line}
.trip-itinerary-description+.trip-itinerary-description{margin-top:12px}
