@font-face{font-family:Editorial;src:url(assets/serif.ttf)}@font-face{font-family:Editorial;src:url(assets/serif-italic.ttf);font-style:italic}@font-face{font-family:Sans;src:url(assets/sans.ttf)}*{box-sizing:border-box}body{margin:0;background:#f3f0e6;color:#292d27;font:14px/1.7 Sans,Arial,sans-serif}header{padding:22px 5%;border-bottom:1px solid #d7d5c8;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font:25px Editorial;letter-spacing:3px}.brand img{width:48px}.brand small{display:block;font:8px Sans;letter-spacing:1.5px;margin-top:5px}header>a:last-child{color:inherit;font-size:11px;text-decoration:none}main{max-width:1350px;margin:auto;padding:36px 5% 22px}.eyebrow{font-size:10px;letter-spacing:2px;color:#58614f}h1{font:clamp(40px,4.4vw,65px)/1.04 Editorial;margin:15px 0 22px;font-weight:400}h1 em{font-weight:400}.layout{display:grid;grid-template-columns:1.22fr .8fr;gap:60px;align-items:center}.map-wrap{position:relative;background:#ece7d7;border:1px solid #d6d1c2;overflow:hidden}.map-wrap svg{display:block;width:100%;height:auto;max-height:72vh}.map-wrap>svg{background:#ece7d7}#car{filter:drop-shadow(0 3px 3px #0003)}.legend{display:flex;gap:20px;justify-content:space-between;font-size:10px;color:#5b6553;margin-top:9px}.legend span:last-child{color:#a64b35}.copy>p{color:#636b5d;font-size:13px;max-width:360px}.instruction{border-block:1px solid #d0d0c0;padding:22px 0;margin:26px 0 20px;min-height:170px}.instruction h2{font:32px/1.12 Editorial;margin:10px 0}.instruction p{font-size:13px;color:#59614f;margin:10px 0}.instruction .eyebrow{display:flex;justify-content:space-between}.actions{display:flex;gap:9px}.actions button{font:12px Sans;border:1px solid #53614b;padding:15px 20px;cursor:pointer;background:transparent;color:#35402f}.actions button:first-child{background:#53614b;color:white;flex:1}.actions button:disabled{opacity:.45;cursor:default}.progress{width:100%;accent-color:#53614b;margin:18px 0 0;cursor:pointer}.timing{display:flex;justify-content:space-between;font-size:10px;color:#777d6c}.map-link{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding:14px 0;color:#292d27;border-bottom:1px solid #53614b;text-decoration:none;font-size:12px}.note{font-size:10px!important;color:#797e71!important}.steps{display:flex;gap:6px;margin-top:17px}.steps button{font:12px Sans;width:37px;height:37px;border-radius:50%;border:1px solid #bfc4b4;background:transparent;color:#53614b;cursor:pointer}.steps button[aria-current=true]{background:#53614b;color:white}.bottom{border-top:1px solid #d7d5c8;margin-top:30px;padding-top:16px;display:flex;justify-content:space-between;font-size:11px;color:#636b5d}.bottom a{color:inherit}.summary{margin:24px 0;color:#53614b;font-size:12px}.summary li{padding:8px 0}.summary summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #af8b40;outline-offset:4px}.badge{position:absolute;top:12px;left:12px;background:#f5f2e9ed;border:1px solid #d7d5c8;padding:5px 10px;font-size:9px;letter-spacing:1px;pointer-events:none}@media(min-width:1500px){.map-wrap svg{max-height:760px}}@media(max-width:760px){header{padding:16px 6%}.brand{font-size:20px}.brand img{width:38px}header>a:last-child{font-size:10px}.layout{display:flex;flex-direction:column;gap:20px;align-items:stretch}main{padding:25px 6%}.copy{display:contents}.title-block{order:-2}h1{font-size:48px;margin:10px 0 14px}.map-column{order:-1}.map-wrap svg{max-height:none}.copy>p{margin-top:0}.instruction{margin:0;min-height:150px;padding:16px 0}.instruction h2{font-size:30px}.actions button{padding:14px}.map-link{margin-top:0}.steps{margin-top:0}.bottom{display:block}.bottom span{display:block;margin:7px 0}.legend{font-size:9px;gap:6px}.note{margin-bottom:0}.badge{font-size:8px;padding:4px 7px}.progress{margin-top:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.origin-picker{margin:20px 0}.origin-picker>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.origin-picker button{font:11px Sans;cursor:pointer;border:1px solid #bfc4b4;border-radius:24px;padding:9px 13px;background:transparent;color:#53614b}.origin-picker button[aria-pressed=true]{background:#53614b;color:white;border-color:#53614b}.origin-picker p{font-size:11px;color:#626b59;margin:9px 0}
/* Keep the final approach readable at the same map footprint. */
#route-map.zoom-itria #car{transform-box:view-box} .map-wrap:has(.zoom-itria) .badge{top:auto;bottom:12px}.map-wrap:has(.zoom-itria){background:#ece7d7}

.itria-labels{display:none}#route-map.zoom-itria>text{display:none}#route-map.zoom-itria .itria-labels{display:block}#route-map.zoom-itria #arrival-glow{r:21px;stroke-width:2px}

#route-map.zoom-itria>circle:not(#arrival-glow){r:7px;stroke-width:1.5px}

.itria-distance{display:none;position:absolute;right:14px;top:14px;background:#f5f2e9f5;border:1px solid #c7cbbd;padding:11px 15px;box-shadow:0 3px 15px #292d2709}.map-wrap:has(.zoom-itria) .itria-distance{display:block}.itria-distance span{display:block;font-size:8px;letter-spacing:1.6px;color:#68725e}.itria-distance strong{display:block;font:26px/1.2 Editorial;margin:4px 0}.itria-distance small{font-size:11px;color:#53614b}@media(max-width:600px){.itria-distance{right:9px;top:9px;padding:8px 11px}.itria-distance strong{font-size:22px}}
.itria-distance{top:auto;bottom:55px}@media(max-width:600px){.itria-distance{top:auto;bottom:48px}}

#route-stops{pointer-events:none}

/* Il badge in basso a sinistra, dove la mappa è vuota: non copre più il numero 5. */
.badge{top:auto;bottom:12px}.map-wrap:has(.zoom-itria) .badge{bottom:12px}
#maps-note{margin:10px 0 0}
.steps{flex-wrap:wrap}.origin-picker button{min-height:40px}
@media(max-width:760px){.title-block{order:-4}.copy>p:not(.note){order:-3;margin:0}.origin-picker{order:-2;margin:0}.map-column{order:-1}.steps button{width:44px;height:44px}.origin-picker button{min-height:44px}.actions button{min-height:48px}}
@media(max-width:760px){.badge{display:none}}
@media(max-width:760px){.itria-distance{left:9px;right:auto;bottom:9px;top:auto}}

/* Telefono: subito sotto la mappa i comandi, poi l'indicazione; contatti e pulsanti comodi da toccare. */
@media(max-width:760px){.actions,.progress,.timing{order:0}.instruction{order:1}.steps{order:2}.map-link,.note{order:3}
.instruction{min-height:0}.legend{font-size:11px}.note{font-size:12px!important}.origin-picker p{font-size:12px}
header>a:last-child{font-size:12px;padding:12px 0}.bottom span{font-size:13px}.bottom a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;margin:6px 6px 0 0;border:1px solid #53614b;border-radius:24px;text-decoration:none;color:#35402f}}
@media(pointer:coarse){.bottom a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;margin:6px 6px 0 0;border:1px solid #53614b;border-radius:24px;text-decoration:none;color:#35402f}header>a:last-child{padding:12px 0}.steps button{width:44px;height:44px}.origin-picker button{min-height:44px}.progress{height:32px}}
@media(max-width:760px){.help .sep{display:none}.help-label{display:block}.legend{flex-wrap:wrap;gap:2px 14px}}

/* Google Maps come sul sito: pulsante pieno verde salvia. */
.map-link{background:#53614b;color:#fff;border:0;min-height:56px;padding:16px 23px;font-size:14px;letter-spacing:.02em;transition:background .25s}.map-link:hover{background:#35432f}.map-link span{transition:transform .25s}.map-link:hover span{transform:translate(3px,-3px)}
@media(max-width:760px){.map-link{margin-top:4px}}

/* Pulsante "Richiesta disponibilita": identico a quello della home (1/11/2026) */
.header-cta{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:18px;min-height:46px;padding:0 22px;font-size:14px;display:inline-flex;isolation:isolate;color:#292d27;background:#c9a24a;border:2px solid #fff;position:relative;overflow:clip;box-shadow:0 6px 20px #c9a24a73;text-decoration:none;white-space:nowrap;font-family:inherit;line-height:1.2;transition:background .25s,border-color .25s,color .25s,transform .3s cubic-bezier(.22,1,.36,1)}
.header-cta:hover{background:#d8b45c;border-color:#fff;transform:translateY(-2px)}
.header-cta:active{transform:translateY(0) scale(.98)}
.header-cta svg{transition:transform .25s;flex:none}
.header-cta:hover svg{transform:translate(3px)}
.header-cta:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 30%,#fffc 50%,#0000 70%);position:absolute;inset:0;transform:translate(-130%)}
@media (max-width:700px){.header-cta{letter-spacing:.12em;min-height:44px;padding:0 12px;font-size:12px}.header-cta svg{display:none}}
@media (max-width:440px){.header-cta{letter-spacing:.08em;padding-inline:9px;font-size:11.5px}}
@media (prefers-reduced-motion:no-preference){.header-cta{animation:cta-blink 1.6s step-end 1.5s infinite}.header-cta svg{animation:cta-nudge 2.2s ease-in-out 1.5s infinite}.header-cta:is(:hover,:focus-visible),.header-cta:is(:hover,:focus-visible) svg{animation-play-state:paused}}
@keyframes cta-blink{0%{background:#f2d27a;border-color:#fff;box-shadow:0 0 0 4px #f2d27a80,0 0 26px 8px #f2d27acc}50%{background:#c9a24a;box-shadow:0 6px 20px #c9a24a73}}
@keyframes cta-nudge{0%,60%,to{transform:translate(0)}75%{transform:translate(4px)}88%{transform:translate(-1px)}}

:root{--nv-serif:Editorial,Georgia,serif}
/* Testata: stesse dimensioni di logo e scritta della home (1/11/2026) */
.site-header{z-index:30;color:#fff;align-items:center;justify-content:space-between;gap:24px;height:124px;padding:0 clamp(24px,4vw,68px);display:flex;position:relative;background:#22291f;border-bottom:1px solid rgba(0,0,0,0)}
.site-header a{color:inherit;text-decoration:none}
.site-header.nv-light{background:#f3f0e6;color:#292d27;border-bottom-color:#d7d5c8}
.brand{flex-shrink:0;align-items:center;gap:18px;display:flex;font:inherit;letter-spacing:normal}
.brand img{object-fit:contain;filter:drop-shadow(0 6px 18px rgba(11,18,13,.35));flex-shrink:0;width:96px;height:96px;border-radius:0;display:block}
.brand-name{font-family:var(--nv-serif);letter-spacing:.085em;white-space:nowrap;font-size:33px;line-height:1;position:relative;transform:translateY(-.34em);font-weight:400}
.brand-name small{font-family:var(--nv-serif);letter-spacing:.14em;margin-top:10px;font-size:11px;line-height:1.2;position:absolute;top:100%;left:0;display:block;color:inherit}
.nv-hr{display:flex;align-items:center;gap:22px;justify-self:end;margin-left:auto}
.nv-hr>a:not(.header-cta):not(.nv-map-link){font-size:13px;letter-spacing:.1em;white-space:nowrap}
.nv-map-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:inherit;transition:color .25s,transform .25s}
.nv-map-link:hover{color:#c9a24a;transform:translateY(-2px)}
@media (min-width:1101px){.site-header{grid-template-columns:auto 1fr auto;display:grid}}
@media (min-width:1400px){.site-header{grid-template-columns:1fr auto 1fr}.brand{justify-self:start}}
@media (min-width:1101px) and (max-width:1399px){.brand{gap:14px}.brand img{width:80px;height:80px}.brand-name{font-size:27px}.brand-name small{margin-top:8px;font-size:9.5px}}
@media (max-width:1100px){.site-header{height:100px}.brand{gap:15px}.brand img{width:76px;height:76px}.brand-name{font-size:30px}.brand-name small{margin-top:9px;font-size:10.5px}}
@media (max-width:700px){.site-header{gap:12px;height:88px;padding-inline:20px}.brand{gap:12px}.brand img{width:64px;height:64px}.brand-name{font-size:26px}.brand-name small{letter-spacing:.1em;margin-top:7px;font-size:8.5px}}
@media (max-width:380px){.site-header{gap:8px;padding-inline:16px}.brand{gap:10px}.brand img{width:58px;height:58px}.brand-name{font-size:23px}.brand-name small{letter-spacing:.08em;font-size:8px}}
@media (min-width:1400px) and (max-width:1699px){.site-header{grid-template-columns:auto 1fr auto}}
@media (min-width:1101px) and (max-width:1699px){.site-header{column-gap:24px}}
@media (min-width:1101px) and (max-width:1320px){.brand img{width:64px;height:64px}.brand-name{font-size:23px}.brand-name small{font-size:8.5px}}
@media (max-width:700px){.site-header .brand{gap:10px}.site-header .brand img{width:46px;height:46px}.site-header .brand-name{font-size:19px}.site-header .brand-name small{display:none}.nv-hr{gap:8px}.nv-hr>a:not(.header-cta):not(.nv-map-link){display:none}}
@media (max-width:440px){.site-header{gap:8px}.site-header .brand{gap:7px}.site-header .brand img{width:36px;height:36px}.site-header .brand-name{letter-spacing:.06em;font-size:16px}}
@media (max-width:359px){.site-header .brand{gap:6px}.site-header .brand img{width:32px;height:32px}.site-header .brand-name{letter-spacing:.05em;font-size:14.5px}}
@media (min-width:1101px) and (max-width:1279px){.site-header{column-gap:16px;padding-inline:28px}}

@media (min-width:1101px) and (max-width:1699px){.header-cta{letter-spacing:.12em;gap:12px;padding-inline:16px;font-size:13px}}
@media (min-width:1101px) and (max-width:1320px){.header-cta{letter-spacing:.08em;gap:8px;padding-inline:12px;font-size:12px}}
@media (min-width:1101px) and (max-width:1199px){.header-cta{letter-spacing:.05em;gap:6px;padding-inline:10px;font-size:11px}}
@media (max-width:359px){.header-cta{letter-spacing:.04em;padding-inline:7px;font-size:10.5px}}
