/* Itinerari: il modulo, le tappe, l'invio. I colori dei giorni arrivano da --it-colore. */
.it-trappola{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.it-avviso{padding:12px 16px;border-radius:10px;margin:0 0 16px;background:#ecfdf3;border:1px solid #a6e3bd;color:#14532d}
.it-avviso--err{background:#fef2f2;border-color:#f5b5b5;color:#7f1d1d}
.it-nota{font-size:.88em;color:#5b6472;margin:8px 0 0}
.it-nota[hidden]{display:none}

.it-form{display:grid;gap:18px;max-width:860px}
.it-passo{border:1px solid var(--line,#e2e8f0);border-radius:14px;padding:16px 18px 18px;margin:0;background:#fff;min-width:0}
.it-passo legend{font-weight:700;font-size:1.1em;padding:0 6px;display:flex;align-items:center;gap:8px}
.it-passo-n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#4f74b3;color:#fff;font-size:.85em}
.it-campo{display:grid;gap:6px;margin:0 0 10px}
.it-campo > span{font-weight:600;font-size:.95em}
.it-campo input{font:inherit;padding:11px 12px;border:1px solid #cbd5e1;border-radius:10px;width:100%;box-sizing:border-box;background:#fff}
.it-campo input.it-pos-ok{border-color:#15803d;background:#f0fdf4}
.it-pos{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 0}
.it-pos small{color:#5b6472}
.it-riga{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px}
.it-etichetta{font-weight:600;min-width:110px}
.it-pillole{display:flex;flex-wrap:wrap;gap:8px}
.it-pillola{position:relative;cursor:pointer}
.it-pillola input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.it-pillola > input + span{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;font-size:.95em;line-height:1.2}
.it-pillola input:checked + span{background:#4f74b3;border-color:#4f74b3;color:#fff}
.it-pillola input:focus-visible + span{outline:2px solid #1d4ed8;outline-offset:2px}
.it-pillola input:disabled + span{opacity:.4;cursor:not-allowed}
.it-gruppi{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0 0 12px}
.it-gruppo{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;background:#fff}
.it-gruppo:has(input:checked){border-color:#4f74b3;background:#f2f6fc}
.it-gruppo > input + span{display:inline-flex;align-items:center;gap:6px}
.it-spunta{display:flex;align-items:flex-start;gap:10px;margin:8px 0;cursor:pointer;line-height:1.4}
.it-spunta input{margin-top:3px;width:18px;height:18px;flex:0 0 auto}
.it-date{display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 8px 28px}
.it-date[hidden]{display:none}
.it-date label{display:grid;gap:4px;font-size:.95em}
.it-date input{font:inherit;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px}
.it-azioni .btn{font-size:1.05em}
/* i bottoni: le misure qui, il colore dal tema; i secondari bianchi */
body.it-pagina .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font:inherit;font-weight:700;line-height:1.2;cursor:pointer;text-decoration:none}
body.it-pagina .btn.sec{background:#fff!important;color:#24508f!important;border:1px solid #9bb3da!important;padding:10px 18px}
body.it-pagina .btn:disabled{opacity:.6;cursor:wait}
body.it-pagina .btn .ico-l,.it-pillola .ico-l,.it-link .ico-l{background:none;width:auto;height:auto;margin:0;color:inherit}

/* l'itinerario */
.it-sommario{margin-bottom:16px}
.it-mappa{height:440px}
.it-pin span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:#fff;font:700 13px/1 system-ui,sans-serif;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(0,0,0,.35)}
.it-pin--via span{width:26px;height:26px;background:#1d2330;font-size:10px}
.it-giorni{display:grid;gap:22px;margin:8px 0 18px}
.it-giorno{--it-colore:#4f74b3;border-left:4px solid var(--it-colore);padding:2px 0 4px 16px}
.it-giorno h2{margin:0 0 2px;color:var(--it-colore);font-size:1.35em}
.it-giorno h2 small{color:#5b6472;font-weight:400;font-size:.7em}
.it-giorno-info{margin:0 0 10px;color:#5b6472;font-size:.92em}
.it-tappe{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.it-tappa{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:start;padding:12px 12px 10px;border:1px solid var(--line,#e2e8f0);border-radius:12px;background:#fff}
.it-n{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--it-colore);color:#fff;font-weight:700}
.it-tappa-corpo{min-width:0}
.it-tappa-occ{margin:0;font-size:.85em;color:#5b6472;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.it-tappa h3{margin:2px 0 2px;font-size:1.08em;line-height:1.3}
.it-tratta{margin:0;font-size:.85em;color:#5b6472;display:flex;align-items:center;gap:6px}
.it-tappa-mosse{display:flex;gap:4px}
.it-tappa-mosse button{width:34px;height:34px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer;font-size:15px;line-height:1;color:#1d2330}
.it-tappa-mosse button:hover:not(:disabled){border-color:var(--it-colore);color:var(--it-colore)}
.it-tappa-mosse button:disabled{opacity:.35;cursor:default}
.it-cambia{grid-column:2 / -1;font-size:.9em}
.it-cambia summary{cursor:pointer;color:#2554a0}
.it-cambia ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.it-cambia button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;cursor:pointer;font:inherit;font-size:.95em;text-align:left}
.it-cambia button:hover{border-color:var(--it-colore)}
.it-cambia small{color:#5b6472}
.it-extra{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#f7f9fc}
.it-extra h3{margin:0 0 6px;font-size:1em;display:flex;align-items:center;gap:6px}
.it-extra ul,.it-eventi{margin:0;padding-left:18px}
.it-extra li,.it-eventi li{margin:3px 0}
.it-extra small,.it-eventi small{color:#5b6472}
.it-sezione{margin:18px 0}
.it-invia{margin:26px 0 10px;padding:20px 22px;border-radius:14px;background:#eef3fb;border:1px solid #d5e1f3;max-width:860px}
.it-invia h2{margin:0 0 6px;display:flex;align-items:center;gap:8px}
.it-invia form{margin-top:14px}
.it-invia .it-campo{max-width:420px}
.it-dopo{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.it-dopo [hidden]{display:none}
.it-box .btn,.it-da-comune .btn{display:inline-flex;align-items:center;gap:6px}
.it-da-comune{margin:14px 0 0}

@media (max-width: 640px) {
  .it-passo{padding:14px 12px 16px}
  .it-etichetta{min-width:0;width:100%}
  .it-mappa{height:340px}
  .it-tappa{grid-template-columns:auto 1fr}
  .it-tappa-mosse{grid-column:1 / -1;justify-content:flex-end}
  .it-cambia{grid-column:1 / -1}
  .it-date{margin-left:0}
}
