/* Trip details redesign — scoped to generated public trip pages only. */
.detail-page[data-trip-detail]{background:#061b28;color:#eff9f8}
.detail-page[data-trip-detail] .detail-top{padding:28px 28px 108px;background:linear-gradient(180deg,#082c3a 0,#061b28 25%,#061b28 100%)}
.detail-page[data-trip-detail] .detail-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.7fr);gap:38px;align-items:start}
.detail-page[data-trip-detail] .detail-content{display:flex;flex-direction:column;gap:22px}

/* Media-first hero */
.detail-page[data-trip-detail] [data-trip-detail-hero-frame]{height:min(650px,58vw);position:relative;overflow:hidden;border:1px solid rgba(120,229,220,.2);border-radius:30px;background:#0c3442;box-shadow:0 30px 74px rgba(0,0,0,.34)}
.detail-page[data-trip-detail] [data-trip-detail-hero-frame]>img{width:100%;height:100%;object-fit:cover;filter:saturate(1.04)}
.detail-page[data-trip-detail] [data-trip-detail-hero-frame]::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,19,29,.91) 0%,rgba(2,19,29,.53) 43%,rgba(2,19,29,.06) 78%),linear-gradient(0deg,rgba(2,19,29,.76),transparent 55%)}
.detail-page[data-trip-detail] [data-trip-detail-hero]{position:absolute;z-index:2;bottom:clamp(24px,5vw,54px);left:clamp(22px,5vw,56px);right:22px;max-width:690px}
.detail-page[data-trip-detail] .trip-detail-kicker,.detail-page[data-trip-detail] .trip-detail-label{display:block;color:#73e5dd;font:800 10px/1.2 "Space Mono",monospace;letter-spacing:.16em;text-transform:uppercase}
.detail-page[data-trip-detail] [data-trip-detail-hero] h1{margin:13px 0 0;color:#fff;font:700 clamp(38px,5.2vw,68px)/.98 "Space Grotesk",sans-serif;letter-spacing:-.06em}
.detail-page[data-trip-detail] [data-trip-detail-hero] p{max-width:600px;margin:16px 0 0;color:#d3e5e5;font-size:15px;line-height:1.65}
.detail-page[data-trip-detail] .trip-detail-hero-link{display:inline-block;margin-top:21px;padding-bottom:5px;border-bottom:1px solid #75e8df;color:#bffff9;font-size:13px;font-weight:800}
.detail-page[data-trip-detail] .detail-gallery-label{z-index:3;top:20px;left:20px;bottom:auto;background:rgba(5,31,43,.7);backdrop-filter:blur(10px)}

/* One clear decision zone; booking stays beside it. */
.detail-page[data-trip-detail] [data-trip-detail-facts]{padding:31px 32px!important;border:1px solid rgba(118,223,215,.16);border-radius:24px;background:linear-gradient(135deg,rgba(13,57,70,.96),rgba(7,32,44,.96));box-shadow:none}
.detail-page[data-trip-detail] .trip-detail-head{margin-bottom:22px}.detail-page[data-trip-detail] .trip-detail-head h2,.detail-page[data-trip-detail] .trip-detail-gallery-head h2{margin:7px 0 0;color:#f0fbfa;font:700 clamp(26px,3.1vw,38px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.045em}.detail-page[data-trip-detail] .trip-detail-head p{max-width:650px;margin:12px 0 0;color:#a9c2c5;line-height:1.6}
.detail-page[data-trip-detail] [data-trip-detail-facts-grid]{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.detail-page[data-trip-detail] .info-item{min-height:91px;padding:15px 14px;border:1px solid rgba(157,241,233,.14);border-radius:15px;background:rgba(255,255,255,.045)}.detail-page[data-trip-detail] .info-item b{color:#65ddd5;font:800 9px "Space Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.detail-page[data-trip-detail] .info-item span{margin-top:8px;color:#e7f7f5;font-size:13px;font-weight:700;line-height:1.35}
.detail-page[data-trip-detail] [data-trip-detail-booking]{position:sticky;top:96px;padding:27px!important;border:1px solid rgba(120,233,225,.26)!important;border-radius:24px!important;background:linear-gradient(150deg,#0d4352,#062330)!important;box-shadow:0 26px 65px rgba(0,0,0,.28)!important}.detail-page[data-trip-detail] [data-trip-detail-booking] .eyebrow{color:#76e6df!important}.detail-page[data-trip-detail] [data-trip-detail-booking] h1,.detail-page[data-trip-detail] [data-trip-detail-booking] h2{margin-top:13px;font:700 26px/1.08 "Space Grotesk",sans-serif;letter-spacing:-.04em}.detail-page[data-trip-detail] [data-trip-detail-booking] .booking-price{border-block-color:rgba(153,240,233,.17)}.detail-page[data-trip-detail] [data-trip-detail-booking] .btn-primary{min-height:55px;border-radius:14px;background:#54d8d1;color:#06212c;font-size:15px;font-weight:800}.detail-page[data-trip-detail] [data-trip-detail-booking] .price-calculator{border-color:rgba(126,231,224,.23);background:rgba(81,214,207,.08)}

/* Story and highlights are editorial modules rather than an endless stack. */
.detail-page[data-trip-detail] [data-trip-detail-story]{padding:36px 34px!important;border:0!important;border-radius:24px!important;background:linear-gradient(120deg,#0c3c4a,#082a38)!important}.detail-page[data-trip-detail] [data-trip-detail-story] p{max-width:67ch;margin:0;color:#d0e3e4;font-size:17px!important;line-height:1.78!important}.detail-page[data-trip-detail] [data-trip-detail-highlights]{padding:32px!important;border:1px solid rgba(125,226,219,.14)!important;border-radius:24px!important;background:#082633!important}.detail-page[data-trip-detail] [data-trip-detail-highlights] .highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-page[data-trip-detail] [data-trip-detail-highlights] .highlight{display:flex;align-items:center;min-height:0;padding:12px 14px;border:1px solid rgba(119,224,216,.16);border-radius:13px;background:rgba(72,208,201,.06);font-size:13px;font-weight:700;line-height:1.4}.detail-page[data-trip-detail] [data-trip-detail-highlights] .highlight i{display:none}.detail-page[data-trip-detail] [data-trip-detail-highlights] .highlight::before{content:"✦";margin-right:10px;color:#74e5de;font-size:16px}

/* Image-led route cards; no dashboard rail or invented clock times. */
.detail-page[data-trip-detail] [data-trip-detail-route]{padding:34px 32px!important;border:0!important;border-radius:28px!important;background:#071f2b!important}.detail-page[data-trip-detail] [data-trip-detail-route] .itinerary{display:grid;gap:12px;margin:0}.detail-page[data-trip-detail] [data-trip-detail-route-card]{position:relative;display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;grid-template-rows:auto 1fr;gap:0 22px;min-height:156px;padding:0!important;overflow:hidden;border:1px solid rgba(126,229,222,.15)!important;border-radius:18px;background:#0b3240!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]::before{content:attr(data-route-index)!important;position:absolute!important;z-index:2;top:14px;left:14px;display:grid!important;place-items:center;width:34px!important;height:28px!important;padding:0!important;border:1px solid rgba(212,255,252,.38)!important;border-radius:8px!important;background:rgba(3,24,34,.76)!important;color:#dffffb!important;font:800 10px "Space Mono",monospace!important;letter-spacing:.08em;box-shadow:none!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]::after{display:none!important}.detail-page[data-trip-detail] .trip-route-image{grid-row:1/3;width:100%;height:100%;min-height:156px;object-fit:cover;filter:saturate(1.05)}.detail-page[data-trip-detail] [data-trip-detail-route-card] b{align-self:end;margin:20px 20px 5px 0;color:#f1fbfa;font:700 21px/1.08 "Space Grotesk",sans-serif}.detail-page[data-trip-detail] [data-trip-detail-route-card] p{grid-column:2;margin:0 20px 20px 0!important;color:#a8c2c4;font-size:13px!important;line-height:1.58!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even){grid-template-columns:minmax(0,1fr) 210px}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) .trip-route-image{grid-column:2;grid-row:1/3}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) b{grid-column:1;margin-left:20px;margin-right:0}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) p{grid-column:1;margin-left:20px!important;margin-right:0!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even)::before{right:14px;left:auto}

/* Text-first trip flow: no gallery imagery inside the itinerary. */
.detail-page[data-trip-detail] [data-trip-detail-route-card],.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even){display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:0 17px!important;min-height:98px;padding:17px 18px!important;border-radius:15px!important;background:linear-gradient(110deg,rgba(16,62,75,.92),rgba(8,39,51,.92))!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]::before,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even)::before{position:static!important;grid-row:1/3;grid-column:1;align-self:center;display:grid!important;width:40px!important;height:40px!important;padding:0!important;border:1px solid rgba(126,232,224,.4)!important;border-radius:50%!important;background:#0d3e4d!important;color:#8cebe4!important;font:800 10px "Space Mono",monospace!important}.detail-page[data-trip-detail] [data-trip-detail-route-card] b,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) b{grid-column:2;align-self:end;margin:0!important;color:#f0fbfa;font-size:18px}.detail-page[data-trip-detail] [data-trip-detail-route-card] p,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) p{grid-column:2;margin:6px 0 0!important;color:#acc4c6;font-size:13px!important;line-height:1.5!important}

/* Compact decision strip: cards only take the space their facts need. */
.detail-page[data-trip-detail] [data-trip-detail-facts]{padding:21px 22px 22px!important;border-radius:20px!important}.detail-page[data-trip-detail] [data-trip-detail-facts] .trip-detail-head{display:block;margin:0 0 14px}.detail-page[data-trip-detail] [data-trip-detail-facts] .trip-detail-head .trip-detail-label{margin-bottom:6px}.detail-page[data-trip-detail] [data-trip-detail-facts-grid]{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:8px}.detail-page[data-trip-detail] [data-trip-detail-facts-grid] .info-item:last-child{grid-column:1/-1;display:grid;grid-template-columns:135px minmax(0,1fr);align-items:center;gap:15px}.detail-page[data-trip-detail] [data-trip-detail-facts-grid] .info-item:last-child span{margin-top:0}.detail-page[data-trip-detail] .info-item{min-height:0;padding:12px 13px;border-radius:12px;align-self:start}.detail-page[data-trip-detail] .info-item span{margin-top:6px;font-size:12px;line-height:1.45}

/* Photo slider directly after the hero. */
.detail-page[data-trip-detail] .trip-detail-gallery-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:22px 0 13px}.detail-page[data-trip-detail] .trip-detail-gallery-controls{display:flex;gap:8px}.detail-page[data-trip-detail] .trip-detail-gallery-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(128,231,224,.25);border-radius:50%;background:#0d3a48;color:#dffffb;font-size:19px;cursor:pointer}.detail-page[data-trip-detail] .trip-detail-gallery-controls button:hover{background:#1a6571}.detail-page[data-trip-detail] [data-trip-detail-gallery-slider]{display:flex!important;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 5px!important}.detail-page[data-trip-detail] [data-trip-detail-gallery-slider]::-webkit-scrollbar{display:none}.detail-page[data-trip-detail] [data-trip-detail-gallery-slider] img{flex:0 0 min(42%,340px);width:min(42%,340px)!important;height:210px!important;margin:0!important;border-radius:16px!important;object-fit:cover;scroll-snap-align:start}.detail-page[data-trip-detail] [data-trip-detail-gallery-slider] img:first-child{grid-row:auto}.detail-page[data-trip-detail] [data-trip-detail-gallery-slider] img{cursor:zoom-in}.trip-gallery-lightbox{width:min(96vw,1200px);max-width:none;max-height:92vh;padding:0;border:1px solid rgba(158,242,235,.3);border-radius:20px;background:#031720;box-shadow:0 30px 100px rgba(0,0,0,.75)}.trip-gallery-lightbox::backdrop{background:rgba(0,12,19,.86);backdrop-filter:blur(7px)}.trip-gallery-lightbox img{display:block;max-width:100%;max-height:88vh;object-fit:contain}.trip-gallery-lightbox-close{position:absolute;z-index:1;top:12px;right:12px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(3,20,29,.8);color:#fff;font-size:28px;line-height:1;cursor:pointer}

@media(max-width:980px){.detail-page[data-trip-detail] .detail-layout{grid-template-columns:1fr}.detail-page[data-trip-detail] [data-trip-detail-booking]{position:static}.detail-page[data-trip-detail] [data-trip-detail-hero-frame]{height:min(600px,70vw)}}
@media(max-width:700px){.detail-page[data-trip-detail] .detail-top{padding:14px 14px 82px}.detail-page[data-trip-detail] .detail-content{gap:16px}.detail-page[data-trip-detail] [data-trip-detail-hero-frame]{height:495px;border-radius:21px}.detail-page[data-trip-detail] [data-trip-detail-hero-frame]::after{background:linear-gradient(0deg,rgba(2,19,29,.93) 0%,rgba(2,19,29,.37) 68%,rgba(2,19,29,.05) 100%)}.detail-page[data-trip-detail] [data-trip-detail-hero]{right:20px;bottom:23px;left:20px}.detail-page[data-trip-detail] [data-trip-detail-hero] h1{font-size:36px}.detail-page[data-trip-detail] [data-trip-detail-hero] p{font-size:13px;line-height:1.5}.detail-page[data-trip-detail] [data-trip-detail-facts],.detail-page[data-trip-detail] [data-trip-detail-story],.detail-page[data-trip-detail] [data-trip-detail-highlights],.detail-page[data-trip-detail] [data-trip-detail-route],.detail-page[data-trip-detail] [data-trip-detail-plan],.detail-page[data-trip-detail] [data-trip-detail-faq]{padding:23px 19px!important;border-radius:19px!important}.detail-page[data-trip-detail] .trip-detail-head{margin-bottom:17px}.detail-page[data-trip-detail] .trip-detail-head h2,.detail-page[data-trip-detail] .trip-detail-gallery-head h2{font-size:26px}.detail-page[data-trip-detail] [data-trip-detail-facts-grid],.detail-page[data-trip-detail] [data-trip-detail-highlights] .highlight-grid{grid-template-columns:repeat(2,1fr)}.detail-page[data-trip-detail] .info-item{min-height:78px;padding:11px}.detail-page[data-trip-detail] .info-item span{font-size:11px}.detail-page[data-trip-detail] [data-trip-detail-story] p{font-size:15px!important}.detail-page[data-trip-detail] [data-trip-detail-route-card],.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even){grid-template-columns:112px minmax(0,1fr)!important;min-height:128px;border-radius:14px}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) .trip-route-image{grid-column:1;grid-row:1/3}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) b{grid-column:2;margin-left:14px}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) p{grid-column:2;margin-left:14px!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even)::before{right:auto;left:10px}.detail-page[data-trip-detail] .trip-route-image{min-height:128px}.detail-page[data-trip-detail] [data-trip-detail-route-card]::before{top:9px;left:9px;width:29px!important;height:24px!important;font-size:9px}.detail-page[data-trip-detail] [data-trip-detail-route-card] b{margin:16px 13px 3px 14px;font-size:16px}.detail-page[data-trip-detail] [data-trip-detail-route-card] p{margin:0 13px 14px 14px!important;font-size:11px!important;line-height:1.5!important}.detail-page[data-trip-detail] [data-trip-detail-gallery-slider] img{flex-basis:78%;width:78%!important;height:190px!important}.detail-page[data-trip-detail] .trip-detail-gallery-controls button{width:38px;height:38px}.detail-page[data-trip-detail] [data-trip-detail-booking]{padding:20px!important;border-radius:19px!important}}
@media(max-width:700px){.detail-page[data-trip-detail] [data-trip-detail-route-card],.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even){grid-template-columns:43px minmax(0,1fr)!important;min-height:84px;padding:13px!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]::before,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even)::before{grid-column:1;width:34px!important;height:34px!important}.detail-page[data-trip-detail] [data-trip-detail-route-card] b,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) b{grid-column:2;margin:0!important;font-size:16px}.detail-page[data-trip-detail] [data-trip-detail-route-card] p,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) p{grid-column:2;margin:4px 0 0!important;font-size:11px!important}}
/* Day flow: lightweight icon timeline, not dashboard cards. */
.detail-page[data-trip-detail] [data-trip-detail-route]{background:linear-gradient(145deg,#092b38,#061e29)!important}.detail-page[data-trip-detail] [data-trip-detail-route] .itinerary{position:relative;display:grid;gap:0;margin:5px 0 0;padding:0}.detail-page[data-trip-detail] [data-trip-detail-route] .itinerary::before{content:"";position:absolute;top:50px;bottom:50px;left:23px;width:1px;background:linear-gradient(#4edbd4,rgba(78,219,212,.15))}.detail-page[data-trip-detail] [data-trip-detail-route-card],.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even){display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:0 18px!important;min-height:0!important;padding:15px 0!important;border:0!important;border-radius:0!important;background:transparent!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]::before,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even)::before{content:attr(data-route-icon)!important;position:relative!important;z-index:1;grid-column:1;grid-row:1/3;align-self:center;display:grid!important;place-items:center;width:46px!important;height:46px!important;padding:0!important;border:1px solid rgba(125,232,224,.36)!important;border-radius:50%!important;background:#0b3443!important;color:initial!important;font:21px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif!important;box-shadow:0 0 0 6px #092b38!important}.detail-page[data-trip-detail] [data-trip-detail-route-card] b,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) b{grid-column:2;align-self:end;margin:0!important;color:#f4fcfb;font:700 18px/1.2 "Space Grotesk",sans-serif}.detail-page[data-trip-detail] [data-trip-detail-route-card] p,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) p{grid-column:2;margin:5px 0 0!important;color:#a9c5c7;font-size:13px!important;line-height:1.5!important}
@media(max-width:700px){.detail-page[data-trip-detail] [data-trip-detail-route] .itinerary::before{left:20px}.detail-page[data-trip-detail] [data-trip-detail-route-card],.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even){grid-template-columns:43px minmax(0,1fr)!important;gap:0 13px!important;padding:13px 0!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]::before,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even)::before{width:40px!important;height:40px!important;font-size:18px!important;box-shadow:0 0 0 5px #092b38!important}.detail-page[data-trip-detail] [data-trip-detail-route-card] b,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) b{font-size:16px}.detail-page[data-trip-detail] [data-trip-detail-route-card] p,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) p{font-size:12px!important}}
/* Responsive day map: fill desktop width; retain a disciplined mobile timeline. */
@media(min-width:701px){.detail-page[data-trip-detail] [data-trip-detail-route] .itinerary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px}.detail-page[data-trip-detail] [data-trip-detail-route] .itinerary::before{display:none}.detail-page[data-trip-detail] [data-trip-detail-route-card],.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even){display:block!important;min-height:174px!important;padding:18px 15px!important;border:1px solid rgba(124,230,222,.16)!important;border-radius:16px!important;background:rgba(18,74,87,.28)!important}.detail-page[data-trip-detail] [data-trip-detail-route-card]::before,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even)::before{position:static!important;display:grid!important;width:46px!important;height:46px!important;margin:0 0 16px!important;box-shadow:none!important}.detail-page[data-trip-detail] [data-trip-detail-route-card] b,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) b{display:block;margin:0!important;font-size:16px}.detail-page[data-trip-detail] [data-trip-detail-route-card] p,.detail-page[data-trip-detail] [data-trip-detail-route-card]:nth-child(even) p{display:block;margin:7px 0 0!important;font-size:12px!important;line-height:1.5!important}}
@media(prefers-reduced-motion:reduce){.detail-page[data-trip-detail] *{scroll-behavior:auto!important;transition:none!important}}
