
:root{--ink:#211915;--paper:#f8f1e3;--paper2:#f0e1c8;--paper3:#fffdf7;--jade:#216a58;--jade-light:#ddebe4;--jade-dark:#17463b;--seal:#b72d24;--seal-dark:#7b171a;--seal-light:#f8ddd4;--gold:#c49a2f;--gold-light:#f5e6b9;--muted:#74685e;--line:rgba(73,45,31,.15);--shadow:0 14px 40px rgba(67,35,22,.10);--nav-h:64px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:radial-gradient(circle at 10% 15%,rgba(196,154,47,.08),transparent 23rem),radial-gradient(circle at 95% 40%,rgba(183,45,36,.06),transparent 28rem),var(--paper);color:var(--ink);font-family:'IBM Plex Sans',sans-serif;line-height:1.55;padding-bottom:calc(80px + env(safe-area-inset-bottom))}a{color:inherit}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(245,230,185,.14),transparent 12rem),linear-gradient(135deg,#6f1118 0%,#a61f23 55%,#721419 100%);color:#fff9e9;border-bottom:5px solid var(--gold);padding:calc(34px + env(safe-area-inset-top)) 24px 36px}.hero:before{content:"中";position:absolute;right:4vw;bottom:-84px;font:700 260px 'Noto Serif TC',serif;color:rgba(255,246,215,.055);transform:rotate(-8deg)}.hero-inner{max-width:1180px;margin:auto;position:relative}.eyebrow{font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#f0d589;margin:0 0 10px}.eyebrow.dark{color:var(--gold);margin-bottom:5px}.hero h1{font:700 clamp(44px,7vw,78px)/1.04 'Noto Serif TC',serif;margin:0 0 12px}.hero .lead{max-width:850px;color:#f7e7c2;margin:0;font-size:15px}.stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.stat{min-width:118px;background:rgba(255,248,229,.10);border:1px solid rgba(255,248,229,.25);border-radius:12px;padding:10px 13px}.stat strong{display:block;font:600 19px 'IBM Plex Mono',monospace}.stat span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#f0d589}
.site-nav{position:sticky;top:0;z-index:90;height:var(--nav-h);background:rgba(248,241,227,.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(123,23,26,.18);box-shadow:0 5px 20px rgba(73,35,22,.08)}.site-nav__inner{height:100%;max-width:1180px;margin:auto;display:flex;align-items:center;gap:14px;padding:0 18px}.site-brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex:0 0 auto;font-weight:700;color:var(--seal-dark)}.site-brand__mark{width:37px;height:37px;border:2px solid var(--seal);display:grid;place-items:center;font:700 19px 'Noto Serif TC',serif;transform:rotate(-3deg)}.site-brand small{display:block;font:500 9px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.site-tabs{margin-left:auto;display:flex;gap:5px;align-items:center}.page-tab{display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-radius:999px;padding:8px 10px;color:var(--jade-dark);font:600 11px 'IBM Plex Mono',monospace;white-space:nowrap}.page-tab:hover{background:var(--jade-light)}.page-tab.active{background:var(--seal);color:#fff}.nav-toggle{display:none;border:1px solid var(--line);background:#fff8e8;color:var(--seal-dark);width:42px;height:42px;border-radius:12px;font-size:20px;margin-left:auto}.context-nav{position:sticky;top:var(--nav-h);z-index:75;display:flex;gap:7px;overflow-x:auto;align-items:center;background:rgba(255,253,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:8px max(14px,calc((100vw - 1180px)/2));scrollbar-width:none}.context-nav::-webkit-scrollbar{display:none}.context-nav span{flex:0 0 auto;font:600 10px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase}.context-nav a{flex:0 0 auto;text-decoration:none;border:1px solid rgba(33,106,88,.18);background:var(--jade-light);color:var(--jade-dark);border-radius:999px;padding:6px 10px;font:600 10.5px 'IBM Plex Mono',monospace}.context-nav a.active{background:var(--seal);border-color:var(--seal);color:white}
.section-nav{position:sticky;top:var(--nav-h);z-index:75;display:flex;gap:7px;overflow-x:auto;align-items:center;background:rgba(255,253,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:8px max(14px,calc((100vw - 1180px)/2));scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav__label{flex:0 0 auto;font:600 10px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase}.section-nav a{flex:0 0 auto;text-decoration:none;border:1px solid rgba(33,106,88,.18);background:var(--jade-light);color:var(--jade-dark);border-radius:999px;padding:6px 10px;font:600 10.5px 'IBM Plex Mono',monospace}
.page-shell{max-width:1180px;margin:auto;padding:24px 22px}.section-block{margin:34px 0 54px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2,.city-heading h2,.day-section__head h2{font:700 clamp(26px,4vw,40px) 'Noto Serif TC',serif;margin:0}.card{background:rgba(255,253,247,.94);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;border:1px solid rgba(183,45,36,.20);background:#fff8e8;color:var(--seal-dark);border-radius:999px;padding:8px 11px;font:600 10.5px 'IBM Plex Mono',monospace;cursor:pointer}.btn:hover{transform:translateY(-1px);border-color:var(--seal)}.btn.primary{background:var(--seal);color:#fff;border-color:var(--seal)}.icon-link{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--seal);color:#fff;text-decoration:none}.badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--jade-light);color:var(--jade-dark);padding:5px 8px;font:600 9.5px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em}.badge.subtle{background:var(--gold-light);color:#76570d}.badge.warn{background:var(--seal-light);color:var(--seal-dark)}.mono{font-family:'IBM Plex Mono',monospace}.notice-inline,.note-box{background:linear-gradient(135deg,#fff9e9,#f6e4c4);border-left:4px solid var(--gold);border-radius:11px;padding:10px 12px;color:#6d4c31;font-size:12.5px}.card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.cn-row,.cn-address{display:flex;gap:7px;align-items:flex-start}.cn-row span,.cn-address span{font-family:'Noto Serif TC',serif;color:var(--jade-dark);font-size:13px;line-height:1.45}.copy-mini{flex:0 0 auto;border:1px solid rgba(33,106,88,.18);background:var(--jade-light);color:var(--jade-dark);border-radius:8px;width:30px;height:30px;display:grid;place-items:center;cursor:pointer}.copy-mini.copied{background:var(--jade);color:white}.site-footer{text-align:center;color:var(--muted);font-size:11px;padding:28px 16px}.back-top{position:fixed;right:14px;bottom:calc(15px + env(safe-area-inset-bottom));z-index:100;border:0;border-radius:999px;background:var(--seal);color:#fff;padding:10px 13px;box-shadow:0 10px 30px rgba(70,20,20,.25);display:flex;align-items:center;gap:6px;font:600 10px 'IBM Plex Mono',monospace;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s}.back-top.show{opacity:1;pointer-events:auto;transform:none}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:140;transform:translate(-50%,18px);opacity:0;background:#211915;color:#fff;border-radius:999px;padding:9px 14px;font:600 11px 'IBM Plex Mono',monospace;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
.route-line{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:24px 0}.route-stop{min-width:100px;text-align:center;text-decoration:none}.route-stop strong,.route-stop small{display:block}.route-stop small{font-family:'Noto Serif TC',serif;color:var(--seal);margin-top:2px}.route-dot{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin:0 auto 7px;background:var(--seal);color:#fff;border:4px solid #f6d6b7;font:600 14px 'IBM Plex Mono',monospace}.route-connector{height:2px;flex:1;background:linear-gradient(90deg,var(--seal),var(--gold));min-width:20px}.map-frame,.map-panel{overflow:hidden;background:var(--paper3);border:1px solid var(--line);border-radius:18px}.map-frame iframe,.map-panel iframe{width:100%;height:350px;border:0;display:block}.overview-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.overview-day{display:grid;grid-template-columns:72px minmax(0,1fr);background:rgba(255,253,247,.94);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.day-date{background:linear-gradient(160deg,var(--seal-dark),var(--seal));color:white;padding:15px 8px;text-align:center}.day-date strong{display:block;font:700 30px 'Noto Serif TC',serif}.day-date span{font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase}.day-date small{display:block;margin-top:12px;color:#f4d59c;font-size:10px}.day-main{padding:15px}.day-title{display:flex;justify-content:space-between;gap:10px;align-items:start}.day-title h3{font:700 21px 'Noto Serif TC',serif;margin:0}.day-activities{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0}.day-activities a,.day-activities span{font-size:11px;text-decoration:none;background:#f7f1e5;border-radius:999px;padding:5px 8px}.hotel-line{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.hotel-line>i{color:var(--gold);font-size:19px}.hotel-line small,.hotel-line strong{display:block}.hotel-line strong{font-size:13px}.total-pill{background:var(--seal-dark);color:#fff;border-radius:14px;padding:11px 15px;text-align:right}.total-pill small,.total-pill span{display:block;color:#efcfa4;font-size:10px}.total-pill strong{display:block;font:600 21px 'IBM Plex Mono',monospace}.cost-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.cost-list>div{background:rgba(255,253,247,.9);border:1px solid var(--line);border-radius:12px;padding:11px}.cost-list span,.cost-list strong,.cost-list small{display:block}.cost-list span{font-size:12px}.cost-list strong{font:600 16px 'IBM Plex Mono',monospace;margin-top:6px}.cost-list small{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.info-card{background:rgba(255,253,247,.94);border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:var(--shadow)}.info-card h3{margin:9px 0 3px;font:700 18px 'Noto Serif TC',serif}.info-card p{font-size:12px;color:var(--muted)}.time-pair{display:flex;align-items:center;gap:10px;margin:12px 0;font-family:'IBM Plex Mono',monospace}
.split-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}.map-aside{min-width:0}.sticky{position:sticky;top:calc(var(--nav-h) + 58px)}.map-panel__head{display:flex;justify-content:space-between;align-items:center;padding:12px}.map-panel__head small,.map-panel__head strong{display:block}.map-panel__head small{font:600 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted)}.map-panel iframe{height:330px}.map-panel>p{margin:0;padding:10px 12px;font-size:11px;color:var(--muted)}.content-stack{min-width:0}.day-section{scroll-margin-top:125px;margin-bottom:42px}.day-section__head{display:flex;justify-content:space-between;align-items:end;gap:15px;border-bottom:2px solid var(--seal);padding-bottom:10px;margin-bottom:14px}.day-section__head>div>span{color:var(--muted);font-size:13px}.day-head-actions{display:flex;gap:6px;flex-wrap:wrap}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:22px;top:20px;bottom:20px;width:2px;background:linear-gradient(var(--seal),var(--gold),var(--jade))}.timeline-item{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;position:relative;margin-bottom:12px;scroll-margin-top:132px}.timeline-marker{position:relative;z-index:2;padding-top:17px}.timeline-marker span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--seal);color:#fff;border:4px solid var(--paper);font:600 11px 'IBM Plex Mono',monospace}.timeline-item.logistics .timeline-marker span{background:var(--jade)}.timeline-card{background:rgba(255,253,247,.95);border:1px solid var(--line);border-radius:17px;padding:15px;box-shadow:var(--shadow)}.timeline-card__top{display:flex;justify-content:space-between;gap:12px}.timeline-card h3{font:700 20px 'Noto Serif TC',serif;margin:9px 0 0}.jump-link{font:600 10px 'IBM Plex Mono',monospace;color:var(--seal-dark);text-decoration:none;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.detail-grid>div,.cn-block,.mini-section{background:#faf3e6;border:1px solid rgba(196,154,47,.14);border-radius:11px;padding:10px}.detail-grid small,.cn-block small,.mini-section small,.backlinks small{display:block;font:600 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.detail-grid p,.mini-section p{margin:0;font-size:12px}.detail-grid p i,.mini-section p i{color:var(--jade);margin-right:5px}
.filter-bar{position:sticky;top:calc(var(--nav-h) + 45px);z-index:50;background:rgba(248,241,227,.96);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;padding:9px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:22px;box-shadow:0 8px 24px rgba(73,35,22,.08)}.filter-bar label{position:relative;flex:1;min-width:220px}.filter-bar label i{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted)}.filter-bar input,.filter-bar select{border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:10px 11px;font:13px 'IBM Plex Sans',sans-serif}.filter-bar input{width:100%;padding-left:35px}.filter-bar span{font:600 10px 'IBM Plex Mono',monospace;color:var(--muted)}.city-section,.food-city{scroll-margin-top:128px;margin:34px 0 52px}.city-heading{display:flex;align-items:center;gap:13px;margin-bottom:14px}.seal{flex:0 0 auto;width:58px;height:58px;display:grid;place-items:center;border:2px solid var(--seal);color:var(--seal);font:700 18px 'Noto Serif TC',serif;transform:rotate(-3deg);background:rgba(255,253,247,.7)}.attraction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.attraction-card,.food-card{background:rgba(255,253,247,.95);border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow);scroll-margin-top:138px}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.attraction-card h3,.food-card h3{font:700 19px 'Noto Serif TC',serif;margin:10px 0 5px}.attraction-card>p,.food-card>p{font-size:12.5px;color:var(--muted)}.backlinks{margin-top:12px}.backlinks a{display:inline-flex;text-decoration:none;background:var(--seal-light);color:var(--seal-dark);border-radius:999px;padding:5px 8px;margin:3px 3px 0 0;font:600 9.5px 'IBM Plex Mono',monospace}.attraction-card details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.attraction-card summary{cursor:pointer;font-size:12px;color:var(--seal-dark)}.hidden{display:none!important}.empty-state{display:none;text-align:center;background:var(--paper3);border:1px solid var(--line);border-radius:18px;padding:30px}.empty-state.show{display:block}
.transport-list{display:grid;gap:20px}.transport-day{scroll-margin-top:132px}.transport-day__head{display:flex;gap:9px;align-items:baseline;border-bottom:2px solid var(--seal);padding-bottom:8px;margin-bottom:10px}.transport-day__head strong{font:700 24px 'Noto Serif TC',serif}.transport-day__head span{color:var(--muted)}.transport-card{background:rgba(255,253,247,.95);border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow);margin-bottom:12px}.transport-card__top{display:flex;gap:6px}.transport-route{display:grid;grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);gap:12px;align-items:center;margin:15px 0}.transport-route h3{font:700 18px 'Noto Serif TC',serif;margin:4px 0}.transport-route small{font:600 9px 'IBM Plex Mono',monospace;color:var(--muted);text-transform:uppercase}.route-arrow{text-align:center;color:var(--seal)}.route-arrow i{display:block;font-size:25px}.route-arrow strong,.route-arrow span{display:block}.route-arrow strong{font:600 11px 'IBM Plex Mono',monospace}.route-arrow span{font-size:10px;color:var(--muted)}
.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.price{font:600 11px 'IBM Plex Mono',monospace;color:var(--seal-dark)}.food-cn{display:flex;gap:7px;align-items:center}.food-cn>span{font:700 22px 'Noto Serif TC',serif;color:var(--seal)}.tag-list{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.tag{font:500 10px 'IBM Plex Mono',monospace;background:var(--jade-light);color:var(--jade-dark);border-radius:999px;padding:5px 7px}.food-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.food-facts>div{background:#faf3e6;border-radius:10px;padding:9px}.food-facts small{display:block;font:600 8.5px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.food-facts strong{font-size:11px}.heat{display:flex;gap:3px}.heat i{width:9px;height:9px;border-radius:50%;background:#dfd5c5}.heat i.on{background:var(--seal)}
.anchor-offset{scroll-margin-top:125px}
@media(max-width:980px){.site-tabs{position:fixed;left:12px;right:12px;top:calc(var(--nav-h) + 8px);display:none;flex-direction:column;align-items:stretch;background:var(--paper3);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:var(--shadow)}.site-tabs.open{display:flex}.page-tab{justify-content:flex-start;padding:11px 12px}.nav-toggle{display:grid;place-items:center}.site-brand{margin-right:auto}.split-layout{grid-template-columns:1fr}.map-aside{order:0}.map-panel.sticky{position:relative;top:auto}.map-panel iframe{height:300px}.content-stack{order:1}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){:root{--nav-h:58px}.hero{padding-left:16px;padding-right:16px}.hero h1{font-size:46px}.page-shell{padding:16px 12px}.context-nav{padding-left:10px;padding-right:10px}.overview-days,.attraction-grid,.food-grid,.card-grid,.cost-list{grid-template-columns:1fr}.overview-day{grid-template-columns:58px minmax(0,1fr)}.day-date{padding:13px 5px}.day-date strong{font-size:25px}.route-line{overflow-x:auto;justify-content:flex-start;padding-bottom:7px}.route-stop{flex:0 0 92px}.route-connector{flex:0 0 32px}.map-frame iframe,.map-panel iframe{height:260px}.section-head,.day-section__head{align-items:flex-start;flex-direction:column}.day-head-actions{width:100%}.detail-grid{grid-template-columns:1fr}.timeline:before{left:18px}.timeline-item{grid-template-columns:38px minmax(0,1fr);gap:7px}.timeline-marker span{width:32px;height:32px}.timeline-card{padding:13px}.timeline-card__top{display:block}.jump-link{display:inline-block;margin-top:7px}.filter-bar{top:calc(var(--nav-h) + 42px);display:grid;grid-template-columns:1fr 1fr}.filter-bar label{grid-column:1/-1;min-width:0}.filter-bar span{grid-column:1/-1;text-align:right}.filter-bar select{width:100%}.transport-route{grid-template-columns:1fr}.route-arrow{display:grid;grid-template-columns:auto auto auto;justify-content:center;align-items:center;gap:7px}.route-arrow i{transform:rotate(90deg)}.food-facts{grid-template-columns:1fr}.back-top span{display:none}.back-top{width:44px;height:44px;justify-content:center;padding:0}.site-brand small{display:none}}
@media print{.site-nav,.context-nav,.filter-bar,.map-aside,.back-top,.card-actions{display:none!important}.page-shell{max-width:none}.overview-day,.timeline-card,.attraction-card,.transport-card,.food-card{box-shadow:none;break-inside:avoid}}

.hash-flash{outline:4px solid rgba(196,154,47,.55);outline-offset:4px;transition:outline .4s}


/* 2.1 — approfondimenti attrazioni e mappe giornaliere numerate */
.attraction-lead{font-size:1rem;line-height:1.72;color:var(--ink);margin:10px 0 14px}.essay-panel{border:1px solid rgba(143,29,29,.18);border-radius:15px;background:linear-gradient(135deg,#fffdf7,#f8eedc);margin:14px 0 16px;overflow:hidden}.essay-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;color:var(--seal-dark);font-weight:700}.essay-panel>summary::-webkit-details-marker{display:none}.essay-panel>summary span{display:flex;align-items:center;gap:8px}.essay-panel>summary small{font:500 10px 'IBM Plex Mono',monospace;color:var(--muted);white-space:nowrap}.essay-panel[open]>summary{border-bottom:1px solid var(--line);background:rgba(196,154,47,.09)}.essay-body{padding:4px 17px 17px}.essay-body h4{font:700 18px 'Noto Serif TC',serif;color:var(--seal-dark);margin:18px 0 7px}.essay-body p{font-size:14px;line-height:1.78;color:#453b34;margin:0 0 12px}.essay-body p:first-of-type::first-letter{font:700 2.4em 'Noto Serif TC',serif;float:left;line-height:.85;margin:7px 7px 0 0;color:var(--seal)}.anecdote-box{background:var(--jade-light);border-left:4px solid var(--jade);border-radius:12px;padding:2px 14px 5px;margin:18px 0}.anecdote-box h4{color:var(--jade-dark);display:flex;align-items:center;gap:7px}.essay-source{display:flex;align-items:center;gap:7px;border-top:1px dashed var(--line);padding-top:12px!important;margin-top:16px!important}.essay-source a{color:var(--seal-dark);font-weight:700}
.numbered-map-panel{background:rgba(255,253,247,.96);border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow);margin:0 0 22px;overflow:hidden;scroll-margin-top:130px}.numbered-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff9e9,#f3e1bd)}.numbered-map-head small{font:600 10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--seal)}.numbered-map-head h3{font:700 20px 'Noto Serif TC',serif;margin:2px 0 0}.numbered-map-head>span{font:600 11px 'IBM Plex Mono',monospace;background:var(--seal);color:#fff;border-radius:999px;padding:6px 9px}.numbered-map-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.75fr);min-height:380px}.leaflet-day-map{height:380px;background:#e9dfcd;z-index:1}.map-placeholder{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted);gap:7px;padding:20px}.map-placeholder i{font-size:30px;color:var(--jade)}.numbered-map-list{padding:12px;overflow:auto;max-height:380px;background:#fffdf7}.numbered-map-stop{display:flex;align-items:center;gap:10px;text-decoration:none;border-radius:11px;padding:8px;color:inherit}.numbered-map-stop:hover{background:var(--gold-light)}.numbered-map-stop>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--seal);color:#fff;font:700 12px 'IBM Plex Mono',monospace}.numbered-map-stop div{min-width:0}.numbered-map-stop b{display:block;font-size:12.5px;line-height:1.3}.numbered-map-stop small{display:block;color:var(--muted);font-size:10.5px;margin-top:2px}.numbered-map-list>p{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding:10px 4px 0;margin:8px 0 0}.number-marker{background:transparent;border:none}.number-marker span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--seal);color:#fff;border:2px solid #fff;box-shadow:0 4px 14px rgba(60,20,15,.35);font:700 13px 'IBM Plex Mono',monospace}.number-marker.opzionale span{background:var(--gold);color:#33250a}.number-marker.accesso span{background:var(--jade)}.leaflet-popup-content a{color:#8f1d1d;font-weight:700}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:760px){.essay-panel>summary{align-items:flex-start}.essay-panel>summary small{white-space:normal;text-align:right}.essay-body{padding:2px 14px 14px}.essay-body p{font-size:13.5px}.numbered-map-layout{grid-template-columns:1fr}.leaflet-day-map{height:310px}.numbered-map-list{max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:2px}.numbered-map-list>p{grid-column:1/-1}.numbered-map-head h3{font-size:18px}}@media(max-width:430px){.numbered-map-list{grid-template-columns:1fr}.numbered-map-head{align-items:flex-start}.numbered-map-head>span{flex:0 0 auto}.leaflet-day-map{height:285px}}


/* 2.1.1 — fallback robusto per le mappe giornaliere */
.leaflet-day-map{position:relative;isolation:isolate;overflow:hidden}
.leaflet-day-map.tiles-unavailable::after{content:"Sfondo cartografico momentaneamente non disponibile";position:absolute;left:10px;bottom:10px;z-index:700;background:rgba(255,253,247,.92);border:1px solid var(--line);border-radius:999px;padding:5px 8px;font:600 9px 'IBM Plex Mono',monospace;color:var(--seal-dark);pointer-events:none}
.day-map-fallback{position:relative;width:100%;height:100%;min-height:285px;overflow:hidden;background:#efe6d5}
.day-map-fallback svg{display:block;width:100%;height:100%}
.fallback-grid path{stroke:rgba(33,106,88,.11);stroke-width:1;vector-effect:non-scaling-stroke}
.fallback-route{fill:none;stroke:var(--seal);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;opacity:.78;vector-effect:non-scaling-stroke}
.fallback-route.dashed{stroke-dasharray:13 12}
.fallback-marker{cursor:pointer}
.fallback-marker circle{fill:var(--seal);stroke:#fff;stroke-width:5;filter:drop-shadow(0 5px 7px rgba(59,26,17,.32));vector-effect:non-scaling-stroke}
.fallback-marker text{fill:#fff;text-anchor:middle;dominant-baseline:middle;font:700 22px 'IBM Plex Mono',monospace;pointer-events:none}
.fallback-marker.accesso circle{fill:var(--jade)}
.fallback-marker.opzionale circle{fill:var(--gold)}
.fallback-marker.opzionale text{fill:#33250a}
.fallback-map-label{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 20px);background:rgba(255,253,247,.94);border:1px solid var(--line);border-radius:10px;padding:7px 9px;color:var(--jade-dark);box-shadow:0 5px 18px rgba(40,30,20,.12)}
.fallback-map-label span{font:700 10px 'IBM Plex Mono',monospace;text-transform:uppercase}
.fallback-map-label small{font-size:9px;color:var(--muted)}
@media(max-width:520px){.fallback-map-label small{display:none}}


/* 2.2 — Hotel, pernottamenti e marker A/B */
.hotel-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:4px 0 38px}.hotel-intro h2{font:700 clamp(25px,4vw,38px) 'Noto Serif TC',serif;margin:0 0 7px}.hotel-intro p{max-width:770px;color:var(--muted);margin:0}.hotel-grid{display:grid;grid-template-columns:1fr;gap:18px}.hotel-card{background:rgba(255,253,247,.96);border:1px solid var(--line);border-radius:21px;box-shadow:var(--shadow);overflow:hidden}.hotel-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 20px;background:linear-gradient(135deg,#fff9e9,#f2dfb8);border-bottom:1px solid var(--line)}.hotel-card__head h3{font:700 clamp(21px,3vw,29px) 'Noto Serif TC',serif;margin:9px 0 2px}.hotel-cn-name{font:600 16px 'Noto Serif TC',serif;color:var(--seal);margin:0}.stay-pill{flex:0 0 auto;display:grid;place-items:center;background:var(--seal);color:#fff;border-radius:14px;min-width:62px;padding:8px}.stay-pill strong{font:700 22px 'IBM Plex Mono',monospace;line-height:1}.stay-pill span{font:600 9px 'IBM Plex Mono',monospace;text-transform:uppercase;margin-top:4px}.hotel-card__body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:0}.hotel-details{padding:20px}.hotel-fact{padding:10px 0;border-bottom:1px solid var(--line)}.hotel-fact>small,.hotel-stay small{display:block;font:600 9px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}.copy-field{display:flex;align-items:flex-start;gap:8px}.copy-field>span{font-size:13.5px;line-height:1.48;flex:1}.copy-field>span[lang]{font-family:'Noto Serif TC',serif;font-size:15px}.hotel-stay{display:flex;align-items:center;gap:12px;background:var(--jade-light);color:var(--jade-dark);border-radius:13px;padding:12px 13px;margin:15px 0}.hotel-stay>i{font-size:25px}.hotel-stay strong,.hotel-stay span{display:block}.hotel-stay span{font-size:11.5px;margin-top:2px}.hotel-map-wrap{border-left:1px solid var(--line);background:#efe5d3;min-width:0}.hotel-map-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#fffdf7;border-bottom:1px solid var(--line)}.hotel-map-head small{display:block;font:600 8px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted)}.hotel-map-head strong{font:700 13px 'Noto Serif TC',serif}.hotel-osm-map{height:420px;background:#e7ddca;position:relative;isolation:isolate}.hotel-osm-marker{background:transparent;border:none}.hotel-osm-marker span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px 12px 12px 3px;transform:rotate(-45deg);background:var(--seal);color:#fff;border:2px solid #fff;box-shadow:0 5px 15px rgba(50,20,15,.35)}.hotel-osm-marker i{transform:rotate(45deg);font-size:17px}.hotel-map-fallback{height:100%;display:grid;place-content:center;text-align:center;gap:6px;text-decoration:none;color:var(--seal-dark);padding:20px}.hotel-map-fallback i{font-size:31px}.hotel-map-fallback span{font-size:11px;color:var(--muted)}.amap-btn{color:#fff;background:var(--jade);border-color:var(--jade)}
.overnight-card{display:flex;align-items:center;gap:13px;background:linear-gradient(135deg,var(--jade-light),#f4ead5);border:1px solid rgba(33,106,88,.2);border-radius:16px;padding:12px 13px;margin:0 0 17px;scroll-margin-top:125px}.overnight-card__icon{width:43px;height:43px;display:grid;place-items:center;flex:0 0 43px;border-radius:13px;background:var(--jade);color:#fff;font-size:21px}.overnight-card__body{min-width:0;flex:1}.overnight-card__body>small{display:block;font:600 8.5px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--jade-dark)}.overnight-card__body h3{font:700 16px 'Noto Serif TC',serif;margin:2px 0}.overnight-card__body h3 a{text-decoration:none}.overnight-card__body h3 a:hover{text-decoration:underline}.overnight-card__body .cn-address{margin-top:4px}.overnight-card.travel-night{background:linear-gradient(135deg,var(--gold-light),#fff8e9);border-color:rgba(196,154,47,.35)}.overnight-card.travel-night .overnight-card__icon{background:var(--gold);color:#33250a}.overnight-card.travel-night p{font-size:11px;color:var(--muted);margin:2px 0 0}
.hotel-map-legend{border-bottom:1px solid var(--line);padding:3px 2px 9px;margin-bottom:6px}.hotel-map-legend__title{font:700 9px 'IBM Plex Mono',monospace;text-transform:uppercase;color:var(--muted);padding:4px 6px;display:flex;gap:5px;align-items:center}.hotel-map-stop{display:flex;align-items:center;gap:9px;padding:7px 6px;text-decoration:none;border-radius:10px}.hotel-map-stop:hover{background:var(--jade-light)}.hotel-map-stop div{min-width:0}.hotel-map-stop b{display:block;font-size:11.5px;line-height:1.25}.hotel-map-stop small{display:block;color:var(--muted);font-size:9.5px}.hotel-map-badge{display:grid;place-items:center;min-width:34px;height:28px;padding:0 6px;border-radius:9px;background:var(--jade);color:#fff;font:700 10px 'IBM Plex Mono',monospace}.hotel-map-badge.end{background:var(--gold);color:#33250a}.hotel-map-badge.both{background:linear-gradient(135deg,var(--jade) 0 48%,var(--gold) 52% 100%);color:#fff}.hotel-letter-marker{background:transparent;border:none}.hotel-letter-marker span{display:grid;place-items:center;min-width:42px;height:34px;padding:0 7px;border-radius:11px;background:var(--jade);color:#fff;border:2px solid #fff;box-shadow:0 5px 15px rgba(31,70,58,.35);font:700 11px 'IBM Plex Mono',monospace}.hotel-letter-marker.end span{background:var(--gold);color:#33250a}.hotel-letter-marker.both span{background:linear-gradient(135deg,var(--jade) 0 48%,var(--gold) 52% 100%)}.fallback-hotel-marker rect{fill:var(--jade);stroke:#fff;stroke-width:5;filter:drop-shadow(0 5px 7px rgba(31,70,58,.3));vector-effect:non-scaling-stroke}.fallback-hotel-marker.end rect{fill:var(--gold)}.fallback-hotel-marker.both rect{fill:var(--jade)}.fallback-hotel-marker text{fill:#fff;text-anchor:middle;dominant-baseline:middle;font:700 18px 'IBM Plex Mono',monospace}.fallback-hotel-marker.end text{fill:#33250a}.transport-place-link{text-decoration:none;color:inherit}.transport-place-link:hover{text-decoration:underline;color:var(--seal-dark)}.hotel-line strong a{text-decoration:none}.hotel-line strong a:hover{text-decoration:underline;color:var(--seal-dark)}
@media(max-width:840px){.hotel-card__body{grid-template-columns:1fr}.hotel-map-wrap{border-left:0;border-top:1px solid var(--line)}.hotel-osm-map{height:330px}.hotel-intro{align-items:flex-start;flex-direction:column}.overnight-card{align-items:flex-start;flex-wrap:wrap}.overnight-card>.btn{margin-left:56px}.hotel-map-legend{grid-column:1/-1}}
@media(max-width:520px){.hotel-card__head{padding:15px}.hotel-details{padding:15px}.hotel-card__head h3{font-size:20px}.hotel-osm-map{height:285px}.hotel-links{display:grid;grid-template-columns:1fr 1fr}.overnight-card>.btn{margin-left:0;width:100%}.overnight-card__body h3{font-size:14px}.overnight-card__body .cn-address{font-size:11px}}
