/* Tour operator dal portale — stile minimo, mobile-first.
 * Eredita font e colori del tema (inherit / currentColor). Per adattarlo
 * basta ridefinire le variabili in un selettore del tema, es.:
 *   .ptoc { --ptoc-accento: #b71c1c; --ptoc-sfondo-scheda: #fffaf3; }
 */
.ptoc{--ptoc-accento:currentColor;--ptoc-testo-btn:inherit;--ptoc-bordo:rgba(0,0,0,.14);--ptoc-sfondo-scheda:transparent;--ptoc-sfondo-avviso:rgba(0,0,0,.04);--ptoc-raggio:10px;--ptoc-spazio:16px;margin:0 0 2em;}
.ptoc [hidden]{display:none!important;}
.ptoc-avviso{background:var(--ptoc-sfondo-avviso);border-left:4px solid var(--ptoc-accento);border-radius:var(--ptoc-raggio);padding:12px 14px;margin:0 0 var(--ptoc-spazio);}
.ptoc-avviso p{margin:0;}
.ptoc-filtri{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 var(--ptoc-spazio);}
@media(min-width:700px){.ptoc-filtri{grid-template-columns:1fr 1fr 1.4fr auto;align-items:end;}.ptoc-piu-eventi .ptoc-filtri{grid-template-columns:1fr 1fr 1fr 1.4fr auto;}}
.ptoc-campo{margin:0;min-width:0;}
.ptoc-campo label{display:block;font-weight:600;font-size:.9em;margin:0 0 4px;}
.ptoc-campo select,.ptoc-campo input{width:100%;box-sizing:border-box;min-height:44px;font-size:16px;font-family:inherit;color:inherit;padding:8px 10px;border:1px solid var(--ptoc-bordo);border-radius:8px;background:transparent;}
.ptoc-js .ptoc-campo-invia{display:none;}
.ptoc-conteggio{font-size:.9em;opacity:.8;margin:0 0 var(--ptoc-spazio);}
.ptoc-citta{margin:0 0 calc(var(--ptoc-spazio)*1.5);}
.ptoc-citta-titolo{margin:0 0 10px;}
.ptoc-operatore{border:1px solid var(--ptoc-bordo);border-radius:var(--ptoc-raggio);background:var(--ptoc-sfondo-scheda);padding:14px;margin:0 0 12px;overflow-wrap:anywhere;}
.ptoc-operatore-nome{margin:0 0 8px;}
.ptoc-viaggi,.ptoc-date,.ptoc-fermate{list-style:none;margin:0;padding:0;}
.ptoc-viaggio{padding:10px 0;border-top:1px solid var(--ptoc-bordo);}
.ptoc-viaggio:first-child{border-top:0;padding-top:0;}
.ptoc-viaggio-nome{font-weight:600;margin:0 0 4px;}
.ptoc-viaggio-evento{display:inline-block;font-size:.85em;font-weight:600;margin:0 0 6px;padding:2px 10px;border-radius:999px;background:var(--ptoc-sfondo-avviso);}
.ptoc-date{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;}
.ptoc-date li{border:1px solid var(--ptoc-bordo);border-radius:999px;padding:3px 10px;font-size:.92em;}
.ptoc-fermata{padding:3px 0 3px 14px;position:relative;font-size:.95em;}
.ptoc-fermata::before{content:"";position:absolute;left:2px;top:.75em;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45;}
.ptoc-fermata.ptoc-qui{font-weight:600;}
.ptoc-fermata.ptoc-qui::before{background:var(--ptoc-accento);opacity:1;}
.ptoc-fermata-citta::after{content:" —";}
.ptoc-fermata-dettaglio{display:block;font-weight:400;opacity:.8;font-size:.92em;}
.ptoc-contatti{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;}
.ptoc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border:1px solid var(--ptoc-accento);border-radius:999px;color:var(--ptoc-testo-btn);text-decoration:none;font-weight:600;font-family:inherit;font-size:1em;background:transparent;cursor:pointer;}
.ptoc-btn:focus-visible{outline:2px solid var(--ptoc-accento);outline-offset:2px;}
.ptoc-num{font-weight:400;font-size:.9em;opacity:.85;}
.ptoc-vuoto{padding:14px;border:1px dashed var(--ptoc-bordo);border-radius:var(--ptoc-raggio);}
.ptoc-azzera{display:inline-flex;align-items:center;min-height:44px;}
