/* Corsi degli Ordini professionali */
.corsi-giorno { margin-top: 2.5rem; }
.corsi-scheda { border: 1px solid var(--ink-line); border-radius: 18px; padding: 1.25rem 1.4rem; margin: 1rem 0; background: var(--white, #fff); }
.corsi-scheda h3 { font-size: 1.25rem; font-weight: 800; margin: 0.2rem 0 0.4rem; }
.corsi-meta { font-size: 0.9rem; color: var(--ink-soft); }
.corsi-ente { font-weight: 700; color: var(--magenta-deep); font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; }
.corsi-programma { list-style: none; padding: 0; margin: 0.8rem 0; display: grid; gap: 0.35rem; }
.corsi-programma li { display: grid; grid-template-columns: 6.5rem 1fr; gap: 0.6rem; font-size: 0.95rem; }
.corsi-programma .ora { font-variant-numeric: tabular-nums; color: var(--ink-soft); }
.corsi-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem 1rem; margin-top: 1rem; }
.corsi-form label { display: grid; gap: 0.3rem; font-size: 0.9rem; font-weight: 600; }
.corsi-form input[type=text], .corsi-form input[type=email], .corsi-form input[type=tel] { font: inherit; padding: 0.7rem 0.8rem; border: 2px solid var(--ink-line); border-radius: 12px; background: var(--paper, #f6f5f1); }
.corsi-form input[aria-invalid=true] { border-color: var(--magenta-deep); }
.corsi-form .largo { grid-column: 1 / -1; }
.corsi-form .check { display: flex; gap: 0.5rem; align-items: flex-start; font-weight: 400; }
.corsi-form .esca { position: absolute; left: -9999px; }
.corsi-esito { border-radius: 12px; padding: 0.8rem 1rem; margin-top: 0.8rem; background: var(--lavender-tint); }
.corsi-esito.ok { background: #e6f2d3; }
.corsi-esito.errore { background: #f9dfe9; }
@media (max-width: 640px) { .corsi-form { grid-template-columns: 1fr; } .corsi-programma li { grid-template-columns: 1fr; gap: 0; } }
