/* Prenotazioni: pulsanti con i posti, modulo, pagina stato, elenco riservato, accesso */
.prenota-voce{display:inline-flex;align-items:baseline;gap:10px;font-weight:700;text-decoration:none;color:#FFFFFF;border-bottom:2px solid currentColor;padding-bottom:1px}
.prenota-voce .posti{font-weight:400;font-size:0.85em;opacity:.85}
.prenota-voce.esaurito{border-bottom:0;opacity:.75}
.campo .aiuto{font-size:14px;color:rgba(255,255,255,.75);line-height:1.4}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.nota-chiara{font-size:16px;line-height:1.5;color:rgba(255,255,255,.8)}
.nota-chiara a{text-decoration:underline}
.inp.codice{text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.scheda-prenotazione{gap:8px}
.stato{display:inline-block;align-self:flex-start;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;background:#FFFFFF;color:var(--dark);margin-bottom:8px}
.stato.annullata{background:var(--c-meccanica)}
.dati{display:flex;flex-direction:column;gap:10px;font-size:18px;line-height:1.4}
.dati div{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr);gap:12px}
.dati dt{color:rgba(255,255,255,.7)}
.dati dd{margin:0}
.dati .codice{font-weight:700;font-size:22px;letter-spacing:.08em}
.azione{background:rgba(255,255,255,.06);border-left:6px solid #FFFFFF}
.azione summary{cursor:pointer;list-style:none;font-weight:700;font-size:20px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}
.azione summary::-webkit-details-marker{display:none}
.azione summary::after{content:"+";font-size:28px;line-height:1}
.azione[open] summary::after{content:"\2013"}
.azione form{display:flex;flex-direction:column;gap:14px;padding:0 24px 24px}
.azione form p{font-size:17px;line-height:1.45}
.elenco{padding-top:8px;padding-bottom:88px;display:flex;flex-direction:column;gap:40px}
.elenco .strumenti{display:flex;flex-wrap:wrap;gap:12px}
.elenco .vuoto{font-size:19px;max-width:60ch}
.blocco-app{display:flex;flex-direction:column;gap:16px}
.blocco-app.passato{opacity:.8}
.testa-app h2{font-size:clamp(24px,2.6vw,34px)}
.testa-app p{font-size:18px;color:var(--muted);padding-top:6px}
.testa-app a{text-decoration:underline}
.tab-scroll{overflow-x:auto}
.tab{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:tabular-nums}
.tab th,.tab td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.18);vertical-align:top;white-space:nowrap}
.tab th{font-size:14px;font-weight:500;color:var(--muted)}
.tab tr.annullata td{color:var(--muted);text-decoration:line-through}
.tab tr.annullata td:last-child{text-decoration:none}
.tab a{text-decoration:underline}
.pulizia{display:flex;flex-direction:column;gap:16px;max-width:72ch;padding-top:16px;border-top:1px solid rgba(255,255,255,.18)}
.pulizia p{font-size:16px;color:var(--muted);line-height:1.5}
#grav-login .form-wrapper,#grav-login form{display:flex;flex-direction:column;gap:14px}
#grav-login .form-field{display:flex;flex-direction:column;gap:6px}
#grav-login label{font-size:15px;font-weight:500}
#grav-login input[type=submit],#grav-login button{align-self:flex-start}
#grav-login .form-data{display:flex;flex-direction:column;gap:6px}
#grav-login a{text-decoration:underline;font-size:15px}
@media (max-width:767px){
  .dati div{grid-template-columns:1fr;gap:2px}
  .elenco{padding-bottom:64px}
}
