/* Package-page features sit over the existing photos, outside the card flow. */
body.page-home #routes .home-route-region { position:absolute; z-index:1; left:14px; bottom:60px; color:#fffdf8; font:600 9px/1.5 var(--font-sans); letter-spacing:.09em; text-transform:uppercase; text-shadow:0 1px 4px #10271f; }
body.page-home #routes .thumb::after { background:linear-gradient(180deg,#10271f12,transparent 32%,#10271f25 50%,#10271faa); }
body.page-home #routes .home-route-select { position:absolute; z-index:4; top:14px; right:14px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #fffdf8bd; border-radius:50%; background:#fffdf8f5; color:#173b32; font-size:18px; cursor:pointer; box-shadow:none; transition:background .2s,color .2s; }
body.page-home #routes .home-route-select[hidden],body.page-home #routes .route-feature-close[hidden] { display:none; }
body.page-home #routes .home-route-select:hover { background:#edf1e7; }
body.page-home #routes .home-route-select[aria-pressed="true"] { background:#173b32; color:#f2deb0; border-color:#f2deb0; }
body.page-home #routes .route-card.is-selected { border-color:#173b32; box-shadow:0 0 0 2px #173b3226; }
body.page-home #routes .home-route-features { position:absolute; z-index:3; top:0; left:0; right:0; margin:0; padding:0; border:0; background:none; box-shadow:none; border-radius:0; }
body.page-home #routes .home-route-features[open] { z-index:5; }
body.page-home #routes .home-route-features > summary.collection-badge { top:14px; left:14px; max-width:calc(100% - 82px); min-height:44px; padding:8px 10px; cursor:pointer; list-style:none; line-height:1.45; }
body.page-home #routes .home-route-features > summary::before,body.page-home #routes .home-route-features > summary::after { display:none; }
body.page-home #routes .home-route-features > summary::-webkit-details-marker { display:none; }
body.page-home #routes .home-route-features > summary::marker { content:""; }
body.page-home #routes .home-route-features > summary:hover,body.page-home #routes .home-route-features[open] > summary { background:#f5efde; }
body.page-home #routes .home-route-features .route-feature-hint { margin-left:3px; color:#76572b; font-size:12px; }
body.page-home #routes .home-route-feature-panel { position:relative; margin:65px 12px 0; padding:17px; border:1px solid #d4c6a7; border-radius:10px; background:#fffdf8; box-shadow:0 12px 30px #173b3226; max-height:min(390px,calc(100dvh - var(--eo-header-h,88px) - 84px)); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; color:#173b32; }
body.page-home #routes .route-feature-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding-bottom:13px; border-bottom:1px solid #e2dece; }
body.page-home #routes .route-feature-heading > div { min-width:0; }
body.page-home #routes .route-feature-heading p { margin:0 0 5px; color:#76572b; font:600 8px/1.5 var(--font-sans); letter-spacing:.12em; text-transform:uppercase; }
body.page-home #routes .route-feature-heading h4 { margin:0; color:#173b32; font:500 21px/1.2 var(--font-serif); letter-spacing:-.025em; }
body.page-home #routes .route-feature-close { flex:none; display:grid; place-items:center; width:44px; height:44px; margin:-8px -8px -8px 0; padding:0; border:0; border-radius:50%; background:transparent; color:#173b32; font-size:15px; cursor:pointer; }
body.page-home #routes .route-feature-close:hover { background:#f1edde; }
body.page-home #routes .home-route-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 10px; margin:15px 0 17px; padding:0; list-style:none; }
body.page-home #routes .home-route-specs li { display:flex; align-items:flex-start; gap:7px; min-width:0; margin:0; padding:0; color:#314e40; font:500 10px/1.6 var(--font-sans); }
body.page-home #routes .home-route-specs i { flex:none; margin-top:1px; color:#876834; font-size:14px; }
body.page-home #routes .route-timing-table { width:100%; table-layout:fixed; border-collapse:collapse; margin:0; border:0; font:500 8px/1.5 var(--font-sans); color:#44583f; }
body.page-home #routes .route-timing-table caption { padding:0 0 9px; text-align:left; color:#173b32; font-size:11px; font-weight:600; }
body.page-home #routes .route-timing-table caption > span { display:block; margin-top:3px; color:#5b684f; font-size:9px; font-weight:400; }
body.page-home #routes .route-timing-table :is(th,td) { padding:3px 1px; border:0; background:none; text-align:center; }
body.page-home #routes .route-timing-table tr > th:first-child { width:42px; text-align:left; font-size:9px; font-weight:500; }
body.page-home #routes .route-timing-table abbr { text-decoration:none; border:0; font-size:7px; cursor:help; }
body.page-home #routes .route-month-dot { display:block; width:100%; height:5px; border:1px solid #d7ddcf; border-radius:2px; background:#e6eade; }
body.page-home #routes .route-month-dot.perfect.is-on { border-color:#285547; background:#285547; }
body.page-home #routes .route-month-dot.good.is-on { border-color:#b39760; background:#ccaf70; }
body.page-home #routes .route-feature-note { margin:12px 0 0; color:#5b684f; font:400 10px/1.7 var(--font-sans); }
body.page-home #routes :is(.home-route-select,.home-route-features > summary,.route-feature-close):focus-visible { outline:2px solid #76572b; outline-offset:3px; }
body.page-home .route-feature-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media (max-width:360px) {
  body.page-home #routes .home-route-feature-panel { margin-inline:9px; padding:13px; }
  body.page-home #routes .home-route-features > summary.collection-badge { font-size:8px; gap:5px; }
  body.page-home #routes .home-route-specs { gap:10px 7px; }
  body.page-home #routes .home-route-region { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) { body.page-home #routes .home-route-select { transition:none; } }
@media print {
  body.page-home #routes :is(.home-route-select,.route-feature-close) { display:none!important; }
  body.page-home #routes .home-route-features { display:none; }
}

/* Photo-led route collection: white editorial panels and quiet photographic overlays. */
body.page-home #routes .route-card{background:#fff;border-color:#deded4;box-shadow:0 5px 16px rgba(23,44,32,.075);border-radius:14px;isolation:isolate}
body.page-home #routes .route-card .card-body{background:#fff}
body.page-home #routes .thumb img{filter:none;transition:transform .7s ease}
body.page-home #routes .thumb::after{background:linear-gradient(180deg,rgba(9,26,20,.13),transparent 37%,rgba(9,26,20,.06) 55%,rgba(9,26,20,.7))}
body.page-home #routes .home-route-region{font-size:9px;font-weight:500;letter-spacing:.15em;color:#fff;bottom:60px;text-shadow:0 1px 4px #10271f}
body.page-home #routes .duration-label{background:none;color:#fff;padding:7px 11px;border-radius:0;box-shadow:none}
body.page-home #routes .duration-label strong{font-weight:500}
body.page-home #routes .duration-label span{color:#f3f3e9}
body.page-home #routes .home-route-features>summary.collection-badge{background:#ffffffed;border-radius:4px;box-shadow:none;color:#173b32}
body.page-home #routes .home-route-select{background:rgba(255,255,255,.9);border-color:rgba(255,255,255,.7)}
body.page-home #routes .image-arrow{background:none;border-color:rgba(255,255,255,.6);color:#fff}
body.page-home #routes .route-kicker{color:#6c756b}
body.page-home #routes .route-kicker i{color:#647b60}
body.page-home #routes .route-difficulty::before{background:#6f865f}
body.page-home #routes h3{font-weight:600}
body.page-home #routes h3 a{color:#173b32;text-decoration:none}
body.page-home #routes .route-line{border-top-color:#e5e7de;background:none}
body.page-home #routes .route-line>span{color:#78816e}
body.page-home #routes .route-line b{color:#98a18b}
body.page-home #routes .card-season{border-top-color:#e5e7de}
body.page-home #routes .card-season summary>i{color:#758969}
body.page-home #routes .actions .btn-primary{background:#173b32;border-color:#173b32;color:#fff;box-shadow:none;border-radius:22px}
body.page-home #routes .actions .btn-ghost{background:#fff;border-color:#d2dacb;color:#173b32;box-shadow:none;border-radius:22px}
body.page-home #routes .route-card:focus-within{border-color:#829677;box-shadow:0 8px 22px rgba(23,44,32,.12)}
body.page-home #routes .route-card.is-selected{border-color:#537348;box-shadow:0 0 0 1px #537348,0 5px 16px rgba(23,44,32,.075)}
@media(hover:hover){body.page-home #routes .route-card:hover{transform:none;border-color:#9faa94;box-shadow:0 9px 24px rgba(23,44,32,.12)}body.page-home #routes .route-card:hover .thumb img{transform:scale(1.035)}body.page-home #routes h3 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(prefers-reduced-motion:reduce){body.page-home #routes .thumb img{transition:none}body.page-home #routes .route-card:hover .thumb img{transform:none}}

/* Journey numbers added to the approved photo-led layout, outside content flow. */
body.page-home #routes .grid-3{counter-reset:route}
body.page-home #routes .route-card{counter-increment:route}
body.page-home #routes .route-kicker{position:relative;padding-right:31px}
body.page-home #routes .route-kicker::after{content:counter(route,decimal-leading-zero);position:absolute;right:0;top:-3px;font:500 21px/1 var(--font-serif);color:#ad9972;letter-spacing:-.05em}

/* Approved warm ivory card surface. */
body.page-home #routes .collection-card,body.page-home #routes .collection-card .card-body{background:#fffefa}
body.page-home #routes .actions .btn-ghost{background:#fffefa}
body.page-home #routes .actions .btn-ghost:hover{background:#eef1e7}
