/* ============================================================
   CORSI.CSS — la pagina corsi.html
   ------------------------------------------------------------
   Regola d'ingaggio come per gli altri fogli nuovi: qui dentro non
   si scrive un colore. Ogni tinta arriva da css/tema.css.

   Le schede parlano la stessa lingua delle card della home: tondo
   colorato con l'icona, etichetta piccola, titolo, UNA riga, i chip
   in fondo, un pulsante che dice cosa succede. Il colore della
   sezione è il viola di «Corsi e percorsi», così chi arriva dalla
   home ritrova la tinta da cui è partito.

   La prima versione aveva una legenda a scaletta sopra le schede e
   riquadri grigi di nota solo su alcune: la legenda spiegava dei
   badge che si spiegano da soli, e i riquadri sbilanciavano le
   altezze di una fila. Tolti tutti e due.
   ============================================================ */


/* ============================================================
   1. TESTATA — titolo e una riga, non un paragrafo
   ============================================================ */
.corsi-testata {
    padding-block: var(--sp-5) var(--sp-4);
    text-align: center;
}

.corsi-testata h1 {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 800;
    color: var(--area-corsi);
    line-height: 1.1;
    margin: 0 0 var(--sp-2);
}

.corsi-guida {
    max-width: 58ch;
    margin: 0 auto;
    color: var(--ink-2);
    font-size: 1.05rem;
}


/* ============================================================
   2. LA GRIGLIA
   Tre colonne sullo schermo largo, due sul tablet, una sul
   telefono.
   ============================================================ */
.corsi-elenco {
    padding-bottom: var(--sp-6);
}

.corsi-griglia {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-4);
    align-items: stretch;
}

@media (min-width: 620px) {
    .corsi-griglia {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1100px) {
    .corsi-griglia {
        grid-template-columns: repeat(3, 1fr);
    }
}


/* ============================================================
   3. LA SCHEDA
   Stessa struttura per tutte, nello stesso ordine, comprese le
   righe che in qualche scheda sono vuote: è quello che tiene i
   chip e i pulsanti sulla stessa riga d'occhio.
   ============================================================ */
.corso {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--sp-1);
    height: 100%;
    padding: var(--sp-4);
    padding-top: calc(var(--sp-4) + 4px);
    background: var(--card);
    border: 1px solid var(--border-gray);
    border-radius: var(--radius-lg);
    overflow: hidden;
    scroll-margin-top: 90px;      /* ci si arriva da corsi.html#chiave */
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.corso::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 4px;
    background: var(--area-corsi);
}

.corso:hover,
.corso:focus-within {
    transform: translateY(-3px);
    border-color: var(--area-corsi);
    box-shadow: var(--shadow-sm);
}

/* Il tondo dell'icona: 52px come nella home. Le emoji piccole e
   disallineate erano il difetto più visibile della prima versione. */
.corso-icona {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    margin-bottom: 2px;
    border-radius: 50%;
    background: var(--area-corsi);
    font-size: 1.5rem;
    line-height: 1;
}

.corso-etichetta {
    color: var(--area-corsi);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.corso h2 {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.25;
    color: var(--ink);
}

.corso > p {
    margin: 0;
    color: var(--ink-2);
    font-size: .92rem;
    line-height: 1.5;
}

/* La riga del vincolo d'accesso. C'è in tutte le schede anche
   quando è vuota (uno spazio unificatore): serve a tenere i chip
   alla stessa quota, che è la regola di casa. */
.corso-vincolo {
    color: var(--ink-2) !important;
    font-size: .84rem !important;
    font-style: italic;
    opacity: .85;
}


/* ============================================================
   4. I CHIP — accesso e, se c'è, prezzo
   Il prezzo arriva dalle impostazioni del pannello: lo scrive il
   generatore, non la mano di chi edita la pagina.
   ============================================================ */
.corso-chip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
    padding-top: var(--sp-2);
}

.badge-accesso {
    display: inline-flex;
    align-items: center;
    padding: 4px 11px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .5px;
    text-transform: uppercase;
    white-space: nowrap;
}

.badge-accesso.libero      { color: var(--area-materiali); }
.badge-accesso.iscrizione  { color: var(--area-scuola); }
.badge-accesso.pagamento   { color: var(--area-strumenti); }

.badge-prezzo {
    display: inline-flex;
    align-items: center;
    padding: 4px 11px;
    border-radius: 999px;
    background: var(--area-strumenti);
    color: var(--card);
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}


/* ============================================================
   5. IL PULSANTE
   Uno solo, e con un verbo che dice cosa succede: sette «Vai al
   corso» identici non aiutano a scegliere.
   ============================================================ */
.corso-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin-top: var(--sp-2);
    padding: 11px 14px;
    background: var(--area-corsi);
    color: var(--card);
    border: 1px solid var(--area-corsi);
    border-radius: var(--radius-sm);
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
}

.corso-cta:hover,
.corso-cta:focus-visible {
    filter: brightness(.9);
    color: var(--card);
}

.corso-cta:focus-visible {
    outline: 3px solid var(--ring);
    outline-offset: 2px;
}


/* ============================================================
   6. CODA
   ============================================================ */
.corsi-coda {
    padding-bottom: var(--sp-6);
    text-align: center;
    color: var(--ink-2);
}


/* ============================================================
   7. TELEFONO
   ============================================================ */
@media (max-width: 619px) {
    .corso {
        padding: var(--sp-3);
        padding-top: calc(var(--sp-3) + 4px);
    }

    .corso-icona {
        width: 48px;
        height: 48px;
    }
}
