/* Approved itinerary detail layout. Scoped to this page; shared shell stays intact. */
.nf-itinerary-page { --trip-ink:#30251d; --trip-muted:#71685f; --trip-line:#e5e1db; --trip-surface:#f7f5f1; --trip-gold:#efb158; }
.nf-trip-shell { width:min(1248px,calc(100% - 80px)); margin-inline:auto; }
.nf-trip-detail { background:#fff; overflow:visible; }
.nf-trip-detail :is(h2,h3,p,ul,ol,dl,figure) { margin:0; }
.nf-trip-detail :is(section,details)[id] { scroll-margin-top:calc(var(--nf-trip-header-height,96px) + 96px); }
.nf-trip-detail :is(h2,h3) { overflow-wrap:anywhere; }
.nf-trip-detail h2 { font:600 clamp(27px,2.7vw,34px)/1.2 var(--nf-font-heading); letter-spacing:-.025em; }
.nf-trip-detail h3 { font:600 17px/1.45 var(--nf-font-body); }
html body.nf-itinerary-page .nf-trip-detail .nf-detail-recommendations__shell { width:min(1248px,calc(100% - 80px)); }
html body.nf-itinerary-page .nf-trip-detail .nf-detail-recommendations__copy>h2 { font-size:clamp(27px,2.7vw,34px); line-height:1.2; }
html body.nf-itinerary-page #journey-stays.nf-trip-stays { background:var(--trip-surface)!important; }
.nf-trip-detail a:hover { color:#8b581d; }
.nf-itinerary-page :is(.nf-trip-detail,.nf-trip-sections,.nf-trip-hero,.nf-enquiry,.nf-itinerary-mobile-dock) :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #986122; outline-offset:4px; }
.nf-trip-button { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:50px; padding:13px 22px; border:0; border-radius:0; background:var(--trip-gold,#efb158); color:var(--trip-ink,#30251d); font:600 14px/1.4 var(--nf-font-body); cursor:pointer; text-decoration:none; }
.nf-trip-button svg { width:18px; height:18px; flex:0 0 auto; }
.nf-trip-button:hover { background:#e5a547; }
.nf-trip-button:disabled { opacity:.6; cursor:wait; }
.nf-trip-button--compact { min-height:44px; padding:10px 20px; font-size:13px; }
.nf-trip-icon-button { display:inline-flex; flex:0 0 44px; align-items:center; justify-content:center; width:44px; height:44px; border:0; background:transparent; color:var(--trip-ink); }
.nf-trip-icon-button:hover { background:var(--trip-surface); }
.nf-trip-icon-button svg { width:20px; height:20px; }

html body.site-interior-page #itinerary-hero.nf-trip-hero { position:relative; display:flex; align-items:center; justify-content:center; min-height:100svh!important; height:auto!important; isolation:isolate; background:#292a22; overflow:hidden; }
html body.site-interior-page #itinerary-hero.nf-trip-hero::before { position:absolute; inset:0; z-index:1; pointer-events:none; background:rgba(12,15,10,.46)!important; }
.nf-trip-hero__image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.nf-trip-hero__content { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; width:min(1080px,calc(100% - 80px)); margin-inline:auto; padding:160px 0 100px; text-align:center; color:#fff; }
.nf-trip-hero__back { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-bottom:18px; color:#fff; font-size:13px; }
.nf-trip-hero__back svg { width:16px; height:16px; }
html body #itinerary-hero.nf-trip-hero h1 { width:100%; max-width:1040px; margin:0; color:#fff; font:600 clamp(34px,3.5vw,50px)/1.17 var(--nf-font-heading); letter-spacing:-.025em; text-wrap:balance; }
.nf-trip-hero__summary { max-width:690px; margin:22px 0 0; color:#fff; font:400 17px/1.65 var(--nf-font-body); text-wrap:pretty; }
.nf-trip-hero__actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px 24px; margin-top:30px; }
.nf-trip-hero__explore { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:8px 0; color:#fff; font-size:14px; }
.nf-trip-hero__explore svg { width:18px; height:18px; }
.nf-trip-hero__facts { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 24px; margin:38px 0 0; padding:0; list-style:none; font-size:13px; line-height:1.5; }
.nf-trip-hero__facts li { display:flex; align-items:center; justify-content:center; gap:8px; }
.nf-trip-hero__facts svg { width:17px; height:17px; flex-shrink:0; }
.nf-trip-signature { margin-bottom:16px; padding:7px 12px; border:1px solid rgba(255,255,255,.5); font-size:12px; color:#fff; }

.nf-trip-sections { position:sticky; top:0; z-index:44; border-bottom:1px solid var(--trip-line); background:#fff; transition:top 180ms ease; }
.nf-trip-sections__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:78px; }
.nf-trip-sections__links { display:flex; align-items:center; gap:26px; min-width:0; overflow-x:auto; scrollbar-width:none; }
.nf-trip-sections__links::-webkit-scrollbar { display:none; }
.nf-trip-sections__links a { display:inline-flex; align-items:center; min-height:52px; flex-shrink:0; white-space:nowrap; font-size:13px; color:var(--trip-muted); }
.nf-trip-sections__links a[aria-current] { font-weight:700; color:var(--trip-ink); }
.nf-trip-sections__action { display:flex; flex-shrink:0; align-items:center; gap:20px; }
.nf-trip-sections__action>span { font-size:13px; font-weight:500; }
.nf-trip-overview { display:grid; grid-template-columns:minmax(0,1fr) 360px; align-items:start; gap:64px; padding-block:64px; }
.nf-trip-overview__copy { min-width:0; }
.nf-trip-overview__copy>h2 { max-width:650px; margin-bottom:24px; }
.nf-trip-prose { color:var(--trip-muted); font-size:16px; line-height:1.75; overflow-wrap:anywhere; }
.nf-trip-prose p+p { margin-top:16px; }
.nf-trip-prose ul { padding-left:18px; list-style:disc; }
.nf-trip-prose li+li { margin-top:6px; }
.nf-trip-prose strong { font-weight:600; color:var(--trip-ink); }
.nf-trip-disclosure>summary { display:flex; align-items:center; gap:10px; width:fit-content; min-height:44px; padding:10px 0; list-style:none; color:var(--trip-ink); font-size:13px; font-weight:600; cursor:pointer; }
.nf-trip-disclosure>summary::-webkit-details-marker,.nf-trip-day>summary::-webkit-details-marker,.nf-trip-faq>summary::-webkit-details-marker { display:none; }
.nf-trip-disclosure>summary svg { width:16px; height:16px; flex-shrink:0; transition:transform 150ms; }
.nf-trip-disclosure[open]>summary svg { transform:rotate(45deg); }
.nf-trip-disclosure>.nf-trip-prose { padding:8px 0 12px; }
.nf-trip-overview__more { margin-top:10px; }
.nf-trip-route-summary { margin-top:24px; padding:20px 0; border-top:1px solid var(--trip-line); border-bottom:1px solid var(--trip-line); }
.nf-trip-route-summary h3 { margin-bottom:8px; font-size:12px; font-weight:500; color:var(--trip-muted); }
.nf-trip-route-summary p { font-size:14px; line-height:1.7; color:var(--trip-ink); }
.nf-trip-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px!important; }
.nf-trip-facts div { display:flex; flex-direction:column-reverse; gap:6px; }
.nf-trip-facts dt { font-size:12px; color:var(--trip-muted); }
.nf-trip-facts dd { font-size:14px; font-weight:600; line-height:1.5; color:var(--trip-ink); }
.nf-trip-practical { margin-top:18px; }
.nf-trip-practical .nf-trip-prose { font-size:14px; }
.nf-trip-section { padding-block:48px; }
.nf-trip-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; }
.nf-trip-section-heading p { margin-top:10px; font-size:13px; color:var(--trip-muted); }
.nf-trip-route { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(140px,1fr); overflow-x:auto; gap:24px; margin:0 0 28px!important; padding:18px 24px; background:var(--trip-surface); list-style:none; }
.nf-trip-route a { display:flex; flex-direction:column; gap:6px; height:100%; }
.nf-trip-route span { font-size:12px; color:var(--trip-muted); }
.nf-trip-route strong { font-size:13px; line-height:1.5; font-weight:600; }
.nf-trip-day { border-top:1px solid var(--trip-line); }
.nf-trip-day:last-child { border-bottom:1px solid var(--trip-line); }
.nf-trip-day>summary { display:grid; grid-template-columns:74px minmax(0,1fr) 24px; align-items:center; gap:20px; min-height:96px; padding:22px 0; list-style:none; cursor:pointer; }
.nf-trip-day__number { align-self:start; padding-top:4px; color:var(--trip-muted); font-size:13px; line-height:1.5; }
.nf-trip-day__heading { display:flex; flex-direction:column; gap:7px; min-width:0; }
.nf-trip-day__heading>strong { font:600 21px/1.4 var(--nf-font-body); color:var(--trip-ink); }
.nf-trip-day__heading>span { color:var(--trip-muted); font-size:13px; line-height:1.5; }
.nf-trip-disclosure-icon { position:relative; width:20px; height:20px; color:var(--trip-muted); flex-shrink:0; }
.nf-trip-disclosure-icon::before,.nf-trip-disclosure-icon::after { content:''; position:absolute; left:4px; right:4px; top:9px; height:1px; background:currentColor; }
.nf-trip-disclosure-icon::after { transform:rotate(90deg); }
details[open]>summary>.nf-trip-disclosure-icon::after { display:none; }
.nf-trip-day__body { padding:0 0 30px 94px; }
.nf-trip-day__body--with-image { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:40px; }
.nf-trip-day__narrative { min-width:0; max-width:820px; }
.nf-trip-day__highlights { margin-bottom:18px!important; color:var(--trip-muted); font-size:14px; line-height:1.65; }
.nf-trip-day__highlights>strong { display:block; margin-bottom:5px; font-size:12px; font-weight:600; color:var(--trip-ink); }
.nf-trip-day__image { align-self:start; overflow:hidden; background:var(--trip-surface); }
.nf-trip-day__image img { width:100%; aspect-ratio:1.48; object-fit:cover; }
.nf-trip-day__essentials { display:flex; flex-wrap:wrap; gap:20px 36px; padding-top:20px; margin-top:20px!important; border-top:1px solid var(--trip-line); font-size:13px; line-height:1.6; }
.nf-trip-day__essentials dt { margin-bottom:5px; color:var(--trip-muted); font-size:12px; }
.nf-trip-day__essentials dd { color:var(--trip-ink); }
.nf-trip-day__essentials small { display:block; color:var(--trip-muted); font-size:12px; }
.nf-trip-gallery { margin-top:20px; }
.nf-trip-gallery__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; padding-top:12px; }
.nf-trip-gallery__grid img { width:100%; aspect-ratio:1.5; object-fit:cover; }
.nf-trip-stays { margin-block:16px; background:var(--trip-surface); }
.nf-trip-stays__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:32px; margin-top:28px; }
.nf-trip-stays__grid article { min-width:0; }
.nf-trip-stays__grid h3 { font-size:17px; margin-bottom:7px; }
.nf-trip-stays__grid p { color:var(--trip-muted); font-size:13px; line-height:1.7; }
.nf-trip-stays__grid .nf-trip-stays__nights { margin-bottom:7px; font-size:12px; }
.nf-trip-stays__grid a { display:inline-flex; align-items:center; min-height:44px; margin-top:5px; font-size:12px; font-weight:600; }
.nf-trip-inclusions__grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:28px; }
.nf-trip-inclusions__grid h3 { margin-bottom:18px; }
.nf-trip-inclusions__grid ul { display:grid; gap:13px; padding:0; list-style:none; }
.nf-trip-inclusions__grid li { display:flex; align-items:start; gap:12px; font-size:15px; color:var(--trip-muted); line-height:1.65; }
.nf-trip-inclusions__grid li svg { width:16px; height:16px; flex-shrink:0; margin-top:5px; color:#8b693f; }
.nf-trip-inclusions__grid .nf-trip-disclosure { margin-top:14px; }
.nf-trip-section-note { margin-top:14px!important; font-size:14px; color:var(--trip-muted); line-height:1.7; }
.nf-trip-rates { border-top:1px solid var(--trip-line); }
.nf-trip-rates__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; margin-block:24px; }
.nf-trip-rates__grid article { padding:22px; background:var(--trip-surface); }
.nf-trip-rates__grid h3 { margin-bottom:8px; }
.nf-trip-rates__grid p { font-size:13px; color:var(--trip-muted); }
.nf-trip-rates__grid dl { display:grid; gap:12px; margin-top:22px; }
.nf-trip-rates__grid dl>div { display:flex; justify-content:space-between; gap:20px; font-size:14px; }
.nf-trip-rates__grid dd { text-align:right; font-weight:600; }
.nf-trip-rates__grid .nf-trip-prose { margin-top:18px; font-size:13px; }
.nf-trip-rates__starting { margin-top:24px!important; font-size:24px; font-weight:600; }
.nf-trip-faqs { display:grid; grid-template-columns:300px minmax(0,1fr); gap:80px; padding-bottom:64px; border-top:1px solid var(--trip-line); }
.nf-trip-faqs>header p { margin-top:18px; font-size:15px; color:var(--trip-muted); line-height:1.7; }
.nf-trip-faqs>header a { display:inline-flex; align-items:center; min-height:44px; margin-top:16px; font-size:13px; font-weight:600; }
.nf-trip-faqs>header button { display:inline-flex; align-items:center; min-height:44px; margin:16px 0 0 14px; color:var(--trip-ink); font-size:13px; font-weight:600; }
.nf-trip-faqs>header button[hidden] { display:none; }
.nf-trip-faq>summary { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:68px; padding:18px 0; list-style:none; cursor:pointer; font-size:15px; font-weight:500; }
.nf-trip-faq { border-bottom:1px solid var(--trip-line); }
.nf-trip-faq>.nf-trip-prose { padding-bottom:20px; font-size:15px; }
.nf-trip-faqs__more { margin-top:14px; }
@media(min-width:1600px) { .nf-trip-hero__content { padding-block:180px 120px; } }
@media(max-width:1199px) { .nf-trip-overview { grid-template-columns:minmax(0,1fr) 340px; gap:40px; } .nf-trip-day__body--with-image { grid-template-columns:minmax(0,1fr) 300px; gap:28px; } .nf-trip-sections__links { gap:20px; } }
@media(max-width:1023px) { .nf-trip-shell { width:calc(100% - 48px); } html body.nf-itinerary-page .nf-trip-detail .nf-detail-recommendations__shell { width:calc(100% - 48px); } .nf-trip-overview { grid-template-columns:1fr; padding-block:44px; } .nf-trip-sections__action { display:none; } .nf-trip-sections__inner { min-height:56px; } .nf-trip-sections__links { width:100%; gap:28px; } .nf-trip-sections__links a { min-height:56px; } .nf-trip-day__body--with-image { grid-template-columns:minmax(0,1fr) 260px; } .nf-trip-faqs { grid-template-columns:240px minmax(0,1fr); gap:40px; } }
@media(max-width:767px) {
    .nf-trip-shell { width:calc(100% - 40px); }
    html body.nf-itinerary-page .nf-trip-detail .nf-detail-recommendations__shell { width:calc(100% - 40px); }
    html body.site-interior-page #itinerary-hero.nf-trip-hero { min-height:calc(100svh - var(--nf-itinerary-dock-height,80px))!important; }
    .nf-trip-hero__content { width:calc(100% - 40px); padding:112px 0 44px; }
    .nf-trip-hero__back { margin-bottom:18px; font-size:12px; }
    html body #itinerary-hero.nf-trip-hero h1 { font-size:clamp(29px,7.8vw,36px); line-height:1.2; }
    .nf-trip-hero__summary { margin-top:20px; font-size:15px; line-height:1.65; }
    .nf-trip-hero__actions { gap:6px; margin-top:24px; flex-direction:column; }
    .nf-trip-hero__actions>.nf-trip-button { display:none; }
    .nf-trip-hero__explore { font-size:13px; }
    .nf-trip-hero__facts { gap:12px 16px; margin-top:26px; font-size:12px; }
    .nf-trip-hero__facts li { max-width:100%; }
    .nf-trip-hero__facts svg { width:15px; height:15px; }
    .nf-trip-sections__links { gap:24px; }
    .nf-trip-sections__links a { font-size:12px; min-height:48px; }
    .nf-trip-sections__inner { min-height:48px; }
    .nf-trip-overview { padding-block:36px; }
    .nf-trip-detail h2 { font-size:27px; line-height:1.25; }
    .nf-trip-overview__copy>h2 { margin-bottom:20px; }
    .nf-trip-prose { font-size:15px; line-height:1.7; }
    .nf-trip-facts { gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .nf-trip-section { padding-block:34px; }
    .nf-trip-section-heading { margin-bottom:14px; gap:16px; }
    .nf-trip-section-heading h2 { font-size:25px; }
    .nf-trip-route { display:none; }
    .nf-trip-day>summary { grid-template-columns:40px minmax(0,1fr) 20px; gap:12px; min-height:90px; padding:18px 0; }
    .nf-trip-day__number { font-size:11px; padding-top:2px; }
    .nf-trip-day__heading>strong { font-size:16px; line-height:1.45; }
    .nf-trip-day__heading>span { font-size:12px; line-height:1.55; }
    .nf-trip-day__body { display:flex; flex-direction:column; gap:20px; padding:0 0 24px; }
    .nf-trip-day__highlights { font-size:13px; margin-bottom:14px!important; }
    .nf-trip-day__essentials { display:grid; gap:16px; margin-top:18px!important; padding-top:16px; }
    .nf-trip-day__image { width:100%; }
    .nf-trip-day__image img { aspect-ratio:1.5; }
    .nf-trip-stays { margin-block:0; }
    .nf-trip-stays__grid { grid-template-columns:1fr; gap:24px; margin-top:24px; }
    .nf-trip-stays__grid article+article { padding-top:24px; border-top:1px solid var(--trip-line); }
    .nf-trip-inclusions__grid { grid-template-columns:1fr; gap:32px; margin-top:24px; }
    .nf-trip-inclusions__grid li { font-size:14px; }
    .nf-trip-faqs { grid-template-columns:1fr; gap:22px; }
    .nf-trip-faqs>header p { margin-top:14px; }
    .nf-trip-faqs>header a { margin-top:8px; }
    .nf-trip-faq>summary { font-size:14px; }
    .nf-trip-rates__grid { grid-template-columns:1fr; }
    .nf-trip-gallery__grid { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .nf-trip-sections,.nf-trip-disclosure>summary svg { transition:none; } }
