@font-face{font-family:'Lora';src:url(fonts/lora.woff?v=1) format('woff');font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:'Lora';src:url(fonts/lora-italic.woff?v=1) format('woff');font-weight:400 700;font-style:italic;font-display:swap}@font-face{font-family:'Inter';src:url(fonts/inter-regular.woff?v=1) format('woff');font-weight:400;font-display:swap}@font-face{font-family:'Inter';src:url(fonts/inter-semibold.woff?v=1) format('woff');font-weight:500 650;font-display:swap}@font-face{font-family:'Inter';src:url(fonts/inter-bold.woff?v=1) format('woff');font-weight:651 900;font-display:swap}
:root{--serif:'Lora',Georgia,'Times New Roman',serif;--sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--green:#0f222d;--green2:#1f4558;--gold:#b89259;--sand:#f7f6f1;--cream:#fff;--ink:#122a36;--muted:#728077;--line:#e6ebe6;--nav:76px}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font:15px/1.55 var(--sans)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c6a068;outline-offset:2px}.topbar{position:sticky;top:0;z-index:1000;height:70px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 max(18px,calc((100vw - 1080px)/2));box-shadow:0 2px 12px #14252f10}.logo{display:flex;align-items:center;margin-right:auto;line-height:1;min-width:0}.logo-image{display:block;height:38px;width:auto;max-width:min(54vw,240px)}.mark{font-size:27px;color:var(--gold)}.user-chip{font-size:11px;background:#edf2ee;color:var(--green2);border-radius:24px;padding:6px 11px;max-width:145px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar,.circle-button{height:39px;width:39px;border-radius:50%;background:white;border:1px solid var(--line);font-size:21px;color:var(--green)}main{max-width:1080px;margin:auto}.view{display:none;padding:24px 18px 120px;min-height:calc(100dvh - 150px)}.view.active{display:block}.eyebrow{font-size:10px;font-weight:800;color:var(--gold);letter-spacing:2px}h1{font:400 clamp(28px,6vw,40px)/1.15 var(--serif);color:var(--green);margin:8px 0 16px}h2{font:400 23px var(--serif)}.intro{color:var(--muted);margin:0 0 22px}.map-heading{display:flex;justify-content:space-between;align-items:center}.map-search{background:white;border:1px solid var(--line);height:48px;border-radius:14px;display:flex;align-items:center;gap:10px;padding:0 13px;box-shadow:0 4px 15px #11232d11}.map-search span{font-size:25px;color:var(--green)}.map-search input{flex:1;border:0;outline:0;min-width:0;background:transparent}.minimal{background:none;border:0;color:var(--muted);font-size:23px}.chips{display:flex;overflow-x:auto;gap:8px;padding:14px 0 15px;scrollbar-width:none}.chip{white-space:nowrap;border:1px solid #dce6df;background:white;border-radius:30px;padding:8px 13px;font-size:12px;color:var(--green)}.chip.selected{background:var(--green);color:white;border-color:var(--green)}.map-frame{position:relative;height:min(53dvh,550px);min-height:310px;border-radius:17px;overflow:hidden;background:#e5eee9;border:1px solid #d6e5db}.map-frame #map-canvas{height:100%;width:100%}.map-status{position:absolute;z-index:500;top:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);pointer-events:none;background:#fffffff0;font-size:11px;border-radius:8px;padding:6px 9px;color:#50695b}.place-preview{background:#fff;border:1px solid var(--line);border-radius:14px;margin-top:12px;padding:15px;box-shadow:0 6px 18px #14252f10}.preview-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.place-title{font-weight:750;color:var(--green)}.place-meta{color:var(--muted);font-size:12px}.preview-actions,.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mini-summary{display:flex;align-items:center;justify-content:space-between;margin:15px 2px;color:var(--muted);font-size:13px}.text-action,.link-button{color:var(--green2);background:none;border:0;text-decoration:underline;text-underline-offset:4px;font-weight:650}.field{display:block;width:100%;padding:13px 15px;margin-bottom:12px;border:1px solid #dce4dd;border-radius:11px;background:#fff;color:var(--ink);min-width:0}.place-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}.place-card{background:white;border:1px solid var(--line);border-radius:15px;padding:16px;min-width:0}.place-card .place-title{font:400 21px var(--serif);margin:5px 0}.category{font-size:10px;color:#907044;text-transform:uppercase;letter-spacing:1.2px;font-weight:750}.place-card p{color:var(--muted);font-size:12px;margin:6px 0 12px}.action{background:#f4f7f3;color:var(--green);border:1px solid #dce7de;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:700}.action.primary{background:var(--green);color:white;border-color:var(--green)}.main-button,.outline-button{display:block;width:100%;padding:14px;border-radius:11px;font-weight:750;border:1px solid var(--green);background:var(--green);color:white}.outline-button{background:white;color:var(--green)}.trip-tools{display:grid;gap:10px;margin-top:20px}.empty{background:white;border:1px dashed #cbd9cf;border-radius:15px;text-align:center;padding:38px 20px;color:var(--muted)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e9eeea;border-radius:12px;padding:4px;margin:18px 0}.auth-tabs button{background:transparent;border:0;padding:12px;border-radius:9px;color:var(--green);font-weight:650}.auth-tabs button.selected{background:white;box-shadow:0 2px 7px #10212b1b}.auth-form{max-width:520px;display:grid;gap:10px;margin:12px 0}.auth-form label{font-weight:650;font-size:13px}.auth-form .field{margin:5px 0 0}.link-button{margin-top:10px;padding:6px 0}.note{background:#edf1ec;border-radius:13px;padding:16px;margin-top:24px;color:#465862;font-size:13px}.note p{margin-bottom:0}.account-card{padding:26px;text-align:center;background:white;border:1px solid var(--line);border-radius:16px;display:grid;gap:12px}.account-icon{font-size:40px;color:var(--gold)}.account-card small{color:var(--muted)}.auth-message{min-height:24px;font-size:13px;color:var(--green);font-weight:600}.auth-message.error{color:#a43535}.bottom-nav{position:fixed;z-index:1100;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;box-shadow:0 -4px 14px #0c1c251a;padding:6px 6px max(7px,env(safe-area-inset-bottom))}.tab{width:25%;display:grid;justify-items:center;gap:1px;background:none;border:0;color:#73847a;padding:4px 0 2px;font-size:11px}.tab-icon{font-size:27px;height:31px;line-height:29px}.tab.active{color:var(--green);font-weight:750}.tab b{background:var(--gold);color:white;border-radius:12px;padding:1px 5px;font-size:9px}.leaflet-popup-content{font:13px system-ui,sans-serif}.leaflet-container{font-family:inherit!important}@media(min-width:800px){.view{padding-top:40px}.bottom-nav{max-width:470px;left:50%;transform:translateX(-50%);bottom:20px;border:1px solid var(--line);border-radius:20px;padding:9px;box-shadow:0 9px 30px #0002}.map-frame{height:55vh}.topbar{padding-left:max(18px,calc((100vw - 1080px)/2));padding-right:max(18px,calc((100vw - 1080px)/2))}}@media(max-width:570px){.logo-image{height:32px}.place-list{grid-template-columns:1fr}.user-chip{max-width:110px}.map-frame{height:49dvh}.view{padding:18px 14px 110px}h1{margin-bottom:13px}}

/* Leaflet: impedisce alle regole responsive delle immagini di alterare le tessere. */
#locate{ display:grid; place-items:center; flex-shrink:0; border:2px solid var(--gold); font-size:25px; }
#locate:disabled{ opacity:.6; }

/* Correzione Leaflet e navigazione mobile */
#trip-canvas{height:100%;width:100%}.trip-map-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:20px}.trip-map-heading h2{margin:0}.map-hint{font-size:12px;color:var(--muted);margin:6px 0 18px}.nearby-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 0}.nearby-row span{font-size:12px;color:var(--muted)}
/* v1 integrata: servizi, questionario, risultato algoritmo e navigazione interna */
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.service-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 7px 24px #14252f10}.service-card.featured{border-color:#d9c59e}.service-card h2{margin:7px 0 8px;color:var(--green)}.service-card p,.service-card li{color:var(--muted)}.service-card ul{padding-left:19px;margin:14px 0 20px}.service-kicker{display:inline-block;font-size:10px;font-weight:800;letter-spacing:2px;color:var(--gold);background:#f5efe5;border-radius:20px;padding:6px 9px}.back-link{border:0;background:transparent;color:var(--green);font-weight:700;padding:5px 0 18px}.questionnaire{display:grid;gap:18px;max-width:760px}.questionnaire label{display:grid;gap:7px;font-weight:650;color:var(--green)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.questionnaire fieldset{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.questionnaire legend{font-weight:700;color:var(--green);padding:0 7px}.interest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.interest-option{display:flex!important;align-items:center;gap:9px!important;background:#f8faf8;border:1px solid var(--line);padding:10px 11px;border-radius:12px;font-weight:500!important}.interest-option input{accent-color:var(--green)}.textarea{min-height:105px;resize:vertical;padding-top:12px!important}.check-line{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px!important}.check-line input{margin-top:4px;accent-color:var(--green)}.personalized-result{margin-top:28px;border-top:1px solid var(--line);padding-top:26px}.result-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.result-map,.navigation-map{height:min(48dvh,470px);min-height:300px;border-radius:18px;overflow:hidden;border:1px solid #d6e5db;background:#e5eee9}.result-map #result-canvas,.navigation-map #navigation-canvas{width:100%;height:100%}.result-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800;border:2px solid #fff;box-shadow:0 2px 7px #0003}.nav-destination{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 15px;margin-bottom:13px;font-weight:700;color:var(--green)}.nav-stats{display:flex;gap:10px;flex-wrap:wrap;margin:13px 0}.nav-stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:7px 11px;font-size:12px}.nav-steps{display:grid;gap:8px;margin:12px 0 17px}.nav-step{display:flex;gap:10px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 12px}.nav-step b{min-width:28px;color:var(--gold)}
@media(max-width:700px){.service-grid,.form-row{grid-template-columns:1fr}.interest-grid{grid-template-columns:1fr}.bottom-nav .tab{font-size:10px}.bottom-nav{padding-left:4px;padding-right:4px}.result-heading{align-items:center}}

/* v4: chiarezza di navigazione e profilo allineato */
#view-account .auth-intro,#view-account #auth-config-notice,#view-account #logged-out,#view-account #logged-in,#view-account #password-update,#view-account #auth-message,#view-account>.note{max-width:540px;margin-left:auto;margin-right:auto}
#view-account > .eyebrow,#view-account > h1{text-align:center;display:block}
#view-account .auth-tabs{width:100%;margin:18px auto}
#view-account .auth-form{max-width:none;width:100%;margin:16px auto}
#view-account .auth-form .main-button{width:100%}
#view-account .link-button{display:block;margin:12px auto;text-align:center}
#view-account .note{margin-top:22px}
@media(min-width:800px){#view-account .intro{text-align:center}}

#operator-jobs{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}#operator-jobs button{width:auto;padding:11px 16px}.operator-day{margin:20px 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}.operator-stop{padding:10px 14px;margin:10px 0;border-left:3px solid var(--gold);background:var(--sand);border-radius:6px}.operator-stop p,.operator-day p{margin:4px 0;overflow-wrap:anywhere}#operator-detail h4{margin:4px 0}#operator-message{color:var(--green2);font-weight:600}

.operator-map{width:100%;height:370px;max-height:50vh;border-radius:12px;border:1px solid var(--line);margin:12px 0;z-index:0}.operator-day .leaflet-container{font-family:inherit}@media(max-width:600px){.operator-map{height:280px}}

.operator-qa{margin-top:12px;border-top:1px solid #dae1db;padding-top:10px}.operator-qa summary{cursor:pointer;font-weight:650;color:var(--green)}.operator-qa-form{display:grid;gap:10px;margin-top:12px}.operator-qa-form label{display:grid;gap:4px;font-weight:600}.operator-qa-form select,.operator-qa-form input,.operator-qa-form textarea{width:100%;border:1px solid #bacac0;border-radius:7px;padding:9px;background:#fff;color:#20303a;font:inherit}.operator-qa-form button{max-width:240px}

.operator-qa-summary{border-color:#c9d7cf}.operator-qa-progress{font-weight:700;color:var(--green)}.operator-qa-table{display:grid;gap:8px}.operator-qa-row{display:grid;gap:3px;padding:9px 0;border-bottom:1px solid var(--line)}.operator-qa-row span{font-size:13px;color:var(--muted)}

/* Identità visiva AHT: blu notte, avorio, oro. Questionario responsive. */
:root{--green:#0d2633;--green2:#193747;--gold:#b6a07b;--sand:#f7f5ef;--cream:#fffdf8;--ink:#122a36;--muted:#5c6d75;--line:#dedbd1}
body{font-family:var(--sans);background:var(--sand);color:var(--ink)}
h1,h2,h3,.aht-q-page legend{font-family:var(--serif)}
.topbar{background:var(--cream)}.logo-image{height:48px;max-width:min(60vw,250px)}
#view-questionnaire{max-width:860px;margin:0 auto;padding-top:30px}
#view-questionnaire>.eyebrow{display:inline-block;margin-top:12px}
#view-questionnaire h1{color:var(--green);font-size:clamp(29px,4.4vw,43px)}
#view-questionnaire>.intro{margin-bottom:25px}
.aht-q-shell{background:var(--cream);border:1px solid #e0d8c8;box-shadow:0 16px 45px #0e263212;border-radius:18px;padding:clamp(20px,4vw,40px)}
#aht-q-progress{font-size:11px;letter-spacing:2px;color:#96794e;margin:0 0 12px}
.aht-q-page h2{font-size:clamp(24px,3.5vw,31px);line-height:1.25;color:var(--green);margin:0 0 24px}
.aht-q-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.aht-q-page h2,.aht-q-page fieldset,.aht-q-page>div,.aht-q-page>p,.aht-q-page>.aht-q-agree{grid-column:1/-1}
.aht-q-field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:650;line-height:1.4;color:var(--green)}
.aht-q-field>input,.aht-q-field>select,.aht-q-field>textarea{display:block;width:100%;min-width:0;min-height:47px;border:1px solid #c9c9c2;border-radius:9px;background:#fff;padding:10px 12px;color:var(--ink);font:400 15px/1.5 Arial,Helvetica,sans-serif;transition:border-color .2s,box-shadow .2s}
.aht-q-field>textarea{min-height:100px;resize:vertical}
.aht-q-field>input:focus,.aht-q-field>select:focus,.aht-q-field>textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b6a07b33;outline:0}
.aht-q-page [data-when],.aht-q-page [data-when-not]{grid-column:1/-1}
.aht-q-page [data-when] .aht-q-field{max-width:100%}
.aht-q-group{border:1px solid #dcd8cc;border-radius:12px;padding:17px 18px 15px;margin:0;min-width:0}
.aht-q-group legend{font-size:19px;color:var(--green);padding:0 7px;font-weight:normal}
.aht-q-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.aht-q-options label,.aht-q-agree{background:#fbfaf6;border:1px solid #e8e2d6;border-radius:9px;padding:11px 12px;display:flex;align-items:flex-start;gap:9px;font:400 14px/1.45 Arial,Helvetica,sans-serif}
.aht-q-options label.is-on{background:#f0e9dd;border-color:var(--gold)}
.aht-q-options input,.aht-q-agree input{accent-color:var(--green);width:17px;height:17px;flex:0 0 auto;margin:2px 0 0}
#aht-q-recap{max-height:55vh;overflow-y:auto;background:#faf8f3;border:1px solid #e5dfd2;padding:16px 20px;border-radius:12px}
#aht-q-recap h3{font-size:18px;color:var(--green);text-transform:capitalize;margin:18px 0 6px}
#aht-q-recap p{font-size:13px;overflow-wrap:anywhere;margin:5px 0;border-bottom:1px solid #eee8dd;padding-bottom:5px}
#aht-q-error{color:#9b382e;font-weight:600;min-height:1.5em;margin:16px 0 8px}
.aht-q-actions{display:flex;gap:12px;margin-top:14px}
.aht-q-actions button{flex:1;width:auto;min-height:49px;margin:0;border-radius:9px;font-weight:700}
.aht-q-actions .main-button{background:var(--green);color:#fff}
.aht-q-actions .outline-button{background:transparent;border:1px solid var(--green);color:var(--green)}
.aht-q-page[hidden],.aht-q-page [hidden],#aht-q-prev[hidden]{display:none!important}
.aht-site-footer{background:var(--green);color:#eae4d6;margin-top:34px;padding:28px 18px calc(110px + env(safe-area-inset-bottom));text-align:center;border-top:3px solid var(--gold)}
.aht-site-footer img{display:block;width:min(170px,48vw);height:auto;max-height:132px;margin:0 auto 12px}
.aht-site-footer p{margin:4px 0;font-size:12px;letter-spacing:.3px}
@media(max-width:650px){#view-questionnaire{padding:20px 14px 120px}.aht-q-shell{padding:19px 16px;border-radius:13px}.aht-q-page{grid-template-columns:minmax(0,1fr);gap:16px}.aht-q-options{grid-template-columns:1fr}.aht-q-page h2{margin-bottom:8px}.aht-q-actions{flex-direction:column-reverse}.aht-q-actions button{width:100%}.topbar .logo-image{height:42px}}

/* Logo originale quadrato: nessun taglio né stiramento */
.topbar{min-height:92px;height:auto;padding-top:8px;padding-bottom:8px}.topbar .logo-image{width:72px;height:72px;max-width:none;object-fit:contain}.aht-site-footer img{width:116px;height:116px;max-height:none;object-fit:contain}@media(max-width:650px){.topbar{min-height:78px}.topbar .logo-image{width:60px;height:60px}}

/* Esperienza visiva questionario: trasporti con icone, card e progressione */
.aht-q-shell{position:relative;overflow:hidden}
.aht-q-shell:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--gold),#d9c6a5,var(--green));position:absolute;left:0;right:0;top:0}
.aht-q-page h2{padding-bottom:14px;border-bottom:1px solid #e9e3d8}
.aht-transport-group{background:linear-gradient(155deg,#fffdf8,#f6f2e9);border-color:#dacfbd;padding:20px}
.aht-q-help{font-size:13px;color:var(--muted);margin:0 0 16px}
.aht-transport-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.aht-transport-option{position:relative;display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center;justify-content:center;cursor:pointer;min-height:124px;padding:16px 9px;background:#fff;border:1.5px solid #e5dfd4;border-radius:14px;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}
.aht-transport-option:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0d263310;border-color:var(--gold)}
.aht-transport-option.is-on{background:#f5efe3;border-color:#a48a60;box-shadow:inset 0 0 0 1px #a48a60}
.aht-transport-option input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.aht-transport-option:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
.aht-transport-icon{display:grid;place-items:center;width:43px;height:43px;background:#f4f0e8;border-radius:12px;color:var(--green);pointer-events:none}
.aht-transport-option.is-on .aht-transport-icon{background:var(--green);color:#fff}
.aht-transport-icon svg{width:28px;height:28px}
.aht-transport-label{font-size:13px;font-weight:700;color:var(--green);line-height:1.3;pointer-events:none}
.aht-transport-check{display:grid;place-items:center;position:absolute;top:8px;right:8px;width:19px;height:19px;border-radius:50%;background:var(--green);color:white;font-size:12px;opacity:0;pointer-events:none}
.aht-transport-option.is-on .aht-transport-check{opacity:1}
@media(max-width:650px){.aht-transport-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.aht-transport-option{min-height:113px;padding:12px 8px}.aht-transport-group{padding:14px}}

/* Questionario completo: identita visiva AHT su tutte le schermate */
#aht-q-progress{display:flex;align-items:center;gap:12px;font-weight:800}
#aht-q-progress:before{content:"";display:inline-block;width:26px;height:26px;border:2px solid var(--gold);border-radius:50%;background:radial-gradient(circle at center,var(--gold) 0 3px,transparent 4px);flex:0 0 auto}
.aht-q-progressbar{height:6px;border-radius:20px;background:#e9e2d5;overflow:hidden;margin:-1px 0 25px}
.aht-q-progressbar>span{display:block;height:100%;width:var(--aht-progress,14.285%);background:linear-gradient(90deg,#9d845e,var(--gold));border-radius:20px;transition:width .25s}
.aht-q-page .aht-q-field{min-width:0}
.aht-q-page .aht-q-field>input:hover,.aht-q-page .aht-q-field>select:hover,.aht-q-page .aht-q-field>textarea:hover{border-color:#ab9676}
.aht-q-page .aht-q-group{background:#fdfbf7;box-shadow:0 3px 12px #102b3610}
.aht-q-page .aht-q-options label{align-items:center;min-height:48px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.aht-q-page .aht-q-options label:hover{border-color:var(--gold);background:#f7f0e6;transform:translateY(-1px)}
.aht-q-page .aht-q-options label.is-on{border-color:#b29a76;background:#f3ebdc;box-shadow:inset 3px 0 var(--gold);font-weight:700}
.aht-q-page .aht-q-options input[type=radio],.aht-q-page .aht-q-options input[type=checkbox]{accent-color:var(--green);height:18px;width:18px;flex:0 0 auto}
.aht-q-page[data-page="2"] .aht-q-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.aht-q-page[data-page="2"] fieldset:first-of-type .aht-q-options label{min-height:79px;padding:14px 18px;border-radius:12px}
.aht-q-page[data-page="2"] fieldset:first-of-type .aht-q-options label:before{content:"✧";font-family:var(--serif);font-size:23px;color:#ae9268;line-height:1}
.aht-q-page[data-page="3"] .aht-q-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.aht-q-page[data-page="3"] .aht-q-options label{min-height:54px}
.aht-q-page[data-page="5"] .aht-q-options label{min-height:63px}
.aht-q-page[data-page="5"] .aht-q-group:first-of-type .aht-q-options label{font-weight:650}
.aht-q-page[data-page="1"] input[type=number]{font-variant-numeric:tabular-nums}
#aht-age-total{background:#f3eee3;border-left:4px solid var(--gold);padding:12px 16px;border-radius:8px;font-weight:700;color:var(--green)}
.aht-q-page[data-page="6"] #aht-q-recap{grid-column:1/-1}
.aht-q-actions{border-top:1px solid #e5dfd3;padding-top:18px;margin-top:25px}
.aht-q-actions button{transition:transform .16s,box-shadow .16s}
.aht-q-actions button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #0d26331b}
@media(max-width:650px){.aht-q-page[data-page="2"] .aht-q-options,.aht-q-page[data-page="3"] .aht-q-options{grid-template-columns:1fr}.aht-q-page[data-page="2"] fieldset:first-of-type .aht-q-options label{min-height:57px}}

/* Consultazione questionario salvato in MongoDB */
.aht-my-job{border:1px solid var(--line);background:var(--cream);padding:14px;border-radius:12px;margin:12px 0}.aht-my-job>p{font-weight:700}.aht-my-job>button{width:auto;max-width:100%}.aht-questionnaire-detail{background:#fcfaf5;border:1px solid #dbd1bd;border-radius:12px;padding:12px 16px;margin:16px 0}.aht-questionnaire-detail summary{cursor:pointer;color:var(--green);font-weight:750}.aht-questionnaire-detail h4{font:600 18px var(--serif);border-bottom:1px solid #e8e0d3;padding-bottom:6px;color:var(--green);margin:18px 0 9px}.aht-questionnaire-detail p{overflow-wrap:anywhere;margin:5px 0;font-size:13px}.aht-questionnaire-detail strong{color:var(--green)}#aht-connector-area{margin-top:30px}#aht-connector-area #aht-request-test[hidden]{display:none}

/* v0.2: questionario v284, ricevuta e I miei itinerari */
.progress{margin:4px 0 18px}.progress-bar{height:6px;background:#e3eae4;border-radius:6px;overflow:hidden}.progress-bar span{display:block;height:100%;background:var(--gold);border-radius:6px;transition:width .25s}
.q-title{font:400 19px/1.3 var(--serif);color:var(--green);margin:0 0 12px}
.q-field{display:grid;gap:6px;min-width:0}.q-label{font-weight:650;font-size:13px;color:var(--green)}
.q-field .field{margin:0}.q-hint{font-size:12px;color:var(--muted);margin:8px 0 0}.q-hint.strong{font-weight:700;color:var(--green2)}.q-hint.strong.ok{color:#2c7a4b}
.q-error{min-height:20px;margin:12px 0 0;color:#a43535;font-weight:650;font-size:13px}
.q-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.q-block .form-row{margin-top:10px}.q-block .form-row:first-of-type{margin-top:0}
.opts{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.opt{display:grid;gap:2px;text-align:left;background:#f8faf8;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;color:var(--ink);min-height:44px;align-content:center}
.opt-title{font-weight:700;color:var(--green)}.opt-hint{font-size:12px;color:var(--muted)}
.opt.on{background:#eaf2ec;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.counter{display:inline-flex;align-items:center;gap:6px}.counter-btn{width:38px;height:38px;border-radius:50%;border:1px solid #cfdcd2;background:#fff;color:var(--green);font-size:20px;line-height:1}
.age-grid{display:grid;gap:8px}.age-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid #f0f3f0}
.picker{display:grid;gap:8px}.chips.wrap{flex-wrap:wrap;overflow:visible;padding:4px 0}
.summary{margin:0;display:grid;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 14px}
.summary-row{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #f0f3f0}.summary-row:last-child{border-bottom:0}
.summary dt{font-size:12px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.summary dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.link-button.small{display:inline;margin:0 0 0 8px;padding:0;font-size:12px}
.receipt{background:#fff;border:1px solid #d9c59e;border-radius:20px;padding:24px 18px;text-align:center;box-shadow:0 7px 24px #14252f12}
.receipt>p{color:var(--muted)}.receipt .summary,.receipt .q-title{text-align:left}
.receipt-check{width:62px;height:62px;margin:0 auto 10px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:32px}
.receipt h2{color:var(--green);margin:6px 0 14px}
.receipt-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}.receipt-meta div{background:var(--sand);border-radius:12px;padding:10px}
.receipt-meta dt{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:750}.receipt-meta dd{margin:2px 0 0;font-weight:750;color:var(--green);overflow-wrap:anywhere;font-size:13px}
.my-trips{margin-top:26px;text-align:left}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2{margin:0;color:var(--green)}
.itinerary-list{display:grid;gap:10px;margin:14px 0}
.itin-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;gap:6px}
.itin-card-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.badge{flex-shrink:0;font-size:11px;font-weight:800;border-radius:20px;padding:4px 10px;white-space:nowrap}
.badge.ok{background:#e1f1e6;color:#21643c}.badge.wait{background:#f6eedf;color:#8a6224}.badge.err{background:#f8e3e3;color:#9b2f2f}
.detail-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.detail-head h1{margin-bottom:6px}
.stats{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.chip[style*="--day"].selected{background:var(--day);border-color:var(--day)}
.itin-map{margin-top:4px}#itin-canvas{width:100%;height:100%}
.map-popup{min-width:190px;max-width:240px}.map-popup p{margin:6px 0;color:#4d5f55}.map-popup .card-actions{margin-top:8px}
.place-sheet{background:#fff;border:1px solid #d9c59e;border-radius:16px;padding:16px;margin:14px 0;box-shadow:0 8px 24px #14252f14}
.place-sheet h2{margin:4px 0 2px;color:var(--green)}.sheet-desc{color:var(--ink)}
.sheet-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.sheet-info div{background:var(--sand);border-radius:11px;padding:10px 12px}
.sheet-info dt{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#907044;font-weight:800}.sheet-info dd{margin:3px 0 0;font-size:13px}
a.action{text-decoration:none;display:inline-block}
.day-block{margin-top:22px}.day-block>h2{color:var(--green);margin:0 0 6px}
.day-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.day-head h2{margin:0;color:var(--green);font-size:21px}
.day-dot{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--day);color:#fff;display:grid;place-items:center;font-weight:800}
.stop-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stop-top{display:flex;gap:11px;align-items:flex-start}
.stop-num{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--day,#0f222d);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}.stop-num.extra{background:#8b958f}
.stop-card .place-title{font-size:19px!important;margin:2px 0!important}
.choices{margin-top:22px}.choices summary{cursor:pointer;font-weight:750;color:var(--green);padding:10px 0}
.status-note strong{display:block;font-size:15px;color:var(--green)}.status-note.err{background:#f8eeee}.status-note .outline-button{margin-top:12px}
@media(max-width:570px){.opts-cards.three{grid-template-columns:1fr}.summary-row{grid-template-columns:1fr;gap:2px}.receipt-meta{grid-template-columns:1fr}.stop-list,.sheet-info{grid-template-columns:1fr}.opts{grid-template-columns:1fr 1fr}}
.back-link{display:block}
.place-sheet,#itin-canvas,.day-block{scroll-margin-top:86px}

/* v0.3: segnaposto GPS con icona di categoria e navigazione nella pagina dell'itinerario */
.gps-pin-wrap{background:none;border:0}
.gps-pin{position:relative;width:34px;height:44px;filter:drop-shadow(0 3px 4px #0005)}
.gps-pin-shape{position:absolute;inset:0;width:100%;height:100%}
.gps-pin-shape path{fill:var(--day,#0f222d);stroke:#fff;stroke-width:2.5}
.gps-pin-icon{position:absolute;left:0;right:0;top:7px;display:grid;place-items:center;color:#fff}
.gps-pin.extra{opacity:.9}
.pin-slot{display:inline-block;flex-shrink:0;line-height:0}
.gps-pin.card{width:30px;height:39px;filter:drop-shadow(0 2px 3px #0003)}
.gps-pin.card .gps-pin-icon{top:6px}.gps-pin.card .gps-pin-icon svg{width:15px;height:15px}
.gps-pin.mini{width:18px;height:23px;filter:none}
.gps-pin.mini .gps-pin-icon{top:3px}.gps-pin.mini .gps-pin-icon svg{width:10px;height:10px}
.map-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 2px 4px;font-size:12px;color:var(--muted)}
.legend-item{display:inline-flex;align-items:center;gap:6px}
.stop-top .pin-slot{margin-top:2px}
.sheet-title{display:flex;gap:12px;align-items:flex-start}
.nav-action{border-color:var(--gold,#b89259)!important;color:var(--green,#0f222d)}
.route-panel{background:#fff;border:2px solid var(--green,#0f222d);border-radius:18px;padding:16px;margin:14px 0;box-shadow:0 10px 28px #14252f1f;scroll-margin-top:86px}
.route-head{display:flex;gap:12px;align-items:flex-start}
.route-title{flex:1;min-width:0}.route-title h2{margin:2px 0;color:var(--green,#0f222d)}
.route-chips{margin:10px 0 2px}
.route-status{font-size:13px;color:var(--muted);margin:8px 0}.route-status.err{color:#a43535;font-weight:650}
.route-stats{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:10px 0}
.route-stats strong{font:400 30px/1 var(--serif);color:var(--green,#0f222d)}
.route-stats span{color:var(--muted);font-size:13px}
a.main-button.route-go{text-align:center;text-decoration:none;margin:12px 0 10px;font-size:16px}
.route-steps{margin-top:12px;border-top:1px solid var(--line,#e6ebe6);padding-top:8px}
.route-steps summary{cursor:pointer;font-weight:750;color:var(--green,#0f222d);padding:6px 0}
.route-steps ol{margin:6px 0 0;padding-left:22px;display:grid;gap:8px}
.route-steps li{padding-left:4px}.route-steps li small{display:block;color:var(--muted)}
.me-dot{width:20px;height:20px;border-radius:50%;background:#1877d2;border:3px solid #fff;box-shadow:0 0 0 6px #1877d244,0 2px 6px #0004}
.route-origin{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--green,#0f222d)}

/* v0.4: home e percorso Home › Esplora › Su misura › Viaggi › Profilo */
#view-home{padding-top:28px}
.home-hero{display:grid;gap:26px;align-items:center}
.home-hero h1{font:400 clamp(34px,8.6vw,56px)/1.06 var(--serif);letter-spacing:-.01em;color:var(--green);margin:0 0 16px;text-align:left;max-width:13em}
.home-lead{font-size:17px;line-height:1.6;color:var(--ink);max-width:34em;margin:0 0 22px}
.home-cta{display:flex;flex-wrap:wrap;gap:10px}
.home-cta .main-button,.home-cta .outline-button{width:auto;flex:1 1 200px;padding:15px 22px;font-size:16px}
.home-small{font-size:13px;color:var(--muted);margin:12px 0 0}
.home-block{margin-top:52px}
.home-block>h2{font:400 clamp(24px,5vw,32px)/1.2 var(--serif);color:var(--green);margin:0 0 18px}
.home-steps{list-style:none;counter-reset:step;margin:0;padding:0;display:grid;gap:22px}
.home-steps li{counter-increment:step;display:grid;grid-template-columns:44px 1fr;column-gap:14px;row-gap:4px}
.home-steps li::before{content:counter(step);grid-row:span 2;font:400 38px/1 var(--serif);color:var(--gold)}
.home-steps strong{font-size:17px;color:var(--green)}
.home-steps span{color:var(--muted);line-height:1.55}
.home-offers{display:grid;gap:14px}
.offer{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column}
.offer-main{border:1.5px solid var(--gold)}
.offer h3{font:400 24px/1.2 var(--serif);color:var(--green);margin:0 0 6px}
.offer p{color:var(--muted);margin:0 0 12px}
.offer ul{margin:0 0 18px;padding-left:18px;color:var(--ink);display:grid;gap:5px}
.offer ul li::marker{color:var(--gold)}
.offer .main-button,.offer .outline-button{margin-top:auto}
.home-return{border-top:1px solid var(--line);padding-top:28px}
.home-return p{color:var(--muted)}
.home-return .outline-button{width:auto;display:inline-block;padding:13px 22px}
@media(min-width:800px){
 .home-hero{grid-template-columns:1.05fr 1fr;gap:44px}
 .home-steps{grid-template-columns:repeat(3,1fr);gap:28px}
 .home-offers{grid-template-columns:1.15fr 1fr}
}
.switch{display:inline-flex;background:#e9e6dc;border-radius:12px;padding:4px;gap:4px;margin:0 0 14px}
.switch button{border:0;background:transparent;border-radius:9px;padding:8px 18px;font-weight:700;color:var(--green)}
.tab-svg{width:24px;height:24px;margin:3px 0 2px}
.trip-block{margin-top:26px}
.trip-block>h2,.trip-block .section-head h2{font:400 24px/1.2 var(--serif);color:var(--green);margin:0}
.trip-block .section-head{margin-bottom:6px}
#itineraries-guest p{margin:0 0 12px}
#itineraries-guest .main-button{width:auto;display:inline-block;padding:12px 22px}
#new-itinerary{margin-top:4px}

/* Mostra/nascondi password */
.pw-wrap{position:relative;display:block}
.pw-wrap .field{padding-right:52px!important}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted);border-radius:10px;cursor:pointer}
.auth-form .pw-wrap{margin-top:5px}.auth-form .pw-wrap .field{margin:0}
.pw-eye:hover{color:var(--green)}
.pw-eye:focus-visible{outline:3px solid #c6a068;outline-offset:1px}

/* v0.5: header e footer — fondo uguale a quello del logo (#0d222d), così il marchio si fonde */
:root{--night:#0d222d}
header.topbar{position:sticky;top:0;z-index:1000;height:auto;min-height:0;padding:0;background:var(--night);border:0;border-bottom:2px solid var(--gold);box-shadow:0 4px 18px #0d222d33}
.topbar-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:8px 16px;min-height:64px}
header.topbar .logo{display:flex;align-items:center;gap:12px;margin-right:auto;text-decoration:none;min-width:0}
header.topbar .logo-image{width:48px;height:48px;max-width:none;object-fit:contain;flex-shrink:0;border-radius:6px}
.logo-text{display:grid;line-height:1.15;min-width:0}
.logo-name{font:400 20px var(--serif);color:#f4efe3;letter-spacing:.01em;white-space:nowrap}
.logo-tag{font-size:12px;color:#b9c3c6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.head-nav{display:none}
.head-account{display:flex;align-items:center;gap:8px;flex-shrink:0;background:transparent;border:1px solid #f4efe366;color:#f4efe3;border-radius:999px;padding:5px 14px 5px 5px;font-weight:700;font-size:14px;min-height:42px}
.head-account:hover{border-color:var(--gold)}
.head-account:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.head-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#f4efe3;color:var(--night);font:700 15px var(--serif)}
.head-avatar.on{background:var(--gold);color:var(--night)}
@media(max-width:420px){.logo-tag{display:none}.logo-name{font-size:18px}.head-account-label{display:none}.head-account{padding:5px}}
@media(min-width:900px){
 .topbar-inner{min-height:72px;gap:28px}
 .head-nav{display:flex;gap:6px;align-items:center}
 .head-link{color:#d9dfe0;text-decoration:none;font-weight:600;font-size:15px;padding:10px 12px;border-radius:10px;position:relative}
 .head-link:hover{color:#fff;background:#ffffff12}
 .head-link.active{color:#fff}
 .head-link.active::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;background:var(--gold);border-radius:2px}
 .head-link:focus-visible{outline:3px solid var(--gold);outline-offset:1px}
 .bottom-nav{display:none!important}
 .view{padding-bottom:56px}
}
/* Footer */
footer.aht-site-footer{background:var(--night);color:#d9dfe0;margin-top:48px;padding:0;text-align:left;border-top:2px solid var(--gold)}
.footer-inner{max-width:1080px;margin:0 auto;padding:36px 16px 24px;display:grid;gap:30px}
.footer-brand{display:flex;gap:14px;align-items:flex-start}
footer.aht-site-footer .footer-brand img{width:64px;height:64px;max-height:none;margin:0;border-radius:8px;flex-shrink:0}
footer.aht-site-footer p{margin:0;font-size:14px;letter-spacing:0}
.footer-name{font:400 22px var(--serif)!important;color:#f4efe3;margin-bottom:6px!important}
.footer-tag{color:#b9c3c6;line-height:1.55;max-width:30em}
.footer-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
.footer-head{color:var(--gold);font-weight:700;margin-bottom:8px!important}
.footer-cols a{display:block;color:#e8ecec;text-decoration:none;padding:5px 0;font-size:14px;overflow-wrap:anywhere}
.footer-cols a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer-cols a:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
footer.aht-site-footer .footer-bottom{max-width:1080px;margin:0 auto;padding:16px 16px calc(96px + env(safe-area-inset-bottom));border-top:1px solid #ffffff1f;color:#94a3a8;font-size:13px}
@media(min-width:900px){
 .footer-inner{grid-template-columns:1.1fr 1.6fr;gap:48px;padding-top:44px}
 .footer-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
 footer.aht-site-footer .footer-bottom{padding-bottom:22px}
}
.topbar-inner{width:100%;box-sizing:border-box}
.footer-cols>div:last-child{grid-column:1/-1}
.footer-cols a[href^="mailto"]{overflow-wrap:normal;word-break:normal}
@media(min-width:900px){.footer-cols>div:last-child{grid-column:auto}}
@media(max-width:420px){.head-account-label{display:inline}.head-account{padding:5px 12px 5px 5px}}
@media(max-width:350px){.head-account-label{display:none}.head-account{padding:5px}}

/* v0.6: logo nuovo (fondo #0f222d), profilo con itinerari e luoghi salvati, Servizi aggiuntivi */
:root{--night:#0f222d}
header.topbar .logo-image,footer.aht-site-footer .footer-brand img{border-radius:6px}
/* Profilo */
#view-account .account-bar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;max-width:none}
.account-avatar{width:42px;height:42px;border-radius:50%;background:var(--night);color:#f4efe3;display:grid;place-items:center;font:700 18px var(--serif);flex-shrink:0}
.account-who{display:grid;min-width:0;flex:1}.account-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green)}.account-who small{color:var(--muted)}
#view-account #logged-in{max-width:760px}
#view-account #my-itineraries{margin-top:22px}
#view-account>h1,#view-account>.auth-intro{text-align:center}
/* Servizi aggiuntivi */
.svc-tabs{flex-wrap:wrap;overflow:visible}
.svc-body{margin-top:6px}
.svc-lead{color:var(--muted);max-width:40em;margin:4px 0 16px}
.svc-filters{display:grid;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:18px}
.svc-field{display:grid;gap:6px;font-weight:700;color:var(--green);font-size:14px}.svc-field .field{margin:0}
.svc-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:6px 0 12px}
.svc-results-head h2{margin:0;font:400 24px/1.2 var(--serif);color:var(--green)}
.svc-count{font-size:13px;color:var(--muted)}
.svc-venues{display:grid;gap:14px}
.svc-venue{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.svc-venue-body{padding:14px 16px 16px}
.svc-meta{margin:0;font-size:12px;color:#8a6a3c;font-weight:700}
.svc-venue h3{margin:4px 0 6px;font:400 21px/1.25 var(--serif);color:var(--green)}
.svc-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--green);background:#eef1ec;border-radius:20px;padding:3px 10px}
.svc-reason{margin:10px 0 6px;line-height:1.55}
.svc-guide,.svc-verified{margin:2px 0;font-size:12px;color:var(--muted)}
.svc-more{margin-top:14px}
.svc-note{font-size:12px;color:var(--muted);margin-top:18px}
.svc-empty strong{display:block;color:var(--green);margin-bottom:6px}
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.svc-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#e9e6dc}
.svc-card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;flex:1}
.svc-card h3{margin:0;font-size:15px;color:var(--green)}
.svc-card .card-actions{margin-top:auto}
.svc-alert{margin:0 0 14px;background:#fbefe9}.svc-alert strong{color:#8b2f1c}
.svc-collage{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.svc-collage img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block}
.svc-accordion{display:grid;gap:8px}
.svc-acc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 14px}
.svc-acc summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--green);font-size:16px;list-style-position:inside}
.svc-acc[open] summary{border-bottom:1px solid var(--line)}
.svc-acc ul{list-style:none;margin:0;padding:10px 0 14px;display:grid;gap:10px}
.svc-acc li{display:grid;gap:3px}
.svc-acc-label{font-size:12px;font-weight:700;color:#8a6a3c}
.svc-link{color:var(--green);font-weight:600;text-underline-offset:3px;overflow-wrap:anywhere}
.svc-acc .link-button{margin:0;padding:0;text-align:left}
.svc-modal{position:fixed;inset:0;z-index:3000;background:#0f222dee;display:grid;place-items:center;padding:16px}
.svc-modal[hidden]{display:none}
.svc-modal img{max-width:100%;max-height:85vh;border-radius:10px;background:#fff}
.svc-modal-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--night);font-size:20px}
@media(min-width:800px){
 .svc-filters{grid-template-columns:1fr 1fr}
 .svc-venues{grid-template-columns:1fr 1fr}
 .svc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .home-offers{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* v0.7 · modifica questionario + installazione */
.aht-edit-banner{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fbf4e6;border:1px solid var(--gold);border-left:5px solid var(--gold);border-radius:12px;padding:14px 16px;margin-bottom:16px}
.aht-edit-banner[hidden]{display:none}
.aht-edit-banner strong{font-family:var(--serif);color:var(--green);font-size:1.05rem}
.aht-edit-banner p{margin:4px 0 0;font-size:.92rem;color:#3f4a45}
.edit-strip{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--sand);border:1px solid #e3dccd;border-radius:12px;padding:12px 14px;margin:12px 0}
.edit-strip p{margin:0;flex:1 1 240px;font-size:.92rem;color:#3f4a45}
.edit-answers{white-space:nowrap}
.receipt-replace{background:#fbf4e6;border-left:4px solid var(--gold);padding:10px 12px;border-radius:8px}
.install-card{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--night);color:#fff;border-radius:18px;padding:18px 20px;margin-top:22px}
.install-card[hidden]{display:none}
.install-card-icon{width:64px;height:64px;border-radius:16px;flex:none;box-shadow:0 4px 14px #0006}
.install-card-text{flex:1 1 220px}
.install-card h2{color:#fff;margin:0 0 4px;font-size:1.2rem}
.install-card p{margin:0;color:#d9dfe2;font-size:.93rem}
.install-card .main-button{background:var(--gold);color:var(--night);border-color:var(--gold);flex:0 1 auto}
@media (max-width:560px){.install-card .main-button{width:100%}}
.install-modal{position:fixed;inset:0;z-index:3100;background:#0f222dcc;display:flex;align-items:flex-end;justify-content:center;padding:16px}
.install-modal[hidden]{display:none}
.install-sheet{background:#fff;color:#1d252a;border-radius:18px;padding:22px 20px;max-width:440px;width:100%;text-align:center;box-shadow:0 10px 40px #0007}
.install-sheet img{border-radius:14px}
.install-sheet h2{font-family:var(--serif);color:var(--green);margin:10px 0}
.install-sheet ol{text-align:left;padding-left:22px;margin:0 0 18px;line-height:1.5}
.install-sheet li{margin:8px 0}
.install-sheet svg{vertical-align:-3px;color:#1877d2}
.install-sheet .main-button{width:100%}
@media (min-width:700px){.install-modal{align-items:center}}

/* v0.8 · Esplora (anteprima) e Mappa FULL */
#vt-canvas,#full-canvas,#full-teaser-canvas{width:100%;height:100%}
.vt-stats{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 14px}
.vt-map{margin-bottom:4px}
.vt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:6px}
.vt-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 16px}
.vt-card p{color:var(--muted);font-size:13px;margin:8px 0 0}
.vt-card .place-title{font:400 19px var(--serif);margin:3px 0 0}
.vt-upsell{margin-top:26px;background:var(--night,#0f222d);color:#fff;border-radius:18px;padding:22px;display:grid;gap:16px}
.vt-upsell h2{color:#fff;margin:6px 0}.vt-upsell p{color:#d9dfe2;margin:0}
.vt-upsell .main-button{background:var(--gold);border-color:var(--gold);color:#0f222d}
.vt-upsell .outline-button{background:transparent;color:#fff;border-color:#ffffff66}
.vt-upsell-actions{display:grid;gap:10px}
@media(min-width:800px){.vt-upsell{grid-template-columns:1.4fr 1fr;align-items:center}}
.locked-info{background:var(--sand);border:1px dashed #d9c59e;border-radius:12px;padding:10px 14px;margin:10px 0}
.locked-info ul{margin:4px 0 0;padding-left:18px;columns:2;font-size:13px;color:var(--muted)}
.locked-head{margin:0;font-weight:700;color:var(--green);font-size:13px}
.full-teaser{position:relative}
.full-teaser-map{height:min(42dvh,380px);min-height:240px}
.full-teaser-map::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0f222d00 35%,#0f222dcc);pointer-events:none;z-index:600}
.full-teaser-lock{position:absolute;left:18px;bottom:16px;z-index:700;color:#fff;display:grid;line-height:1.2}
.full-teaser-lock strong{font:400 30px var(--serif)}
.full-teaser-lock span{font-size:13px;color:#e9e3d6}
.full-included{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:18px 0}
.full-inc{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.full-inc-icon{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f4efe3;color:var(--green);font-size:18px}
.full-inc strong{color:var(--green)}.full-inc p{margin:3px 0 0;font-size:13px;color:var(--muted)}
.full-buy{background:#fff;border:2px solid var(--gold);border-radius:18px;padding:20px;display:grid;gap:12px;max-width:560px;margin:8px auto 14px}
.full-buy h2{margin:0;color:var(--green);font-size:28px}
.full-buy p{margin:0;color:#3f4a45}
.full-consent{font-size:13px;line-height:1.45;display:flex;gap:8px;align-items:flex-start}
.full-consent input{margin-top:3px;flex:none;width:18px;height:18px}
.full-active{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eef5ef;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:14px;color:var(--green)}
.full-filters{display:grid;grid-template-columns:1fr 220px auto;gap:10px;align-items:center}
.full-filters .field{margin:0}
#full-cats .chip{border-left:4px solid var(--day,#dce6df)}
@media(max-width:700px){.full-filters{grid-template-columns:1fr 1fr}.full-filters .field[type=search]{grid-column:1/-1}}
.saved-title{font:400 18px var(--serif);color:var(--green);margin:18px 0 6px}
.saved-list{grid-template-columns:1fr;gap:8px;margin-top:6px}
.saved-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.saved-row .card-actions{margin-top:0;flex:none}
.offer-price{font-weight:800;color:var(--green)}
.offer .link-button{display:block;margin:8px auto 0}

/* v0.9 · pannello di controllo */
.staff-tools{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:-6px 0 18px}
.staff-tools[hidden]{display:none}
#view-admin .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.adm-pc{display:flex;gap:12px;align-items:center;border-radius:14px;padding:14px 16px;margin-bottom:14px;border:1px solid}
.adm-pc p{margin:2px 0 0;font-size:13px}
.adm-pc.ok{background:#eef7f0;border-color:#cfe6d6;color:#21643c}.adm-pc.off{background:#fbecec;border-color:#efcaca;color:#8f2b2b}
.adm-dot{width:12px;height:12px;border-radius:50%;background:currentColor;flex:none;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 18%,transparent)}
.adm-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:20px}
@media(max-width:570px){.adm-stats{grid-template-columns:1fr 1fr}.adm-stat strong{font-size:26px}.adm-stat{padding:12px}}
.adm-stat{display:grid;gap:2px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink);font:inherit}
button.adm-stat:hover{border-color:var(--gold)}
.adm-stat strong{font:400 32px var(--serif);color:var(--green)}
.adm-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:#907044}
.adm-stat-sub{font-size:12px;color:var(--muted)}
.adm-stat.warn{border-color:#e7b9b9;background:#fff7f7}
.adm-feed{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.adm-feed li{display:flex;gap:12px;align-items:flex-start;background:#fff;border-bottom:1px solid var(--line);padding:10px 12px;font-size:14px}
.adm-feed li:first-child{border-radius:12px 12px 0 0}.adm-feed li:last-child{border-radius:0 0 12px 12px;border-bottom:0}
.adm-feed li.risk{background:#fff6f4}
.adm-ev-icon{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--green);font-size:13px;font-weight:800}
.adm-feed li.risk .adm-ev-icon{background:#f8e3e3;color:#9b2f2f}
.adm-user-link{margin:0;padding:0;font-weight:700;text-align:left}
.adm-users{display:grid;gap:8px}
.adm-user{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--ink);font:inherit}
.adm-user:hover{border-color:var(--gold)}
.adm-user.blocked{background:#fff6f4}
.adm-user-main{display:grid;gap:2px;min-width:0}
.adm-user-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green)}
.adm-user-side{display:grid;text-align:right;font-size:12px;color:var(--muted)}
.adm-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.adm-user-head{margin:6px 0 12px}
.adm-info{margin-bottom:18px}
.adm-actions{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:20px}
.adm-actions h2{margin-top:0}
.adm-full-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.adm-full-row .field{width:auto;margin:0}
.action.danger{background:#fbecec;color:#8f2b2b;border-color:#efcaca}
.adm-itins{display:grid;gap:8px}
.adm-itin-side{display:flex;align-items:center;gap:8px;flex:none}
.adm-del{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:40px;min-height:40px;cursor:pointer;font-size:16px}
.adm-del:hover,.adm-del:focus-visible{border-color:#b42318;background:#fef3f2}
.adm-day h3{font-size:13px;text-transform:capitalize;color:var(--muted);margin:16px 0 6px}
.adm-confirm{display:grid;grid-template-columns:1fr 1fr}
@media(max-width:570px){.adm-user{grid-template-columns:auto 1fr}.adm-user-side{grid-column:2;text-align:left;display:flex;gap:8px}}

/* v1.0 · consensi ed eliminazione account */
.auth-accept{display:flex;gap:9px;align-items:flex-start;font-weight:400!important;font-size:13px!important;line-height:1.45}
.auth-accept[hidden]{display:none}
.auth-accept input{margin-top:3px;width:18px;height:18px;flex:none}
#aht-health-wrap[hidden]{display:none}
#aht-health-wrap{background:#fbf4e6;border-left:4px solid var(--gold);border-radius:8px;padding:10px 12px}
.danger-zone{margin-top:22px;border:1px solid #efcaca;border-radius:12px;padding:10px 14px;background:#fff}
.danger-zone summary{cursor:pointer;color:#8f2b2b;font-weight:700;font-size:14px}
.danger-zone p{font-size:13px;color:var(--muted)}
.danger-zone label{display:block;font-size:13px;font-weight:650}
.footer-cols a{display:block}

/* v1.1 · pause pranzo, cena e caffè nell'itinerario */
.day-flow{grid-template-columns:1fr!important}
.meal-block{background:#fbf3ee;border:1px solid #ecd2c4;border-left:4px solid #a1452c;border-radius:14px;padding:12px 14px}
.meal-pausa{background:#fbf7ef;border-color:#eadfc8;border-left-color:#b6a07b}
.meal-head{display:flex;gap:10px;align-items:flex-start}
.meal-head .place-title{font:400 18px var(--serif);color:#7d321e;margin:2px 0}
.meal-pausa .meal-head .place-title{color:#6e5a37}
.meal-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:10px}
.meal-option{display:grid;gap:2px;text-align:left;background:#fff;border:1px solid #ecdcd2;border-radius:11px;padding:10px 12px;font:inherit;color:var(--ink);cursor:pointer}
.meal-option:hover{border-color:#a1452c}
.meal-option strong{color:var(--green);font-size:14px}
.meal-spec{font-size:12px;color:#5c4a3a}
.meal-diet{font-size:11px;font-weight:700;color:#2f6f3c}
.gps-pin.food{width:26px;height:34px}
.gps-pin.food .gps-pin-icon{top:5px}.gps-pin.food .gps-pin-icon svg{width:13px;height:13px}
.meal-warn{font-size:12px;color:#8a4b12;font-weight:650;margin-top:3px}

/* Questionario – zone della Campania per macroarea */
.aht-dest-areas{display:grid;gap:16px}
.aht-dest-note{margin:0;padding:12px 14px;border-left:3px solid var(--gold);background:#f5f1e8;border-radius:6px;font:400 14px/1.45 Arial,Helvetica,sans-serif}
.aht-dest-area{border:1px solid #e8e2d6;border-radius:12px;padding:14px 14px 16px;margin:0;background:#fff}
.aht-dest-area legend{padding:0 8px;font:400 19px/1.3 var(--serif);color:var(--ink,#0f222d)}
.aht-dest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.aht-dest-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:92px;padding:14px 10px;background:#fbfaf6;border:1.5px solid #e5dfd4;border-radius:10px;cursor:pointer;text-align:center;transition:border-color .15s,box-shadow .15s,transform .15s}
.aht-dest-card:hover{transform:translateY(-1px);border-color:var(--gold)}
.aht-dest-card input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.aht-dest-card:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
.aht-dest-pin{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f1ebe0;color:#a48a60}
.aht-dest-name{font:700 14px/1.25 Arial,Helvetica,sans-serif;color:#0f222d}
.aht-dest-card small{font:400 12px/1.2 Arial,Helvetica,sans-serif;color:#6b6f6a}
.aht-dest-check{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;border:1.5px solid #b9ad97;background:#fff;color:transparent;display:grid;place-items:center;font:700 13px/1 Arial}
.aht-dest-card.is-on{border-color:#0f222d;box-shadow:inset 0 0 0 1px #0f222d}
.aht-dest-card.is-on .aht-dest-check{background:#0f222d;border-color:#0f222d;color:#fff}
.aht-dest-card.has-photo{background-size:cover;background-position:center;align-items:flex-start;justify-content:flex-end;min-height:104px}
.aht-dest-card.has-photo::before{content:"";position:absolute;inset:0;border-radius:9px;background:linear-gradient(180deg,#0000 35%,#0f222dcc)}
.aht-dest-card.has-photo .aht-dest-name{position:relative;color:#fff}
@media(max-width:650px){.aht-dest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aht-dest-area{padding:12px}}

/* Revisione estetica 30/10/2026 */
.stop-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.stop-actions .action{width:100%;justify-content:center;text-align:center;padding-left:6px;padding-right:6px;white-space:nowrap}
.stop-actions .action:only-child,.stop-actions .action:nth-child(2):last-child{grid-column:auto}
#view-account:not(.is-logged) #full-account{max-width:540px;margin-left:auto;margin-right:auto}
#aht-q-recap .summary{margin-top:6px}
#danger-zone{margin-top:28px}

/* Servizi · Cibo e bevande: schede compatte con miniatura, immagine di categoria una volta sola */
.svc-cat-banner{position:relative;height:120px;border-radius:16px;overflow:hidden;margin:4px 0 10px}
.svc-cat-banner img{width:100%;height:100%;object-fit:cover;display:block}
.svc-cat-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0f222dd9,#0f222d33 70%)}
.svc-cat-banner span{position:absolute;left:18px;bottom:16px;z-index:1;color:#fff;font:400 24px/1.2 var(--serif)}
.svc-venue{grid-template-columns:64px minmax(0,1fr);gap:14px;padding:16px;align-items:start;border-left:4px solid #d9cbb0}
.svc-venue .svc-venue-body{padding:0}
.svc-thumb{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block;background:#e9e6dc;box-shadow:0 0 0 3px #fff,0 0 0 4px #e5dfd4}
.svc-venue-pizza{border-left-color:#c0672e}.svc-venue-ristoranti{border-left-color:#0f222d}.svc-venue-dolci{border-left-color:#9c4f6b}
.svc-venue-gelati{border-left-color:#2f6f9f}.svc-venue-aperitivi{border-left-color:#b0803a}.svc-venue-vegetariano{border-left-color:#5a7d2a}
.svc-venue-senza-glutine{border-left-color:#6a8f3f}.svc-venue-street-food{border-left-color:#a1452c}.svc-venue-botteghe{border-left-color:#7a6a4f}.svc-venue-esperienze{border-left-color:#6a5acd}
.svc-venue h3{font-size:19px}
@media(max-width:480px){.svc-venue{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}.svc-thumb{width:48px;height:48px}.svc-cat-banner{height:96px}}

/* Conferma email */
.verify-banner[hidden]{display:none}
.verify-banner{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:14px 0;padding:14px 16px;border:1px solid #e4cf9f;border-left:4px solid var(--gold);background:#fbf6ea;border-radius:12px}
.verify-banner strong{display:block;color:#0f222d;margin-bottom:4px}
.verify-banner p{margin:0;font-size:14px;line-height:1.45;color:#3d4a44}
.verify-banner .verify-msg{margin-top:6px;font-weight:700}.verify-banner .verify-msg:empty{display:none}.verify-banner .verify-msg.error{color:#a12b2b}

.verify-spam{font-size:13px;color:var(--muted);margin-top:6px}

.verify-sheet{text-align:left}.verify-sheet h2{text-align:center}
.verify-icon{width:58px;height:58px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;background:#0f222d;color:#c8ae82}
.verify-tip{background:#f5efe3;border:1px solid #e3d6bd;border-radius:12px;padding:12px 14px;margin:12px 0;font-size:14px;line-height:1.5}
.verify-icon svg{stroke:#c8ae82;color:#c8ae82;width:30px;height:30px}
/* ===== Effetto wow: mappa animata della home ===== */
@media (prefers-reduced-motion:no-preference){
 .home-hero-text>*{opacity:0;animation:rise-in .8s cubic-bezier(.2,.7,.2,1) forwards}
 .home-hero-text>:nth-child(2){animation-delay:.12s}.home-hero-text>:nth-child(3){animation-delay:.24s}.home-hero-text>:nth-child(4){animation-delay:.36s}
}
@keyframes fade-in{to{opacity:1}}
@keyframes rise-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* ===== Effetto wow: tipografia e dettagli premium ===== */
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.005em;text-wrap:balance}
.eyebrow{letter-spacing:2.4px}
p,li,dd{text-wrap:pretty}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
 .view.active{animation:view-in .42s cubic-bezier(.2,.7,.2,1)}
 @keyframes view-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
 .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
 .reveal.in{opacity:1;transform:none}
 .main-button,.outline-button,.action{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
 .main-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #152e3d30}
 .main-button:active:not(:disabled),.outline-button:active,.action:active{transform:scale(.98)}
}
/* skeleton */
.skeleton-card,.skeleton-line,.skeleton-cover{border-radius:16px;background:linear-gradient(100deg,#ebeee9 30%,#f6f7f3 50%,#ebeee9 70%) 0 0/300% 100%;animation:skeleton 1.3s linear infinite}
.skeleton-cover{height:220px;margin-bottom:18px;background-color:#e3e8e3}
.skeleton-card{height:96px;margin:12px 0}
.skeleton-line{height:16px;margin:12px 0}.skeleton-line.w60{width:60%}
@keyframes skeleton{to{background-position:-300% 0}}
@media (prefers-reduced-motion:reduce){.skeleton-card,.skeleton-line,.skeleton-cover{animation:none}}

/* ===== Avanzamento animato ===== */
.aht-progress{list-style:none;margin:18px auto 16px;padding:0;display:grid;gap:2px;text-align:left;max-width:420px}
.aht-progress li{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;color:var(--muted);font-weight:600;font-size:14px;position:relative}
.aht-progress li:not(:last-child)::after{content:"";position:absolute;left:20px;top:30px;height:14px;border-left:2px dotted #d6dcd5}
.aht-progress-dot{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #d0d8d0;background:#fff;display:grid;place-items:center;position:relative}
.aht-progress li:first-child,.aht-progress.done li{color:var(--green)}
.aht-progress li:first-child .aht-progress-dot,.aht-progress.done .aht-progress-dot{background:var(--green);border-color:var(--green)}
.aht-progress li:first-child .aht-progress-dot::after,.aht-progress.done .aht-progress-dot::after{content:"";width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.aht-progress:not(.done) li:last-child{opacity:.55}
.aht-progress.done li:last-child{background:#f6efe1;color:#7a5a26}
.aht-progress.done li:last-child .aht-progress-dot{background:var(--gold);border-color:var(--gold)}
@media (prefers-reduced-motion:no-preference){
 .aht-progress:not(.done) li:nth-child(n+2):nth-child(-n+4){animation:step-work 6s ease-in-out infinite;animation-delay:calc((var(--i) - 1) * 2s)}
 .aht-progress:not(.done) li:nth-child(n+2):nth-child(-n+4) .aht-progress-dot{animation:step-dot 6s ease-in-out infinite;animation-delay:calc((var(--i) - 1) * 2s)}
 @keyframes step-work{0%,40%,100%{background:transparent;color:var(--muted)}8%,30%{background:#eef3ee;color:var(--green)}}
 @keyframes step-dot{0%,40%,100%{border-color:#d0d8d0;box-shadow:none}8%,30%{border-color:var(--gold);box-shadow:0 0 0 5px #b8925933}}
 .aht-progress.done li{animation:step-done .5s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--i) * .12s)}
 @keyframes step-done{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
 .receipt.is-ready .receipt-check{animation:pop 0.7s cubic-bezier(.2,1.6,.4,1)}
 @keyframes pop{0%{transform:scale(.6)}100%{transform:none}}
}
.receipt.is-ready{border-color:var(--gold);box-shadow:0 10px 40px #b8925933}
.receipt-open{max-width:420px;margin:4px auto 14px}

/* ===== Copertina dell'itinerario ===== */
.itin-cover{position:relative;overflow:hidden;border-radius:22px;background:radial-gradient(120% 90% at 85% 10%,#1f4558 0%,#0f222d 45%,#0f222d 100%);color:#f4efe3;padding:26px 22px 22px;margin-bottom:14px;min-height:240px;box-shadow:0 16px 40px #0f222d33;isolation:isolate}
.itin-cover::after{content:"";position:absolute;inset:10px;border:1px solid #c8ae8255;border-radius:16px;pointer-events:none}
.itin-constellation{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(72%,520px);height:auto;z-index:-1;opacity:.95}
.cst-line{fill:none;stroke:var(--day);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:brightness(1.9) saturate(.8);opacity:.75}
.cst-dot{fill:var(--day);stroke:#0f222d;stroke-width:1.6;filter:brightness(1.9) saturate(.8)}
.cst-home{fill:#f4efe3}
.itin-cover-text{position:relative;max-width:min(560px,100%)}
.itin-cover .eyebrow{color:#c8ae82}
.itin-cover h1{color:#fbf7ee;font-size:clamp(30px,6.4vw,46px);line-height:1.08;margin:8px 0 8px;max-width:12em;text-shadow:0 2px 18px #0f222d99}
.itin-cover-dates{margin:0 0 16px;color:#cfdbd4;font-size:15px}
.cover-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.cover-stat{background:#ffffff14;border:1px solid #ffffff22;backdrop-filter:blur(4px);border-radius:14px;padding:8px 14px;display:grid;line-height:1.1}
.cover-stat strong{font:500 26px/1 var(--serif);color:#fff}
.cover-stat span{font-size:11px;letter-spacing:.6px;color:#c9d6cf;text-transform:uppercase;margin-top:3px}
.cover-share{background:#c8ae82;color:#0f222d;border:0;border-radius:999px;padding:11px 18px;font-weight:700;font-size:14px;box-shadow:0 6px 18px #0006;transition:transform .18s ease,background .18s}
.cover-share:hover{background:#d8c094;transform:translateY(-1px)}
@media (max-width:640px){.itin-constellation{width:110%;right:-30%;opacity:.45}.itin-cover{padding:24px 18px 20px}}
@media (prefers-reduced-motion:no-preference){
 .cst-line{stroke-dasharray:1;stroke-dashoffset:1;animation:cst-draw 1.6s cubic-bezier(.5,.1,.3,1) forwards;animation-delay:calc(.2s + var(--i) * .35s)}
 @keyframes cst-draw{to{stroke-dashoffset:0}}
 .cst-dot{opacity:0;animation:fade-in .4s ease forwards;animation-delay:calc(.5s + var(--i) * .35s + var(--j) * .08s)}
 .itin-reveal .itin-cover{animation:cover-in .9s cubic-bezier(.2,.7,.2,1) both}
 @keyframes cover-in{from{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:none}}
 .itin-reveal .day-block,.itin-reveal .itin-aside{animation:rise-in .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(.5s + var(--i,0) * .16s)}
}
/* ===== Layout: mappa fissa a lato su desktop ===== */
/* (spostato: body.view-itinerary-active main) */
@media (min-width:1000px){
 .itin-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:start}
 .itin-aside{grid-column:2;grid-row:1;position:sticky;top:86px;max-height:calc(100vh - 106px);overflow:auto;scrollbar-width:thin;padding-bottom:8px}
 .itin-main{grid-column:1;grid-row:1}
 .itin-aside .itin-map{height:min(60vh,600px)}
 .itin-main>.day-block:first-child{margin-top:4px}
 .itin-cover{min-height:280px;padding:34px 34px 30px}
}
/* ===== Cartolina ===== */
/* ===== Selettore lingua ===== */
/* imprevisti durante il viaggio */
/* pagina dell'itinerario a schede */
/* Scheda unica «Programma e mappa»: giorni sotto le schede, mappa più bassa per lasciare spazio al programma */
/* Avvisi turista: chiusure temporanee, lavori, limitazioni in corso */
/* ===== v51 Interazioni: risposta immediata al tocco ===== */
/* caselle e pulsanti di scelta disegnati: grandi, chiari, con la spunta che scatta */
.aht-q-page .aht-q-options input[type=checkbox],.aht-q-page .aht-q-options input[type=radio],.aht-q-agree input[type=checkbox]{
 -webkit-appearance:none;appearance:none;width:22px;height:22px;margin:0;flex:0 0 auto;display:inline-grid;place-content:center;
 border:1.6px solid #a99a7f;background:#fff;border-radius:7px;cursor:pointer;transition:background-color .12s,border-color .12s}
/* schede delle località: la scelta si vede da lontano */
@media (prefers-reduced-motion:no-preference){
 .aht-q-page .aht-q-options input:checked,.aht-q-agree input:checked{animation:tick .26s var(--spring)}
 .aht-dest-card.is-on .aht-dest-check{animation:tick .3s var(--spring)}
 @keyframes tick{0%{transform:scale(.55)}100%{transform:scale(1)}}
 /* passaggi del questionario: avanti scorre da destra, indietro da sinistra */
 #aht-q-pages>section:not([hidden]){animation:step-in .34s var(--tap) both}
 #aht-q-pages[data-dir=back]>section:not([hidden]){animation-name:step-back}
 @keyframes step-in{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
 @keyframes step-back{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
 .aht-q-progressbar>span{transition:width .5s var(--tap)}
 /* barra in basso: l'icona attiva ha una pillola che si accende */
 .bottom-nav .tab{position:relative}
 .bottom-nav .tab::before{content:"";position:absolute;top:1px;left:50%;width:54px;height:32px;margin-left:-27px;border-radius:16px;background:#c8ae8233;transform:scaleX(.3);opacity:0;transition:transform .32s var(--spring),opacity .2s}
 .bottom-nav .tab.active::before{transform:none;opacity:1}
 .bottom-nav .tab>*{position:relative}
 .bottom-nav .tab:active .tab-icon{transform:scale(.88);transition:transform .06s}
 .bottom-nav .tab .tab-icon{transition:transform .25s var(--spring)}
}
body.view-itinerary-active main) */
.stop-card{transition:border-color .25s,box-shadow .25s,transform .25s}
.stop-card.is-active{border-color:#c8ae82;box-shadow:0 8px 26px #14252f1f}
.gps-pin-wrap .gps-pin{transition:transform .25s cubic-bezier(.2,1.4,.4,1)}
.gps-pin-wrap.is-active{z-index:900!important}
.gps-pin-wrap.is-active .gps-pin{transform:scale(1.28) translateY(-3px);filter:drop-shadow(0 6px 8px #0f222d55)}
@media (min-width:1000px){
 .itin-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:start}
 .itin-aside{grid-column:2;grid-row:1;position:sticky;top:86px;max-height:calc(100vh - 106px);overflow:auto;scrollbar-width:thin;padding-bottom:8px}
 .itin-main{grid-column:1;grid-row:1}
 .itin-aside .itin-map{height:min(60vh,600px)}
 .itin-main>.day-block:first-child{margin-top:4px}
 .itin-cover{min-height:280px;padding:34px 34px 30px}
}
/* ===== Cartolina ===== */
.postcard-sheet{max-width:460px;max-height:calc(100dvh - 32px);overflow:auto}
.postcard-frame{aspect-ratio:4/5;width:100%;margin:6px 0 12px}
.postcard-img{display:block;width:100%;height:auto;border-radius:12px!important;box-shadow:0 10px 30px #0f222d40;margin:6px 0 12px}
.postcard-actions{display:grid;gap:10px}
.postcard-actions a{text-decoration:none;text-align:center}
.verify-banner .verify-spam strong{display:inline;font-size:inherit;margin:0}
.aht-dest-card.is-on{background-color:#f5efe3}
.aht-dest-card.has-photo,.aht-dest-card.has-photo.is-on{background-size:cover;background-position:center;background-repeat:no-repeat}
/* ===== Selettore lingua ===== */
.lang-picker{position:relative;flex-shrink:0}
.lang-button{display:flex;align-items:center;gap:6px;min-height:42px;background:transparent;border:1px solid #f4efe366;color:#f4efe3;border-radius:999px;padding:5px 12px;font-weight:700;font-size:13px;letter-spacing:.5px}
.lang-button:hover{border-color:var(--gold)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:3200;list-style:none;margin:0;padding:6px;background:#fff;border-radius:14px;box-shadow:0 14px 40px #0f222d40;min-width:170px}
.lang-picker.up .lang-menu{top:auto;bottom:calc(100% + 8px);left:0;right:auto}
.lang-menu button{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;border-radius:9px;padding:10px 12px;color:var(--ink);font-size:14px;text-align:left}
.lang-menu button:hover{background:#f3f0e8}
.lang-menu button b{font-size:11px;letter-spacing:.6px;color:var(--gold);width:22px}
.lang-menu button[aria-checked=true]{background:#0f222d;color:#fff}
.footer-lang{margin:18px auto 0;width:fit-content}
.footer-lang .lang-button{border-color:#f4efe355}
@media(max-width:420px){.lang-button{padding:5px 9px;gap:4px}.lang-button svg{width:16px;height:16px}}
@media(max-width:370px){.logo-name{font-size:16px}}
.head-link{white-space:nowrap}
.logo-text{min-width:0;overflow:hidden}.logo-name,.logo-tag{display:block;overflow:hidden;text-overflow:ellipsis}
@media(max-width:480px){.head-account-label{display:none!important}.head-account{padding:5px!important}.lang-button svg{display:none}.lang-button{padding:5px 10px;min-height:40px}.topbar-inner{gap:8px}}
/* imprevisti durante il viaggio */
.adjust-banner{margin:14px 0;padding:14px 16px;border-radius:16px;background:#eaf4ee;border:1px solid #bfdccb}
.adjust-banner strong{color:#1f5a3d}
.adjust-banner p{margin:4px 0}
.adjust-banner .card-actions{margin-top:8px}
.adjust-sheet{position:relative;text-align:left;max-height:calc(100dvh - 32px);overflow:auto;max-width:520px}
.adjust-sheet h2{margin-top:0;padding-right:32px}
.adjust-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid #d9d2c4;background:#fff;cursor:pointer;font-size:15px}
.adjust-group{border:0;margin:0 0 14px;padding:0;display:grid;gap:8px}
.adjust-group legend{font-weight:650;margin-bottom:8px;color:var(--green)}
.adjust-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #e1dbcf;border-radius:12px;cursor:pointer;line-height:1.35;background:#fff}
.adjust-option.on{border-color:var(--gold);background:#fffaf0}
.adjust-option input{margin-top:2px;flex:none;accent-color:var(--green)}
.adjust-select{width:100%;padding:10px 12px;border:1px solid #d9d2c4;border-radius:12px;font:inherit;background:#fff}
.adjust-note{display:grid;gap:6px;margin-bottom:14px;font-weight:600;color:var(--green)}
.adjust-note textarea{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #d9d2c4;border-radius:12px;resize:vertical}
.adjust-sheet .main-button{width:100%;margin-top:4px}
.nearby-kinds{display:flex!important;flex-wrap:wrap;gap:8px}
.nearby-kinds .chip{margin:0}
.nearby-list{display:grid;gap:10px;margin:10px 0 14px}
@media (max-width:520px){.trip-help-actions{width:100%}.trip-help-actions>*{flex:1 1 100%}}
.nearby-best{border:1.5px solid var(--gold);border-radius:16px;padding:14px;background:#fffaf0}
.nearby-best .eyebrow{display:block;margin-bottom:8px}
.nearby-why{margin:8px 0;padding-left:18px;color:#1f5a3d;font-weight:600;line-height:1.45}
.nearby-best p{margin:6px 0}
.nearby-more-title{font-size:1rem;margin:16px 0 6px;color:var(--green)}
.nearby-row{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid #e1dbcf;border-radius:12px;padding:10px 12px;background:#fff}
.nearby-row .action{flex:none;margin:0}
.nearby-row{flex-wrap:nowrap}
.nearby-row>div{flex:1;min-width:0}
.nearby-row .action{width:auto!important;white-space:nowrap;padding:8px 12px}
/* pagina dell'itinerario a schede */
.itin-cover.compact{padding-bottom:4px}
.itin-cover.compact .itin-cover-text{padding-top:18px;padding-bottom:18px}
.itin-cover.compact h1{font-size:clamp(24px,6.4vw,34px);margin:6px 0 4px}
.itin-cover.compact .cover-stats{margin-top:10px}
.itin-tabs{position:sticky;top:70px;z-index:900;display:grid;grid-template-columns:1fr 1.9fr 1fr;gap:4px;margin:14px 0 6px;padding:4px;background:#e9eeea;border-radius:14px}
.itin-tab{border:0;background:transparent;border-radius:10px;padding:10px 4px;font-weight:700;color:var(--green);font-size:14px}
.itin-tab.on{background:#fff;box-shadow:0 2px 8px #10212b1f}
.itin-panel{padding-top:8px}
.itin-panel[hidden]{display:none}
.adjust-banner{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:10px 14px;margin:12px 0 0}
.adjust-banner strong{font-size:13px}
.adjust-banner p{flex:1 1 220px;margin:0;font-size:13px}
.adjust-banner .card-actions{margin:0}
.adjust-banner .outline-button{width:auto;padding:7px 12px;font-size:12px}
.today-hero{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 6px 18px #14252f0d}
.today-hero h2{margin:6px 0 10px;color:var(--green)}
.today-hero.done{background:linear-gradient(135deg,#fffaf0,#f6efe1);border-color:#e3d6bd}
.next-stop .stop-card{border:0;padding:0;margin:0;box-shadow:none}
.today-sub{font:400 19px var(--serif);color:var(--green);margin:20px 2px 8px}
.mini-list{display:grid;gap:6px}
.mini-row{display:grid;grid-template-columns:52px 1fr 14px;align-items:center;gap:8px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px;color:var(--ink)}
.mini-row.is-meal{background:#fbf6ef;border-color:#eadfcc}
.mini-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--gold);font-size:13px}
.mini-title{font-weight:650;color:var(--green);overflow:hidden;text-overflow:ellipsis}
.mini-go{color:#9aa69f;font-size:20px;line-height:1}
.day-picker{padding-top:4px}
.meal-fold{background:#fbf6ef;border:1px solid #eadfcc;border-radius:14px;margin:8px 0}
.meal-fold>summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;list-style:none}
.meal-fold>summary::-webkit-details-marker{display:none}
.meal-fold>summary::after{content:'›';margin-left:auto;color:#9a8a6c;font-size:20px;transition:transform .2s}
.meal-fold[open]>summary::after{transform:rotate(90deg)}
.meal-fold-text{display:grid}
.meal-fold-text strong{color:#8a3a22}
.meal-fold .meal-block{border:0;margin:0;background:transparent;box-shadow:none;padding-top:0}
.meal-fold .meal-head{display:none}
.extras-fold{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.extras-fold>summary{font-weight:700;color:var(--green);cursor:pointer}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.info-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid}
.info-item strong{color:var(--green)}
.info-postcard{margin-top:12px}
.itin-fabs{position:fixed;z-index:1050;right:14px;bottom:calc(var(--nav) + 12px + env(safe-area-inset-bottom));display:flex;gap:8px}
.fab{display:flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:12px 16px;font-weight:750;box-shadow:0 8px 24px #0c1c2540}
.fab-help{background:var(--green);color:#fff}
.fab-near{background:var(--gold);color:#fff}
#itinerary-detail.has-fabs{padding-bottom:70px}
.sheet-overlay{position:fixed;z-index:3000;left:0;right:0;bottom:0;margin:0;max-height:78dvh;overflow:auto;border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #0c1c2540;padding-bottom:max(16px,env(safe-area-inset-bottom))}
@media(min-width:800px){.itin-fabs{right:24px;bottom:24px}.sheet-overlay{left:50%;right:auto;width:560px;transform:translateX(-50%);bottom:16px;border-radius:20px}}
.fab{padding:9px 14px;font-size:13px;gap:5px;box-shadow:0 6px 18px #0c1c2533}
.itin-fabs{gap:6px}
#itinerary-detail.has-fabs{padding-bottom:64px}
@media(max-width:420px){.fab{padding:8px 12px;font-size:12.5px}}
/* Scheda unica «Programma e mappa»: giorni sotto le schede, mappa più bassa per lasciare spazio al programma */
.itin-tabs{scroll-margin-top:70px}
.itin-panel[data-panel=programma] .itin-map{height:min(40dvh,420px);min-height:260px}
.itin-panel[data-panel=programma] .day-picker{position:sticky;top:119px;z-index:850;background:var(--sand);padding:12px 0 10px;margin:0 -2px}
.prog-host .day-block+.day-block{margin-top:22px}
.done-fold{margin:12px 0 0}.done-fold summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:650;padding:6px 2px}
.done-fold .mini-list{margin-top:6px}.mini-row.is-done{background:#f3f5f2;color:var(--muted)}.mini-row.is-done .mini-title::before{content:"✓\FE0E  ";color:var(--green2);font-weight:800}
/* Avvisi turista: chiusure temporanee, lavori, limitazioni in corso */
.place-notice{display:flex;gap:8px;align-items:flex-start;background:#fff6e5;border:1px solid #f0d9a8;color:#6b4a12;border-radius:10px;padding:9px 11px;margin:10px 0 4px;font-size:13px;line-height:1.45}
.place-notice strong{flex:none;font-weight:800;color:#8a5a00}
.place-notice strong::before{content:"⚠\FE0E  "}
/* ===== v51 Interazioni: risposta immediata al tocco ===== */
:root{--ink-deep:#0f222d;--tap:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.2,1.5,.35,1)}
a,button,label,select,summary,.chip,.tab,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
/* caselle e pulsanti di scelta disegnati: grandi, chiari, con la spunta che scatta */
.aht-q-page .aht-q-options input[type=checkbox],.aht-q-page .aht-q-options input[type=radio],.aht-q-agree input[type=checkbox]{
 -webkit-appearance:none;appearance:none;width:22px;height:22px;margin:0;flex:0 0 auto;display:inline-grid;place-content:center;
 border:1.6px solid #a99a7f;background:#fff;border-radius:7px;cursor:pointer;transition:background-color .12s,border-color .12s}
.aht-q-page .aht-q-options input[type=radio]{border-radius:50%}
.aht-q-page .aht-q-options input:checked,.aht-q-agree input:checked{background:var(--ink-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--ink-deep)}
.aht-q-page .aht-q-options input[type=radio]:checked{background:radial-gradient(circle,#fff 0 4px,var(--ink-deep) 4.5px);border-color:var(--ink-deep)}
.aht-q-page .aht-q-options input:disabled{opacity:.4;cursor:not-allowed}
.aht-q-options label,.aht-q-agree{align-items:center;min-height:54px;cursor:pointer;user-select:none;transition:background-color .12s,border-color .12s,box-shadow .12s,transform .12s var(--tap)}
.aht-q-options label.is-on{background:#f3ebdc;border-color:var(--ink-deep);box-shadow:inset 0 0 0 1px var(--ink-deep);color:var(--ink-deep);font-weight:600}
.aht-q-options label.is-off{opacity:.55}
.aht-q-options label:active,.aht-q-agree:active,.aht-dest-card:active,.aht-transport-option:active{transform:scale(.975);transition-duration:.06s}
/* schede delle località: la scelta si vede da lontano */
.aht-dest-card{transition:transform .12s var(--tap),border-color .12s,box-shadow .12s}
.aht-dest-check{width:28px;height:28px;top:7px;right:7px;border:2px solid #fff;background:#ffffffcc;box-shadow:0 2px 8px #0f222d40;transition:background-color .12s,border-color .12s}
.aht-dest-card.is-on{border:2px solid var(--ink-deep);box-shadow:0 0 0 3px #c8ae8266}
.aht-dest-card.is-on .aht-dest-check{background:var(--gold);border-color:#fff;color:#fff}
.aht-dest-card.has-photo.is-on::before{background:linear-gradient(180deg,#0f222d33 0%,#0f222de6 100%)}
.aht-transport-option.is-on .aht-transport-check{transform:scale(1)}
@media (hover:none){.aht-dest-card:hover,.aht-transport-option:hover{transform:none;box-shadow:none}}
@media (prefers-reduced-motion:no-preference){
 .aht-q-page .aht-q-options input:checked,.aht-q-agree input:checked{animation:tick .26s var(--spring)}
 .aht-dest-card.is-on .aht-dest-check{animation:tick .3s var(--spring)}
 @keyframes tick{0%{transform:scale(.55)}100%{transform:scale(1)}}
 /* passaggi del questionario: avanti scorre da destra, indietro da sinistra */
 #aht-q-pages>section:not([hidden]){animation:step-in .34s var(--tap) both}
 #aht-q-pages[data-dir=back]>section:not([hidden]){animation-name:step-back}
 @keyframes step-in{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
 @keyframes step-back{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}
 .aht-q-progressbar>span{transition:width .5s var(--tap)}
 /* barra in basso: l'icona attiva ha una pillola che si accende */
 .bottom-nav .tab{position:relative}
 .bottom-nav .tab::before{content:"";position:absolute;top:1px;left:50%;width:54px;height:32px;margin-left:-27px;border-radius:16px;background:#c8ae8233;transform:scaleX(.3);opacity:0;transition:transform .32s var(--spring),opacity .2s}
 .bottom-nav .tab.active::before{transform:none;opacity:1}
 .bottom-nav .tab>*{position:relative}
 .bottom-nav .tab:active .tab-icon{transform:scale(.88);transition:transform .06s}
 .bottom-nav .tab .tab-icon{transition:transform .25s var(--spring)}
}
/* transizione tra le sezioni (browser con View Transitions) */
@media (prefers-reduced-motion:no-preference){
 ::view-transition-old(aht-view){animation:vt-out .16s ease-in both}
 ::view-transition-new(aht-view){animation:vt-in .3s var(--tap) both}
 @keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}
 @keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
 main{view-transition-name:aht-view}
 .view-transitioning .view.active{animation:none}
}
body.view-itinerary-active main{max-width:1320px}
.aht-dest-card:not(.has-photo) .aht-dest-check{border-color:#b9ad97;background:#fff;box-shadow:none}
.aht-dest-card:not(.has-photo).is-on .aht-dest-check{border-color:var(--gold)}
/* ===== Eventi e Host ===== */
.svc-links{display:flex;gap:8px;margin:-6px 0 4px}
.ev-when,.ev-cats{padding:6px 0}
.ev-cats .chip:not(.selected){background:#fbfaf6}
.ev-tools{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:8px 0 4px}
.ev-tools .field{max-width:260px;margin:0}
.ev-count{color:var(--muted);font-size:13px;margin:0;white-space:nowrap}
.ev-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.ev-card{display:grid;grid-template-columns:62px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0}
.ev-date{display:grid;justify-items:center;align-content:start;gap:0;background:var(--ink-deep,#0f222d);color:#f4efe3;border-radius:12px;padding:8px 4px 9px;height:fit-content;line-height:1.05}
.ev-date strong{font:500 28px/1 var(--serif);color:#fff}
.ev-date span{font-size:11px;letter-spacing:.4px;color:#c8ae82}
.ev-date .ev-wd{color:#cfd9d4}
.ev-date.small{padding:6px 2px;min-width:46px}.ev-date.small strong{font-size:22px}
.ev-body{min-width:0}
.ev-when{margin:0 0 2px;color:#8a6a35;font-size:12px;font-weight:700}
.ev-card h3,.host-card h3,.ev-card h2,.host-card h2{font:500 20px/1.2 var(--serif);color:var(--green);margin:2px 0 4px}
.ev-where{margin:0 0 6px;color:var(--ink);font-size:13px;font-weight:600}
.ev-desc{margin:0 0 8px;color:var(--muted);font-size:13px}
.ev-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 4px;font-size:12px;color:var(--muted)}
.ev-price{color:var(--green);font-weight:700}
.ev-more{margin-top:14px}
.home-discover .home-events{display:grid;gap:8px;margin:6px 0 14px}
.home-ev{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:var(--ink);transition:transform .12s var(--tap),border-color .12s}
.home-ev:active{transform:scale(.98)}
.home-ev-text{display:grid;min-width:0}.home-ev-text strong{color:var(--green);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-ev-text small{color:var(--muted)}
.home-discover-actions{display:grid;gap:4px}
.host-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 16px 14px;min-width:0}
.host-type{display:inline-block;font-size:12px;font-weight:700;color:#7a5a26;background:#f3ebdc;border-radius:999px;padding:3px 10px}
.host-apply{margin-top:28px}
.host-form{display:grid;gap:14px;max-width:620px}
.host-form .aht-q-field{display:grid;gap:6px;font-weight:650;font-size:14px;color:var(--green)}
.host-form .aht-q-field .field{margin:0}
.host-form .aht-q-help{font-weight:400;color:var(--muted);font-size:12px}
.host-consents{grid-template-columns:1fr!important}
.host-consents label{display:flex;gap:10px;align-items:flex-start}
.host-mine{margin-top:16px}.host-mine h3{font:500 19px var(--serif);color:var(--green)}
.host-mine-row{margin:6px 0;font-size:14px}
.host-status{font-weight:700}.host-pending{color:#8a6a35}.host-approved{color:#2e556b}.host-rejected{color:#a43535}
@media(max-width:700px){.ev-list{grid-template-columns:1fr}.ev-tools{flex-wrap:wrap}.ev-tools .field{max-width:none;flex:1}}
@media (prefers-reduced-motion:no-preference){
 .ev-list>*{animation:rise-in .45s var(--tap) both}
 .ev-list>:nth-child(2){animation-delay:.04s}.ev-list>:nth-child(3){animation-delay:.08s}.ev-list>:nth-child(4){animation-delay:.12s}
 .ev-list>:nth-child(5){animation-delay:.16s}.ev-list>:nth-child(6){animation-delay:.2s}.ev-list>:nth-child(n+7){animation-delay:.24s}
}

/* Risposta immediata al tocco (2026-11-05): lo stato «premuto» compare al contatto, non al rilascio. */
.aht-dest-card,.aht-q-options label,.aht-transport-option,.chip,.action,.outline-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.aht-dest-card:active,.aht-q-options label:active,.aht-transport-option:active,.chip:active{transform:scale(.97);transition:transform .06s ease-out}
@media (prefers-reduced-motion: reduce){.aht-dest-card:active,.aht-q-options label:active,.aht-transport-option:active,.chip:active{transform:none}}
.ev-hours{margin:6px 0 4px;color:#5b6670;font-size:12.5px;line-height:1.4}
/* ---------- Movimento 2026-11: comparsa delle schede, selezione, immagini ---------- */
@media (prefers-reduced-motion:no-preference){
 .rv{opacity:0;transform:translateY(18px) scale(.985)}
 .rv.rv-in{opacity:1;transform:none;transition:opacity .55s cubic-bezier(.2,.7,.2,1) var(--rv-delay,0ms),transform .65s cubic-bezier(.2,.8,.2,1) var(--rv-delay,0ms)}
 label.is-on,.aht-dest-card.is-on{animation:sel-pop .34s var(--spring)}
 .is-on .aht-dest-check,.is-on .aht-transport-check{animation:check-pop .38s var(--spring)}
 @keyframes sel-pop{0%{transform:scale(.97)}60%{transform:scale(1.015)}100%{transform:none}}
 @keyframes check-pop{0%{transform:scale(.4);opacity:0}100%{transform:none;opacity:1}}
 .svc-card img,.vt-card img,.host-card img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
 @media (hover:hover){.svc-card:hover img,.vt-card:hover img,.host-card:hover img{transform:scale(1.04)}
  .ev-card,.host-card,.svc-card{transition:box-shadow .3s,transform .3s var(--tap)}
  .ev-card:hover,.host-card:hover,.svc-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px #0f222d55}}
 .ev-date{transition:transform .3s var(--spring)}
 .ev-card:active .ev-date{transform:scale(.94)}
}
/* Schede senza foto: anche qui la spunta si riempie (la regola del cerchio bianco non deve vincere). */
.aht-dest-card:not(.has-photo).is-on .aht-dest-check{background:var(--gold);border-color:var(--gold);color:#fff}
.adm-cleanup{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.adm-cleanup p{margin:4px 0 0}
.action.danger{color:#a3261b;border-color:#e3b4ae}
/* ---------- Galleria della Home ---------- */
.gal-track{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:0 -2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.gal-track:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:16px}
.gal-item{margin:0;scroll-snap-align:start;position:relative;border-radius:16px;overflow:hidden;background:#e9e4d8;aspect-ratio:4/3}
.gal-item img{width:100%;height:100%;object-fit:cover;display:block}
.gal-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;color:#fff;font-weight:600;font-size:14px;line-height:1.3;background:linear-gradient(180deg,#0000,#0f222dcc)}
@media (min-width:900px){.gal-track{grid-auto-flow:row;grid-template-columns:repeat(5,1fr);overflow:visible;scroll-snap-type:none}}
@media (prefers-reduced-motion:no-preference) and (hover:hover){.gal-item img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.gal-item:hover img{transform:scale(1.04)}}
/* ---------- Accessibilità: oro leggibile su fondi chiari (WCAG AA ≥ 4.5:1) ---------- */
:root{--gold-ink:#7d6339}
.eyebrow,.category,#aht-q-progress{color:var(--gold-ink)}
.vt-upsell .eyebrow,.itin-cover .eyebrow,.home-hero .eyebrow{color:#c8ae82}
.full-teaser-lock{text-shadow:0 1px 10px #0f222d99}
/* Card con foto: sottotitolo leggibile sopra l'immagine */
.aht-dest-card.has-photo::before{background:linear-gradient(180deg,#0f222d1a 0%,#0f222d73 40%,#0f222def 100%)}
.aht-dest-card.has-photo small{display:block;text-align:left;font-size:12px;line-height:1.3;margin-top:2px;position:relative;color:#f3ede2;text-shadow:0 1px 6px #0f222dcc;font-weight:500}
.aht-dest-card.has-photo .aht-dest-name{text-align:left;padding-right:34px;text-shadow:0 1px 8px #0f222dcc}
/* Il selettore della lingua resta solo in alto: tolto il doppione nel piè di pagina */
.footer-lang{display:none!important}
/* Meno vuoto tra il contenuto e il piè di pagina (il menu in basso è già compensato dal footer) */
main>.view.active{padding-bottom:28px;min-height:0}
footer.aht-site-footer{margin-top:20px}
/* ---------- Avviso «itinerario pronto» ---------- */
.ready-toast{position:fixed;z-index:1200;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:460px;margin:0 auto;display:flex;align-items:center;gap:12px;background:var(--green);color:#fff;border-radius:16px;padding:12px 10px 12px 14px;box-shadow:0 12px 34px #0f222d55;border:1px solid #ffffff1f}
.ready-toast-ico{flex:0 0 34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font-weight:800}
.ready-toast-txt{flex:1;min-width:0;display:grid;line-height:1.3}
.ready-toast-txt strong{font-size:15px}
.ready-toast-txt span{font-size:13px;color:#e9e3d6}
.ready-toast-open{background:#fff;color:var(--green);border:0;border-radius:10px;padding:10px 14px;font-weight:750;min-height:44px}
.ready-toast-x{background:none;border:0;color:#fff;font-size:24px;line-height:1;width:44px;height:44px;border-radius:10px}
.ready-toast-open:focus-visible,.ready-toast-x:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media (min-width:800px){.ready-toast{bottom:104px}}
@media (prefers-reduced-motion:no-preference){.ready-toast{animation:toast-in .35s cubic-bezier(.2,.8,.2,1)}.ready-toast.out{opacity:0;transform:translateY(12px);transition:.25s}}
@keyframes toast-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.tab.has-news{position:relative}
.tab.has-news::after{content:"";position:absolute;top:4px;right:calc(50% - 18px);width:10px;height:10px;border-radius:50%;background:#c0392b;border:2px solid #fff}
.update-bar{position:fixed;z-index:1250;left:12px;right:12px;top:calc(10px + env(safe-area-inset-top));max-width:460px;margin:0 auto;display:flex;align-items:center;gap:12px;background:#fff;color:var(--green);border:1px solid var(--line);border-radius:14px;padding:10px 10px 10px 14px;box-shadow:0 10px 28px #0f222d33;font-size:14px}
.update-bar span{flex:1}
.update-bar button{background:var(--green);color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:750;min-height:44px}
/* «Su misura»: modifica di un itinerario esistente */
.edit-picker{background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:14px;padding:16px;margin:0 0 18px;display:grid;gap:8px}
.edit-picker-title{margin:0;font:500 19px/1.25 var(--serif);color:var(--green)}
.edit-picker .place-meta{margin:0}
.edit-picker-list{display:grid;gap:8px;margin:4px 0}
.edit-picker-list .outline-button{text-align:left;min-height:48px}
/* ---------- Pulsanti in basso dell'itinerario: più chiari, due righe ---------- */
.itin-fabs{left:12px;right:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:560px;margin:0 auto}
.fab{display:flex;align-items:center;gap:10px;text-align:left;border-radius:16px;padding:10px 12px;min-height:56px;font-size:14px;box-shadow:0 8px 22px #0c1c2533}
.fab-help{background:var(--green);color:#fff;border:1px solid var(--green)}
.fab-near{background:#fff;color:var(--green);border:1.5px solid var(--gold)}
.fab-ico{flex:0 0 22px;width:22px;height:22px}
.fab-near .fab-ico{color:var(--gold-ink)}
.fab-txt{display:grid;min-width:0;line-height:1.2}
.fab-txt strong{font-size:14px;font-weight:750}
.fab-txt small{font-size:11.5px;font-weight:500;opacity:.85;margin-top:2px}
.fab:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
#itinerary-detail.has-fabs{padding-bottom:84px}
@media(max-width:360px){.fab-txt small{display:none}}
@media(min-width:800px){.itin-fabs{left:auto;right:24px;width:520px}}
/* ---------- Scheda luogo: scorre solo la scheda, la pagina sotto resta ferma ---------- */
html.sheet-open,html.sheet-open body{overflow:hidden}
html.sheet-open body{position:fixed;left:0;right:0;width:100%}
.sheet-overlay{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;max-height:min(82dvh,82vh);padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.sheet-veil{position:fixed;inset:0;z-index:2990;background:#0f222d66}
@media (prefers-reduced-motion:no-preference){.sheet-veil{animation:veil-in .2s ease}}
@keyframes veil-in{from{opacity:0}to{opacity:1}}
body>.sheet-overlay{z-index:3000}

/* =====================================================================
   RESTYLING v2 — colori del logo (blu notte + oro), icone, Home, schede
   ===================================================================== */
:root{--green:#0f222d;--green2:#1f4558;--night:#0f222d;--gold:#b6a07b;--gold-ink:#7d6339;--gold-soft:#c8ae82;--sand:#f7f5ef;--cream:#fffdf8;--card:#fff;--ink:#122a36;--muted:#5c6d75;--line:#dedbd1;--btn:#0f222d;--btn-ink:#fff}

/* ---------- Icone ---------- */
.ico{width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.2em;margin-right:.45em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico-fill{fill:currentColor}
.ico-tail{margin:0 0 0 .4em;width:1em;height:1em;opacity:.75}
.adjust-close .ico,.preview-row>.action .ico,button[aria-label^=Chiudi] .ico{margin:0}
.full-inc-icon .ico{width:22px;height:22px;margin:0;color:var(--gold-ink)}
.fab .ico{margin:0}
.place-notice strong::before{content:"";display:inline-block;width:15px;height:15px;margin-right:6px;vertical-align:-2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2 20h20zM11 10h2v5h-2zm0 6.500h2v2h-2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2 20h20zM11 10h2v5h-2zm0 6.500h2v2h-2z'/%3E%3C/svg%3E") center/contain no-repeat}

/* ---------- Home: apertura con foto ---------- */
#view-home{padding-top:0}
.home-hero.hero-v2{position:relative;display:grid;align-items:end;gap:0;margin:0 -14px;min-height:min(74dvh,620px);overflow:hidden;isolation:isolate;background:var(--night)}
.hero-photo{position:absolute;inset:0;z-index:-2;margin:0}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.home-hero.hero-v2::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0f222d26 0%,#0f222d40 35%,#0f222de0 78%,#0f222df5 100%)}
.hero-v2 .home-hero-text{padding:120px 20px 26px;max-width:720px}
.hero-kicker{margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold-soft)}
.home-hero.hero-v2 h1{color:#fff;margin:0 0 12px;font:400 clamp(34px,9vw,58px)/1.05 var(--serif);max-width:12em;text-wrap:balance}
.hero-v2 .home-lead{color:#e9eef0;font-size:16.5px;line-height:1.55;margin:0 0 20px;max-width:32em}
.hero-v2 .home-cta .main-button{background:var(--gold-soft);border-color:var(--gold-soft);color:#0f222d}
.hero-v2 .home-cta .outline-button{background:#ffffff14;border-color:#ffffff8c;color:#fff;backdrop-filter:blur(4px)}
.hero-facts{list-style:none;margin:0 -14px;padding:16px 14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--card);border-bottom:1px solid var(--line)}
.hero-facts li{display:grid;justify-items:center;text-align:center;gap:2px;padding:0 4px}
.hero-facts li+li{border-left:1px solid var(--line)}
.hero-facts strong{font:400 28px/1 var(--serif);color:var(--green);font-variant-numeric:tabular-nums}
.hero-facts span{font-size:12px;color:var(--muted);line-height:1.3}
.home-steps li{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}
.home-steps li::before{color:var(--gold-ink)}
@media (min-width:800px){
 #view-home{padding-top:28px}
 .home-hero.hero-v2{margin:0;border-radius:26px;min-height:540px;grid-template-columns:1fr}
 .hero-v2 .home-hero-text{padding:150px 48px 44px}
 .hero-v2 .home-cta .main-button,.hero-v2 .home-cta .outline-button{flex:0 0 auto;min-width:230px}
 .hero-facts{margin:18px 0 0;border:1px solid var(--line);border-radius:18px;padding:20px}
 .hero-facts strong{font-size:36px}.hero-facts span{font-size:13.5px}
}

/* ---------- Scheda del luogo ---------- */
.sheet-info{display:grid;grid-template-columns:1fr;gap:0;margin:14px 0 6px}
.sheet-info .si-row{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;background:none;border-radius:0;padding:11px 0;border-top:1px solid var(--line)}
.sheet-info .si-body{background:none;padding:0;border-radius:0;min-width:0}
.sheet-info .si-ico{width:20px;height:20px;margin:1px 0 0;color:var(--gold-ink)}
.sheet-info dt{font-size:11px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);font-weight:700}
.sheet-info dd{margin:2px 0 0;font-size:14.5px;line-height:1.45;color:var(--ink)}
.sheet-info.si-key{background:var(--sand);border:1px solid var(--line);border-radius:14px;padding:2px 14px;margin-top:14px}
.sheet-info.si-key .si-row:first-child{border-top:0}
.sheet-info.si-key dd{font-weight:600}
.sheet-info.si-more .si-row:first-child{border-top:0}
.sheet-actions{position:sticky;bottom:calc(-1 * (24px + env(safe-area-inset-bottom)));margin:12px -16px calc(-1 * (24px + env(safe-area-inset-bottom)));padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;z-index:2}
.sheet-actions .action{flex:1 1 auto;text-align:center;min-height:46px;padding:12px 14px;font-size:14px;border-radius:12px}
.sheet-actions .action.primary{flex:2 1 180px}
.place-sheet .preview-row>.action{width:40px;height:40px;padding:0;border-radius:50%;display:grid;place-items:center;flex:none}

/* ---------- Versione computer ---------- */
@media (min-width:1100px){
 .itin-panel[data-panel=programma]:not([hidden]){display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:8px 28px;align-items:start}
 .itin-panel[data-panel=programma] .day-picker{grid-column:1/-1}
 .prog-side{position:sticky;top:176px}
 .itin-panel[data-panel=programma] .prog-side .itin-map{height:calc(100dvh - 300px);min-height:380px}
 .stop-actions .action{width:auto}
 .ev-list,#eventi-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
 .sheet-overlay{width:620px}
}
.home-intro{margin:-8px 0 18px;color:var(--muted);font-size:16px;line-height:1.55;max-width:44em}

/* ---------- Offerte in home e codici promo ---------- */
.home-promos{margin-top:22px}
.home-promos .ofr-head{font:800 10.5px var(--sans);letter-spacing:1.8px;text-transform:uppercase;color:var(--gold-ink,#7d6339);margin:0 0 10px}
.ofr-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -14px;padding:2px 14px 6px;-webkit-overflow-scrolling:touch}
.ofr-track::-webkit-scrollbar{display:none}
.ofr-track .ofr{flex:0 0 min(100%,440px);scroll-snap-align:center}
.ofr{position:relative;display:flex;flex-direction:column;min-height:178px;border-radius:18px;padding:18px 16px 16px;color:#fff;background:linear-gradient(135deg,#0f222d,#1d3c4d) center/cover;border:1px solid transparent;overflow:hidden;box-shadow:0 8px 22px #0f222d24}
.ofr-title{font:400 22px/1.14 var(--serif);margin:0 0 6px;color:inherit;max-width:calc(100% - 92px);overflow-wrap:anywhere}
.ofr-text{font-size:13.5px;line-height:1.4;margin:0 0 12px;max-width:calc(100% - 92px);opacity:.95;color:inherit}
.ofr-showcase .ofr-title,.ofr-showcase .ofr-text{max-width:100%}
.ofr-badge{position:absolute;right:14px;top:14px;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;text-align:center;font:800 20px/1 var(--sans);background:#c8ae82;color:#0f222d}
.ofr-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto}
.ofr-code{border:1.5px dashed currentColor;border-radius:10px;padding:8px 11px;font:800 13.5px var(--sans);letter-spacing:1.5px}
.ofr-cta{margin-left:auto;border:0;border-radius:11px;padding:11px 15px;font:800 13.5px var(--sans);background:#c8ae82;color:#0f222d;min-height:42px}
.ofr-until{font-size:11.5px;opacity:.88;margin:9px 0 0;color:inherit}
.ofr-classico{border-color:#b6a07b;background-image:linear-gradient(135deg,#0f222d,#1d3c4d)}.ofr-classico .ofr-code{color:#c8ae82}
.ofr-natale{background-image:radial-gradient(circle at 85% 15%,#b3312e 0,#7c1d1f 45%,#4d1014 100%)}.ofr-natale .ofr-badge,.ofr-natale .ofr-cta{background:#f4e3b5;color:#5a1418}
.ofr-estate{background-image:linear-gradient(135deg,#0b6f79,#1f9c8f 62%,#c99a2e)}.ofr-estate .ofr-badge,.ofr-estate .ofr-cta{background:#fff;color:#0b5a62}
.ofr-primavera{background-image:linear-gradient(135deg,#5d3f7c,#a8507a)}.ofr-primavera .ofr-badge,.ofr-primavera .ofr-cta{background:#fff;color:#5d3f7c}
.ofr-autunno{background-image:linear-gradient(135deg,#7a4416,#b9802a)}.ofr-autunno .ofr-badge,.ofr-autunno .ofr-cta{background:#fff3d6;color:#6a3a10}
.ofr-foto .ofr-cta{background:#fff;color:#0f222d}
.ofr-dots{display:flex;gap:6px;justify-content:center;margin-top:8px}.ofr-dots i{width:7px;height:7px;border-radius:50%;background:#c9c4b6;transition:width .2s}.ofr-dots i.on{width:18px;border-radius:4px;background:var(--green)}
@media(min-width:800px){.ofr-track{margin:0;padding-left:0;padding-right:0}.ofr-track .ofr{flex-basis:calc(50% - 6px);scroll-snap-align:start}}
/* acquisto: codice promo */
.promo-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:14px 0;text-align:left}
.promo-label{display:block;font-weight:700;font-size:13px;margin-bottom:6px;color:var(--ink)}
.promo-row{display:flex;gap:8px}.promo-row .field{margin:0;flex:1;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}.promo-row .action{padding:0 16px;font-size:13px;min-height:46px}
.promo-msg{font-size:13px;font-weight:650;margin:8px 0 0;min-height:0}.promo-msg:empty{display:none}.promo-msg.ok{color:#2e6b3f}.promo-msg.error{color:#a43535}
.promo-sum{margin-top:10px;border-top:1px solid var(--line);padding-top:6px}
.promo-line{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:5px 0}.promo-off{color:#2e6b3f}.promo-total{border-top:1px solid var(--line);margin-top:4px;padding-top:9px;font-weight:800;font-size:17px}
/* pannello: offerte */
.of-form .field{margin:5px 0 0}.of-label{display:block;font-weight:650;font-size:13px;margin:12px 0 0;color:var(--ink)}
.of-hint{display:block;font-weight:400;font-size:11.5px;color:var(--muted);margin-top:3px}
.of-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px}
.of-applies{border:1px solid var(--line);border-radius:11px;margin:14px 0 6px;padding:8px 12px 10px}.of-applies legend{font-weight:650;font-size:13px;padding:0 6px}
.of-type{max-width:420px}
.ofr-styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;margin-top:6px}
.ofr-style{height:54px;border-radius:11px;border:2px solid transparent;color:#fff;font:700 12px var(--sans);background-color:#0f222d;background-size:cover;display:flex;align-items:flex-end;padding:6px 8px;text-align:left}
.ofr-style.ofr-foto{background:#fbf8f0;background-image:none;border:1.5px dashed #b6a07b;color:#7d6339;align-items:center;justify-content:center;text-align:center}
.ofr-style.selected{border-color:var(--green);box-shadow:0 0 0 2px #fff inset}.ofr-style.ofr-classico{border-color:transparent}.ofr-style.ofr-classico.selected{border-color:var(--green)}
.ofr-preview{max-width:440px;margin-top:6px}
.of-code-pill{font-weight:800;letter-spacing:1px;border:1.5px dashed #b6a07b;border-radius:8px;padding:1px 7px;color:var(--green)}
.adm-h2{margin:26px 0 10px}.of-prices{margin-top:26px}
.full-buy [hidden],.of-form [hidden]{display:none!important}
/* itinerario a pagamento */
.unlock-box{margin:16px 0}
.unlock-box .promo-box,.pay-modal .promo-box{margin:12px 0}
.pay-choices{display:grid;gap:8px;margin:12px 0;text-align:left}
.pay-choice{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}
.pay-choice input{margin-top:3px;accent-color:#0f222d;width:18px;height:18px;flex:none}
.pay-choice strong{display:block;color:var(--ink);font-size:14.5px}.pay-choice small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4;margin-top:2px}
.pay-choice:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.day-locked .locked-list{list-style:none;margin:10px 0 6px;padding:0;display:grid;gap:6px}
.day-locked .locked-list li{display:flex;align-items:center;gap:10px;background:#fff;border:1px dashed #d5d0c2;border-radius:11px;padding:10px 12px;color:var(--ink);font-weight:600;font-size:14px}
.locked-ico{color:#9a8a68;display:inline-flex;flex:none}
.locked-hint{margin:6px 0 12px}
.edits-left{margin:0 0 10px}
.pay-modal .install-sheet{max-height:92dvh;overflow:auto;text-align:left}.pay-modal .outline-button{margin-top:10px}
.of-state{font-weight:800;margin:4px 0}.of-state.on{color:#2e6b3f}.of-state.off{color:var(--muted)}
.of-paywall{margin-top:26px}
.unlock-box [hidden],.pay-modal [hidden]{display:none!important}

/* ---------- Condividi un posto speciale (proponi.js) ---------- */
#view-proponi h1{margin-bottom:6px}#view-proponi .intro{max-width:560px;margin-bottom:14px}
.pp-cta{display:flex;align-items:center;gap:12px;width:100%;max-width:560px;text-align:left;background:#fff;border:1.5px dashed #b6a07b;border-radius:15px;padding:14px 16px;margin:20px 0;color:var(--ink)}
.pp-cta-text{display:grid;gap:2px;min-width:0}.pp-cta b{font-weight:600;font-size:15.5px;color:#0f222d}.pp-cta-text span{font-size:13px;color:#5c6d75}.pp-cta i{margin-left:auto;font-style:normal;font-size:26px;line-height:1;color:#7d6339}
#my-places:empty{display:none}#my-places .pp-cta{margin-top:0}
.pp-form{max-width:560px;display:grid;gap:14px}
.pp-field{display:grid;gap:6px}.pp-label{font-weight:600;font-size:13px;color:#122a36}.pp-label i{font-style:normal;font-weight:400;color:#7b8a90}
.pp-field input[type=text],.pp-field input[type=url],.pp-field textarea{width:100%;padding:12px 13px;border:1px solid #cfcabd;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-size:15px}
.pp-field textarea{resize:vertical;min-height:84px;line-height:1.4}.pp-field input:focus,.pp-field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b6a07b33;outline:0}
.pp-map-frame{height:190px;min-height:0;border-radius:12px;margin-top:2px}.pp-map{width:100%;height:100%}
.pp-here{position:absolute;z-index:600;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;background:#fff;color:#0f222d;border:1px solid #dedbd1;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0f222d1f}
.pp-where{margin:0;font-size:12px;color:#5c6d75}.pp-where.ok{color:#2e6b3f;font-weight:600}
.pp-chips{display:flex;flex-wrap:wrap;gap:6px}
.pp-chip{border:1px solid #dedbd1;background:#fff;color:#122a36;border-radius:30px;padding:8px 12px;font-size:12.5px;font-weight:600}
.pp-chip.on{background:#0f222d;color:#fff;border-color:#0f222d}
.pp-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pp-thumb{position:relative;height:84px;border-radius:11px;overflow:hidden}.pp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pp-thumb-x{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:#0f222dcc;color:#fff;font-size:17px;line-height:1}
.pp-add{height:84px;border-radius:11px;border:1.5px dashed #b6a07b;background:#fbf8f0;color:#7d6339;display:grid;place-content:center;justify-items:center;font-size:12px;font-weight:700}
.pp-consent{display:flex;gap:9px;align-items:flex-start;background:#fff;border:1px solid #dedbd1;border-radius:11px;padding:10px;font-size:12.5px;line-height:1.4;color:var(--ink)}.pp-consent input{margin-top:1px;accent-color:#0f222d;width:18px;height:18px;flex:0 0 auto}
.pp-msg{margin:0;color:#a43535;font-size:13px;font-weight:600}.pp-msg:empty{display:none}
.pp-note{font-size:12px;color:#5c6d75;line-height:1.45;margin:0;max-width:560px}
.pp-gate,.pp-done{max-width:560px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;display:grid;gap:12px}
.pp-done{text-align:center;justify-items:center}.pp-done h2{margin:0;color:var(--green)}.pp-done p{margin:0;color:var(--muted)}
.pp-done-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e6f2e8;color:#2e6b3f;font-size:26px;font-weight:800}
.pp-done-actions{display:grid;gap:8px;width:100%;max-width:340px}
.pp-card{max-width:560px;background:#fff;border:1px solid #dedbd1;border-radius:15px;padding:14px;margin-bottom:10px}
.pp-card h3{font:400 19px var(--serif);margin:5px 0 3px;color:#0f222d}.pp-meta{margin:0;font-size:12.5px;color:#5c6d75}
.pp-status{display:inline-block;font-size:11px;font-weight:700;border-radius:20px;padding:4px 9px}
.pp-wait{background:#f4efe3;color:#7d6339}.pp-ok{background:#e6f2e8;color:#2e6b3f}.pp-dup,.pp-no{background:#eef0f1;color:#6b777c}
.pp-gift{background:linear-gradient(135deg,#0f222d,#1d3c4d);color:#fff;border-radius:13px;padding:13px;margin-top:10px;border:1px solid #b6a07b}
.pp-gift b{font:400 18px var(--serif);display:block}.pp-gift small{color:#c8d0d3;font-size:12.5px}
.pp-gift-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:9px}
.pp-code{display:inline-block;border:1.5px dashed #c8ae82;color:#c8ae82;border-radius:9px;padding:6px 10px;font-size:14px;font-weight:700;letter-spacing:1.5px}
.pp-use{background:#c8ae82;color:#0f222d;border:0;border-radius:9px;padding:8px 12px;font-size:12.5px;font-weight:700}

/* ---------- Admin: luoghi proposti ---------- */
.pl-list{display:grid;gap:14px;margin-top:2px}
.pl-card{background:#fff;border:1px solid #dedbd1;border-radius:15px;overflow:hidden}
.pl-gallery{display:grid;gap:4px;background:#0f222d}.pl-gallery.pl-n2{grid-template-columns:1fr 1fr}.pl-gallery.pl-n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.pl-gallery.pl-n3 .pl-photo:first-child{grid-row:1/3}
.pl-photo{position:relative;border:0;padding:0;margin:0;background:#1f4558;height:340px;cursor:zoom-in;overflow:hidden}
.pl-gallery.pl-n3 .pl-photo{height:168px}.pl-gallery.pl-n3 .pl-photo:first-child{height:340px}
.pl-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.pl-photo:hover img{transform:scale(1.03)}
.pl-photo.is-loading{background:linear-gradient(90deg,#1f4558,#2b5468,#1f4558);background-size:200% 100%;animation:plShimmer 1.2s infinite}
.pl-photo.is-error::after{content:"Foto non disponibile";position:absolute;inset:0;display:grid;place-items:center;color:#d8d2c4;font-size:13px}
@keyframes plShimmer{to{background-position:-200% 0}}
.pl-zoom{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:50%;background:#0f222dcc;color:#fff;display:grid;place-items:center;font-size:17px}
.pl-info{padding:14px 16px 16px}
.pl-info h3{margin:6px 0 4px;font:400 21px var(--serif);color:#0f222d}
.pl-state{display:inline-block;font-size:11px;font-weight:700;border-radius:20px;padding:4px 9px;background:#f4efe3;color:#7d6339}
.pl-state.pl-accepted{background:#e6f2e8;color:#2e6b3f}.pl-state.pl-duplicate,.pl-state.pl-rejected{background:#eef0f1;color:#6b777c}
.pl-kv{font-size:13.5px;line-height:1.6}.pl-kv p{margin:0;overflow-wrap:anywhere}.pl-kv b{color:#5c6d75;font-weight:600}.pl-kv a{color:#0f222d;text-underline-offset:3px}.pl-kv .link-button{margin:0;padding:0;font-size:inherit}
.pl-dup{margin:10px 0 0;background:#fdf3e3;border:1px solid #f0d9ae;color:#7a5512;border-radius:10px;padding:8px 10px;font-size:12.5px;font-weight:600}
.pl-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.pl-btn{border:1px solid #cfcabd;background:#fff;color:#0f222d;border-radius:10px;padding:10px 13px;font-size:13px;font-weight:700}
.pl-btn.p{background:#0f222d;color:#fff;border-color:#0f222d}.pl-btn.d{background:#fbecec;color:#8f2b2b;border-color:#efcaca}
.pl-msg{margin:10px 0 0;font-size:13px;font-weight:650;color:#2e6b3f}.pl-msg.error{color:#a43535}.pl-msg:empty{display:none}
.pl-lb{position:fixed;inset:0;z-index:5000;background-color:#050f15ee;backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}
.pl-lb-img{max-width:100%;max-height:calc(100dvh - 90px);object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #000a;color:#fff}
.pl-lb-x{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;width:44px;height:44px;border-radius:50%;border:0;background:#ffffff22;color:#fff;font-size:28px;line-height:1}
.pl-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:#ffffff22;color:#fff;font-size:32px;line-height:1}.pl-lb-nav.prev{left:14px}.pl-lb-nav.next{right:14px}
.pl-lb-count{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);color:#e8e2d4;font-size:13px}
body.pl-lb-open{overflow:hidden}
@media(max-width:640px){.pl-photo{height:240px}.pl-gallery.pl-n2{grid-template-columns:1fr}.pl-gallery.pl-n3{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.pl-gallery.pl-n3 .pl-photo:first-child{grid-column:1/-1;grid-row:auto;height:240px}.pl-gallery.pl-n3 .pl-photo{height:140px}.pl-lb-nav{display:none}}

/* Telefoni e tablet: i campi con testo sotto i 16px fanno ingrandire la pagina da soli (iPhone). A 16px lo zoom automatico non scatta; lo zoom con le dita resta libero. */
@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}}
