/* Itinerary detail: matches the supplied cover, fact strip and compact itinerary reference. */
.route-page{--route-ink:#173e36;--route-muted:#667e8b;--route-accent:#bb5722;background:#fbfaf6;color:var(--route-ink);padding-bottom:55px}
.route-page [hidden]{display:none!important}.route-page a:focus-visible,.route-page button:focus-visible{outline:3px solid #b76835;outline-offset:3px}
.route-detail-hero{position:relative;isolation:isolate;min-height:clamp(280px,27vw,370px);background:#315743;color:white;overflow:hidden}
.route-detail-hero-image,.route-detail-hero-fade{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.route-detail-hero-image{object-fit:cover;object-position:center 48%}.route-detail-hero-fade{background:linear-gradient(90deg,#072f45b8,#0c344d24 61%,transparent),linear-gradient(0deg,#123c3966,transparent 55%)}
.route-detail-hero-inner{display:flex;flex-direction:column;justify-content:space-between;min-height:inherit;padding-top:16px;padding-bottom:52px}.route-page .route-breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;font-size:11px;line-height:1.6;color:#fff;background:none}.route-breadcrumbs a{color:#fff;text-decoration:none}.route-detail-hero-copy{max-width:670px;padding-top:27px}.route-detail-tag{display:inline-block;background:#b75b23;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:700}.route-detail-hero h1{margin:9px 0 2px;font:700 clamp(34px,3.7vw,52px)/1.2 "Noto Serif SC","Songti SC",SimSun,serif;color:#fff;letter-spacing:-.02em;overflow-wrap:anywhere}.route-detail-title-en{margin:0;font:700 15px/1.5 Georgia,serif;letter-spacing:.13em;color:#fff}.route-detail-intro{max-width:580px;margin:13px 0 0;color:#f4f7f4;font-size:15px;line-height:1.85;font-weight:600}
.route-facts{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:13px 0;align-items:center;margin:-28px 0 0;padding:19px 8px;border:1px solid #eee7da;border-radius:13px;background:#fffefb;box-shadow:0 6px 20px #5134120d}.route-facts>div{display:flex;align-items:center;gap:12px;min-width:0;padding:0 20px;flex:1 1 170px;border-left:1px solid #ece9e0}.route-facts>div:first-child{border-left:0}.route-facts>div:nth-child(3){flex-grow:1.65}.route-fact-copy{display:block;min-width:0}.route-facts dt{font-size:11px;color:#7a8b99;line-height:1.5;margin-bottom:4px}.route-facts dd{margin:0;font-size:13px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.route-fact-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:12px;background:#fff3df;color:#ed900c}.route-fact-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.route-fact-icon--city{background:#e5f5ec;color:#279d72}.route-fact-icon--intensity{background:#fff0e4;color:#d3592c}.route-fact-icon--intensity svg{stroke-width:3.5}.route-fact-icon--theme{color:#d8791c}
.route-page .route-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;align-items:start;gap:31px;padding:34px 0 0}.route-page .route-detail-layout--solo{grid-template-columns:minmax(0,1fr)}.route-itinerary,.route-sidebar{min-width:0}.route-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}.route-heading-copy{display:flex;align-items:center;gap:8px;min-width:0}.route-heading-icon{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:5px;background:#955c2c;color:#fff;font-size:13px}.route-page .route-section-heading h2{margin:0;font:700 24px/1.4 "Noto Serif SC","Songti SC",SimSun,serif;letter-spacing:0}.route-heading-copy>small{font-size:9px;color:#8598a8;letter-spacing:.07em}.route-share{display:inline-flex;gap:6px;align-items:center;justify-content:center;flex:none;min-height:36px;padding:5px 10px;border:1px solid #dfe6dd;border-radius:6px;color:#466f5a;background:#f7faf4;font-family:inherit;font-weight:600;font-size:11px;line-height:1.5;cursor:pointer}.route-share svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.route-share-status{margin:0;color:var(--route-muted);font-size:12px;overflow-wrap:anywhere}.route-share-status:empty{display:none}.route-introduction{font-size:13px;line-height:1.8;color:var(--route-muted);margin:0 0 18px}.route-introduction p{margin:0 0 8px}
.route-page .route-day{margin:0;padding:0;border:0;background:none;border-radius:0}.route-page .route-day+.route-day{margin-top:27px}.route-page .route-day-heading{display:flex;align-items:center;gap:13px;border:0;padding:0;margin:0 0 13px}.route-day-heading h3{margin:0;font:700 23px/1.3 Georgia,serif;color:var(--route-accent)}.route-day-heading span{font-size:11px;color:#3f6972}.route-day-heading::after{content:"";flex:1;height:1px;background:#e5e0d6}.route-day-empty{font-size:13px;color:var(--route-muted);padding:14px 0}.route-stops{position:relative;list-style:none;margin:0;padding:0}.route-stops::before{position:absolute;content:"";top:13px;bottom:80px;left:12px;border-left:1px dashed #dca27d}.route-stop{position:relative;padding:0 0 0 40px;margin:0}.route-stop+.route-stop{margin-top:10px}.route-stop-number{position:absolute;z-index:1;top:0;left:0;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#bd5421;color:#fff;font:700 14px/1 Georgia,serif;box-shadow:0 0 0 3px #fbfaf6}.route-stop-card{display:grid;grid-template-columns:clamp(185px,20vw,230px) minmax(0,1fr);gap:17px;min-width:0;border:0;border-radius:8px;background:#fff;overflow:hidden}.route-stop-visual{position:relative;min-width:0;min-height:160px;align-self:start;background:#edf0e7}.route-stop-photo{display:flex;align-items:center;justify-content:center;width:100%;height:160px;color:#799389;text-decoration:none;overflow:hidden}.route-stop-photo img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.route-stop-image-empty{font-size:28px}.route-stop-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:11px 15px 10px 0}.route-stop-copy h4{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;margin:0 0 7px;font:700 18px/1.5 "Noto Serif SC","Songti SC",SimSun,serif;overflow-wrap:anywhere;color:var(--route-ink)}.route-stop-copy h4 a{color:inherit;text-decoration:none;min-width:0;overflow-wrap:anywhere}.route-stop-type{flex:none;display:inline-block;padding:2px 6px;border-radius:5px;background:#e6f3eb;color:#328374;font:700 10px/1.5 Arial,sans-serif}.route-stop-description{margin:0 0 9px;color:#6c8190;font-size:13px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-line}.route-stop-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;margin-top:auto}.route-stop-actions a,.route-stop-actions button{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:3px 8px;border:0;border-radius:5px;background:#eef5e9;color:#2e654b;font-family:inherit;font-weight:700;font-size:11px;line-height:1.5;text-decoration:none;cursor:pointer}.route-stop-actions .route-stop-expand{background:none;padding:3px 0;color:#6c8190;font-weight:400}.route-stop-actions button[data-route-booking-open]{color:#9a5d25;background:#fcf1df}
.route-connection{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:31px;margin:7px 0 0 -26px;padding:5px 12px;border-radius:5px;background:#f5f2ea;color:#687e89;font-size:11px;line-height:1.6}.route-connection-icon{display:inline-flex;align-items:center;font-size:13px;flex:none}.route-connection>span:last-child{overflow-wrap:anywhere}.route-back{display:inline-flex;align-items:center;min-height:36px;margin-top:20px;color:#58735c;font-size:12px;text-decoration:none}
.route-sidebar{display:grid;gap:17px;padding-top:0}.route-side-section{min-width:0;background:#fffef9;border:1px solid #ebe9df;border-radius:9px;padding:16px}.route-side-section h2{display:flex;gap:6px;align-items:center;margin:0 0 13px;padding-bottom:10px;border-bottom:1px solid #ecebdf;font:700 17px/1.4 "Noto Serif SC","Songti SC",SimSun,serif}.route-side-section h2 span{font-size:17px}.route-tips ul{margin:0;padding:0 0 0 15px;color:#69818c;font-size:12px;line-height:1.8}.route-tips li+li{margin-top:6px}.route-tips li{overflow-wrap:anywhere}.route-tips li::marker{color:#7fae99}.route-service-list{display:grid;gap:9px}.route-service-list button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:0;border-radius:6px;background:#f4f3e9;color:#244e3c;text-align:left;padding:11px;font:inherit;cursor:pointer}.route-service-list button>span:first-child{min-width:0}.route-service-list strong,.route-service-list small{display:block;overflow-wrap:anywhere}.route-service-list strong{font-size:12px;line-height:1.5}.route-service-list small{font-size:10px;line-height:1.6;color:#82908b;margin-top:5px}
.route-related{margin-top:37px;padding-top:25px;border-top:1px solid #e5e1d7}.route-related-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:18px}.route-related-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e9e5da;border-radius:10px;overflow:hidden;background:#fff;color:inherit;text-decoration:none}.route-related-photo{display:block;position:relative;width:100%;height:155px;background:#e6ecdf}.route-related-photo img{display:block;width:100%;height:100%;object-fit:cover}.route-related-copy{display:block;min-width:0;padding:15px}.route-related-copy small{display:block;font-size:11px;color:#7b8c90;margin-bottom:7px}.route-related-copy strong{display:block;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.route-related-cta{display:block;margin-top:13px;color:#4b7555;font-size:11px}.route-related-more{color:#607b62;font-size:12px;text-decoration:none;white-space:nowrap}
.route-platform-label{display:inline-flex;gap:9px;align-items:center;min-width:0;color:#254737!important}.route-platform-label img{width:22px;height:22px;object-fit:contain}.route-platform-label strong{overflow-wrap:anywhere}.route-platform-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:5px;background:#e8f0ee}
@media(max-width:1100px) and (min-width:761px){.route-page .route-detail-layout{grid-template-columns:minmax(0,1fr) 240px;gap:23px}.route-stop-card{grid-template-columns:165px minmax(0,1fr);gap:13px}.route-stop-copy h4{font-size:17px}.route-stop-description{font-size:12px}.route-facts>div{gap:8px;padding-inline:12px;flex-basis:140px}.route-facts dd{font-size:12px}.route-fact-icon{width:33px;height:33px}.route-fact-icon svg{width:21px;height:21px}}
@media(max-width:760px){
 .route-page{padding-bottom:35px}.route-page .container{width:calc(100% - 28px)}.route-detail-hero{min-height:330px}.route-detail-hero-inner{padding-top:13px;padding-bottom:51px}.route-detail-hero-copy{padding-top:26px}.route-detail-hero-fade{background:linear-gradient(90deg,#0c344ba3,#133e4d12 90%),linear-gradient(0deg,#103c4766,transparent 75%)}.route-detail-tag{font-size:10px;padding:4px 8px}.route-detail-hero h1{font-size:29px;line-height:1.28;margin-top:8px}.route-detail-title-en{font-size:10px;letter-spacing:.11em;line-height:1.6}.route-detail-intro{font-size:12px;line-height:1.8;margin-top:10px}.route-page .route-breadcrumbs{font-size:9px;gap:5px}
 .route-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px;padding:14px 10px;margin-top:-25px;border-radius:10px}.route-facts>div{padding:0;border:0;gap:7px;align-items:flex-start}.route-fact-icon{width:30px;height:30px;border-radius:9px}.route-fact-icon svg{width:19px;height:19px}.route-facts dt{font-size:9px;margin-bottom:3px}.route-facts dd{font-size:11px;line-height:1.55}.route-page .route-detail-layout{display:block;padding-top:24px}.route-section-heading{margin-bottom:16px}.route-page .route-section-heading h2{font-size:21px}.route-heading-icon{width:20px;height:20px;font-size:11px}.route-heading-copy{gap:6px}.route-heading-copy>small{font-size:8px;letter-spacing:0}.route-share{min-height:36px;font-size:10px;padding:4px 7px}.route-share svg{width:12px;height:12px}.route-introduction{font-size:12px;line-height:1.8}.route-page .route-day-heading{margin-bottom:12px}.route-day-heading h3{font-size:21px}.route-day-heading span{font-size:10px}
 .route-stops::before{display:none}.route-stop{padding-left:28px}.route-stop-number{width:21px;height:21px;top:4px;left:0;font-size:12px;box-shadow:none}.route-stop-card{grid-template-columns:110px minmax(0,1fr);gap:10px;border-radius:7px;overflow:visible;padding:0;background:transparent}.route-stop-visual{height:110px;min-height:0;border-radius:6px;overflow:hidden}.route-stop-photo{height:110px}.route-stop-copy{padding:0;min-height:110px}.route-stop-copy h4{font-family:inherit;font-size:14px;line-height:1.5;gap:3px 5px;margin-bottom:5px}.route-stop-type{font-size:8px;padding:1px 4px}.route-stop-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal;font-size:11px;line-height:1.65;margin:0 0 5px}.route-stop-description.is-expanded{display:block;overflow:visible;-webkit-line-clamp:unset;white-space:pre-line}.route-stop-actions{gap:3px 7px}.route-stop-actions a,.route-stop-actions button{font-size:10px;min-height:28px;padding:2px 5px}.route-stop+.route-stop{margin-top:11px}.route-connection{justify-content:center;margin:7px 0 0 -28px;min-height:28px;padding:4px 6px;font-size:10px;gap:5px}.route-connection-icon{font-size:12px}.route-back{margin-top:17px;font-size:11px}.route-sidebar{padding-top:20px;gap:14px}.route-side-section{padding:15px}.route-service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.route-related{margin-top:25px;padding-top:21px}.route-related-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-related-photo{height:106px}.route-related-copy{padding:10px}.route-related-copy strong{font-size:13px}.route-related-copy small,.route-related-cta{font-size:10px}.route-related-cta{margin-top:9px}
}

/* Sidebar order: planning tips, related itineraries, then available products. */
.route-sidebar .route-related{margin:0;padding:16px;border:1px solid #ebe9df;border-radius:9px;background:#fffef9}
.route-sidebar .route-related .route-section-heading{gap:8px;margin:0 0 13px;padding-bottom:10px;border-bottom:1px solid #ecebdf;align-items:center}
.route-page .route-sidebar .route-related h2{font-size:17px;line-height:1.4}
.route-sidebar .route-related .route-heading-icon{display:none}
.route-sidebar .route-related .route-related-more{font-size:10px}
.route-sidebar .route-related-list{grid-template-columns:1fr;gap:12px}
.route-sidebar .route-related-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;border:0;border-radius:0;background:none;align-items:center}
.route-sidebar .route-related-photo{height:69px;border-radius:5px}
.route-sidebar .route-related-copy{padding:0}
.route-sidebar .route-related-copy small{font-size:10px;margin-bottom:4px}
.route-sidebar .route-related-copy strong{font-size:12px;line-height:1.65}
.route-sidebar .route-related-cta{display:none}
.route-page .route-share-status{position:fixed;z-index:1200;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 40px);margin:0;padding:13px 20px;border:1px solid #ffffff24;border-radius:10px;background:#173e36f5;color:#fff;box-shadow:0 8px 30px #10291d30;font-size:13px;line-height:1.6;text-align:center;pointer-events:none}
/* Each day's practical notes share its row, independent of the number of stops. */
.route-page .route-detail-layout--daily{display:block}
.route-day-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:31px;align-items:start}
.route-day-layout--solo{grid-template-columns:minmax(0,1fr)}
.route-day-main{min-width:0;padding-top:16px}
.route-page .route-day+.route-day{margin-top:30px}
.route-day-tips{min-width:0;margin:0;padding:16px;background:#fffef9}
.route-day-tips h2{margin:0 0 12px;padding-bottom:10px;font:700 17px/30px "Noto Serif SC","Songti SC",SimSun,serif;border-bottom:1px solid #ecebdf}
.route-day-tips ul{margin:0;padding-left:15px;color:#69818c;font-size:12px;line-height:1.85}
.route-day-tips li{overflow-wrap:anywhere}.route-day-tips li+li{margin-top:12px}.route-day-tips li::marker{color:#7fae99}
.route-sidebar--extras{width:275px;max-width:100%;margin:25px 0 0 auto}
.route-stop--attraction{--stop-tint:#f0f6ef;--stop-badge:#dceee1;--stop-color:#27624c}
.route-stop--dining{--stop-tint:#fff5e9;--stop-badge:#fae3c8;--stop-color:#8b531e}
.route-stop--shopping{--stop-tint:#fbefef;--stop-badge:#f3dce2;--stop-color:#8c4759}
.route-stop--lodging{--stop-tint:#edf4fb;--stop-badge:#dceaf6;--stop-color:#345f84}
.route-stop--other{--stop-tint:#f3f3ef;--stop-badge:#e6e8df;--stop-color:#59624c}
.route-stop .route-stop-card{background:var(--stop-tint,#fff)}
.route-stop .route-stop-type{background:var(--stop-badge,#e6f3eb);color:var(--stop-color,#328374)}
.route-page .route-connection{margin-left:-26px;margin-bottom:2px;min-height:32px}
.route-transit-note{margin:24px 0 0;font-size:11px;line-height:1.8;color:var(--route-muted);overflow-wrap:anywhere}.route-transit-note a{color:inherit;text-underline-offset:3px}
@media(max-width:1100px) and (min-width:761px){.route-day-layout{grid-template-columns:minmax(0,1fr) 240px;gap:23px}.route-sidebar--extras{width:240px}}
@media(max-width:760px){
 .route-day-layout{display:block}.route-day-main{padding-top:0}.route-day-tips{margin-top:18px;padding:14px}
 .route-day-tips h2{font-size:16px;line-height:1.6}.route-day-tips ul{font-size:12px}
 .route-stop .route-stop-card{overflow:hidden;gap:10px;border-radius:7px}
 .route-stop .route-stop-copy{padding:8px 8px 8px 0}
 .route-stop .route-stop-visual{align-self:stretch;height:auto;min-height:110px;border-radius:0}
 .route-page .route-connection{margin-left:-28px;font-size:10px}
 .route-sidebar--extras{width:100%}
}
