/* package-detail.html — an editorial journey in Eagle ivory, forest and gold. */
:root { --stickyTop:88px; --tabs-h:58px; }
html:has(body.page-package-detail) { scroll-padding-top:0; }
body.page-package-detail { --gold:#c4a56a; --gold2:#82632f; --ink:#173b32; --muted:#5a6955; --muted2:#728069; --bg:#fffdf8; --bg2:#f7f3e8; --line:#ded5c2; --shadow:none; --shadow2:none; --shadow3:none; --detail-header-space:88px; --detail-space:clamp(44px,5vw,70px); margin:0; color:#173b32; background:#fffdf8; overflow-x:clip; font-family:var(--font-sans); }
body.page-package-detail :is(main,.eo-hero,.eo-tabsWrap,.eo-dialog,.eo-lightbox,.sticky-cta) * { box-sizing:border-box; }
body.page-package-detail :is(main,.eo-hero,.eo-dialog) :is(h1,h2,h3,p,figure) { margin:0; }
body.page-package-detail :is(main,.eo-hero,.eo-dialog,.sticky-cta) a { color:inherit; text-decoration:none; }
body.page-package-detail :is(main,.eo-hero,.eo-tabsWrap,.eo-dialog,.eo-lightbox,.sticky-cta) :is(a,button,input,textarea,select,summary):focus-visible { outline:3px solid #a18147; outline-offset:4px; }
body.page-package-detail [hidden] { display:none !important; }
body.page-package-detail .eo-container { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
body.page-package-detail :is(#main,[data-pane],.eo-dayCard) { scroll-margin-top:calc(var(--stickyTop) + var(--tabs-h) + 16px); }
body.page-package-detail #top { scroll-margin-top:var(--stickyTop); }
body.page-package-detail .eo-skip { position:fixed; z-index:2000; top:-100px; left:16px; padding:12px 18px; background:#173b32; color:#fffdf8; font-size:12px; }
body.page-package-detail .eo-skip:focus { top:12px; }
body.page-package-detail .eo-eyebrow { margin-bottom:16px !important; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.15em; text-transform:uppercase; }
body.page-package-detail .eo-h2 { color:#173b32; font:500 clamp(32px,3.3vw,46px)/1.1 var(--font-serif); letter-spacing:-.035em; }
body.page-package-detail :is(.eo-h2,.eo-dialogHead h3) em { color:#896930; font-weight:500; }
body.page-package-detail .eo-p { margin-top:22px !important; color:#5a6955; font-size:13px; line-height:1.9; white-space:normal; }
body.page-package-detail :is(#overviewText,#upgradesText) { white-space:pre-line; }
body.page-package-detail .eo-small { color:#66735d; font-size:10px; line-height:1.8; }
body.page-package-detail .eo-section { padding-block:var(--detail-space); background:#fffdf8; }
body.page-package-detail .eo-reveal { opacity:1; transform:none; }
body.page-package-detail .eo-divider,.eo-grain { display:none; }
body.page-package-detail .eo-progress { position:fixed; z-index:1010; top:0; left:0; height:2px; width:100%; pointer-events:none; }
body.page-package-detail .eo-progress > span { display:block; height:100%; background:#ba9c5e; }
body.page-package-detail .eo-btn { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:44px; padding:12px 17px; border:1px solid #cec3a9; border-radius:5px; background:transparent; color:#173b32; font:500 11px/1.5 var(--font-sans); text-decoration:none; cursor:pointer; box-shadow:none; }
body.page-package-detail .eo-btnPrimary { background:#173b32; border-color:#173b32; color:#fffdf8 !important; font-weight:600; }
body.page-package-detail .eo-btnPrimary:hover { background:#285446; border-color:#285446; }
body.page-package-detail .eo-btnGhost:hover { background:#eef1e7; border-color:#aeb9a2; }

/* The photograph fills the first screen; ivory protects the copy. */
body.page-package-detail .eo-hero { position:relative; isolation:isolate; overflow:hidden; min-height:0; padding:0; border:0; background:#f7f3e8; }
body.page-package-detail .eo-hero::before,body.page-package-detail .eo-hero::after { display:none; }
body.page-package-detail .eo-heroInner { position:static; display:flex; flex-direction:column; gap:24px; min-height:calc(100vh - var(--detail-header-space)); min-height:calc(100svh - var(--detail-header-space)); padding-block:34px 25px; }
body.page-package-detail .eo-breadcrumb { position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:9px; align-items:center; color:#6e7566; font-size:9px; line-height:1.7; }
body.page-package-detail .eo-breadcrumb a:hover { text-decoration:underline; }
body.page-package-detail #crumbTitle { max-width:650px; }
body.page-package-detail .eo-heroStage { display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:35px; flex:1; padding-block:14px; }
body.page-package-detail .eo-heroCopy { position:relative; z-index:2; max-width:720px; min-width:0; }
body.page-package-detail .eo-kicker { display:flex; align-items:center; gap:12px; margin-bottom:22px; padding:0; border:0; background:none; box-shadow:none; color:#82632f; font-size:9px; font-weight:600; letter-spacing:.13em; line-height:1.7; text-transform:uppercase; }
body.page-package-detail .eo-kickerDot { width:24px; height:1px; flex:none; background:#b69a63; }
body.page-package-detail .eo-title { color:#173b32; font:500 clamp(43px,4.2vw,62px)/1.05 var(--font-serif); letter-spacing:-.045em; text-wrap:balance; text-shadow:none; }
body.page-package-detail .eo-sub { max-width:650px; margin-top:22px !important; color:#526150; font-size:13px; line-height:1.8; }
body.page-package-detail .eo-ctaBtns { display:flex; flex-wrap:wrap; gap:12px 25px; align-items:center; margin-top:26px; }
body.page-package-detail .eo-hero .eo-btnPrimary { min-height:46px; gap:23px; padding:13px 22px; border-radius:999px; background:#c4a56a; border-color:#c4a56a; color:#173b32 !important; }
body.page-package-detail .eo-hero .eo-btnPrimary:hover { background:#d8be86; border-color:#d8be86; }
body.page-package-detail .eo-textAction { display:inline-flex; align-items:center; gap:15px; min-height:44px; padding:0; border:0; background:transparent; color:#173b32; font:500 11px/1.5 var(--font-sans); cursor:pointer; text-decoration:underline; text-decoration-color:#b79a62; text-underline-offset:6px; }
body.page-package-detail .eo-heroPromise { display:flex; gap:8px; align-items:start; margin-top:24px !important; color:#62705b; font-size:10px; line-height:1.7; }
body.page-package-detail .eo-heroPromise i { color:#94733b; font-size:14px; }
body.page-package-detail .eo-heroMedia { position:absolute; z-index:-1; inset:0; background-position:65% center; background-size:cover; filter:brightness(1.13) saturate(.88); }
body.page-package-detail .eo-heroMedia::after { content:''; display:block; position:absolute; inset:0; background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8f7 29%,#f7f3e8de 44%,#f7f3e876 60%,#f7f3e809 78%); }
body.page-package-detail .eo-heroCaption { position:relative; z-index:2; display:flex; flex-direction:column; align-items:start; align-self:end; justify-self:end; gap:18px; width:290px; padding:23px 25px; border-left:1px solid #d4b779; border-radius:0 18px 18px 0; background:linear-gradient(90deg,#142c22b8,#142c2254); color:#fff9ed; }
body.page-package-detail .eo-photoLabel { display:flex; align-items:center; gap:7px; font-size:8px; letter-spacing:.07em; text-transform:uppercase; color:#e8debd; }
body.page-package-detail .eo-heroCaption p { font:500 39px/1.03 var(--font-serif); letter-spacing:-.025em; }
body.page-package-detail .eo-heroCaption em { color:#e5cd95; }
body.page-package-detail .eo-heroCaption a { display:flex; align-items:center; gap:14px; min-height:30px; color:#fff9ed; font-size:10px; text-decoration:underline; text-underline-offset:6px; }
body.page-package-detail .eo-heroEssentials { position:relative; z-index:2; padding:20px 0; border-block:1px solid #c9bc9d; background:#fffdf8e8; }
body.page-package-detail .eo-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:18px 0; width:100%; }
body.page-package-detail .eo-fact { min-width:0; padding:0 17px; border:0; border-left:1px solid #ded5c2; background:transparent; box-shadow:none; }
body.page-package-detail .eo-hero #factsGrid .eo-fact { background:transparent; }
body.page-package-detail .eo-fact:first-child { border-left:0; }
body.page-package-detail .eo-fact b { display:block; margin-bottom:8px; color:#82632f; font-size:8px; font-weight:600; letter-spacing:.07em; line-height:1.5; text-transform:uppercase; }
body.page-package-detail .eo-fact span { display:block; color:#173b32; font-size:11px; font-weight:500; line-height:1.7; }
body.page-package-detail .eo-fact:first-child span { font:500 23px/1.25 var(--font-serif); }
body.page-package-detail .eo-heroUtility { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:20px; color:#526150; }
body.page-package-detail .eo-heroUtility > p { max-width:650px; color:#526150; font-size:10px; line-height:1.8; }
body.page-package-detail .eo-utilityActions { display:flex; align-items:center; gap:17px; flex:none; }
body.page-package-detail .eo-utilityActions button { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:0; border:0; background:none; color:#173b32; font:500 10px/1.6 var(--font-sans); cursor:pointer; }
body.page-package-detail .eo-utilityActions button:hover { color:#896930; }
body.page-package-detail .eo-noScript { position:relative; z-index:2; padding:15px; border:1px solid #cec3a9; background:#fffdf8; color:#526150; font-size:12px; line-height:1.8; }
body.page-package-detail .eo-noScript a { text-decoration:underline; }

/* A small tab strip keeps all existing content easy to browse. */
body.page-package-detail .eo-tabsWrap { position:sticky; z-index:90; top:var(--stickyTop); border-bottom:1px solid #d8ceba; background:#fffdf8f5; backdrop-filter:blur(12px); }
body.page-package-detail .eo-tabs { width:min(1280px,calc(100% - 80px)); margin:auto; }
body.page-package-detail .eo-tabs .bar { display:flex; align-items:center; gap:35px; }
body.page-package-detail .eo-tabs .left { flex:none; padding-right:25px; border-right:1px solid #e0d7c3; }
body.page-package-detail .eo-tabs .kicker { color:#82632f; font-size:8px; line-height:1.8; letter-spacing:.06em; }
body.page-package-detail .eo-tabs .title { color:#173b32; font:500 17px/1.2 var(--font-serif); }
body.page-package-detail .eo-tabs .right { display:flex; justify-content:space-between; gap:15px; flex:1; min-width:0; overflow-x:auto; scrollbar-width:thin; }
body.page-package-detail .eo-tab { position:relative; min-height:58px; min-width:0; padding:15px 13px; flex:1; border:0; border-radius:0; background:transparent; color:#62705b; font:500 11px/1.5 var(--font-sans); white-space:nowrap; cursor:pointer; box-shadow:none; }
body.page-package-detail .eo-tab::after { position:absolute; bottom:0; left:13px; right:13px; height:2px; background:#ba9c5e; content:''; transform:scaleX(0); }
body.page-package-detail .eo-tab[aria-selected=true] { color:#173b32; }
body.page-package-detail .eo-tab[aria-selected=true]::after { transform:scaleX(1); }
body.page-package-detail .eo-tab:hover { color:#173b32; background:#f4f0e5; }
body.page-package-detail .eo-tab:focus-visible { outline-offset:-5px; }
body.page-package-detail .eo-loadingStatus { position:fixed; z-index:250; left:50%; top:calc(var(--stickyTop) + 20px); transform:translateX(-50%); display:flex; align-items:center; gap:9px; padding:10px 15px; border:1px solid #c9b482; border-radius:999px; background:#fffdf8; color:#173b32; font-size:11px; }
body.page-package-detail .eo-loadingDot { width:7px; height:7px; border-radius:50%; background:#b39457; }
body.page-package-detail .eo-data-state { padding:22px; border:1px solid #ded3b9; border-radius:10px; background:#f7f3e8; color:#526150; font-size:13px; line-height:1.9; }
body.page-package-detail .eo-data-state a { text-decoration:underline; text-underline-offset:4px; }
body.page-package-detail .eo-card { border:0; border-radius:0; background:transparent; box-shadow:none; }
body.page-package-detail .eo-cardPad { padding:0; }
body.page-package-detail .eo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px; }
body.page-package-detail .eo-overviewGrid { grid-template-columns:1.12fr .88fr; align-items:start; gap:clamp(30px,5vw,70px); }
body.page-package-detail .eo-overviewGrid.has-no-highlights { grid-template-columns:1fr; }
body.page-package-detail .eo-overviewGrid > .eo-card:last-child { padding:30px; border:1px solid #ded3b9; border-radius:36px 10px 36px 10px; background:#f7f3e8; }
body.page-package-detail .eo-highlightsHeading { font-size:34px; }
body.page-package-detail .eo-list { display:grid; gap:0; margin:25px 0 0; padding:0; list-style:none; }
body.page-package-detail .eo-li { display:flex; align-items:start; gap:13px; padding:16px 0; border-bottom:1px solid #e1d7c2; color:#5a6955; font-size:11px; line-height:1.8; }
body.page-package-detail .eo-li:last-child { border-bottom:0; padding-bottom:0; }
body.page-package-detail .eo-li:first-child { padding-top:0; }
body.page-package-detail .eo-li b { color:#173b32; font-size:12px; font-weight:500; }
body.page-package-detail .eo-ic { display:grid; place-items:center; flex:none; width:23px; color:#94733b; font-size:19px; line-height:1.5; }
body.page-package-detail .eo-ic svg { width:20px; height:20px; }
body.page-package-detail .eo-highlightNumber { color:#94733b; font:500 25px/1 var(--font-serif); flex:none; min-width:30px; }
body.page-package-detail .eo-itinTools { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
body.page-package-detail .eo-routeGlance { margin-top:26px; border-block:1px solid #d8ceba; }
body.page-package-detail .eo-routeGlance > summary { display:flex; justify-content:space-between; align-items:center; gap:15px; min-height:53px; padding:14px 0; color:#173b32; font-size:12px; list-style:none; cursor:pointer; }
body.page-package-detail .eo-routeGlance > summary::-webkit-details-marker { display:none; }
body.page-package-detail .eo-routeGlance > summary > span:last-child { color:#94733b; font-size:23px; }
body.page-package-detail .eo-routeGlance[open] > summary > span:last-child { font-size:0; }
body.page-package-detail .eo-routeGlance[open] > summary > span:last-child::after { content:'−'; font-size:23px; }
body.page-package-detail #routeGlanceList { display:grid; grid-template-columns:1fr 1fr; gap:13px 17px; margin:0; padding:8px 0 22px; list-style:none; }
body.page-package-detail #routeGlanceList a { display:block; min-height:44px; padding:8px 0; border-top:1px solid #e4dcc9; }
body.page-package-detail .eo-routeGlanceDays { display:block; margin-bottom:5px; color:#82632f; font-size:9px; }
body.page-package-detail .eo-routeGlancePlace { display:block; color:#173b32; font-size:11px; line-height:1.8; font-weight:500; }
body.page-package-detail #routeGlanceList a:hover .eo-routeGlancePlace { text-decoration:underline; text-underline-offset:4px; }

/* Photo-led day cards, a quiet day index, and practical notes. */
body.page-package-detail .eo-itinHeading { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:22px; margin-bottom:26px; }
body.page-package-detail .eo-itinHeading > div:first-child { max-width:790px; }
body.page-package-detail .eo-itinLayout { position:relative; display:grid; grid-template-columns:210px minmax(0,1fr); gap:36px; align-items:start; }
body.page-package-detail .eo-dayNavShell { position:relative; align-self:stretch; min-width:0; }
body.page-package-detail .eo-dayNav { display:grid; gap:0; padding:0; border:0; border-radius:0; background:transparent; max-height:calc(100dvh - var(--stickyTop) - var(--tabs-h) - 95px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#d0c2a5 transparent; }
body.page-package-detail .eo-dayNav.is-fixed { position:fixed; z-index:50; top:calc(var(--stickyTop) + var(--tabs-h) + 16px); }
body.page-package-detail .eo-dayNav.is-bottom { position:absolute; bottom:0; }
body.page-package-detail .eo-dayNavTitle { margin-bottom:16px; color:#5a6955; font-size:9px; font-weight:700; letter-spacing:.14em; line-height:1.6; text-transform:uppercase; }
body.page-package-detail .eo-dayLink { position:relative; display:block; min-width:0; padding:10px 0 10px 18px; border-left:1px solid #ded5c2; color:#5a6955; text-decoration:none; }
body.page-package-detail .eo-dayLink::before { content:''; position:absolute; inset:0 auto 0 -1px; width:2px; background:#987530; opacity:0; }
body.page-package-detail .eo-dayNavDay { display:block; font-size:12px; font-weight:700; line-height:1.5; }
body.page-package-detail .eo-dayNavPlace { display:block; overflow:hidden; margin-top:2px; font-size:10px; line-height:1.65; text-overflow:ellipsis; white-space:nowrap; }
body.page-package-detail .eo-dayLink:is(:hover,[aria-current=true]) { color:#987530; }
body.page-package-detail .eo-dayLink[aria-current=true]::before { opacity:1; }
body.page-package-detail .eo-dayStack { display:grid; gap:28px; min-width:0; }
body.page-package-detail .eo-dayCard { overflow:hidden; border:1px solid #ded3b9; border-radius:23px 8px 23px 8px; background:#fffdf8; }
body.page-package-detail .eo-dayCardHeader { padding:23px 24px 17px; }
body.page-package-detail .eo-dayTitle { color:#173b32; font:500 28px/1.2 var(--font-serif); letter-spacing:-.025em; }
body.page-package-detail .eo-dayTitle > span { color:#94733b; }
body.page-package-detail .eo-routeStrip { display:flex; flex-wrap:wrap; gap:12px 22px; margin:0 24px; padding:0 0 17px; border-bottom:1px solid #e3d9c3; }
body.page-package-detail .eo-routeFact { max-width:100%; }
body.page-package-detail .eo-routeFact b { display:block; margin-bottom:4px; color:#82632f; font-size:8px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.page-package-detail .eo-routeFact span { display:block; color:#5a6955; font-size:10px; line-height:1.8; }
body.page-package-detail .eo-dayBody { display:grid; grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr); gap:24px; padding:21px 24px 24px; }
body.page-package-detail .eo-dayMedia { position:relative; align-self:stretch; overflow:hidden; min-height:220px; border-radius:19px 5px 19px 5px; background:#edf0e5; }
body.page-package-detail .eo-dayImg { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; filter:brightness(1.06) saturate(.94); }
body.page-package-detail .eo-dayMediaFallback { position:absolute; inset:0; display:grid; place-items:center; padding:25px; color:#778267; font-size:11px; }
body.page-package-detail .eo-dayBadge { position:absolute; left:14px; bottom:14px; display:grid; place-items:center; width:43px; height:43px; border:1px solid #fff9; border-radius:50%; background:#fffdf8eb; color:#173b32; font:500 25px/1 var(--font-serif); }
body.page-package-detail .eo-dayCopy { min-width:0; }
body.page-package-detail .eo-dayText { color:#526150; font-size:12px; line-height:1.85; }
body.page-package-detail .eo-dayText > b { font-weight:500; }
body.page-package-detail .eo-bullets { display:grid; gap:6px; margin:14px 0; padding-left:17px; color:#5a6955; font-size:11px; line-height:1.8; }
body.page-package-detail .eo-bullets li::marker { color:#a08147; }
body.page-package-detail .eo-experienceBlock { margin:15px 0; }
body.page-package-detail .eo-experienceLabel { display:block; margin-bottom:7px; color:#82632f; font-size:8px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.page-package-detail .eo-experienceChips { display:flex; flex-wrap:wrap; gap:7px 13px; }
body.page-package-detail .eo-chip { display:inline-flex; align-items:center; flex-wrap:wrap; gap:5px; padding:0; border:0; background:transparent; color:#62705b; font-size:9px; line-height:1.8; box-shadow:none; }
body.page-package-detail .eo-chip i { color:#94733b; }
body.page-package-detail .eo-chip strong { color:#526150; font-weight:500; }
body.page-package-detail .eo-accomCard { padding:13px 0; border-block:1px solid #e3d9c3; background:transparent; }
body.page-package-detail .eo-accomHead { display:flex; justify-content:space-between; flex-wrap:wrap; gap:7px; align-items:center; margin-bottom:10px; }
body.page-package-detail .eo-accomTitle { display:flex; gap:7px; align-items:center; color:#82632f; font-size:9px; }
body.page-package-detail .eo-accomBody { display:grid; gap:8px; }
body.page-package-detail .eo-accomName { color:#173b32; font-size:11px; font-weight:500; line-height:1.7; }
body.page-package-detail .eo-accomNote { color:#67735d; font-size:10px; line-height:1.8; }
body.page-package-detail .eo-acc { margin-top:3px; }
body.page-package-detail .eo-accBtn { position:relative; display:flex; align-items:start; flex-wrap:wrap; gap:5px 10px; width:100%; min-height:45px; padding:15px 25px 10px 0; border:0; background:transparent; color:#173b32; text-align:left; font:500 11px/1.7 var(--font-sans); cursor:pointer; }
body.page-package-detail .eo-accBtn small { display:block; flex-basis:100%; color:#67735d; font-size:9px; }
body.page-package-detail .eo-rotate { font-size:0; }
body.page-package-detail :is(.eo-accBtn,.eo-faqQ) .eo-rotate::after { position:absolute; top:13px; right:0; color:#94733b; font:400 23px/1 var(--font-sans); content:'+'; }
body.page-package-detail :is(.eo-accItem,.eo-faqItem)[data-open=true] .eo-rotate::after { content:'−'; }
body.page-package-detail .eo-accPanel { color:#5a6955; font-size:11px; line-height:1.85; }
body.page-package-detail .eo-accInner { padding:5px 0 0; white-space:pre-line; }
body.page-package-detail .eo-accItem[data-open=false] .eo-accPanel { display:none; }

/* Inclusions and FAQs share the quiet, flat treatment of the other pages. */
body.page-package-detail .eo-inclusionsGrid { gap:60px; }
body.page-package-detail .eo-upgradesCard { margin-top:40px; padding-top:29px; border-top:1px solid #d8ceba; }
body.page-package-detail .eo-upgradesCard .eo-h2 { font-size:32px; }
body.page-package-detail .eo-upgradesCard .eo-p { max-width:900px; margin-top:17px !important; }
body.page-package-detail .eo-faq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 45px; margin-top:28px; border-top:1px solid #d4c9b1; }
body.page-package-detail .eo-faqItem { min-width:0; padding:0; border:0; border-bottom:1px solid #d4c9b1; background:transparent; box-shadow:none; }
body.page-package-detail .eo-faqQ { position:relative; display:flex; justify-content:space-between; align-items:start; gap:12px; width:100%; min-height:70px; padding:23px 30px 23px 0; border:0; background:transparent; color:#173b32; font:400 13px/1.7 var(--font-sans); text-align:left; cursor:pointer; }
body.page-package-detail .eo-faqQ .eo-rotate::after { top:23px; }
body.page-package-detail .eo-faqA { padding:0 25px 23px 0; color:#5a6955; font-size:12px; line-height:1.85; white-space:pre-line; }
body.page-package-detail .eo-faqItem[data-open=false] .eo-faqA { display:none; }
body.page-package-detail .eo-mapGrid { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:35px; margin-top:30px; align-items:start; }
body.page-package-detail .eo-mapSummaryTitle { color:#173b32; font:500 27px/1.3 var(--font-serif); }
body.page-package-detail #summaryList { max-height:470px; padding-right:12px; margin-top:22px; overflow-y:auto; scrollbar-width:thin; }
body.page-package-detail #summaryList .eo-li { display:block; padding:0; font-size:10px; }
body.page-package-detail .eo-mapDayLink { display:grid; grid-template-columns:44px minmax(0,1fr) 12px; gap:10px; align-items:start; min-height:44px; padding:13px 2px; }
body.page-package-detail .eo-mapDayLink:hover { background:#f7f3e8; }
body.page-package-detail .eo-mapDayNumber { color:#82632f; font-size:10px; font-weight:600; line-height:1.8; }
body.page-package-detail .eo-mapDayCopy :is(strong,small) { display:block; }
body.page-package-detail .eo-mapDayCopy strong { color:#173b32; font-size:11px; font-weight:500; line-height:1.8; }
body.page-package-detail .eo-mapDayCopy small { margin-top:3px; color:#5a6955; font-size:10px; line-height:1.7; }
body.page-package-detail .eo-mapDayArrow { color:#82632f; font-size:13px; }
body.page-package-detail #eoMap { position:relative; width:100%; min-height:510px; height:510px; overflow:hidden; border:1px solid #d4c9b1; border-radius:28px 8px 28px 8px; background:#e8eddf; }
body.page-package-detail .eo-mapFallback { display:grid; place-content:center; text-align:center; padding:30px; min-height:510px; color:#5a6955; font-size:13px; line-height:1.9; }
body.page-package-detail .leaflet-container { font-family:var(--font-sans); color:#173b32; }
body.page-package-detail .leaflet-popup-content { font-size:11px; line-height:1.8; }
body.page-package-detail .eo-mapStopIcon { border:0; background:none; }
body.page-package-detail .eo-mapStopNumber { display:grid; place-items:center; width:100%; height:100%; border:2px solid #fffdf8; border-radius:999px; background:#173b32; color:#fffdf8; box-shadow:0 1px 5px #173b3233; font:600 10px/1 var(--font-sans); white-space:nowrap; }
body.page-package-detail .eo-mapStopIcon:is(:hover,:focus-visible) .eo-mapStopNumber { background:#987530; }
body.page-package-detail .eo-mapPopupStop + .eo-mapPopupStop { margin-top:8px; padding-top:8px; border-top:1px solid #ded5c2; }
body.page-package-detail .eo-mapPopupStop :is(small,b) { display:block; }
body.page-package-detail .eo-mapPopupStop small { color:#82632f; font-size:9px; }
body.page-package-detail #gallery > .eo-container > .eo-card { margin-top:29px; }
body.page-package-detail .eo-galleryGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body.page-package-detail .eo-thumb { position:relative; display:block; overflow:hidden; aspect-ratio:4/3; border-radius:23px 7px 23px 7px; background:#edf0e5; }
body.page-package-detail .eo-thumb img { display:block; width:100%; height:100%; object-fit:cover; filter:brightness(1.06) saturate(.95); }
body.page-package-detail .eo-thumb figcaption { position:absolute; bottom:0; left:0; right:0; padding:35px 16px 16px; background:linear-gradient(transparent,#10271fbb); color:#fffdf8; font-size:10px; line-height:1.8; }
body.page-package-detail .eo-thumb::after { position:absolute; top:13px; right:13px; display:grid; place-items:center; width:31px; height:31px; border:1px solid #fff9; border-radius:50%; background:#fffdf8e6; color:#173b32; content:'↗'; font-size:18px; }

/* Photo preview and quote form keep their existing controls and fields. */
body.page-package-detail .eo-lightbox { display:none; position:fixed; z-index:1500; inset:0; padding:30px; background:#0e241df2; color:#fffdf8; }
body.page-package-detail .eo-lightbox[aria-hidden=false] { display:grid; place-items:center; }
body.page-package-detail .eo-lightboxInner { display:grid; grid-template-rows:auto minmax(0,1fr); gap:20px; width:min(1180px,100%); max-height:calc(100dvh - 60px); }
body.page-package-detail .eo-lightboxTop { display:flex; justify-content:space-between; align-items:center; gap:22px; }
body.page-package-detail .eo-lightboxTop strong { color:#eee6cf; font-size:12px; font-weight:500; line-height:1.8; }
body.page-package-detail .eo-lbBtns { display:flex; align-items:center; gap:8px; flex:none; }
body.page-package-detail .eo-lbBtn { display:grid; place-items:center; width:44px; height:44px; border:1px solid #a8bf9566; border-radius:50%; background:transparent; color:#fffdf8; font-size:24px; cursor:pointer; }
body.page-package-detail .eo-lbBtn:hover { background:#285446; }
body.page-package-detail .eo-lightboxImg { display:block; max-width:100%; width:auto; height:auto; max-height:calc(100dvh - 130px); margin:auto; border-radius:12px; object-fit:contain; }
body.page-package-detail .eo-dialog { width:min(800px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); margin:auto; padding:0; border:1px solid #bca16c; border-radius:28px 9px 28px 9px; background:#fffdf8; color:#173b32; overflow:auto; overscroll-behavior:contain; }
body.page-package-detail .eo-dialog::backdrop { background:#10271f99; backdrop-filter:blur(5px); }
body.page-package-detail .eo-dialogHead { display:flex; justify-content:space-between; gap:22px; align-items:start; padding:29px 30px 24px; border-bottom:1px solid #ded3b9; }
body.page-package-detail .eo-dialogHead .eo-eyebrow { margin-bottom:10px !important; }
body.page-package-detail .eo-dialogHead h3 { color:#173b32; font:500 37px/1.1 var(--font-serif); letter-spacing:-.035em; }
body.page-package-detail .eo-dialogIntro { max-width:600px; margin-top:15px !important; color:#5a6955; font-size:12px; line-height:1.8; }
body.page-package-detail .eo-x { display:grid; place-items:center; flex:none; width:42px; height:42px; border:1px solid #d5c8aa; border-radius:50%; background:transparent; color:#173b32; font-size:16px; cursor:pointer; }
body.page-package-detail .eo-dialogBody { padding:25px 30px; }
body.page-package-detail .eo-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
body.page-package-detail .eo-field { display:grid; gap:8px; align-content:start; min-width:0; }
body.page-package-detail .eo-label { color:#526150; font-size:11px; font-weight:500; }
body.page-package-detail :is(.eo-input,.eo-select,.eo-textarea) { width:100%; min-width:0; padding:11px 13px; min-height:46px; border:1px solid #d5c9ae; border-radius:5px; background:#fffefa; color:#173b32; font:400 13px/1.6 var(--font-sans); color-scheme:light; box-shadow:none; }
body.page-package-detail .eo-input[readonly] { background:#f4f0e5; color:#526150; }
body.page-package-detail .eo-input:disabled { background:#eef0e7; color:#647357; cursor:not-allowed; opacity:1; }
body.page-package-detail .eo-flexibleDates { display:flex; align-items:center; gap:8px; min-height:32px; margin-top:5px; color:#526150; font-size:11px; line-height:1.6; cursor:pointer; }
body.page-package-detail .eo-flexibleDates input { flex:none; width:17px; height:17px; margin:0; accent-color:#173b32; }
body.page-package-detail .eo-textarea { min-height:105px; resize:vertical; }
body.page-package-detail :is(.eo-input,.eo-textarea)::placeholder { color:#7b806e; }
body.page-package-detail .eo-dialogFoot { display:flex; justify-content:space-between; align-items:center; gap:23px; padding:23px 30px; border-top:1px solid #ded3b9; background:#f7f3e8; }
body.page-package-detail .eo-dialogFoot .eo-small { max-width:410px; font-size:10px; }
body.page-package-detail .eo-dialogFoot .eo-btn { flex:none; }
body.page-package-detail .eo-formStatus { grid-column:1/-1; padding:14px; border:1px solid #ccb888; border-radius:6px; background:#f4f0e5; color:#526150; font-size:12px; line-height:1.8; }
body.page-package-detail .eo-formStatus a { display:inline-block; margin-top:8px; color:#173b32; text-decoration:underline; text-underline-offset:4px; }

/* A restrained enquiry bar appears alongside the content, clear of the footer. */
body.page-package-detail .sticky-cta { position:fixed; z-index:100; left:0; right:0; bottom:max(16px,env(safe-area-inset-bottom)); padding-inline:20px; visibility:hidden; opacity:0; pointer-events:none; background:none; border:0; box-shadow:none; }
body.page-package-detail .sticky-cta.is-on { visibility:visible; opacity:1; pointer-events:auto; }
body.page-package-detail .sticky-cta .bar { display:flex; justify-content:space-between; align-items:center; gap:20px; width:min(1000px,100%); margin:auto; padding:14px 19px; border:1px solid #c6b17b; border-radius:12px; background:#173b32f5; color:#fffdf8; backdrop-filter:blur(14px); }
body.page-package-detail .sticky-cta .left { min-width:0; }
body.page-package-detail .sticky-cta .kicker { margin-bottom:5px; color:#d3bc85; font-size:8px; letter-spacing:.07em; text-transform:uppercase; }
body.page-package-detail .sticky-cta .title { color:#fffdf8; font:500 18px/1.25 var(--font-serif); }
body.page-package-detail .sticky-cta .right { display:flex; align-items:center; gap:7px; flex:none; }
body.page-package-detail .sticky-cta .cta-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:42px; padding:10px 12px; border:1px solid #ffffff55; border-radius:5px; background:transparent; color:#fffdf8; font:500 10px/1.5 var(--font-sans); cursor:pointer; text-decoration:none; box-shadow:none; }
body.page-package-detail .sticky-cta .cta-btn.primary { background:#c4a56a; border-color:#c4a56a; color:#173b32; font-weight:600; }
body.page-package-detail .sticky-cta .cta-btn:hover { background:#315848; }
body.page-package-detail .sticky-cta .cta-btn.primary:hover { background:#d8be86; }
body.page-package-detail.has-data-error .eo-tab:not([data-tab=overview]),
body.page-package-detail.has-data-error :is(#openQuote,#printBtn,#copyLink,.sticky-cta,.eo-heroPromise,.eo-heroUtility,.eo-heroMedia,.eo-overviewGrid .eo-itinTools) { display:none; }
body.page-package-detail.has-data-error .eo-heroInner { min-height:0; padding-block:45px; }
body.page-package-detail.has-data-error .eo-heroStage { display:block; min-height:250px; padding-block:14px; }
body.page-package-detail.has-data-error .eo-heroCaption { display:none; }
body.page-package-detail.has-data-error .eo-overviewGrid { grid-template-columns:1fr; }

@media (min-width:901px) and (prefers-reduced-motion:no-preference) {
  body.page-package-detail .eo-thumb img { transition:transform .45s ease; }
  body.page-package-detail .eo-thumb:hover img { transform:scale(1.035); }
}
@media (max-width:1100px) {
  body.page-package-detail :is(.eo-container,.eo-tabs) { width:calc(100% - 48px); }
  body.page-package-detail .eo-heroStage { grid-template-columns:1.3fr .7fr; gap:20px; }
  body.page-package-detail .eo-heroCaption { width:220px; padding:20px; }
  body.page-package-detail .eo-title { font-size:48px; }
  body.page-package-detail .eo-heroCaption p { font-size:35px; }
  body.page-package-detail .eo-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.page-package-detail .eo-fact:nth-child(3n+1) { border-left:0; }
  body.page-package-detail .eo-tabs .left { display:none; }
  body.page-package-detail .eo-itinLayout { grid-template-columns:180px minmax(0,1fr); gap:24px; }
  body.page-package-detail .eo-dayBody { grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr); gap:20px; padding-inline:20px; }
  body.page-package-detail .eo-dayCardHeader { padding-inline:20px; }
  body.page-package-detail .eo-routeStrip { margin-inline:20px; }
}
@media (max-width:1080px) { body.page-package-detail { --detail-header-space:76px; } }
@media (max-width:900px) {
  :root { --tabs-h:52px; }
  body.page-package-detail .eo-tabs .right { gap:5px; }
  body.page-package-detail .eo-tab { min-height:52px; padding-inline:10px; }
  body.page-package-detail .eo-tab::after { left:10px; right:10px; }
  body.page-package-detail .eo-overviewGrid { gap:30px; }
  body.page-package-detail .eo-overviewGrid > .eo-card:last-child { padding:23px; }
  body.page-package-detail .eo-highlightsHeading { font-size:29px; }
  body.page-package-detail .eo-itinLayout { grid-template-columns:1fr; gap:23px; }
  body.page-package-detail .eo-dayNavShell { position:sticky; z-index:60; top:calc(var(--stickyTop) + var(--tabs-h)); align-self:start; background:#fffdf8; }
  body.page-package-detail .eo-dayNav { display:flex; gap:8px; max-height:none; padding:10px 0; overflow-x:auto; overflow-y:hidden; border:0; border-radius:0; background:#fffdf8; scrollbar-width:thin; }
  body.page-package-detail .eo-dayNavTitle { display:none; }
  body.page-package-detail .eo-dayLink { flex:none; min-width:0; min-height:40px; padding:9px 14px; border:1px solid #ded3b9; border-radius:999px; }
  body.page-package-detail .eo-dayLink::before { display:none; }
  body.page-package-detail .eo-dayLink[aria-current=true] { background:#c7a45a1a; border-color:#987530; }
  body.page-package-detail .eo-dayNavDay { font-size:11px; white-space:nowrap; }
  body.page-package-detail .eo-dayNavPlace { display:none; }
  body.page-package-detail #dayStack .eo-dayCard { scroll-margin-top:calc(var(--stickyTop) + var(--tabs-h) + 76px); }
  body.page-package-detail .eo-galleryGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.page-package-detail .sticky-cta .right > a[href='#itinerary'],body.page-package-detail .sticky-cta .right > a[href='#map'] { display:none; }
}
@media (max-width:760px) {
  body.page-package-detail :is(.eo-container,.eo-tabs) { width:calc(100% - 36px); }
  body.page-package-detail .eo-heroInner { padding-block:24px 20px; gap:19px; }
  body.page-package-detail .eo-breadcrumb { font-size:8px; gap:7px; }
  body.page-package-detail #crumbTitle { flex-basis:100%; }
  body.page-package-detail .eo-breadcrumb > .sep:last-of-type { display:none; }
  body.page-package-detail .eo-heroStage { position:relative; display:flex; flex-direction:column; align-items:stretch; padding:0; gap:24px; }
  body.page-package-detail .eo-heroCopy { padding:7px 4px 0; }
  body.page-package-detail .eo-kicker { font-size:8px; margin-bottom:18px; }
  body.page-package-detail .eo-title { max-width:600px; font-size:clamp(37px,7.3vw,49px); }
  body.page-package-detail .eo-sub { margin-top:18px !important; font-size:12px; line-height:1.85; }
  body.page-package-detail .eo-ctaBtns { margin-top:20px; gap:9px 21px; }
  body.page-package-detail .eo-hero .eo-btnPrimary { padding:11px 17px; gap:15px; font-size:10px; }
  body.page-package-detail .eo-textAction { font-size:10px; gap:10px; }
  body.page-package-detail .eo-heroPromise { margin-top:18px !important; font-size:9px; }
  body.page-package-detail .eo-heroMedia { top:auto; bottom:0; left:-18px; right:-18px; height:225px; z-index:0; background-position:65% center; }
  body.page-package-detail .eo-heroMedia::after { background:linear-gradient(180deg,#f7f3e8,transparent 27%,#10271f33 65%,#10271f9c); }
  body.page-package-detail .eo-heroCaption { position:relative; justify-content:end; align-self:stretch; width:100%; min-height:225px; padding:20px 4px; gap:12px; border:0; border-radius:0; background:none; }
  body.page-package-detail .eo-photoLabel { font-size:7px; }
  body.page-package-detail .eo-heroCaption p { font-size:31px; text-shadow:0 2px 8px #10271f44; }
  body.page-package-detail .eo-heroCaption p br { display:none; }
  body.page-package-detail .eo-heroCaption a { font-size:9px; }
  body.page-package-detail .eo-heroEssentials { padding-block:17px; border-color:#dcd0b8; background:none; }
  body.page-package-detail .eo-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 0; }
  body.page-package-detail .eo-fact { padding-inline:13px; }
  body.page-package-detail .eo-fact:nth-child(3n+1) { border-left:1px solid #ded5c2; }
  body.page-package-detail .eo-fact:nth-child(2n+1) { border-left:0; padding-left:0; }
  body.page-package-detail .eo-fact b { font-size:8px; margin-bottom:5px; }
  body.page-package-detail .eo-fact span { font-size:10px; line-height:1.8; }
  body.page-package-detail .eo-fact:first-child span { font-size:21px; }
  body.page-package-detail .eo-heroUtility { flex-direction:column; align-items:start; gap:13px; }
  body.page-package-detail .eo-heroUtility > p { font-size:9px; }
  body.page-package-detail .eo-utilityActions { gap:25px; }
  body.page-package-detail .eo-tab { flex:none; min-height:52px; padding-inline:11px; font-size:10px; }
  body.page-package-detail .eo-tabs .right { justify-content:start; }
  body.page-package-detail .eo-grid { grid-template-columns:1fr; gap:32px; }
  body.page-package-detail .eo-overviewGrid > .eo-card:last-child { padding:27px 23px; }
  body.page-package-detail .eo-highlightsHeading { font-size:32px; }
  body.page-package-detail .eo-h2 { max-width:650px; font-size:36px; }
  body.page-package-detail .eo-p { font-size:13px; line-height:1.8; }
  body.page-package-detail .eo-li { font-size:12px; }
  body.page-package-detail .eo-itinHeading { display:block; }
  body.page-package-detail .eo-itinHeading .eo-itinTools { margin-top:19px; }
  body.page-package-detail .eo-itinTools .eo-btn { font-size:10px; }
  body.page-package-detail .eo-dayBody { grid-template-columns:1fr; padding:18px; gap:20px; }
  body.page-package-detail .eo-dayMedia { height:205px; min-height:0; }
  body.page-package-detail .eo-dayCardHeader { padding:21px 18px 15px; }
  body.page-package-detail .eo-dayTitle { font-size:26px; }
  body.page-package-detail .eo-routeStrip { margin-inline:18px; gap:11px 18px; }
  body.page-package-detail .eo-dayText { font-size:13px; line-height:1.8; }
  body.page-package-detail .eo-bullets { font-size:12px; }
  body.page-package-detail .eo-accomName { font-size:13px; }
  body.page-package-detail .eo-accomNote { font-size:12px; }
  body.page-package-detail .eo-accPanel { font-size:13px; }
  body.page-package-detail .eo-faq { grid-template-columns:1fr; gap:0; }
  body.page-package-detail .eo-faqQ { font-size:12px; min-height:65px; }
  body.page-package-detail .eo-faqA { font-size:12px; }
  body.page-package-detail .eo-mapGrid { grid-template-columns:1fr; gap:27px; }
  body.page-package-detail #summaryList { max-height:250px; }
  body.page-package-detail #eoMap { height:360px; min-height:360px; }
  body.page-package-detail .eo-mapFallback { min-height:360px; }
  body.page-package-detail .eo-galleryGrid { gap:13px; }
  body.page-package-detail .eo-thumb { border-radius:17px 5px; }
  body.page-package-detail .eo-thumb figcaption { font-size:10px; padding:25px 10px 10px; }
  body.page-package-detail .eo-thumb::after { width:25px; height:25px; top:10px; right:10px; font-size:15px; }
  body.page-package-detail .eo-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:22px 8px; }
  body.page-package-detail .eo-dialogHead { padding:24px 20px 21px; }
  body.page-package-detail .eo-dialogBody { padding:22px 20px; }
  body.page-package-detail .eo-dialogFoot { display:block; padding:21px 20px; }
  body.page-package-detail .eo-dialogFoot .eo-btn { width:100%; margin-top:18px; }
  body.page-package-detail .eo-form { gap:18px 13px; }
  body.page-package-detail :is(.eo-input,.eo-select,.eo-textarea) { font-size:16px; padding-inline:10px; }
  body.page-package-detail .eo-label { font-size:10px; }
  body.page-package-detail .eo-flexibleDates { min-height:40px; font-size:12px; }
  body.page-package-detail .eo-lightbox { padding:17px; }
  body.page-package-detail .eo-lightboxInner { max-height:calc(100dvh - 34px); }
  body.page-package-detail .eo-lightboxTop { gap:15px; align-items:start; }
  body.page-package-detail .eo-lightboxTop strong { font-size:10px; }
  body.page-package-detail .eo-lbBtns { gap:5px; }
  body.page-package-detail .eo-lbBtn { width:36px; height:36px; font-size:21px; }
  body.page-package-detail .sticky-cta { padding-inline:14px; bottom:max(12px,env(safe-area-inset-bottom)); }
  body.page-package-detail .sticky-cta .bar { padding:6px 10px; gap:12px; }
  body.page-package-detail .sticky-cta .title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
  body.page-package-detail .sticky-cta .kicker { display:none; }
  body.page-package-detail .sticky-cta .cta-btn { min-height:44px; padding:10px; font-size:10px; }
  body.page-package-detail #stickyCall { display:none; }
}
@media (max-width:420px) {
  body.page-package-detail .eo-title { font-size:38px; }
  body.page-package-detail .eo-h2 { font-size:33px; }
  body.page-package-detail .eo-hero .eo-btnPrimary { padding-inline:14px; font-size:9px; gap:11px; }
  body.page-package-detail .eo-textAction { font-size:9px; }
  body.page-package-detail .eo-dialogHead h3 { font-size:33px; }
  body.page-package-detail .eo-form { grid-template-columns:1fr; }
  body.page-package-detail .eo-galleryGrid { grid-template-columns:1fr; }
  body.page-package-detail .eo-thumb figcaption { font-size:10px; padding:35px 16px 16px; }
  body.page-package-detail #routeGlanceList { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  html:has(body.page-package-detail) { scroll-behavior:auto; }
  body.page-package-detail :is(main,.eo-hero,.eo-tabsWrap,.sticky-cta,.eo-dialog,.eo-lightbox) * { transition:none !important; animation:none !important; }
}
@media print {
  body.page-package-detail { background:#fff; color:#173b32; padding-top:0 !important; }
  body.page-package-detail :is(#siteHeader,#siteFooter,.eo-tabsWrap,.sticky-cta,.eo-lightbox,.eo-dialog,.eo-progress,.eo-ctaBtns,.eo-utilityActions,.eo-heroCaption,.eo-heroMedia,.eo-dayNavShell,.eo-itinTools,.eo-loadingStatus,.eo-heroPromise) { display:none !important; }
  body.page-package-detail :is(.eo-container,.eo-tabs) { width:100%; }
  body.page-package-detail .eo-heroInner { min-height:0; padding:0 0 24px; }
  body.page-package-detail .eo-heroStage { display:block; padding:0; }
  body.page-package-detail .eo-title { font-size:30px; }
  body.page-package-detail .eo-heroEssentials { background:none; }
  body.page-package-detail .eo-heroUtility { display:none; }
  body.page-package-detail .eo-section { display:block !important; padding-block:25px; }
  body.page-package-detail .eo-itinLayout { display:block; }
  body.page-package-detail .eo-dayCard { break-inside:avoid; border-radius:0; }
  body.page-package-detail .eo-dayBody { grid-template-columns:180px 1fr; }
  body.page-package-detail .eo-dayMedia { min-height:160px; }
  body.page-package-detail :is(.eo-accPanel,.eo-faqA) { display:block !important; }
  body.page-package-detail #summaryList { max-height:none; overflow:visible; }
  body.page-package-detail .eo-mapStopNumber { border-color:#173b32; background:#fff; color:#173b32; box-shadow:none; }
  body.page-package-detail #eoMap :is(.leaflet-control-zoom,.leaflet-popup,.leaflet-tooltip) { display:none !important; }
  body.page-package-detail .eo-h2 { font-size:28px; }
  body.page-package-detail :is(.eo-p,.eo-li,.eo-dayText,.eo-faqA,.eo-accPanel) { font-size:10px; }
}


/* Refined navigation and surfaces. Day-card flow dimensions remain unchanged. */
body.page-package-detail .eo-tabsWrap { background:#fffdf8fa; border-color:#d5ccb5; }
body.page-package-detail .eo-tabs .bar { gap:18px; }
body.page-package-detail .eo-tabs .right { gap:7px; }
body.page-package-detail .eo-tab { display:inline-flex; align-items:center; justify-content:center; gap:7px; color:#465c4a; font-size:12px; }
body.page-package-detail .eo-tab i { color:#8c6e37; font-size:14px; }
body.page-package-detail .eo-tab[aria-selected=true] { color:#173b32; background:#eef2e7; }
body.page-package-detail .eo-tab[aria-selected=true]::after { background:#173b32; }
body.page-package-detail .eo-navQuote { flex:none; gap:13px; padding:10px 15px; min-height:44px; font-size:11px; }
body.page-package-detail .eo-navQuote > span { color:#e4c68c; }
body.page-package-detail.has-data-error #tabQuote { display:none; }
body.page-package-detail .eo-p { color:#465c4c; font-size:14px; }
body.page-package-detail .eo-overviewGrid > .eo-card:last-child { background:#f5f1e6; border-color:#d4cab4; border-radius:17px; }
body.page-package-detail .eo-li { color:#465c4c; }
body.page-package-detail .eo-routeGlance { border-color:#d1c6ad; }
body.page-package-detail .eo-routeGlancePlace { color:#365340; }
body.page-package-detail .eo-dayNavTitle { color:#465c4a; }
body.page-package-detail .eo-dayLink { border-color:#d0d6c5; }
body.page-package-detail .eo-dayNavPlace { color:#425a48; }
body.page-package-detail .eo-dayLink[aria-current=true] { border-color:#173b32; background:linear-gradient(90deg,#e9efe1,#e9efe100); color:#173b32; border-radius:0 6px 6px 0; }
body.page-package-detail .eo-dayLink[aria-current=true]::before { background:#173b32; }
body.page-package-detail .eo-dayLink:hover { color:#173b32; background:#f2f4ec; }
body.page-package-detail .eo-dayCard { border-color:#d5ceba; border-radius:17px; background:#fffefa; }
body.page-package-detail .eo-dayCardHeader { background:#f5f1e6; box-shadow:inset 0 -1px #e0d8c6; }
body.page-package-detail .eo-dayTitle > span { color:#2b5b4a; }
body.page-package-detail .eo-routeStrip { border-color:#ded8c8; }
body.page-package-detail .eo-routeFact span,body.page-package-detail .eo-dayText,body.page-package-detail .eo-bullets { color:#3f5746; }
body.page-package-detail .eo-dayMedia { border-radius:14px; }
body.page-package-detail .eo-dayImg { filter:brightness(1.06) saturate(1.02) contrast(1.03); }
body.page-package-detail .eo-dayBadge { background:#173b32ed; color:#f3dfae; border-color:#fffdf899; }
body.page-package-detail .eo-dayPhotoLink { position:absolute; z-index:2; inset:0; border-radius:inherit; }
body.page-package-detail .eo-dayPhotoLink::after { content:'↗'; position:absolute; right:12px; bottom:14px; display:grid; place-items:center; width:43px; height:43px; border:1px solid #fffdf8a6; border-radius:50%; background:#fffdf8ee; color:#173b32; font:400 21px/1 var(--font-sans); }
body.page-package-detail .eo-dayPhotoLink:hover::after { background:#fffdf8; }
body.page-package-detail .eo-dayPhotoLink:focus-visible { outline-offset:-5px; }
body.page-package-detail .eo-experienceChips .eo-chip { color:#465c4a; }
body.page-package-detail .eo-accomNote,body.page-package-detail .eo-accBtn small { color:#4e624d; }
body.page-package-detail .eo-accPanel { color:#405a46; }
body.page-package-detail .eo-accBtn { color:#173b32; }
body.page-package-detail .eo-accBtn:hover { color:#82632f; }
body.page-package-detail .eo-faqQ { color:#173b32; font-size:14px; }
body.page-package-detail .eo-faqA { color:#465c4c; font-size:13px; }
body.page-package-detail .eo-mapDayLink:hover { background:#edf2e6; }
body.page-package-detail .eo-routeMapCard { position:relative; }
body.page-package-detail #eoMap { border-radius:17px; }
body.page-package-detail .eo-mapFit { position:absolute; z-index:700; top:12px; right:12px; display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 13px; border:1px solid #b1bda5; border-radius:6px; background:#fffdf8f5; color:#173b32; font:600 10px/1.5 var(--font-sans); cursor:pointer; }
body.page-package-detail .eo-mapFit:hover { background:#edf2e6; }
body.page-package-detail .eo-thumb { border-radius:17px; }
body.page-package-detail .eo-thumb img { filter:brightness(1.06) saturate(1.02) contrast(1.03); }
body.page-package-detail .eo-thumb figcaption { font-size:11px; background:linear-gradient(transparent,#10271fd1); }
body.page-package-detail .eo-galleryNumber { position:absolute; z-index:1; top:13px; left:13px; display:grid; place-items:center; width:31px; height:31px; border:1px solid #fffdf888; border-radius:50%; background:#173b328c; color:#f3dfae; font:500 10px/1 var(--font-sans); }
body.page-package-detail .eo-thumb:focus-visible { outline-offset:-5px; }
body.page-package-detail .eo-lightboxInner { position:relative; height:calc(100dvh - 60px); }
body.page-package-detail .eo-lightboxTop strong { color:#fffdf8; font-size:13px; }
body.page-package-detail .eo-lightboxImg { max-height:100%; min-height:0; }
body.page-package-detail .eo-lightbox.is-loading .eo-lightboxImg { opacity:.55; }
body.page-package-detail .eo-lbCount { flex:none; min-width:45px; color:#e6c991; font:500 11px/1.5 var(--font-sans); text-align:center; }
body.page-package-detail .eo-lightboxStatus { position:absolute; z-index:2; bottom:0; left:50%; transform:translateX(-50%); max-width:90%; margin:0; padding:10px 14px; border:1px solid #c4a56a80; border-radius:6px; background:#173b32f5; color:#fffdf8; font-size:12px; line-height:1.6; text-align:center; }
body.page-package-detail .eo-dialog { border-radius:17px; }
body.page-package-detail .eo-dialogHead { background:#f7f3e8; }
body.page-package-detail .eo-label { color:#37523f; }
body.page-package-detail :is(.eo-input,.eo-select,.eo-textarea) { border-color:#bdc5b1; }
body.page-package-detail .eo-input[readonly] { color:#173b32; background:#eef2e6; }
body.page-package-detail .eo-x { width:44px; height:44px; background:#fffdf888; }
body.page-package-detail .eo-dialogFoot { position:sticky; bottom:0; z-index:2; background:#f5f1e6; }
body.page-package-detail .eo-dialogFoot .eo-small { color:#465c4c; font-size:11px; }
@media (max-width:1100px) {
  body.page-package-detail .eo-tabs .bar { gap:12px; }
  body.page-package-detail .eo-tab { padding-inline:10px; }
}
@media (max-width:900px) {
  body.page-package-detail .eo-dayLink[aria-current=true] { border-radius:999px; background:#173b32; color:#fffdf8; }
  body.page-package-detail .eo-tabs .right { justify-content:start; gap:2px; }
  body.page-package-detail .eo-tab { flex:none; font-size:11px; }
}
@media (max-width:760px) {
  body.page-package-detail .eo-tab { padding-inline:10px; }
  body.page-package-detail .eo-tab i { display:none; }
  body.page-package-detail .eo-navQuote { min-height:44px; padding:10px 12px; gap:8px; font-size:10px; }
  body.page-package-detail .eo-tabs .bar { gap:8px; }
  body.page-package-detail .eo-p { font-size:13px; }
  body.page-package-detail .eo-galleryNumber { width:25px; height:25px; top:10px; left:10px; font-size:9px; }
  body.page-package-detail .eo-faqQ { font-size:13px; }
  body.page-package-detail .eo-faqA { font-size:13px; }
  body.page-package-detail .eo-lightboxInner { height:calc(100dvh - 34px); }
  body.page-package-detail .eo-lightboxTop { flex-direction:column; gap:12px; }
  body.page-package-detail .eo-lightboxTop strong { font-size:12px; }
  body.page-package-detail .eo-lbBtns { width:100%; }
  body.page-package-detail .eo-lbCount { margin-right:auto; text-align:left; }
  body.page-package-detail .eo-lbBtn { width:44px; height:44px; font-size:23px; }
}
@media print {
  body.page-package-detail :is(.eo-dayPhotoLink,.eo-galleryNumber,.eo-mapFit) { display:none !important; }
  body.page-package-detail .eo-p { font-size:10px; }
}


/* Editorial route presentation: existing content, clearer hierarchy. */
@media screen {
  body.page-package-detail .eo-dayCard { border-radius:8px 8px 28px 8px; border-color:#ded8cb; box-shadow:0 8px 24px #173b3206; }
  body.page-package-detail .eo-dayCardHeader { display:flex; align-items:center; gap:20px; padding:24px 28px 20px; background:#fffefa; box-shadow:none; }
  body.page-package-detail .eo-dayIndex { flex:none; color:#b49a64; font:500 clamp(40px,4vw,58px)/1 var(--font-serif); letter-spacing:-.06em; }
  body.page-package-detail .eo-dayTitle { margin:0; font-size:clamp(25px,2.2vw,33px); line-height:1.2; }
  body.page-package-detail .eo-dayTitle > span { display:block; margin-bottom:7px; color:#6d725e; font:600 9px/1.5 var(--font-sans); letter-spacing:.14em; text-transform:uppercase; }
  body.page-package-detail .eo-routeStrip { margin-inline:28px; padding:13px 0; border-block:1px solid #e3dece; background:transparent; gap:16px 30px; }
  body.page-package-detail .eo-routeFact b { font-size:9px; }
  body.page-package-detail .eo-routeFact span { font-size:12px; line-height:1.7; }
  body.page-package-detail .eo-dayBody { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); padding:24px 28px 28px; gap:27px; align-items:start; }
  body.page-package-detail .eo-dayMedia { align-self:start; min-height:0; width:100%; height:auto; aspect-ratio:4/3; max-height:none; border-radius:5px 5px 48px 5px; }
  body.page-package-detail .eo-dayImg { filter:none; transition:transform .5s ease; }
  body.page-package-detail .eo-dayMedia:hover .eo-dayImg { transform:scale(1.035); }
  body.page-package-detail .eo-dayBadge { display:none; }
  body.page-package-detail .eo-dayText { font-size:14px; line-height:1.9; margin-top:0; }
  body.page-package-detail .eo-bullets { font-size:12px; line-height:1.9; padding-left:18px; }
  body.page-package-detail .eo-bullets li { padding-left:3px; margin-bottom:7px; }
  body.page-package-detail .eo-bullets li::marker { color:#9d824d; }
  body.page-package-detail .eo-accomCard { border-radius:0; background:transparent; border:0; border-top:1px solid #ded8cb; padding-inline:0; }
  body.page-package-detail .eo-accomName { font-size:13px; }
  body.page-package-detail .eo-accBtn { min-height:50px; font-size:12px; }
  body.page-package-detail .eo-accPanel { font-size:13px; line-height:1.9; }
  body.page-package-detail .eo-dayNavTitle { padding-bottom:16px; border-bottom:1px solid #ded8cb; letter-spacing:.12em; }
  body.page-package-detail .eo-dayLink { padding-block:13px; }
  body.page-package-detail .eo-overviewGrid > .eo-card:last-child { border:0; border-left:1px solid #c8b68c; border-radius:0; background:transparent; padding:8px 0 8px 32px; }
  body.page-package-detail #highlightsList .eo-li { padding-block:20px; font-size:13px; }
  body.page-package-detail #highlightsList .eo-li b { display:inline-block; margin-bottom:6px; font:500 21px/1.3 var(--font-serif); }
  body.page-package-detail #overviewText { font-size:15px; line-height:1.95; }
  body.page-package-detail .eo-faqQ { padding-block:22px; font-size:15px; }
  body.page-package-detail .eo-faqA { font-size:14px; line-height:1.9; }
  body.page-package-detail .eo-enquiryChannels { display:flex; flex-wrap:wrap; gap:10px; }
  body.page-package-detail .eo-dialogFoot { display:flex; flex-direction:column; align-items:stretch; gap:14px; }
  body.page-package-detail .eo-enquiryChannels .eo-btn { flex:1; justify-content:center; gap:8px; }
  body.page-package-detail .eo-dialog { border-radius:10px 10px 28px 10px; }
  body.page-package-detail .eo-input,body.page-package-detail .eo-select { min-height:48px; }
}
@media screen and (max-width:760px) {
  body.page-package-detail .eo-dayCardHeader { padding:20px 18px 16px; gap:15px; }
  body.page-package-detail .eo-dayIndex { font-size:42px; }
  body.page-package-detail .eo-dayBody { grid-template-columns:1fr; padding:18px; gap:22px; }
  body.page-package-detail .eo-dayMedia { width:100%; aspect-ratio:16/10; max-height:320px; border-bottom-right-radius:36px; }
  body.page-package-detail .eo-routeStrip { margin-inline:18px; gap:12px 22px; }
  body.page-package-detail .eo-routeFact span { font-size:11px; }
  body.page-package-detail .eo-overviewGrid > .eo-card:last-child { padding-left:20px; }
  body.page-package-detail #overviewText { font-size:14px; }
  body.page-package-detail .eo-enquiryChannels { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { body.page-package-detail .eo-dayImg { transition:none; } }
@media print { body.page-package-detail .eo-dayIndex { display:none; } }

/* Accommodation levels, inspired by Paraiso's whole-route selector and day previews. */
body.page-package-detail .eo-stayStyles { margin:0 0 32px; padding:24px 0; border-block:1px solid #d6cdb9; display:grid; grid-template-columns:1fr 1.2fr; gap:12px 32px; align-items:center; }
body.page-package-detail .eo-stayStyles[hidden],body.page-package-detail [data-stay-panel][hidden] { display:none !important; }
body.page-package-detail .eo-stayStyles h3 { margin:0 0 8px; color:#173b32; font:500 25px/1.3 var(--font-serif); }
body.page-package-detail .eo-stayStyles p { margin:0; color:#526150; font-size:12px; line-height:1.8; }
body.page-package-detail .eo-stayOptions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:5px; background:#eee8da; border-radius:8px; }
body.page-package-detail .eo-stayOptions button { min-width:0; min-height:70px; padding:12px 9px; border:1px solid transparent; border-radius:5px; background:transparent; color:#365347; cursor:pointer; font-family:var(--font-sans); }
body.page-package-detail .eo-stayOptions button[aria-pressed=true] { background:#173b32; color:#fffefa; }
body.page-package-detail .eo-stayOptions strong { display:block; font-size:13px; }
body.page-package-detail .eo-stayOptions small { display:block; margin-top:6px; font-size:10px; line-height:1.5; }
body.page-package-detail .eo-stayStyles .eo-stayDisclaimer { grid-column:1/-1; font-size:10px; }
body.page-package-detail .eo-stayPreview { padding-top:4px; }
body.page-package-detail .eo-stayPreviewPanels { min-height:100px; }
body.page-package-detail .eo-stayTierLabel { display:block; margin-bottom:9px; color:#876b36; font:600 9px/1.5 var(--font-sans); text-transform:uppercase; letter-spacing:.1em; }
body.page-package-detail .eo-stayName { display:block; color:#173b32; font:500 19px/1.3 var(--font-serif); }
body.page-package-detail .eo-stayPreview p { margin:7px 0 0; font-size:12px; line-height:1.7; color:#526150; }
body.page-package-detail .eo-stayArrows { display:flex; align-items:center; gap:12px; margin:10px 0; }
body.page-package-detail .eo-stayArrows button { width:38px; height:38px; border:1px solid #cfc6b2; border-radius:50%; color:#173b32; background:transparent; cursor:pointer; font-size:18px; }
body.page-package-detail .eo-stayArrows button:hover { background:#173b32; color:#fffefa; }
body.page-package-detail .eo-stayArrows span { min-width:110px; text-align:center; font-size:10px; color:#526150; }
body.page-package-detail .eo-originalStays { border-top:1px solid #ded8cb; margin-top:12px; }
body.page-package-detail .eo-originalStays summary { cursor:pointer; padding:12px 0; color:#365347; font-size:11px; }
body.page-package-detail .eo-originalStays .eo-accomItem { padding-bottom:10px; }
@media(max-width:760px) { body.page-package-detail .eo-stayStyles { grid-template-columns:1fr; gap:16px; } body.page-package-detail .eo-stayOptions small { font-size:9px; } }
@media print { body.page-package-detail .eo-stayArrows { display:none; } }

/* Property photographs and day images that follow the content height. */
body.page-package-detail .eo-stayProperty { display:flex; align-items:flex-start; gap:14px; }
body.page-package-detail .eo-stayProperty + .eo-stayProperty { margin-top:16px; }
body.page-package-detail .eo-stayPhoto { display:block; flex:0 0 106px; width:106px; height:128px; object-fit:cover; border-radius:5px 5px 22px 5px; background:#eee8da; }
body.page-package-detail .eo-stayPhoto[hidden] { display:none; }
body.page-package-detail .eo-stayPropertyCopy { min-width:0; flex:1; }
@media screen and (min-width:761px) {
  body.page-package-detail .eo-dayBody { align-items:stretch; }
  body.page-package-detail .eo-dayMedia { align-self:stretch; height:auto; min-height:320px; max-height:none; aspect-ratio:auto; }
}
@media screen and (max-width:480px) {
  body.page-package-detail .eo-stayPhoto { flex-basis:90px; width:90px; height:114px; }
  body.page-package-detail .eo-stayProperty { gap:12px; }
}

/* Stay previews retain the itinerary position and keep card copy concise. */
body.page-package-detail .eo-stayPhotoButton { flex:0 0 106px; border:0; padding:0; background:transparent; cursor:pointer; border-radius:5px 5px 22px 5px; }
body.page-package-detail .eo-stayNameButton { padding:0; border:0; background:transparent; text-align:left; cursor:pointer; }
body.page-package-detail .eo-stayNameButton:hover { text-decoration:underline; text-underline-offset:4px; }
body.page-package-detail .eo-stayNameButton span { color:#94733b; font-size:16px; }
body.page-package-detail .eo-stayType { display:block; margin-top:9px; color:#69715e; font-size:10px; line-height:1.6; }
body.page-package-detail .eo-stayDialog { width:min(760px,calc(100% - 28px)); max-height:88dvh; margin:auto; padding:28px; border:1px solid #d5ccb8; border-radius:12px 12px 30px 12px; background:#fffefa; color:#173b32; overflow:auto; }
body.page-package-detail .eo-stayDialog::backdrop { background:#10271fb8; backdrop-filter:blur(4px); }
body.page-package-detail .eo-stayDialog header { display:flex; justify-content:space-between; align-items:start; gap:18px; margin-bottom:20px; }
body.page-package-detail .eo-stayDialog h2 { font:500 32px/1.2 var(--font-serif); margin:0; }
body.page-package-detail .eo-stayDialog h3 { font:500 22px/1.3 var(--font-serif); margin:22px 0 12px; }
body.page-package-detail .eo-stayDialog p,body.page-package-detail .eo-stayDialog li { font-size:13px; line-height:1.8; }
body.page-package-detail .eo-stayDialog ul { padding-left:18px; columns:2; }
body.page-package-detail .eo-stayDialog li { break-inside:avoid; }
body.page-package-detail .eo-stayGallery { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding-bottom:8px; }
body.page-package-detail .eo-stayGallery img { display:block; width:100%; flex:0 0 100%; height:300px; object-fit:cover; border-radius:6px 6px 28px 6px; scroll-snap-align:start; }
body.page-package-detail .eo-stayGalleryNav { display:flex; gap:10px; justify-content:flex-end; margin-block:8px; }
body.page-package-detail #routeStayStatus { font-size:12px; color:#69715e; }
@media(max-width:480px) { body.page-package-detail .eo-stayPhotoButton { flex-basis:90px; } body.page-package-detail .eo-stayDialog { padding:20px; } body.page-package-detail .eo-stayGallery img { height:220px; } body.page-package-detail .eo-stayDialog ul { columns:1; } }

/* Daily essentials: one compact strip, read left to right. */
@media screen {
  body.page-package-detail .eo-routeStrip { display:flex; flex-wrap:wrap; gap:14px 0; padding-block:16px; }
  body.page-package-detail .eo-routeFact { flex:1 1 145px; padding-inline:18px; border-left:1px solid #ded8cb; }
  body.page-package-detail .eo-routeFact:first-child { flex:2 1 240px; border-left:0; padding-left:0; }
  body.page-package-detail .eo-routeFact b { display:flex; align-items:center; gap:7px; font-size:9px; line-height:1.6; letter-spacing:.05em; }
  body.page-package-detail .eo-routeFact b i { font-size:14px; color:#927540; }
  body.page-package-detail .eo-routeFact span { margin-top:7px; color:#284b3e; font-size:12px; font-weight:500; line-height:1.65; }
}
@media screen and (max-width:760px) {
  body.page-package-detail .eo-routeStrip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
  body.page-package-detail .eo-routeFact { padding:0; border:0; }
  body.page-package-detail .eo-routeFact:first-child { grid-column:1/-1; }
  body.page-package-detail .eo-routeFact b { font-size:8px; }
  body.page-package-detail .eo-routeFact span { font-size:11px; }
}

/* Per-photo focal points preserve the subject without changing card dimensions. */
body.page-package-detail .eo-dayImg { object-position:var(--day-focus,50% 50%); }
body.page-package-detail .eo-dayMedia:hover .eo-dayImg { transform:none; }
@media screen and (max-width:760px) { body.page-package-detail .eo-dayImg { object-position:var(--day-focus-mobile,50% 50%); } }

body.page-package-detail .eo-stayDialog li { display:flex; align-items:flex-start; gap:10px; padding:7px 0; }
body.page-package-detail .eo-stayDialog li svg { width:20px; height:20px; flex:none; color:#927540; margin-top:2px; }
body.page-package-detail .eo-stayDialog ul { padding:0; list-style:none; }
body.page-package-detail .eo-selectStay { display:inline-flex; margin-top:12px; padding:9px 12px; min-height:40px; background:transparent; color:#173b32; border:1px solid #adbaaa; border-radius:5px; font:600 10px/1.5 var(--font-sans); cursor:pointer; }
body.page-package-detail .eo-selectStay[aria-pressed=true] { background:#173b32; color:#fffefa; border-color:#173b32; }
body.page-package-detail .eo-nightSelection { display:flex; align-items:center; gap:12px; justify-content:space-between; padding:10px 0; color:#365347; font-size:10px; line-height:1.7; }
body.page-package-detail [data-clear-night],body.page-package-detail #clearNightChoices { flex:none; border:0; padding:8px; background:transparent; color:#526150; text-decoration:underline; cursor:pointer; font:inherit; }
body.page-package-detail [data-clear-night][hidden],body.page-package-detail #clearNightChoices[hidden] { display:none; }

/* Place the night action alongside the property, separate from its description. */
body.page-package-detail .eo-stayProperty { display:grid; grid-template-columns:90px minmax(0,1fr) 100px; align-items:center; gap:12px; }
body.page-package-detail .eo-stayProperty:not(:has(.eo-stayPhotoButton)):not(:has(.eo-stayPhoto)) { grid-template-columns:minmax(0,1fr) 100px; }
body.page-package-detail .eo-stayProperty .eo-stayPhoto { width:90px; height:118px; }
body.page-package-detail .eo-stayProperty > .eo-selectStay { margin:0; min-height:44px; justify-content:center; text-align:center; white-space:normal; }
body.page-package-detail .eo-stayStars { margin-top:9px; color:#8a692e; font-size:13px; line-height:1.7; }
body.page-package-detail .eo-stayStars small { font-size:9px; color:#576653; }
body.page-package-detail .eo-stayStars > small { display:block; margin-top:3px; }
body.page-package-detail .eo-previewStars { color:#8a692e; }
@media(min-width:761px) and (max-width:1150px), (max-width:400px) {
 body.page-package-detail .eo-stayProperty { grid-template-columns:70px minmax(0,1fr); }
 body.page-package-detail .eo-stayProperty .eo-stayPhoto { width:70px; height:100px; }
 body.page-package-detail .eo-stayProperty > .eo-selectStay { grid-column:2; justify-self:start; }
 body.page-package-detail .eo-stayProperty:not(:has(.eo-stayPhotoButton)):not(:has(.eo-stayPhoto)) { grid-template-columns:minmax(0,1fr); }
 body.page-package-detail .eo-stayProperty:not(:has(.eo-stayPhotoButton)):not(:has(.eo-stayPhoto)) > .eo-selectStay { grid-column:1; }
}

/* Night selection belongs to the preview; cards retain the chosen-stay summary. */
body.page-package-detail .eo-stayProperty { grid-template-columns:90px minmax(0,1fr); }
body.page-package-detail .eo-stayProperty:not(:has(.eo-stayPhotoButton)):not(:has(.eo-stayPhoto)) { grid-template-columns:minmax(0,1fr); }
body.page-package-detail .eo-modalNightAction { position:sticky; bottom:-28px; padding:16px 0; margin-top:16px; border-top:1px solid #ded8cb; background:#fffefa; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
body.page-package-detail #routeStayChoiceStatus { font-size:11px; line-height:1.6; color:#526150; }
body.page-package-detail #routeStayChoose:disabled { opacity:.85; cursor:default; }
@media(max-width:480px){ body.page-package-detail .eo-modalNightAction { bottom:-20px; } }

/* Accommodation-level pricing follows the complete day-by-day itinerary. */
body.page-package-detail .eo-routePricing { margin-top:56px; padding-top:40px; border-top:1px solid #cdbf9d; scroll-margin-top:160px; }
body.page-package-detail .eo-routePricing[hidden] { display:none; }
body.page-package-detail .eo-routePricing > .eo-p { max-width:760px; }
body.page-package-detail .eo-priceLevels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:28px; }
body.page-package-detail .eo-priceLevel { display:flex; flex-direction:column; padding:27px; border:1px solid #d8cebb; border-radius:7px 7px 26px 7px; background:#fffefa; }
body.page-package-detail .eo-priceLevel:nth-child(2) { background:#f1ecdf; border-top:3px solid #b49a64; padding-top:25px; }
body.page-package-detail .eo-priceLevelHeading { display:flex; align-items:center; gap:15px; }
body.page-package-detail .eo-priceLevelHeading > span { color:#a38a55; font:500 31px/1 var(--font-serif); }
body.page-package-detail .eo-priceLevel h3 { margin:0; font:500 29px/1.3 var(--font-serif); color:#173b32; }
body.page-package-detail .eo-priceLevel > p { margin:15px 0; color:#526150; font-size:12px; line-height:1.8; }
body.page-package-detail .eo-levelAmount { border-block:1px solid #ded6c3; padding:20px 0; margin-top:auto; }
body.page-package-detail .eo-levelAmount small { display:block; color:#806737; font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
body.page-package-detail .eo-levelAmount strong { display:block; margin:9px 0; color:#173b32; font:500 33px/1.2 var(--font-serif); }
body.page-package-detail .eo-levelAmount > span { font-size:11px; color:#526150; }
body.page-package-detail .eo-priceLevel .eo-levelConditions { font-size:11px; min-height:40px; }
body.page-package-detail .eo-priceLevel .eo-btn { justify-content:space-between; gap:12px; width:100%; }
body.page-package-detail .eo-priceNote { margin-top:20px; font-size:11px; line-height:1.8; color:#65705d; }
@media(max-width:760px){ body.page-package-detail .eo-priceLevels { grid-template-columns:1fr; gap:16px; } body.page-package-detail .eo-routePricing { margin-top:36px; padding-top:30px; } }
@media print{ body.page-package-detail .eo-priceLevels { grid-template-columns:repeat(3,1fr); } body.page-package-detail .eo-priceLevel { break-inside:avoid; padding:15px; } body.page-package-detail [data-price-enquire] { display:none; } }

/* Paraiso-inspired price summary and accommodation comparison. */
body.page-package-detail .eo-priceLevels { grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr); gap:48px; align-items:start; }
body.page-package-detail .eo-pricingLead { border-top:2px solid #b39a62; padding-top:22px; }
body.page-package-detail .eo-pricingAmount { display:block; font:500 clamp(32px,3vw,46px)/1.2 var(--font-serif); color:#173b32; }
body.page-package-detail .eo-pricingLead p { font-size:12px; line-height:1.9; color:#526150; margin:16px 0; }
body.page-package-detail .eo-pricingLead .eo-pricingBasis { font-size:11px; }
body.page-package-detail .eo-pricingLead .eo-btn { width:100%; justify-content:space-between; white-space:normal; }
body.page-package-detail .eo-pricingLead > small { display:block; margin-top:14px; font-size:10px; color:#65705d; }
body.page-package-detail .eo-pricingComparison h3 { margin:0; font:500 24px/1.4 var(--font-serif); color:#173b32; }
body.page-package-detail .eo-priceHelp { font-size:11px; line-height:1.8; color:#65705d; margin:10px 0 18px; }
body.page-package-detail .eo-priceTabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#eee8da; padding:5px; gap:4px; border-radius:7px; margin-bottom:26px; }
body.page-package-detail .eo-priceTabs button { border:0; border-radius:5px; background:transparent; color:#365347; padding:14px 9px; cursor:pointer; font-family:var(--font-sans); }
body.page-package-detail .eo-priceTabs button[aria-selected=true] { background:#173b32; color:#fffefa; }
body.page-package-detail .eo-priceTabs strong { display:block; font-size:12px; }
body.page-package-detail .eo-priceTabs small { display:block; font-size:9px; line-height:1.6; margin-top:5px; }
body.page-package-detail .eo-pricePanel[hidden] { display:none !important; }
body.page-package-detail .eo-pricePanelHead { display:flex; justify-content:space-between; gap:16px; align-items:baseline; }
body.page-package-detail .eo-pricePanelHead h4 { margin:0; font-size:12px; font-weight:600; }
body.page-package-detail .eo-pricePanelHead > span { font-size:9px; color:#65705d; flex:none; }
body.page-package-detail .eo-seasonRow { padding:22px 0; border-block:1px solid #d8cebb; margin-top:16px; }
body.page-package-detail .eo-seasonHeading { display:flex; align-items:center; gap:15px; }
body.page-package-detail .eo-seasonHeading > span { font:500 27px/1 var(--font-serif); color:#a38a55; }
body.page-package-detail .eo-seasonHeading h5 { margin:0; font-size:13px; }
body.page-package-detail .eo-seasonHeading p { margin:6px 0 0; font-size:10px; color:#65705d; }
body.page-package-detail .eo-seasonRow dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:22px 0 0; }
body.page-package-detail .eo-seasonRow dl > div { min-width:0; padding:0 16px; border-left:1px solid #ded8cb; }
body.page-package-detail .eo-seasonRow dl > div:first-child { border:0; padding-left:0; }
body.page-package-detail .eo-seasonRow dt { font-size:11px; font-weight:600; line-height:1.6; }
body.page-package-detail .eo-seasonRow dt small,body.page-package-detail .eo-seasonRow dt span { display:block; margin-top:5px; font-size:9px; font-weight:400; color:#65705d; }
body.page-package-detail .eo-seasonRow dd { margin:13px 0 0; font:500 22px/1.3 var(--font-serif); color:#173b32; }
body.page-package-detail .eo-seasonConditions { font-size:11px; line-height:1.7; }
@media(max-width:900px){body.page-package-detail .eo-priceLevels { grid-template-columns:1fr; gap:30px; }}
@media(max-width:480px){body.page-package-detail .eo-seasonRow dl { grid-template-columns:1fr; gap:16px; } body.page-package-detail .eo-seasonRow dl > div { border-left:0; border-bottom:1px solid #e3dece; padding:0 0 14px; } body.page-package-detail .eo-seasonRow dl > div:first-child { border-bottom:1px solid #e3dece; } body.page-package-detail .eo-seasonRow dd { margin-top:8px; } body.page-package-detail .eo-pricePanelHead { flex-direction:column; gap:6px; }}

/* Preserve the approved forest-green image tint within the original day layout. */
@media screen {
 body.page-package-detail .eo-dayMedia::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(10,30,23,.65) 55%,rgba(10,30,23,.96)); pointer-events:none; z-index:1; }
}

/* Raised-paper finish: paint-only details preserve the existing card geometry. */
@media screen {
 body.page-package-detail .eo-dayCard { background:#fffefa; border-color:#d3cbb9; box-shadow:0 2px 0 #d9d2c3,0 5px 9px -6px rgba(23,59,50,.28); }
 body.page-package-detail .eo-dayCardHeader { background:#fffefa; }
 body.page-package-detail .eo-dayIndex { color:#987333; text-shadow:0 1px 0 #fff; }
 body.page-package-detail .eo-routeStrip { border-color:#d6cdbb; }
 body.page-package-detail .eo-accomCard { border-color:#d6cdbb; }
 body.page-package-detail .eo-dayCopy > .eo-bullets { position:relative; }
 body.page-package-detail .eo-dayCopy > .eo-bullets::before { content:""; position:absolute; top:-7px; left:0; right:0; height:1px; background:#e3dccf; pointer-events:none; }
 body.page-package-detail .eo-accomTitle,body.page-package-detail .eo-experienceLabel { color:#82632f; }
}

/* Four stay choices on the five-day camping pilot. */
body.page-package-detail.eo-hasCamping .eo-stayOptions, body.page-package-detail.eo-hasCamping .eo-priceTabs {grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:650px){body.page-package-detail.eo-hasCamping .eo-stayOptions, body.page-package-detail.eo-hasCamping .eo-priceTabs {grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Reassign the former suggestions row to the accommodation presentation.
   Its closed height (43.88px) plus 12px margin is retained as breathing room. */
body.page-package-detail .eo-stayPreviewPanels { padding-block:28px 27.88px; }

/* One selector row, wider stay photographs, unchanged overall preview footprint. */
body.page-package-detail .eo-stayPreview { display:flex; flex-direction:column; }
body.page-package-detail .eo-stayPreview > .eo-stayArrows { order:-1; width:100%; gap:10px; }
body.page-package-detail .eo-stayArrows [data-stay-count] { order:-1; margin-right:auto; text-align:left; color:#876b36; font-weight:600; letter-spacing:.04em; }
body.page-package-detail .eo-stayTierLabel { display:none; }
body.page-package-detail .eo-stayPreviewPanels { padding-block:28px 50.38px; }
body.page-package-detail .eo-stayProperty { grid-template-columns:136px minmax(0,1fr); }
body.page-package-detail .eo-stayPhotoButton { width:136px; }
body.page-package-detail .eo-stayProperty .eo-stayPhoto { width:136px; height:118px; }
body.page-package-detail .eo-nightSelection { color:#526150; }
@media(min-width:761px) and (max-width:1150px), (max-width:400px) {
 body.page-package-detail .eo-stayProperty { grid-template-columns:104px minmax(0,1fr); }
 body.page-package-detail .eo-stayPhotoButton,body.page-package-detail .eo-stayProperty .eo-stayPhoto { width:104px; }
 body.page-package-detail .eo-stayProperty .eo-stayPhoto { height:100px; }
}
body.page-package-detail .eo-stayProperty:not(:has(.eo-stayPhotoButton)):not(:has(.eo-stayPhoto)) { grid-template-columns:minmax(0,1fr); }

/* Details use the reserved space beneath the property without lengthening cards. */
body.page-package-detail .eo-stayProperty { position:relative; }
body.page-package-detail .eo-stayDetailsLink { position:absolute; left:0; bottom:-35px; padding:6px 0; border:0; background:transparent; color:#365347; cursor:pointer; font:500 11px/1.6 var(--font-sans); text-decoration:underline; text-underline-offset:4px; }
body.page-package-detail .eo-stayDetailsLink:hover { color:#82632f; }
body.page-package-detail .eo-stayDetailsLink:focus-visible { outline:2px solid #82632f; outline-offset:4px; border-radius:3px; }
body.page-package-detail .eo-stayProperty:has(+ .eo-stayProperty) { margin-bottom:35px; }

/* Ivory property surface occupies existing whitespace, preserving card geometry. */
@media screen {
 body.page-package-detail .eo-stayProperty { isolation:isolate; }
 body.page-package-detail .eo-stayProperty::before { content:""; position:absolute; z-index:-1; inset:-14px -12px -42px; border:1px solid #e7e3d8; border-radius:16px 16px 26px 16px; background:#fffefa; box-shadow:0 2px 3px rgba(44,56,37,.02),0 7px 14px -12px rgba(35,52,37,.18); pointer-events:none; }
 body.page-package-detail .eo-stayPhotoButton { border-radius:12px 12px 22px 12px; }
 body.page-package-detail .eo-stayProperty .eo-stayPhoto { border-radius:12px 12px 22px 12px; box-shadow:0 3px 8px rgba(26,48,35,.12); }
 body.page-package-detail .eo-stayPropertyCopy { padding-right:6px; }
 body.page-package-detail .eo-stayDetailsLink { color:#284b3e; text-decoration-color:#b6a47d; }
 body.page-package-detail .eo-stayProperty:focus-within::before { border-color:#a38b57; }
 body.page-package-detail .eo-stayProperty:not(:has(.eo-stayDetailsLink))::before { bottom:-14px; }
}

/* Integrated at rest; reveal the accommodation surface on deliberate interaction. */
@media screen {
 body.page-package-detail .eo-stayProperty::before { border:0; background:transparent; box-shadow:none; transition:background-color .2s ease,box-shadow .2s ease; }
 body.page-package-detail .eo-stayProperty:focus-within::before { background:#f5f2e9; box-shadow:0 8px 16px -14px rgba(35,52,37,.22); }
}
@media screen and (hover:hover) and (pointer:fine) {
 body.page-package-detail .eo-stayProperty:hover::before { background:#f5f2e9; box-shadow:0 8px 16px -14px rgba(35,52,37,.22); }
}
@media(prefers-reduced-motion:reduce) { body.page-package-detail .eo-stayProperty::before { transition:none; } }

/* Lift the right edge only; the left edge stays anchored and layout never shifts. */
@media screen and (hover:hover) and (pointer:fine) {
 body.page-package-detail .eo-stayProperty { transform-origin:left center; transition:transform .24s ease; }
 body.page-package-detail .eo-stayProperty:hover { transform:rotate(-.65deg); }
 body.page-package-detail .eo-stayProperty:hover::before { box-shadow:9px 10px 16px -13px rgba(35,52,37,.3); }
}
@media(prefers-reduced-motion:reduce) {
 body.page-package-detail .eo-stayProperty { transition:none; }
 body.page-package-detail .eo-stayProperty:hover { transform:none; }
}
