/* Prenotazione [iv_prenota]: calendario in stile Calendly con i colori di Istituti Verona. I campi del modulo usano gli stili .iv-field dei form. */
.iv-prenota{--ivp-nero:#000000;--ivp-testo:#1A1A1A;--ivp-rosso:#FF4534;--ivp-rosso-scuro:#B12A26;--ivp-sabbia:#F6F4F2;--ivp-bordo:#8A837C;--ivp-linea:#E6E6E6;--ivp-grigio:#5C5C5C;
	box-sizing:border-box;max-width:1080px;margin-inline:auto;color:var(--ivp-testo);font-family:inherit;line-height:1.5}
.iv-prenota *,.iv-prenota *::before,.iv-prenota *::after{box-sizing:border-box}
.iv-prenota button{font:inherit}
/* Il tema (Hello Elementor, reset.css) dà ai pulsanti testo su una riga e, su hover/focus, fondo rosa e testo bianco: qui si annulla. */
.iv-prenota button{white-space:normal;border-radius:0;text-transform:none;letter-spacing:normal}
.iv-prenota__calendario:hover,.iv-prenota__calendario:focus{color:var(--ivp-testo);background:var(--ivp-sabbia)}
.iv-prenota__indietro:hover,.iv-prenota__indietro:focus,.iv-prenota__link:hover,.iv-prenota__link:focus{background:none;color:var(--ivp-nero)}
.iv-prenota__freccia:hover,.iv-prenota__freccia:focus{background:#FFFFFF;color:var(--ivp-nero)}
.iv-prenota__giorno:hover,.iv-prenota__giorno:focus{background:transparent;color:#A8A29C}
.iv-prenota__giorno.is-libero:hover,.iv-prenota__giorno.is-libero:focus{background:#ECE7E2;color:var(--ivp-nero)}
.iv-prenota__giorno.is-scelto:focus{background:var(--ivp-nero);color:#FFFFFF}
.iv-prenota__ora:focus{background:#FFFFFF;color:var(--ivp-nero)}
.iv-prenota .iv-form__submit:focus{border-color:#E0392A;background:#E0392A;color:#FFFFFF}
.iv-prenota__box{padding:32px;background:#FFFFFF;border:1px solid var(--ivp-linea);border-top:2px solid var(--ivp-nero)}
.iv-prenota__etichetta{margin:0 0 8px;color:var(--ivp-rosso-scuro);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.iv-prenota__titolo{margin:0 0 12px;color:var(--ivp-nero);font-size:clamp(24px,2.4vw,30px);font-weight:600;line-height:1.15}
.iv-prenota__sottotitolo{margin:0 0 16px;color:var(--ivp-nero);font-size:17px;font-weight:600}
.iv-prenota__meta{margin:0 0 16px;padding:0;list-style:none;color:var(--ivp-grigio);font-size:15px}
.iv-prenota__meta li{padding:2px 0}
.iv-prenota__intro{margin:0 0 16px;font-size:15px}
.iv-prenota__scelta{margin:16px 0 0;padding:12px 16px;background:var(--ivp-sabbia);border-left:2px solid var(--ivp-rosso);font-size:15px}
.iv-prenota__indietro{display:inline-block;text-align:left;margin:0 0 16px;padding:0;border:0;background:none;color:var(--ivp-nero);font-size:15px;text-decoration:underline;text-decoration-color:var(--ivp-rosso);text-underline-offset:3px;cursor:pointer}

/* Scelta del calendario */
.iv-prenota__calendari{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}
.iv-prenota__calendario{display:flex;flex-direction:column;gap:6px;padding:24px;border:1px solid var(--ivp-bordo);border-left:4px solid var(--ivp-rosso);background:#FFFFFF;color:var(--ivp-testo);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}
.iv-prenota__calendario:hover,.iv-prenota__calendario:focus-visible{border-color:var(--ivp-nero);border-left-color:var(--ivp-rosso);background:var(--ivp-sabbia)}
.iv-prenota__calendario:focus-visible{outline:2px solid var(--ivp-nero);outline-offset:2px}
.iv-prenota__calendario-nome{color:var(--ivp-nero);font-size:19px;font-weight:600}
.iv-prenota__calendario-meta{color:var(--ivp-grigio);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.iv-prenota__calendario-intro{font-size:15px}

/* Calendario: informazioni, mese, orari. Le colonne dipendono dalla larghezza del riquadro, non dello schermo (colonne di Elementor, contenuto stretto del tema). */
.iv-prenota{container-type:inline-size}
.iv-prenota__griglia{display:grid;grid-template-columns:1fr;gap:24px}
.iv-prenota__info{padding:0 0 24px;border-bottom:1px solid var(--ivp-linea)}
@container (min-width:640px){
	.iv-prenota__griglia{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px}
	.iv-prenota__griglia .iv-prenota__orari{grid-column:1 / -1}
	.iv-prenota__info{padding:0 32px 0 0;border-right:1px solid var(--ivp-linea);border-bottom:0}
}
@container (min-width:960px){
	.iv-prenota__griglia.ha-giorno{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,.7fr)}
	.iv-prenota__griglia.ha-giorno .iv-prenota__orari{grid-column:auto}
	.iv-prenota__griglia.ha-giorno .iv-prenota__lista{grid-template-columns:1fr;max-height:420px}
}
@container (max-width:639px){.iv-prenota__box{padding:24px 16px}}
.iv-prenota__mese.is-carica{opacity:.5;pointer-events:none}
.iv-prenota__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.iv-prenota__freccia{width:40px;height:40px;padding:0;border:1px solid var(--ivp-bordo);background:#FFFFFF;color:var(--ivp-nero);font-size:24px;line-height:1;cursor:pointer}
.iv-prenota__freccia:hover:not(:disabled){border-color:var(--ivp-nero);background:var(--ivp-sabbia)}
.iv-prenota__freccia:disabled{opacity:.3;cursor:default}
.iv-prenota__settimana,.iv-prenota__giorni{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.iv-prenota__settimana{margin-bottom:4px;color:var(--ivp-grigio);font-size:12px;font-weight:600;letter-spacing:.04em;text-align:center;text-transform:uppercase}
.iv-prenota__giorno{aspect-ratio:1/1;min-height:40px;padding:0;border:0;background:transparent;color:#A8A29C;font-size:15px;cursor:default}
.iv-prenota__giorno.is-libero{background:var(--ivp-sabbia);color:var(--ivp-nero);font-weight:600;cursor:pointer;box-shadow:inset 0 -2px 0 var(--ivp-rosso)}
.iv-prenota__giorno.is-libero:hover{background:#ECE7E2}
.iv-prenota__giorno.is-scelto,.iv-prenota__giorno.is-scelto:hover{background:var(--ivp-nero);color:#FFFFFF;box-shadow:none}
.iv-prenota__giorno.is-oggi{outline:1px solid var(--ivp-bordo);outline-offset:-1px}
.iv-prenota__giorno:focus-visible,.iv-prenota__ora:focus-visible{outline:2px solid var(--ivp-rosso);outline-offset:2px}
.iv-prenota__fuso{margin:12px 0 0;color:var(--ivp-grigio);font-size:13px}
.iv-prenota__vuoto{margin:0;color:var(--ivp-grigio);font-size:15px}
.iv-prenota__lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;overflow:auto;padding:2px}
.iv-prenota__ora{min-height:48px;padding:10px 8px;border:1px solid var(--ivp-nero);background:#FFFFFF;color:var(--ivp-nero);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}
.iv-prenota__ora:hover{background:var(--ivp-nero);color:#FFFFFF}

/* Dati, conferma, gestione */
.iv-prenota .iv-form{max-width:640px}
.iv-prenota .iv-form__errors{margin:16px 0 0;padding:16px;border:1px solid var(--ivp-rosso-scuro);border-left-width:2px;color:var(--ivp-rosso-scuro);font-size:15px}
.iv-prenota .iv-form .iv-form__errors{margin:0}
.iv-prenota .iv-form__errors p{margin:0}
.iv-prenota .iv-form__submit{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:2px solid var(--ivp-rosso);border-radius:0;background:var(--ivp-rosso);color:#FFFFFF;font-size:16px;font-weight:700;letter-spacing:.02em;text-decoration:none;text-transform:uppercase;cursor:pointer}
.iv-prenota .iv-form__submit:hover{border-color:#E0392A;background:#E0392A;color:#FFFFFF}
.iv-prenota .iv-form__submit:disabled{opacity:.6;cursor:wait}
.iv-prenota a{color:var(--ivp-nero);text-decoration:underline;text-decoration-color:var(--ivp-rosso);text-underline-offset:3px}
.iv-prenota .iv-form__submit{text-decoration:none}
.iv-prenota__link{padding:0;border:0;background:none;color:var(--ivp-nero);font-size:15px;text-decoration:underline;text-decoration-color:var(--ivp-rosso);text-underline-offset:3px;cursor:pointer}
.iv-prenota__box:not(.iv-prenota__griglia){max-width:760px;margin-inline:auto}
.iv-prenota__riepilogo{display:grid;gap:0;margin:24px 0;border-top:1px solid var(--ivp-linea)}
.iv-prenota__riepilogo > div{display:grid;grid-template-columns:9rem 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--ivp-linea)}
.iv-prenota__riepilogo dt{color:var(--ivp-grigio);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.iv-prenota__riepilogo dd{margin:0;color:var(--ivp-nero);font-weight:600}
@media (max-width:479px){.iv-prenota__riepilogo > div{grid-template-columns:1fr;gap:2px}}
.iv-prenota__messaggio{margin:0 0 24px;padding:16px;background:var(--ivp-sabbia);border-left:2px solid var(--ivp-rosso)}
.iv-prenota__azioni{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.iv-prenota__conferma{padding:16px;border:1px solid var(--ivp-rosso-scuro)}
.iv-prenota__conferma p{margin:0 0 16px}
.iv-prenota .iv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Pagina "La tua prenotazione" aperta dal link nell'email */
.iv-prenota-pagina{margin:0;background:var(--ivp-sabbia,#F6F4F2)}
.iv-prenota-pagina__main{max-width:1080px;margin:0 auto;padding:32px 16px 64px}
.iv-prenota-pagina__sito{margin:0 0 24px;text-align:center;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.iv-prenota-pagina__sito a{color:#000000;text-decoration:none}

/* Telefoni stretti (320–420 px): meno bordo interno e giorni senza altezza minima, così il calendario a 7 colonne sta nello schermo */
@media (max-width:420px){
	.iv-prenota .iv-prenota__box{padding:20px 14px}
	.iv-prenota .iv-prenota__giorno{min-height:0}
	.iv-prenota .iv-prenota__settimana,.iv-prenota .iv-prenota__giorni{gap:3px}
}
