/* Wildlens 5.0.7 tour experience layer. Additive, scoped, and mobile-first. */
.wl-catalog-page { --wl-forest:#12372d; --wl-forest-deep:#0b241e; --wl-sand:#f4efe7; --wl-cream:#fbfaf7; --wl-gold:#c9954a; --wl-ink:#17211d; --wl-muted:#66736d; --wl-line:#dfe5df; background:var(--wl-cream); color:var(--wl-ink); }
.wl-catalog-page *, .wl-catalog-page *::before, .wl-catalog-page *::after { box-sizing:border-box; }
.wl-catalog-page .wl-container { width:min(1240px,calc(100% - 36px)); margin-inline:auto; }
.wl-catalog-hero { position:relative; overflow:hidden; min-height:620px; color:#fff; background:linear-gradient(120deg,rgba(11,36,30,.96),rgba(18,55,45,.68)),url('https://images.unsplash.com/photo-1516426122078-c23e76319801?q=86&w=2200&auto=format&fit=crop') center/cover; }
.wl-catalog-hero::after { content:""; position:absolute; inset:auto 0 0; height:28%; background:linear-gradient(transparent,rgba(11,36,30,.5)); pointer-events:none; }
.wl-catalog-hero__inner { position:relative; z-index:1; padding:9rem 0 3rem; }
.wl-catalog-page .wl-breadcrumbs { display:flex; gap:.55rem; margin-bottom:2.3rem; color:rgba(255,255,255,.7); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.wl-catalog-page .wl-breadcrumbs a { color:#fff; text-decoration:none; }
.wl-catalog-eyebrow, .wl-section-kicker { display:inline-block; color:var(--wl-gold); font-size:.7rem; font-weight:850; letter-spacing:.16em; text-transform:uppercase; }
.wl-catalog-hero h1 { max-width:850px; margin:1rem 0 1.4rem; color:#fff; font-size:clamp(3.2rem,7.5vw,7.2rem); line-height:.92; letter-spacing:-.07em; }
.wl-catalog-hero p { max-width:650px; margin:0; color:rgba(255,255,255,.82); font-size:1.08rem; line-height:1.75; }
.wl-catalog-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin-top:2rem; }
.wl-catalog-page .wl-button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:50px; padding:.82rem 1.25rem; border:1px solid transparent; border-radius:999px; font-size:.77rem; font-weight:850; text-decoration:none; transition:transform .22s ease,background .22s ease,border-color .22s ease; }
.wl-catalog-page .wl-button:hover { transform:translateY(-2px); }
.wl-button--accent { background:var(--wl-gold); color:#1e1c15; }
.wl-button--accent:hover { background:#e0ad63; }
.wl-button--outline-light { border-color:rgba(255,255,255,.45)!important; color:#fff; }
.wl-button--outline-light:hover { background:rgba(255,255,255,.1); }
.wl-button--outline { border-color:var(--wl-forest)!important; color:var(--wl-forest); }
.wl-button--soft { border-color:var(--wl-line)!important; background:#fff; color:var(--wl-forest); }
.wl-catalog-proof { display:flex; flex-wrap:wrap; gap:2rem; margin-top:4.5rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.7); font-size:.72rem; }
.wl-catalog-proof span { display:flex; flex-direction:column; gap:.3rem; }
.wl-catalog-proof strong { color:#fff; font-size:1rem; }
.wl-catalog-controls { padding:5rem 0 2rem; }
.wl-catalog-controls__head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:1.8rem; }
.wl-catalog-controls h2, .wl-season-strip h2, .wl-catalog-cta h2 { margin:.7rem 0 .5rem; color:var(--wl-forest-deep); font-size:clamp(2rem,4vw,3.7rem); line-height:1; letter-spacing:-.055em; }
.wl-catalog-controls p, .wl-season-strip p, .wl-catalog-cta p { max-width:700px; margin:0; color:var(--wl-muted); line-height:1.7; }
#wl-saved-toggle b { display:inline-grid; place-items:center; min-width:1.35rem; height:1.35rem; border-radius:50%; background:var(--wl-sand); font-size:.68rem; }
.wl-filter-panel { padding:1.15rem; border:1px solid var(--wl-line); border-radius:1.2rem; background:#fff; box-shadow:0 18px 40px rgba(18,55,45,.06); }
.wl-filter-row { display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:.7rem; }
.wl-filter-field { display:block; min-width:0; }
.wl-filter-field>span { display:block; margin:0 0 .35rem .2rem; color:var(--wl-muted); font-size:.62rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.wl-filter-field input, .wl-filter-field select { width:100%; min-height:48px; padding:.7rem .8rem; border:1px solid var(--wl-line); border-radius:.7rem; background:#fff; color:var(--wl-ink); outline:0; font:inherit; font-size:.83rem; }
.wl-filter-field input:focus, .wl-filter-field select:focus { border-color:var(--wl-gold); box-shadow:0 0 0 3px rgba(201,149,74,.16); }
.wl-filter-footer { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:.85rem; padding:.5rem .2rem 0; color:var(--wl-muted); font-size:.75rem; }
.wl-filter-reset { padding:0; border:0; background:none; color:var(--wl-forest); cursor:pointer; font:inherit; font-weight:800; text-decoration:underline; }
.wl-catalog-results { padding:1rem 0 5.5rem; }
.wl-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; }
.wl-journey-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--wl-line); border-radius:1.2rem; background:#fff; box-shadow:0 10px 30px rgba(18,55,45,.045); transition:transform .25s ease,box-shadow .25s ease; }
.wl-journey-card:hover { transform:translateY(-7px); box-shadow:0 24px 50px rgba(18,55,45,.13); }
.wl-journey-card[hidden] { display:none; }
.wl-journey-card__media { position:relative; aspect-ratio:1.18; overflow:hidden; background:var(--wl-sand); }
.wl-journey-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.wl-journey-card:hover .wl-journey-card__media img { transform:scale(1.045); }
.wl-journey-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,36,30,.1),transparent 45%,rgba(11,36,30,.28)); pointer-events:none; }
.wl-journey-card__style, .wl-save-button { position:absolute; z-index:1; top:.8rem; }
.wl-journey-card__style { left:.8rem; padding:.42rem .62rem; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(11,36,30,.82); color:#fff; font-size:.59rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
.wl-save-button { right:.8rem; display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(11,36,30,.7); color:#fff; cursor:pointer; font-size:1.2rem; line-height:1; backdrop-filter:blur(8px); }
.wl-save-button.is-saved { background:var(--wl-gold); color:#1e1c15; }
.wl-journey-card__body { display:flex; flex:1; flex-direction:column; padding:1.2rem; }
.wl-journey-card__route { margin-bottom:.6rem; color:var(--wl-forest); font-size:.68rem; font-weight:850; letter-spacing:.03em; text-transform:uppercase; }
.wl-journey-card__body h3 { margin:0; color:var(--wl-forest-deep); font-size:1.35rem; line-height:1.1; letter-spacing:-.035em; }
.wl-journey-card__body h3 a { color:inherit; text-decoration:none; }
.wl-journey-card__body>p { min-height:4.5em; margin:.8rem 0 1rem; color:var(--wl-muted); font-size:.84rem; line-height:1.6; }
.wl-journey-card__facts { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.wl-journey-card__facts span { min-width:0; padding:.65rem; border-radius:.65rem; background:var(--wl-sand); }
.wl-journey-card__facts small, .wl-journey-card__footer small { display:block; margin-bottom:.25rem; color:var(--wl-muted); font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; }
.wl-journey-card__facts b { display:block; overflow:hidden; color:var(--wl-ink); font-size:.73rem; text-overflow:ellipsis; white-space:nowrap; }
.wl-journey-card__footer { display:flex; align-items:end; justify-content:space-between; gap:.8rem; margin-top:auto; padding-top:1rem; }
.wl-journey-card__footer strong { display:inline-block; margin-right:.2rem; color:var(--wl-forest-deep); font-size:1.25rem; }
.wl-journey-card__footer em { color:var(--wl-muted); font-size:.62rem; font-style:normal; }
.wl-text-link { color:var(--wl-forest); font-size:.72rem; font-weight:850; text-decoration:none; white-space:nowrap; }
.wl-text-link:hover { color:var(--wl-gold); }
.wl-catalog-no-results, .wl-empty-state { padding:4rem 1rem; text-align:center; }
.wl-catalog-no-results[hidden] { display:none; }
.wl-catalog-no-results h2, .wl-empty-state h2 { margin:0 0 .5rem; color:var(--wl-forest-deep); }
.wl-catalog-no-results p, .wl-empty-state p { margin:0 auto 1.3rem; color:var(--wl-muted); }
.wl-season-strip { padding:4rem 0; background:var(--wl-sand); }
.wl-season-strip__inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.wl-catalog-cta { padding:4rem 0 5rem; background:var(--wl-forest-deep); color:#fff; }
.wl-catalog-cta__inner { max-width:760px; }
.wl-catalog-cta h2 { color:#fff; }
.wl-catalog-cta p { color:rgba(255,255,255,.72); }
.wl-catalog-cta .wl-section-kicker { color:#e0ad63; }
@media (max-width:1100px) { .wl-filter-row { grid-template-columns:repeat(3,1fr); } .wl-filter-field--search { grid-column:span 3; } .wl-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .wl-catalog-page .wl-container { width:min(100% - 24px,1240px); } .wl-catalog-hero { min-height:600px; } .wl-catalog-hero__inner { padding-top:6rem; } .wl-catalog-hero h1 { font-size:clamp(3.1rem,16vw,5rem); } .wl-catalog-actions { flex-direction:column; align-items:stretch; } .wl-catalog-actions .wl-button { width:100%; } .wl-catalog-proof { gap:1rem; margin-top:3rem; } .wl-catalog-controls { padding-top:3.5rem; } .wl-catalog-controls__head, .wl-season-strip__inner { align-items:stretch; flex-direction:column; } .wl-filter-row, .wl-catalog-grid { grid-template-columns:1fr; } .wl-filter-field--search { grid-column:auto; } .wl-filter-footer { align-items:flex-start; flex-direction:column; } .wl-journey-card__body>p { min-height:0; } }
@media (prefers-reduced-motion:reduce) { .wl-catalog-page *, .wl-catalog-page *::before, .wl-catalog-page *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* Single tour conversion and planning enhancements */
.wl-single-tour__hero-content { position:relative; }
.wl-single-tour__hero .wl-tour-wishlist { position:absolute; top:1rem; right:0; }
.wl-tour-wishlist { display:inline-flex; align-items:center; gap:.45rem; padding:.65rem .85rem; border:1px solid rgba(255,255,255,.38); border-radius:999px; background:rgba(11,36,30,.62); color:#fff; cursor:pointer; font:inherit; font-size:.72rem; font-weight:850; backdrop-filter:blur(8px); }
.wl-tour-wishlist.is-saved { border-color:var(--wl-gold,#c9954a); background:var(--wl-gold,#c9954a); color:#1e1c15; }
.wl-single-tour__season-note { display:flex; gap:.8rem; align-items:flex-start; margin:1.2rem 0; padding:1rem 1.05rem; border:1px solid #eadfcf; border-radius:.9rem; background:#fcf7ee; color:#4c4337; }
.wl-single-tour__season-note strong { display:block; margin-bottom:.25rem; color:#2d271e; }
.wl-single-tour__season-note p { margin:0; font-size:.82rem; line-height:1.55; }
.wl-single-tour__season-note span[aria-hidden="true"] { color:#a6742c; font-size:1.35rem; line-height:1; }
.wl-single-tour__related { margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--wl-line,#dfe5df); }
.wl-single-tour__related h2 { margin:0 0 1rem; }
.wl-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.wl-related-card { padding:1rem; border:1px solid var(--wl-line,#dfe5df); border-radius:.9rem; background:#fff; }
.wl-related-card a { color:var(--wl-forest,#12372d); font-weight:850; text-decoration:none; }
.wl-related-card small { display:block; margin-top:.35rem; color:var(--wl-muted,#66736d); font-size:.7rem; }
.wl-tour-mobile-bar { display:none; }
@media (max-width:767px) { .wl-single-tour__hero .wl-tour-wishlist { position:static; margin:1rem 0 0; } .wl-related-grid { grid-template-columns:1fr; } .wl-tour-mobile-bar { position:fixed; z-index:50; right:0; bottom:0; left:0; display:grid; grid-template-columns:1fr 1fr; gap:.55rem; padding:.55rem; border-top:1px solid rgba(255,255,255,.12); background:rgba(11,36,30,.96); box-shadow:0 -10px 30px rgba(0,0,0,.15); } .wl-tour-mobile-bar a { min-height:44px; } body { padding-bottom:4rem; } }
@media (prefers-reduced-motion:reduce) { .wl-tour-wishlist { transition:none!important; } }

/* 5.0.8 detail-card refinement: scoped to dedicated tour pages only. */
.wl-single-tour { --wl-tour-forest:#12372d; --wl-tour-deep:#0a241d; --wl-tour-gold:#c9954a; --wl-tour-cream:#fbfaf7; --wl-tour-sand:#f3eee5; --wl-tour-line:#e2e6e0; --wl-tour-muted:#68756e; }
.wl-single-tour .wl-tour-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:1.35rem 0 1.15rem; }
.wl-single-tour .wl-tour-fact-card { position:relative; display:flex; min-width:0; min-height:98px; align-items:center; gap:.85rem; padding:1rem 1.05rem; overflow:hidden; border:1px solid var(--wl-tour-line); border-radius:1.1rem; background:linear-gradient(145deg,#fff 0%,#fafaf8 100%); box-shadow:0 10px 24px rgba(18,55,45,.045); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.wl-single-tour .wl-tour-fact-card::after { position:absolute; right:-1.1rem; bottom:-1.5rem; width:4.8rem; height:4.8rem; border-radius:50%; background:rgba(201,149,74,.08); content:""; }
.wl-single-tour .wl-tour-fact-card:hover { border-color:rgba(201,149,74,.45); box-shadow:0 18px 34px rgba(18,55,45,.09); transform:translateY(-2px); }
.wl-single-tour .wl-tour-fact-card--duration, .wl-single-tour .wl-tour-fact-card--ideal_season { border-color:#d9e4da; background:linear-gradient(145deg,#f8fbf7 0%,#fff 100%); }
.wl-single-tour .wl-tour-fact-card--transport { grid-column:span 2; }
.wl-single-tour .wl-tour-fact-card__icon { position:relative; z-index:1; display:grid; flex:0 0 43px; place-items:center; width:43px; height:43px; border:1px solid rgba(201,149,74,.24); border-radius:.85rem; background:#f8f0e4; color:var(--wl-tour-forest); }
.wl-single-tour .wl-tour-fact-card__icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.55; }
.wl-single-tour .wl-tour-fact-card__copy { position:relative; z-index:1; display:flex; min-width:0; flex-direction:column; gap:.28rem; }
.wl-single-tour .wl-tour-fact-card__copy small { color:var(--wl-tour-muted); font-size:.6rem; font-weight:850; letter-spacing:.12em; line-height:1.1; text-transform:uppercase; }
.wl-single-tour .wl-tour-fact-card__copy strong { overflow-wrap:anywhere; color:var(--wl-tour-deep); font-size:.9rem; font-weight:750; line-height:1.35; }
.wl-single-tour .wl-tour-enquiry { position:relative; }
.wl-single-tour .wl-tour-enquiry__card { position:sticky; top:1.4rem; overflow:hidden; padding:1.55rem; border:1px solid rgba(255,255,255,.55); border-radius:1.45rem; background:linear-gradient(155deg,#fff 0%,#f8f5ef 100%); box-shadow:0 22px 50px rgba(18,55,45,.12); }
.wl-single-tour .wl-tour-enquiry__card::before { position:absolute; top:-5.4rem; right:-4rem; width:13rem; height:13rem; border-radius:50%; background:rgba(201,149,74,.13); content:""; pointer-events:none; }
.wl-single-tour .wl-enquiry-card__top, .wl-single-tour .wl-enquiry-card__trust { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.wl-single-tour .wl-enquiry-card__kicker, .wl-single-tour .wl-enquiry-card__price-label, .wl-single-tour .wl-enquiry-card__next-title { color:var(--wl-tour-muted); font-size:.62rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.wl-single-tour .wl-enquiry-card__badge { padding:.4rem .58rem; border:1px solid #d8e1da; border-radius:999px; background:#f1f6f1; color:var(--wl-tour-forest); font-size:.59rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.wl-single-tour .wl-enquiry-card__price-label { position:relative; z-index:1; margin-top:2rem; }
.wl-single-tour .wl-enquiry-card__price { position:relative; z-index:1; display:block; margin:.25rem 0 .25rem; color:var(--wl-tour-deep); font-size:clamp(2.4rem,4vw,3.5rem); font-weight:850; letter-spacing:-.075em; line-height:1; }
.wl-single-tour .wl-enquiry-card__basis { position:relative; z-index:1; display:block; color:var(--wl-tour-muted); font-size:.68rem; line-height:1.45; }
.wl-single-tour .wl-enquiry-card__intro { position:relative; z-index:1; margin:1rem 0 1.2rem; color:#526159; font-size:.8rem; line-height:1.65; }
.wl-single-tour .wl-enquiry-card__actions { position:relative; z-index:1; display:grid; gap:.55rem; }
.wl-single-tour .wl-enquiry-card__actions .wl-button { min-height:51px; }
.wl-single-tour .wl-enquiry-card__trust { margin:1.2rem 0 0; padding:1rem 0; border-top:1px solid var(--wl-tour-line); border-bottom:1px solid var(--wl-tour-line); color:var(--wl-tour-forest); font-size:.63rem; font-weight:800; }
.wl-single-tour .wl-enquiry-card__trust span { display:flex; align-items:center; gap:.35rem; }
.wl-single-tour .wl-enquiry-card__trust b { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; background:#dbeade; color:var(--wl-tour-forest); font-size:.68rem; }
.wl-single-tour .wl-enquiry-card__next { position:relative; z-index:1; padding-top:1.1rem; }
.wl-single-tour .wl-tour-enquiry__expectations { display:grid; gap:.72rem; margin:1rem 0 0; padding:0; list-style:none; }
.wl-single-tour .wl-tour-enquiry__expectations li { display:flex; align-items:flex-start; gap:.7rem; margin:0; color:#526159; font-size:.76rem; line-height:1.45; }
.wl-single-tour .wl-tour-enquiry__expectations li::before { display:none; }
.wl-single-tour .wl-tour-enquiry__expectations li b { flex:0 0 auto; color:var(--wl-tour-gold); font-size:.67rem; letter-spacing:.06em; }
.wl-single-tour .wl-tour-enquiry__expectations li span { display:block; }
.wl-single-tour .wl-related-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.wl-single-tour .wl-related-heading h2 { margin:.45rem 0 0; color:var(--wl-tour-deep); font-size:clamp(1.7rem,3vw,2.45rem); letter-spacing:-.05em; }
.wl-single-tour .wl-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.wl-single-tour .wl-related-card { min-width:0; overflow:hidden; border:1px solid var(--wl-tour-line); border-radius:1.15rem; background:#fff; box-shadow:0 10px 26px rgba(18,55,45,.055); transition:transform .22s ease,box-shadow .22s ease; }
.wl-single-tour .wl-related-card:hover { transform:translateY(-4px); box-shadow:0 18px 34px rgba(18,55,45,.12); }
.wl-single-tour .wl-related-card__media { position:relative; display:block; aspect-ratio:1.5; overflow:hidden; background:linear-gradient(135deg,#173e32,#5e826b); color:#fff; text-decoration:none; }
.wl-single-tour .wl-related-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.wl-single-tour .wl-related-card:hover .wl-related-card__media img { transform:scale(1.05); }
.wl-single-tour .wl-related-card__media::after { position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,28,23,.05),rgba(8,28,23,.34)); content:""; pointer-events:none; }
.wl-single-tour .wl-related-card__placeholder { display:grid; width:100%; height:100%; place-items:center; color:rgba(255,255,255,.7); font-size:2.2rem; }
.wl-single-tour .wl-related-card__arrow { position:absolute; z-index:1; top:.75rem; right:.75rem; display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(8,28,23,.6); color:#fff; font-size:1rem; }
.wl-single-tour .wl-related-card__body { padding:1rem 1.05rem 1.15rem; }
.wl-single-tour .wl-related-card__meta { display:flex; justify-content:space-between; gap:.7rem; color:var(--wl-tour-muted); font-size:.61rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.wl-single-tour .wl-related-card__body h3 { margin:.6rem 0 .35rem; color:var(--wl-tour-deep); font-size:1.05rem; line-height:1.18; letter-spacing:-.025em; }
.wl-single-tour .wl-related-card__body h3 a { color:inherit; text-decoration:none; }
.wl-single-tour .wl-related-card__body p { margin:0; overflow:hidden; color:var(--wl-tour-muted); font-size:.75rem; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:767px) { .wl-single-tour .wl-tour-facts { grid-template-columns:1fr; gap:.65rem; } .wl-single-tour .wl-tour-fact-card { min-height:83px; } .wl-single-tour .wl-tour-fact-card--transport { grid-column:auto; } .wl-single-tour .wl-tour-enquiry__card { position:relative; top:auto; padding:1.25rem; } .wl-single-tour .wl-enquiry-card__price { font-size:2.7rem; } .wl-single-tour .wl-enquiry-card__trust { align-items:flex-start; flex-direction:column; } .wl-single-tour .wl-related-heading { align-items:flex-start; flex-direction:column; } .wl-single-tour .wl-related-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .wl-single-tour .wl-tour-fact-card,.wl-single-tour .wl-related-card,.wl-single-tour .wl-related-card__media img { transition:none; } }

/* Curated tour-page visual story */
.wl-single-tour .wl-tour-gallery { margin:2.4rem 0 2.8rem; padding-top:2rem; border-top:1px solid var(--wl-tour-line,#e2e6e0); }
.wl-single-tour .wl-tour-gallery__heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.wl-single-tour .wl-tour-gallery__heading h2 { margin:.45rem 0 0; color:var(--wl-tour-deep,#0a241d); font-size:clamp(1.65rem,3vw,2.35rem); letter-spacing:-.05em; }
.wl-single-tour .wl-tour-gallery__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:126px; gap:.65rem; }
.wl-single-tour .wl-tour-gallery__item { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:1rem; background:#dfe7df; }
.wl-single-tour .wl-tour-gallery__item.is-featured { grid-row:span 2; }
.wl-single-tour .wl-tour-gallery__item button { position:relative; display:block; width:100%; height:100%; padding:0; overflow:hidden; border:0; background:none; cursor:zoom-in; }
.wl-single-tour .wl-tour-gallery__item button::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(8,31,25,.58)); content:""; }
.wl-single-tour .wl-tour-gallery__item img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.wl-single-tour .wl-tour-gallery__item:hover img { transform:scale(1.06); }
.wl-single-tour .wl-tour-gallery__item button > span { position:absolute; z-index:1; right:.65rem; bottom:.6rem; display:grid; width:26px; height:26px; place-items:center; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(8,31,25,.5); color:#fff; font-size:.85rem; }
.wl-single-tour .wl-tour-gallery__item figcaption { position:absolute; z-index:2; right:.65rem; bottom:.6rem; left:.65rem; overflow:hidden; color:#fff; font-size:.68rem; font-weight:750; pointer-events:none; text-overflow:ellipsis; white-space:nowrap; }
.wl-single-tour .wl-tour-gallery__item figcaption + * { display:none; }
@media (max-width:767px) { .wl-single-tour .wl-tour-gallery__heading { align-items:flex-start; flex-direction:column; } .wl-single-tour .wl-tour-gallery__grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:115px; } .wl-single-tour .wl-tour-gallery__item.is-featured { grid-column:span 2; grid-row:span 2; } }

/* 5.1.0 itinerary timeline */
.wl-single-tour .wl-itinerary-timeline { position:relative; display:grid; gap:.55rem; margin-top:1.25rem; }
.wl-single-tour .wl-itinerary-timeline::before { position:absolute; top:1.3rem; bottom:1.3rem; left:1.25rem; width:1px; background:#d9e1d8; content:""; }
.wl-single-tour .wl-itinerary-day { position:relative; overflow:hidden; border:1px solid var(--wl-tour-line,#e2e6e0); border-radius:1rem; background:#fff; }
.wl-single-tour .wl-itinerary-day[open] { border-color:#cfdccf; box-shadow:0 12px 25px rgba(18,55,45,.06); }
.wl-single-tour .wl-itinerary-day summary { position:relative; z-index:1; display:flex; min-height:76px; align-items:center; gap:.8rem; padding:.75rem 1rem .75rem .7rem; cursor:pointer; list-style:none; }
.wl-single-tour .wl-itinerary-day summary::-webkit-details-marker { display:none; }
.wl-single-tour .wl-itinerary-day__number { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; border:1px solid #e2c18a; border-radius:50%; background:#fbf1e2; color:var(--wl-tour-gold,#c9954a); font-size:.65rem; font-weight:900; }
.wl-single-tour .wl-itinerary-day__heading { display:grid; min-width:0; gap:.23rem; }
.wl-single-tour .wl-itinerary-day__heading b { color:var(--wl-tour-muted,#68756e); font-size:.62rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.wl-single-tour .wl-itinerary-day__heading strong { overflow-wrap:anywhere; color:var(--wl-tour-deep,#0a241d); font-size:.9rem; line-height:1.35; }
.wl-single-tour .wl-itinerary-day__toggle { display:grid; flex:0 0 27px; width:27px; height:27px; margin-left:auto; place-items:center; border:1px solid #d9e2d9; border-radius:50%; color:var(--wl-tour-forest,#12372d); font-size:1.2rem; font-weight:400; line-height:1; transition:transform .2s ease,background .2s ease; }
.wl-single-tour .wl-itinerary-day[open] .wl-itinerary-day__toggle { background:var(--wl-tour-forest,#12372d); color:#fff; transform:rotate(45deg); }
.wl-single-tour .wl-itinerary-day__body { margin-left:4.1rem; padding:0 2.8rem 1.05rem 0; }
.wl-single-tour .wl-itinerary-day__body p { margin:0; color:#596960; font-size:.82rem; line-height:1.7; }
@media (max-width:767px) { .wl-single-tour .wl-itinerary-day summary { padding-right:.7rem; } .wl-single-tour .wl-itinerary-day__body { margin-left:3.7rem; padding-right:1rem; } }

/* 5.1.0 compare journeys */
.wl-journey-card__actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.7rem; }
.wl-compare-trigger { display:inline-flex; align-items:center; gap:.28rem; border:0; background:none; color:#64756b; cursor:pointer; font-size:.7rem; font-weight:800; letter-spacing:.02em; }
.wl-compare-trigger span { display:grid; width:16px; height:16px; place-items:center; border:1px solid #aebdb0; border-radius:3px; color:#6e806e; font-size:.65rem; line-height:1; }
.wl-compare-trigger.is-selected { color:var(--wl-tour-forest,#12372d); }
.wl-compare-trigger.is-selected span { border-color:var(--wl-tour-gold,#c9954a); background:#fbf1e2; color:var(--wl-tour-gold,#c9954a); }
.wl-compare-tray { position:sticky; z-index:4; bottom:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.6rem auto 0; padding:.85rem 1rem .85rem 1.1rem; border:1px solid #d6e0d5; border-radius:1rem; background:rgba(255,255,255,.96); box-shadow:0 18px 50px rgba(16,50,39,.14); backdrop-filter:blur(12px); }
.wl-compare-tray > div:first-child { display:grid; gap:.15rem; }
.wl-compare-tray strong { color:var(--wl-tour-deep,#0a241d); font-size:.85rem; }
.wl-compare-tray span { color:#718077; font-size:.72rem; }
.wl-compare-tray__actions { display:flex; align-items:center; gap:.8rem; }
.wl-compare-tray .wl-button { padding:.7rem .95rem; font-size:.68rem; }
.wl-compare-tray .wl-text-link { border:0; background:none; cursor:pointer; font-size:.7rem; }
.wl-compare-modal[hidden] { display:none; }
.wl-compare-modal { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:1rem; }
.wl-compare-modal__backdrop { position:absolute; inset:0; background:rgba(5,22,17,.72); }
.wl-compare-modal__dialog { position:relative; width:min(100%,940px); max-height:min(90vh,720px); overflow:auto; border:1px solid rgba(255,255,255,.2); border-radius:1.3rem; background:#fffdf8; box-shadow:0 30px 80px rgba(0,0,0,.28); }
.wl-compare-modal__head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.5rem 1.5rem 1rem; border-bottom:1px solid #e4e8e2; }
.wl-compare-modal__head h2 { margin:.35rem 0 0; color:var(--wl-tour-deep,#0a241d); font-size:clamp(1.7rem,3vw,2.4rem); letter-spacing:-.05em; }
.wl-compare-modal__close { display:grid; width:36px; height:36px; place-items:center; border:1px solid #d6dfd6; border-radius:50%; background:#fff; color:#456055; cursor:pointer; font-size:1.5rem; line-height:1; }
.wl-compare-table-wrap { overflow-x:auto; padding:1rem 1.5rem; }
.wl-compare-table { min-width:680px; border:1px solid #e0e6df; border-radius:.9rem; overflow:hidden; }
.wl-compare-table__row { display:grid; grid-template-columns:minmax(115px,.7fr) repeat(var(--wl-compare-columns,3),minmax(150px,1fr)); min-height:66px; border-top:1px solid #e8ece7; }
.wl-compare-table__row:first-child { border-top:0; }
.wl-compare-table__row--head { background:#eff5ed; }
.wl-compare-table__label,.wl-compare-table__value,.wl-compare-table__journey { display:flex; flex-direction:column; justify-content:center; padding:.75rem .85rem; }
.wl-compare-table__label { color:#718077; font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.wl-compare-table__value { color:#213e32; font-size:.8rem; line-height:1.4; }
.wl-compare-table__journey { color:var(--wl-tour-forest,#12372d); font-size:.86rem; font-weight:850; line-height:1.35; text-decoration:none; }
.wl-compare-table__journey small { margin-top:.25rem; color:#a87835; font-size:.65rem; font-weight:800; }
.wl-compare-modal__foot { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem 1.35rem; border-top:1px solid #e4e8e2; color:#67766e; font-size:.74rem; line-height:1.5; }
.wl-compare-modal__foot .wl-button { flex:0 0 auto; }
body.wl-compare-modal-open { overflow:hidden; }
@media (max-width:767px) { .wl-compare-tray { align-items:flex-start; flex-direction:column; } .wl-compare-tray__actions { width:100%; justify-content:space-between; } .wl-compare-modal__head,.wl-compare-modal__foot { padding-right:1rem; padding-left:1rem; } .wl-compare-table-wrap { padding-right:1rem; padding-left:1rem; } .wl-compare-modal__foot { align-items:flex-start; flex-direction:column; } }

/* 5.1.0 catalogue assurance strip */
.wl-catalog-assurance { border-top:1px solid #e7ece5; border-bottom:1px solid #e7ece5; background:#f4f7f1; }
.wl-catalog-assurance__grid { display:grid; grid-template-columns:repeat(3,1fr); }
.wl-catalog-assurance__grid > div { display:grid; grid-template-columns:auto 1fr; column-gap:.75rem; padding:1.35rem 1.4rem; border-left:1px solid #e1e9df; }
.wl-catalog-assurance__grid > div:first-child { border-left:0; }
.wl-catalog-assurance__grid span { grid-row:span 2; display:grid; width:28px; height:28px; place-items:center; border:1px solid #d9bb82; border-radius:50%; color:#ae7d35; font-size:.58rem; font-weight:900; }
.wl-catalog-assurance__grid strong { align-self:end; color:#173d30; font-size:.83rem; }
.wl-catalog-assurance__grid p { grid-column:2; margin:.28rem 0 0; color:#66766d; font-size:.73rem; line-height:1.45; }
@media (max-width:767px) { .wl-catalog-assurance__grid { grid-template-columns:1fr; } .wl-catalog-assurance__grid > div,.wl-catalog-assurance__grid > div:first-child { border-top:1px solid #e1e9df; border-left:0; } .wl-catalog-assurance__grid > div:first-child { border-top:0; } }

/* 5.1.0 map-light route path */
.wl-single-tour .wl-route-path { margin:2rem 0 2.2rem; padding:1.25rem 1.25rem 1.35rem; border:1px solid #dfe8dd; border-radius:1rem; background:#f5f8f2; }
.wl-single-tour .wl-route-path__heading h2 { margin:.35rem 0 0; color:var(--wl-tour-deep,#0a241d); font-size:1.35rem; letter-spacing:-.04em; }
.wl-single-tour .wl-route-path ol { position:relative; display:flex; align-items:flex-start; gap:0; margin:1.2rem 0 0; padding:0; list-style:none; }
.wl-single-tour .wl-route-path ol::before { position:absolute; top:14px; right:1rem; left:1rem; height:1px; background:#cbd9c8; content:""; }
.wl-single-tour .wl-route-path li { position:relative; z-index:1; display:grid; flex:1; justify-items:center; gap:.45rem; min-width:0; text-align:center; }
.wl-single-tour .wl-route-path li span { display:grid; width:28px; height:28px; place-items:center; border:1px solid #d6b477; border-radius:50%; background:#fbf1e2; color:#ac7d3d; font-size:.58rem; font-weight:900; }
.wl-single-tour .wl-route-path li strong { max-width:130px; overflow-wrap:anywhere; color:#294538; font-size:.7rem; line-height:1.35; }
@media (max-width:767px) { .wl-single-tour .wl-route-path ol { display:grid; gap:.65rem; } .wl-single-tour .wl-route-path ol::before { top:14px; bottom:14px; left:14px; width:1px; height:auto; } .wl-single-tour .wl-route-path li { grid-template-columns:28px 1fr; justify-items:start; align-items:center; text-align:left; } .wl-single-tour .wl-route-path li strong { max-width:none; } }

/* Tour detail completeness and premium reading layer. */
.wl-single-tour .wl-tour-anchor-nav { position: sticky; top: 76px; z-index: 20; display: flex; flex-wrap: wrap; gap: .3rem; padding: .45rem; border: 1px solid rgba(18,55,45,.12); border-radius: 999px; background: rgba(255,252,245,.94); box-shadow: 0 14px 30px rgba(18,55,45,.07); backdrop-filter: blur(16px); }
.wl-single-tour .wl-tour-anchor-nav a { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: .65rem .92rem; border-radius: 999px; color: #12372d; font-size: .66rem; font-weight: 900; letter-spacing: .04em; text-decoration: none; transition: color .2s ease, background .2s ease, transform .2s ease; }
.wl-single-tour .wl-tour-anchor-nav a:hover, .wl-single-tour .wl-tour-anchor-nav a:focus-visible { background: #12372d; color: #fff; transform: translateY(-1px); }
.wl-single-tour .wl-tour-detail { scroll-margin-top: 130px; margin-top: 2rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgba(18,55,45,.1); border-radius: 1.5rem; background: linear-gradient(145deg,#fffdf8,#f7fbf7); box-shadow: 0 16px 38px rgba(18,55,45,.055); }
.wl-single-tour .wl-tour-detail h2 { margin: 0 0 1.25rem; color: #09251e; font-size: clamp(1.45rem, 3vw, 2.35rem); letter-spacing: -.045em; line-height: 1.05; }
.wl-single-tour .wl-tour-detail > p { max-width: 70ch; color: #56675f; font-size: .92rem; line-height: 1.75; }
.wl-single-tour .wl-tour-detail__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.wl-single-tour .wl-tour-detail__list li { display: flex; gap: .65rem; align-items: flex-start; min-height: 62px; padding: .9rem; border: 1px solid rgba(18,55,45,.1); border-radius: .9rem; background: #fff; color: #33463d; font-size: .82rem; line-height: 1.55; }
.wl-single-tour .wl-tour-detail__list li span { flex: 0 0 auto; color: #c89437; font-size: .9rem; }
.wl-single-tour .wl-tour-detail#included { border-color: rgba(45,128,82,.2); background: linear-gradient(145deg,#f5fbf4,#fff); }
.wl-single-tour .wl-tour-detail#excluded { border-color: rgba(179,93,55,.16); background: linear-gradient(145deg,#fffaf6,#fff); }
.wl-single-tour .wl-tour-detail#included .wl-tour-detail__list li { border-color: rgba(45,128,82,.14); }
.wl-single-tour .wl-tour-detail#excluded .wl-tour-detail__list li { border-color: rgba(179,93,55,.12); }
.wl-single-tour .wl-tour-detail#planning, .wl-single-tour .wl-tour-detail#booking { background: linear-gradient(145deg,#f2f7f2,#fffdf8); }
.wl-single-tour .wl-itinerary-timeline { display: grid; gap: .75rem; }
.wl-single-tour .wl-itinerary-day__body { border-top: 1px solid rgba(18,55,45,.08); }
.wl-single-tour .wl-itinerary-day__body p { max-width: 68ch; }
.wl-single-tour .wl-tour-facts { align-items: stretch; }
.wl-single-tour .wl-tour-fact-card { min-height: 112px; padding: 1.1rem; border: 1px solid rgba(18,55,45,.1); border-radius: 1.2rem; background: linear-gradient(145deg,#fff,#f8fbf7); box-shadow: 0 12px 28px rgba(18,55,45,.05); }
.wl-single-tour .wl-tour-fact-card strong { display: block; max-width: 22ch; color: #12372d; font-size: .92rem; line-height: 1.25; }
.wl-single-tour .wl-tour-fact-card span { color: #78857d; font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.wl-single-tour .wl-tour-enquiry__card { border: 1px solid rgba(18,55,45,.12); box-shadow: 0 24px 65px rgba(18,55,45,.12); }
.wl-single-tour .wl-enquiry-card__price { letter-spacing: -.07em; }
.wl-single-tour .wl-enquiry-card__trust { display: grid; gap: .55rem; }
.wl-single-tour .wl-tour-detail a { text-underline-offset: 3px; }
@media (max-width: 767px) {
  .wl-single-tour .wl-tour-anchor-nav { top: 64px; margin-inline: -2px; border-radius: 1rem; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .wl-single-tour .wl-tour-anchor-nav::-webkit-scrollbar { display: none; }
  .wl-single-tour .wl-tour-anchor-nav a { flex: 0 0 auto; min-height: 44px; white-space: nowrap; }
  .wl-single-tour .wl-tour-detail { margin-top: 1rem; padding: 1rem; border-radius: 1.05rem; }
  .wl-single-tour .wl-tour-detail h2 { margin-bottom: 1rem; font-size: 1.55rem; }
  .wl-single-tour .wl-tour-detail__list { grid-template-columns: 1fr; gap: .55rem; }
  .wl-single-tour .wl-tour-detail__list li { min-height: 0; padding: .8rem; font-size: .78rem; }
  .wl-single-tour .wl-itinerary-day summary { min-height: 70px; padding: .7rem; }
  .wl-single-tour .wl-itinerary-day__heading strong { font-size: .82rem; }
  .wl-single-tour .wl-itinerary-day__body { margin-left: 0; padding: .8rem .85rem 1rem; }
  .wl-single-tour .wl-itinerary-day__body p { font-size: .78rem; line-height: 1.65; }
  .wl-single-tour .wl-tour-fact-card { min-height: 88px; padding: .9rem; border-radius: .95rem; }
  .wl-single-tour .wl-tour-fact-card strong { font-size: .8rem; }
}

/* Editorial fact-card typography: preserve sentence case and improve long-value wrapping. */
.wl-single-tour .wl-tour-fact-card__copy small { letter-spacing: .08em; }
.wl-single-tour .wl-tour-fact-card__copy strong { max-width: 26ch; font-size: clamp(.86rem,1.2vw,1rem); font-weight: 800; letter-spacing: -.012em; line-height: 1.28; text-transform: none; }
@media (max-width: 767px) {
  .wl-single-tour .wl-tour-fact-card__copy strong { max-width: 22ch; font-size: .82rem; line-height: 1.3; }
}
