/* Selettore di giorno e ora della demo. I selettori sono lunghi di proposito: il tema dà ai paragrafi margini
   grandi (40px sopra, 28px sotto) e vincerebbero su regole corte. */
.gform_wrapper .sp-slot { margin: 0; }
.gform_wrapper .sp-slot p { margin: 0; }
.gform_wrapper .sp-slot .sp-slot__titolo { margin: 0 0 8px; font-size: .875rem; font-weight: 600; color: var(--sp-testo, #3A4266); }
.gform_wrapper .sp-slot .sp-slot__ore + .sp-slot__scelta,
.gform_wrapper .sp-slot .sp-slot__titolo + .sp-slot__giorni + .sp-slot__titolo { margin-top: 16px; }
.gform_wrapper .sp-slot .sp-slot__giorni { display: grid; grid-template-columns: 32px repeat(5, minmax(0, 1fr)) 32px; gap: 6px; align-items: stretch; }
.gform_wrapper .sp-slot .sp-slot__ore { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.gform_wrapper .sp-slot .sp-slot__giorni[hidden], .gform_wrapper .sp-slot .sp-slot__ore[hidden], .gform_wrapper .sp-slot .sp-slot__titolo[hidden] { display: none; }
.gform_wrapper .sp-slot .sp-slot__scelta { margin: 12px 0 0; font-size: .9375rem; font-weight: 600; color: #085cf0; }
.gform_wrapper .sp-slot .sp-slot__scelta:empty { display: none; }
.gform_wrapper .sp-slot .sp-slot__attesa { grid-column: 1 / -1; font-size: .875rem; color: var(--sp-testo, #3A4266); } /* «Carico gli orari…» e il messaggio di errore occupano tutta la riga, non la cella da 32 px */

.sp-slot__giorno, .sp-slot__ora {
	appearance: none; cursor: pointer; font: inherit; color: var(--sp-inchiostro, #040b35);
	background: #fff; border: 1px solid var(--sp-linea, #cfd6e6); border-radius: 8px; line-height: 1.15;
}
.sp-slot__giorno { display: grid; justify-items: center; min-width: 0; padding: 8px 4px; gap: 1px; }
.sp-slot__nav { appearance: none; cursor: pointer; font: inherit; font-size: 1.25rem; line-height: 1; color: var(--sp-inchiostro, #040b35); background: #fff; border: 1px solid var(--sp-linea, #cfd6e6); border-radius: 8px; padding: 0; }
.sp-slot__nav:disabled { opacity: .35; cursor: default; }
.sp-slot__nav:not(:disabled):hover { border-color: #085cf0; }
.sp-slot__sett, .sp-slot__mese { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--sp-testo, #3A4266); }
.sp-slot__num { font-size: 1.25rem; font-weight: 600; }
.sp-slot__ora { padding: 8px 0; font-size: .9375rem; font-variant-numeric: tabular-nums; text-align: center; }
.sp-slot__giorno:hover, .sp-slot__ora:hover:not(:disabled) { border-color: #085cf0; }
.sp-slot__giorno.is-on, .sp-slot__ora.is-on { background: #085cf0; border-color: #085cf0; color: #fff; }
.sp-slot__giorno.is-on .sp-slot__sett, .sp-slot__giorno.is-on .sp-slot__mese { color: #fff; }
.sp-slot__giorno:focus-visible, .sp-slot__ora:focus-visible { outline: 2px solid #085cf0; outline-offset: 2px; }
.sp-slot__giorno--pieno, .sp-slot__ora--pieno { opacity: .45; cursor: not-allowed; text-decoration: line-through; }

/* Selettore di giorno e ora: una scheda sempre aperta, con la nota che l'orario è facoltativo */
.gform_wrapper .sp-slot-sezione { border: 1px solid var(--sp-linea, #cfd6e6); border-radius: 8px; padding: 14px; background: #fff; }
.gform_wrapper .sp-slot-sezione .sp-slot__nota { margin: 12px 0 0; font-size: .8125rem; color: var(--sp-testo, #3A4266); }

@media (max-width: 480px) {
	.gform_wrapper .sp-slot .sp-slot__giorni { grid-template-columns: 28px repeat(5, minmax(0, 1fr)) 28px; gap: 4px; }
	.sp-slot__num { font-size: 1.125rem; }
}
