/* The Earth Farer Editorial v2.13.0 — Destination Itinerary, scoped to Posts in destination-guides. */
body.tef-destination-itinerary-page,
body.tef-destination-itinerary-page #page,
body.tef-destination-itinerary-page .site,
body.tef-destination-itinerary-page .site-content,
body.tef-destination-itinerary-page .content-area { background: #fff !important; }
body.tef-destination-itinerary-page .tef-destination-editorial-page,
body.tef-destination-itinerary-page .tef-destination-article {
    display:block !important; width:100% !important; max-width:none !important;
    margin:0 !important; padding:0 !important; clear:both !important; overflow:visible !important;
}
body.tef-destination-itinerary-page .site-content > .ast-container:has(> .tef-destination-editorial-page),
body.tef-destination-itinerary-page #content > .ast-container:has(> .tef-destination-editorial-page) {
    display:block !important; width:100% !important; max-width:none !important;
    padding-left:0 !important; padding-right:0 !important;
}
body.tef-destination-itinerary-page .tef-destination-editorial-page > .tef-destination-article > .tef-destination-hero {
    width:100vw !important; max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
}
.tef-destination-article, .tef-destination-article * { box-sizing:border-box; }
.tef-destination-article { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; color:#26374a; }
.tef-destination-shell { width:min(1180px,calc(100% - 40px)); max-width:1180px; margin:0 auto; }
/* Same visual hero system as the proven Trekking/Trail Running editorial templates. */
.tef-destination-hero { position:relative; min-height:650px; display:flex; align-items:flex-end; overflow:hidden; color:#fff; background:linear-gradient(135deg,#15394a,#1d5669); }
.tef-destination-hero-image { position:absolute; inset:0; }
.tef-destination-hero-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.tef-destination-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,31,42,.86) 0%,rgba(7,31,42,.70) 38%,rgba(7,31,42,.36) 72%,rgba(7,31,42,.16) 100%),linear-gradient(to top,rgba(7,27,35,.70) 0%,rgba(7,27,35,.28) 56%,rgba(7,27,35,.16) 100%); }
.tef-destination-hero-content { position:relative; z-index:2; padding:150px 0 54px; }
.tef-destination-kicker { margin:0 0 12px; color:rgba(255,255,255,.96); font-size:13px; line-height:1.2; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.tef-destination-hero h1 { max-width:960px; margin:0; color:#fff !important; font-size:clamp(42px,5.1vw,72px); line-height:1.01; letter-spacing:-.04em; font-weight:780; text-wrap:balance; }
.tef-destination-meta { margin-top:18px; color:rgba(255,255,255,.91); font-size:14px; line-height:1.4; font-weight:650; }
.tef-destination-lead { max-width:850px; margin-top:24px; color:rgba(255,255,255,.94); }
.tef-destination-lead p { margin:0 0 12px; }
.tef-destination-lead > :last-child { margin-bottom:0; }
.tef-destination-lead a { color:inherit; text-underline-offset:3px; }
/* Stable body typography for rich-text fields, including pasted text. */
.tef-destination-lead, .tef-destination-lead :is(p,div,span,li,a,strong,b,em,i),
.tef-destination-rich-text, .tef-destination-rich-text :is(p,div,span,li,a,strong,b,em,i) {
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
    font-size:16.5px !important; line-height:1.68 !important;
}
.tef-destination-lead :is(p,div,span,li,a,strong,b,em,i) { color:inherit !important; }
.tef-destination-main { width:100%; padding:50px 0 68px; background:#fff; }
.tef-destination-overview { display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); gap:58px; align-items:center; margin:0 0 70px; }
.tef-destination-overview.is-single-column { display:block; }
.tef-destination-overview.is-single-column .tef-destination-route-image { max-width:520px; }
.tef-destination-overview h2, .tef-destination-additional h2 { margin:0 0 20px; color:#0d2443; font-size:clamp(29px,3vw,39px); line-height:1.13; letter-spacing:-.03em; font-weight:760; }
.tef-destination-rich-text { color:#364451; }
.tef-destination-rich-text p { margin:0 0 13px; }
.tef-destination-rich-text > :first-child { margin-top:0 !important; }
.tef-destination-rich-text > :last-child { margin-bottom:0 !important; }
.tef-destination-rich-text ul, .tef-destination-rich-text ol { margin:0 0 14px 1.35em; padding-left:0; }
.tef-destination-rich-text a { color:#136b7c; text-decoration:underline; text-underline-offset:3px; }
.tef-destination-route-image { margin:0; min-width:0; }
.tef-destination-route-image img { display:block; width:100%; height:auto; border-radius:15px; object-fit:contain; background:#f3f6f4; }
.tef-destination-route-image figcaption { margin-top:10px; color:#66737b; font-size:13px; line-height:1.4; }
.tef-destination-stop { margin:0 0 66px; }
.tef-destination-stop-topline { display:flex; align-items:center; gap:16px; margin:0 0 12px; }
.tef-destination-days { display:inline-flex; align-items:center; padding:7px 13px; border-radius:100px; background:#eaf5f3; color:#155541; font-size:13px; font-weight:780; letter-spacing:.04em; text-transform:uppercase; }
.tef-destination-activity { color:#26798a; font-size:16px; font-weight:780; text-transform:uppercase; letter-spacing:.10em; }
.tef-destination-stop-copy > h2 { margin:0 0 26px; color:#0d2443; font-size:clamp(30px,3.15vw,40px); line-height:1.13; letter-spacing:-.03em; font-weight:760; }
.tef-destination-stop-grid { display:grid; grid-template-columns:minmax(0,55fr) minmax(0,45fr); gap:45px; align-items:start; }
.tef-destination-stop-grid.no-image { display:block; }
.tef-destination-stop-copy { min-width:0; }
.tef-destination-stop-image { width:100%; margin:0; aspect-ratio:1 / 1; overflow:hidden; border-radius:16px; background:#ecf2f1; }
.tef-destination-stop-image img { display:block; width:100%; height:100%; object-fit:cover; }
.tef-destination-practical { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; margin-top:28px; border-radius:14px; background:#eaf5f8; color:#304b59; }
.tef-destination-practical.is-single { grid-template-columns:1fr; }
.tef-destination-practical-item { min-width:0; padding:20px; }
.tef-destination-practical:not(.is-single) .tef-destination-practical-item + .tef-destination-practical-item { border-left:1px solid rgba(29,96,109,.2); }
.tef-destination-practical-header { display:flex; align-items:center; gap:7px; margin:0 0 8px; color:#166f80; font-size:15.5px; line-height:1.2; }
.tef-destination-practical-header span { font-size:20px; line-height:1; font-weight:700; }
.tef-destination-practical-item p { margin:0; font-size:15.5px; line-height:1.5; }
.tef-destination-additional { padding-top:0; margin:0 0 42px; }
.tef-destination-stop + .tef-destination-additional { margin-top:4px; }
.tef-destination-additional:last-child, .tef-destination-stop:last-child { margin-bottom:0; }
@media (max-width: 1024px) {
    .tef-destination-overview { gap:34px; }
    .tef-destination-stop-grid { gap:30px; }
    .tef-destination-practical { grid-template-columns:1fr; }
    .tef-destination-practical:not(.is-single) .tef-destination-practical-item + .tef-destination-practical-item { border-left:0; border-top:1px solid rgba(29,96,109,.2); }
}
@media (max-width:767px) {
    .tef-destination-shell { width:min(100% - 28px,1180px); }
    .tef-destination-hero { min-height:0; }
    .tef-destination-hero-content { padding:118px 0 44px; }
    .tef-destination-hero h1 { font-size:clamp(40px,12vw,58px); }
    .tef-destination-main { padding:34px 0 54px; }
    .tef-destination-overview, .tef-destination-stop-grid { grid-template-columns:1fr; gap:22px; }
    .tef-destination-overview { margin-bottom:48px; }
    .tef-destination-overview h2, .tef-destination-stop-copy > h2, .tef-destination-additional h2 { font-size:30px; }
    .tef-destination-stop { margin-bottom:48px; }
    .tef-destination-stop-copy > h2 { margin-bottom:18px; }
    .tef-destination-stop-image { aspect-ratio:1 / 1; }
    .tef-destination-practical { margin-top:22px; }
    .tef-destination-additional { margin-bottom:35px; }
}
