/*
Theme Name: Nextawards SDI
Theme URI: https://sdi-staging.gezconsulting.ch
Description: Child theme di Nextawards per Superior Dance Institute.
Author: GEZ Consulting
Author URI: https://gezconsulting.ch
Template: nextawards
Version: 1.2.7
Text Domain: nextawards-sdi
*/


/* =========================================================
   TOKEN DEL BRAND
   ========================================================= */

:root {
    /* Colori principali */
    --sdi-pri-ner-00: #111111;
    --sdi-pri-bor-00: #9b3230;
    --sdi-pri-bia-00: #ffffff;
    --sdi-pri-bor-10: #762321;

    /* Colori secondari */
    --sdi-sec-bsf-00: #f8f6f3;
    --sdi-sec-sab-00: #e9e2d6;
    --sdi-sec-cip-00: #ddb6b6;
    --sdi-sec-gpe-00: #bdb9b6;
    --sdi-sec-gsc-00: #595451;
    --sdi-sec-oro-00: #c5a059;

    /* Mappatura delle variabili Nextawards */
    --link-color: var(--sdi-pri-bor-00);
    --link-color-hover: var(--sdi-pri-ner-00);

    /* Disciplina Viola */
    --sdi-dis-vio-00: #76536f;
    --sdi-dis-vio-01: #83617c;
    --sdi-dis-vio-02: #92728c;
    --sdi-dis-vio-03: #a58aa0;
    --sdi-dis-vio-04: #bba4b7;
    --sdi-dis-vio-05: #d3bdd0;
    --sdi-dis-vio-06: #dac7d7;
    --sdi-dis-vio-07: #e2d2df;
    --sdi-dis-vio-08: #e9dde7;
    --sdi-dis-vio-09: #efe7ed;
    --sdi-dis-vio-10: #f5f0f4;

    /* Disciplina Rosa */
    --sdi-dis-ros-00: #b76e79;
    --sdi-dis-ros-01: #c17f89;
    --sdi-dis-ros-02: #cc949c;
    --sdi-dis-ros-03: #d5a4ab;
    --sdi-dis-ros-04: #ddb5bb;
    --sdi-dis-ros-05: #e5c5ca;
    --sdi-dis-ros-06: #e9d0d4;
    --sdi-dis-ros-07: #eedbde;
    --sdi-dis-ros-08: #f2e5e7;
    --sdi-dis-ros-09: #f6edef;
    --sdi-dis-ros-10: #faf1f2;

    /* Disciplina Terracotta */
    --sdi-dis-ter-00: #c8755e;
    --sdi-dis-ter-01: #d08470;
    --sdi-dis-ter-02: #d89583;
    --sdi-dis-ter-03: #dfa797;
    --sdi-dis-ter-04: #e5b8aa;
    --sdi-dis-ter-05: #e9c5ba;
    --sdi-dis-ter-06: #edd0c8;
    --sdi-dis-ter-07: #f1dbd5;
    --sdi-dis-ter-08: #f5e5e1;
    --sdi-dis-ter-09: #f8ece9;
    --sdi-dis-ter-10: #fbf2ef;

    /* Disciplina Ocra */
    --sdi-dis-ocr-00: #b8863b;
    --sdi-dis-ocr-01: #c29452;
    --sdi-dis-ocr-02: #caa263;
    --sdi-dis-ocr-03: #d2af76;
    --sdi-dis-ocr-04: #dabd8b;
    --sdi-dis-ocr-05: #e3cca1;
    --sdi-dis-ocr-06: #e8d6b0;
    --sdi-dis-ocr-07: #eee0c1;
    --sdi-dis-ocr-08: #f3e9d1;
    --sdi-dis-ocr-09: #f7f0de;
    --sdi-dis-ocr-10: #fbf6ea;

    /* Disciplina Verde oliva */
    --sdi-dis-oli-00: #7c8454;
    --sdi-dis-oli-01: #8a9163;
    --sdi-dis-oli-02: #999f73;
    --sdi-dis-oli-03: #a9ae87;
    --sdi-dis-oli-04: #bcbf9d;
    --sdi-dis-oli-05: #d2d5b8;
    --sdi-dis-oli-06: #d9dcc3;
    --sdi-dis-oli-07: #e0e3ce;
    --sdi-dis-oli-08: #e8ead9;
    --sdi-dis-oli-09: #eef0e4;
    --sdi-dis-oli-10: #f5f6ee;

    /* Disciplina Verde petrolio */
    --sdi-dis-pet-00: #527873;
    --sdi-dis-pet-01: #648783;
    --sdi-dis-pet-02: #769691;
    --sdi-dis-pet-03: #8ca7a3;
    --sdi-dis-pet-04: #a3b9b5;
    --sdi-dis-pet-05: #b9ceca;
    --sdi-dis-pet-06: #c4d6d3;
    --sdi-dis-pet-07: #cedfdd;
    --sdi-dis-pet-08: #d9e7e5;
    --sdi-dis-pet-09: #e4efed;
    --sdi-dis-pet-10: #eff6f5;

    /* Disciplina Blu */
    --sdi-dis-blu-00: #334663;
    --sdi-dis-blu-01: #485a74;
    --sdi-dis-blu-02: #5f7088;
    --sdi-dis-blu-03: #78879c;
    --sdi-dis-blu-04: #96a3b6;
    --sdi-dis-blu-05: #b7c2d2;
    --sdi-dis-blu-06: #c2cbd8;
    --sdi-dis-blu-07: #cdd5df;
    --sdi-dis-blu-08: #d9dfe7;
    --sdi-dis-blu-09: #e4e9ef;
    --sdi-dis-blu-10: #f0f3f7;

    /* Disciplina Indaco */
    --sdi-dis-ind-00: #5b5a86;
    --sdi-dis-ind-01: #6b6a93;
    --sdi-dis-ind-02: #7e7da2;
    --sdi-dis-ind-03: #9594b3;
    --sdi-dis-ind-04: #afaec8;
    --sdi-dis-ind-05: #c9c9de;
    --sdi-dis-ind-06: #d1d1e3;
    --sdi-dis-ind-07: #d9d9e9;
    --sdi-dis-ind-08: #e2e1ee;
    --sdi-dis-ind-09: #eae9f3;
    --sdi-dis-ind-10: #f2f1f8;
}


/* =========================================================
   TIPOGRAFIA
   ========================================================= */

/* Testi e interfaccia */
body,
button,
input,
select,
textarea {
    font-family: "Source Sans 3", Arial, sans-serif;
}

/* Titoli */
h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
    font-family: "Belleza", Georgia, serif;
    font-weight: 400;
}

/* Titoli principali generati dai template Nextawards */
body.page main article > h1,
body.single main article > h1 {
    font-family: "Belleza", Georgia, serif;
    font-weight: 400;
}

/* Menu e pulsanti */
nav,
nav a,
.wp-block-button__link,
button,
input[type="submit"] {
    font-family: "Source Sans 3", Arial, sans-serif;
}


/* =========================================================
   HEADER
   ========================================================= */

/* Limita il contenuto principale dell'header a 1200 px e lo centra */
.header__content {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
}


/* =========================================================
   PULSANTI
   ========================================================= */

/* Pulsanti principali */
body .wp-block-button:not(.is-style-outline):not(.is-style-secondary-button)
    .wp-block-button__link,
body .wp-block-button__link.wp-element-button:not(.is-style-outline),
body input[type="submit"],
body input[type="button"],
body .button {
    background-color: var(--sdi-pri-bor-00) !important;
    color: var(--sdi-pri-bia-00);
    border: 1px solid var(--sdi-pri-bor-00);
    border-radius: 6px;
    font-family: "Source Sans 3", Arial, sans-serif;
    font-weight: 600;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

/* Hover e focus */
body .wp-block-button:not(.is-style-outline):not(.is-style-secondary-button)
    .wp-block-button__link:hover,
body .wp-block-button:not(.is-style-outline):not(.is-style-secondary-button)
    .wp-block-button__link:focus,
body .wp-block-button__link.wp-element-button:not(.is-style-outline):hover,
body .wp-block-button__link.wp-element-button:not(.is-style-outline):focus,
body input[type="submit"]:hover,
body input[type="submit"]:focus,
body input[type="button"]:hover,
body input[type="button"]:focus,
body .button:hover,
body .button:focus {
    background-color: var(--sdi-pri-bor-10) !important;
    border-color: var(--sdi-pri-bor-10);
    color: var(--sdi-pri-bia-00);
}

/* Pulsanti outline */
body .wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    color: var(--sdi-pri-bor-00);
    border-color: var(--sdi-pri-bor-00);
}

body .wp-block-button.is-style-outline .wp-block-button__link:hover,
body .wp-block-button.is-style-outline .wp-block-button__link:focus {
    background-color: var(--sdi-pri-bor-00) !important;
    color: var(--sdi-pri-bia-00);
}


/* =========================================================
   PULSANTE RAPIDO NELL'HEADER
   ========================================================= */

.header__quick .evi > a,
.header__quick li.evi > a {
    background-color: var(--sdi-pri-bor-00) !important;
    color: var(--sdi-pri-bia-00) !important;
}

.header__quick .evi > a:hover,
.header__quick .evi > a:focus,
.header__quick li.evi > a:hover,
.header__quick li.evi > a:focus {
    background-color: var(--sdi-pri-ner-00) !important;
    color: var(--sdi-pri-bia-00) !important;
}


/* =========================================================
   PAGINA CORSI/FORMAZIONE
   ========================================================= */

.sdi-courses-section {
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
    padding: clamp(48px, 7vw, 90px) 20px;
    box-sizing: border-box;
}

/* Introduzione alla pagina */
.sdi-courses-intro {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(320px, 1.2fr);
    gap: clamp(30px, 6vw, 80px);
    align-items: end;
    margin-bottom: 42px;
}

.sdi-courses-intro h1 {
    margin: 0;
    font-size: clamp(3.2rem, 7vw, 6.5rem);
    line-height: 0.95;
}

.sdi-eyebrow {
    margin: 0 0 14px;
    color: var(--sdi-pri-bor-00);
    font-family: "Belleza", Georgia, serif;
    font-size: 0.85rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sdi-courses-description {
    margin: 0;
    color: var(--sdi-sec-gsc-00);
    font-size: 1.05rem;
}


/* Griglia generale: due colonne indipendenti */
.sdi-course-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
    width: 100%;
}

/* Colonna autonoma di discipline */
.sdi-course-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    min-width: 0;
}


/*
 * Ogni disciplina occupa tutta la propria cella.
 * Il blocco principale contiene direttamente il titolo e l'elenco dei corsi.
 */
.sdi-discipline-group {
    display: block;
    align-self: start;
    width: 100%;
    min-width: 0;
    margin-inline: 0 !important;
}

.sdi-discipline-main {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 20px;
    border: 1px solid rgba(17, 17, 17, 0.25);
    border-radius: 14px;
    color: var(--sdi-pri-bia-00);
    box-shadow: 0 10px 24px rgba(17, 17, 17, 0.07);
    box-sizing: border-box;
}

.sdi-discipline-main > h2 {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    color: inherit;
    font-size: clamp(1.55rem, 2.5vw, 2rem);
    line-height: 1.05;
    text-align: left !important;
    align-self: stretch;
}

.sdi-discipline-main > h2 a {
    color: inherit;
    text-decoration: none;
}

.sdi-discipline-main > h2 a:hover,
.sdi-discipline-main > h2 a:focus {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.sdi-discipline-main {
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.sdi-discipline-main:hover {
    box-shadow: 0 14px 30px rgba(17, 17, 17, 0.10);
}

/* Descrizione sintetica della disciplina */
.sdi-discipline-description {
    margin: 8px 0 0;
    color: inherit;
    font-family: "Source Sans 3", Arial, sans-serif;
    font-size: 0.95rem;
    line-height: 1.4;
}


/* Elenco dei corsi incluso nella card della disciplina */
.sdi-course-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    min-width: 0;
    margin-top: 12px;
    align-content: start;
}

.sdi-course-list > * {
    width: 100%;
    max-width: none;
    min-width: 0;
}

/* Neutralizza il margine globale WordPress tra le card dei corsi */
.sdi-course-list > .sdi-course-card {
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}

/* Mantiene un margine leggermente più ampio dopo l'ultimo corso */
.sdi-course-list > .sdi-course-card:last-child {
    margin-bottom: 8px !important;
}


/* Neutralizza gli spazi automatici dei Gruppi WordPress */
.sdi-course-grid > .sdi-course-column,
.sdi-course-column > .sdi-discipline-group {
    width: 100%;
    max-width: none !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}


/* Card del singolo corso */
.sdi-course-card {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    padding: 10px 14px;
    border: 1px solid rgba(17, 17, 17, 0.25);
    border-radius: 8px;
    color: var(--sdi-pri-ner-00);
    box-shadow: 0 7px 18px rgba(17, 17, 17, 0.05);
    box-sizing: border-box;
}

.sdi-course-card h3 {
    margin: 0;
    color: inherit;
    line-height: 1.1;
}


.sdi-course-card h3 a {
    color: inherit;
    text-decoration: none;
}

.sdi-course-card h3 a:hover,
.sdi-course-card h3 a:focus {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.sdi-course-card {
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.sdi-course-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(17, 17, 17, 0.10);
}


.sdi-course-card {
    position: relative;
}

.sdi-course-card h3 a::after {
    content: "";
    position: absolute;
    inset: 0;
}


.sdi-course-meta {
    margin: 4px 0 0;
    color: inherit;
    font-family: "Source Sans 3", Arial, sans-serif;
    font-size: 0.78rem;
    line-height: 1.25;
    opacity: 0.82;
}

/* Assicura che lista e card usino tutta la larghezza disponibile */
.sdi-discipline-main > .sdi-course-list,
.sdi-course-list > .sdi-course-card {
    width: 100%;
    max-width: none !important;
}

/* Tablet */
@media (max-width: 1050px) {
    .sdi-course-grid {
        grid-template-columns: 1fr;
    }
}

/* Smartphone */
@media (max-width: 700px) {
    .sdi-courses-section {
        padding: 40px 16px;
    }

    .sdi-courses-intro {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sdi-discipline-main {
        padding: 16px;
    }

   .sdi-course-list {
        margin-top: 12px;
    }
}


/* =========================================================
   CLASSI COLORE DELLE DISCIPLINE
   ========================================================= */

/* Viola */
.sdi-dis-vio-00 {
    background-color: var(--sdi-dis-vio-00);
}

.sdi-dis-vio-01 {
    background-color: var(--sdi-dis-vio-01);
}

.sdi-dis-vio-02 {
    background-color: var(--sdi-dis-vio-02);
}

.sdi-dis-vio-03 {
    background-color: var(--sdi-dis-vio-03);
}

.sdi-dis-vio-04 {
    background-color: var(--sdi-dis-vio-04);
}

.sdi-dis-vio-05 {
    background-color: var(--sdi-dis-vio-05);
}

.sdi-dis-vio-06 {
    background-color: var(--sdi-dis-vio-06);
}

.sdi-dis-vio-07 {
    background-color: var(--sdi-dis-vio-07);
}

.sdi-dis-vio-08 {
    background-color: var(--sdi-dis-vio-08);
}

.sdi-dis-vio-09 {
    background-color: var(--sdi-dis-vio-09);
}

.sdi-dis-vio-10 {
    background-color: var(--sdi-dis-vio-10);
}

/* Rosa */
.sdi-dis-ros-00 {
    background-color: var(--sdi-dis-ros-00);
}

.sdi-dis-ros-01 {
    background-color: var(--sdi-dis-ros-01);
}

.sdi-dis-ros-02 {
    background-color: var(--sdi-dis-ros-02);
}

.sdi-dis-ros-03 {
    background-color: var(--sdi-dis-ros-03);
}

.sdi-dis-ros-04 {
    background-color: var(--sdi-dis-ros-04);
}

.sdi-dis-ros-05 {
    background-color: var(--sdi-dis-ros-05);
}

.sdi-dis-ros-06 {
    background-color: var(--sdi-dis-ros-06);
}

.sdi-dis-ros-07 {
    background-color: var(--sdi-dis-ros-07);
}

.sdi-dis-ros-08 {
    background-color: var(--sdi-dis-ros-08);
}

.sdi-dis-ros-09 {
    background-color: var(--sdi-dis-ros-09);
}

.sdi-dis-ros-10 {
    background-color: var(--sdi-dis-ros-10);
}

/* Terracotta */
.sdi-dis-ter-00 {
    background-color: var(--sdi-dis-ter-00);
}

.sdi-dis-ter-01 {
    background-color: var(--sdi-dis-ter-01);
}

.sdi-dis-ter-02 {
    background-color: var(--sdi-dis-ter-02);
}

.sdi-dis-ter-03 {
    background-color: var(--sdi-dis-ter-03);
}

.sdi-dis-ter-04 {
    background-color: var(--sdi-dis-ter-04);
}

.sdi-dis-ter-05 {
    background-color: var(--sdi-dis-ter-05);
}

.sdi-dis-ter-06 {
    background-color: var(--sdi-dis-ter-06);
}

.sdi-dis-ter-07 {
    background-color: var(--sdi-dis-ter-07);
}

.sdi-dis-ter-08 {
    background-color: var(--sdi-dis-ter-08);
}

.sdi-dis-ter-09 {
    background-color: var(--sdi-dis-ter-09);
}

.sdi-dis-ter-10 {
    background-color: var(--sdi-dis-ter-10);
}

/* Ocra */
.sdi-dis-ocr-00 {
    background-color: var(--sdi-dis-ocr-00);
}

.sdi-dis-ocr-01 {
    background-color: var(--sdi-dis-ocr-01);
}

.sdi-dis-ocr-02 {
    background-color: var(--sdi-dis-ocr-02);
}

.sdi-dis-ocr-03 {
    background-color: var(--sdi-dis-ocr-03);
}

.sdi-dis-ocr-04 {
    background-color: var(--sdi-dis-ocr-04);
}

.sdi-dis-ocr-05 {
    background-color: var(--sdi-dis-ocr-05);
}

.sdi-dis-ocr-06 {
    background-color: var(--sdi-dis-ocr-06);
}

.sdi-dis-ocr-07 {
    background-color: var(--sdi-dis-ocr-07);
}

.sdi-dis-ocr-08 {
    background-color: var(--sdi-dis-ocr-08);
}

.sdi-dis-ocr-09 {
    background-color: var(--sdi-dis-ocr-09);
}

.sdi-dis-ocr-10 {
    background-color: var(--sdi-dis-ocr-10);
}

/* Verde oliva */
.sdi-dis-oli-00 {
    background-color: var(--sdi-dis-oli-00);
}

.sdi-dis-oli-01 {
    background-color: var(--sdi-dis-oli-01);
}

.sdi-dis-oli-02 {
    background-color: var(--sdi-dis-oli-02);
}

.sdi-dis-oli-03 {
    background-color: var(--sdi-dis-oli-03);
}

.sdi-dis-oli-04 {
    background-color: var(--sdi-dis-oli-04);
}

.sdi-dis-oli-05 {
    background-color: var(--sdi-dis-oli-05);
}

.sdi-dis-oli-06 {
    background-color: var(--sdi-dis-oli-06);
}

.sdi-dis-oli-07 {
    background-color: var(--sdi-dis-oli-07);
}

.sdi-dis-oli-08 {
    background-color: var(--sdi-dis-oli-08);
}

.sdi-dis-oli-09 {
    background-color: var(--sdi-dis-oli-09);
}

.sdi-dis-oli-10 {
    background-color: var(--sdi-dis-oli-10);
}

/* Verde petrolio */
.sdi-dis-pet-00 {
    background-color: var(--sdi-dis-pet-00);
}

.sdi-dis-pet-01 {
    background-color: var(--sdi-dis-pet-01);
}

.sdi-dis-pet-02 {
    background-color: var(--sdi-dis-pet-02);
}

.sdi-dis-pet-03 {
    background-color: var(--sdi-dis-pet-03);
}

.sdi-dis-pet-04 {
    background-color: var(--sdi-dis-pet-04);
}

.sdi-dis-pet-05 {
    background-color: var(--sdi-dis-pet-05);
}

.sdi-dis-pet-06 {
    background-color: var(--sdi-dis-pet-06);
}

.sdi-dis-pet-07 {
    background-color: var(--sdi-dis-pet-07);
}

.sdi-dis-pet-08 {
    background-color: var(--sdi-dis-pet-08);
}

.sdi-dis-pet-09 {
    background-color: var(--sdi-dis-pet-09);
}

.sdi-dis-pet-10 {
    background-color: var(--sdi-dis-pet-10);
}

/* Blu */
.sdi-dis-blu-00 {
    background-color: var(--sdi-dis-blu-00);
}

.sdi-dis-blu-01 {
    background-color: var(--sdi-dis-blu-01);
}

.sdi-dis-blu-02 {
    background-color: var(--sdi-dis-blu-02);
}

.sdi-dis-blu-03 {
    background-color: var(--sdi-dis-blu-03);
}

.sdi-dis-blu-04 {
    background-color: var(--sdi-dis-blu-04);
}

.sdi-dis-blu-05 {
    background-color: var(--sdi-dis-blu-05);
}

.sdi-dis-blu-06 {
    background-color: var(--sdi-dis-blu-06);
}

.sdi-dis-blu-07 {
    background-color: var(--sdi-dis-blu-07);
}

.sdi-dis-blu-08 {
    background-color: var(--sdi-dis-blu-08);
}

.sdi-dis-blu-09 {
    background-color: var(--sdi-dis-blu-09);
}

.sdi-dis-blu-10 {
    background-color: var(--sdi-dis-blu-10);
}

/* Indaco */
.sdi-dis-ind-00 {
    background-color: var(--sdi-dis-ind-00);
}

.sdi-dis-ind-01 {
    background-color: var(--sdi-dis-ind-01);
}

.sdi-dis-ind-02 {
    background-color: var(--sdi-dis-ind-02);
}

.sdi-dis-ind-03 {
    background-color: var(--sdi-dis-ind-03);
}

.sdi-dis-ind-04 {
    background-color: var(--sdi-dis-ind-04);
}

.sdi-dis-ind-05 {
    background-color: var(--sdi-dis-ind-05);
}

.sdi-dis-ind-06 {
    background-color: var(--sdi-dis-ind-06);
}

.sdi-dis-ind-07 {
    background-color: var(--sdi-dis-ind-07);
}

.sdi-dis-ind-08 {
    background-color: var(--sdi-dis-ind-08);
}

.sdi-dis-ind-09 {
    background-color: var(--sdi-dis-ind-09);
}

.sdi-dis-ind-10 {
    background-color: var(--sdi-dis-ind-10);
}

/* =========================================================
   CONTRASTO DEL TESTO NELLE CARD
   ========================================================= */

/* Il titolo della disciplina utilizza sempre il bianco */
.sdi-discipline-main > h2 {
    color: var(--sdi-pri-bia-00);
}

/*
 * Le card dei corsi usano testo scuro come impostazione predefinita.
 * La regola è esplicita per evitare che ereditino il bianco dalla disciplina.
 */
.sdi-discipline-main .sdi-course-card {
    color: var(--sdi-pri-ner-00);
}

.sdi-discipline-main .sdi-course-card h3,
.sdi-discipline-main .sdi-course-card .sdi-course-meta {
    color: inherit;
}

/* Testo bianco soltanto sulle tonalità più scure */
.sdi-course-card.sdi-dis-vio-00,
.sdi-course-card.sdi-dis-vio-01,
.sdi-course-card.sdi-dis-vio-02,
.sdi-course-card.sdi-dis-vio-03,
.sdi-course-card.sdi-dis-vio-04,
.sdi-course-card.sdi-dis-ros-00,
.sdi-course-card.sdi-dis-ros-01,
.sdi-course-card.sdi-dis-ros-02,
.sdi-course-card.sdi-dis-ter-00,
.sdi-course-card.sdi-dis-ter-01,
.sdi-course-card.sdi-dis-ocr-00,
.sdi-course-card.sdi-dis-ocr-01,
.sdi-course-card.sdi-dis-oli-00,
.sdi-course-card.sdi-dis-oli-01,
.sdi-course-card.sdi-dis-oli-02,
.sdi-course-card.sdi-dis-pet-00,
.sdi-course-card.sdi-dis-pet-01,
.sdi-course-card.sdi-dis-pet-02,
.sdi-course-card.sdi-dis-pet-03,
.sdi-course-card.sdi-dis-blu-00,
.sdi-course-card.sdi-dis-blu-01,
.sdi-course-card.sdi-dis-blu-02,
.sdi-course-card.sdi-dis-blu-03,
.sdi-course-card.sdi-dis-blu-04,
.sdi-course-card.sdi-dis-ind-00,
.sdi-course-card.sdi-dis-ind-01,
.sdi-course-card.sdi-dis-ind-02,
.sdi-course-card.sdi-dis-ind-03,
.sdi-course-card.sdi-dis-ind-04 {
    color: var(--sdi-pri-bia-00);
}


/* =========================================================
   SCHEDA INSEGNANTE
   ========================================================= */

.sdi-teacher {
    width: 100%;
}

.sdi-teacher::after {
    content: "";
    display: table;
    clear: both;
}

.sdi-teacher-photo,
.sdi-teacher-photo-left,
.sdi-teacher-photo-right {
    width: 400px;
    height: 400px;
    border-radius: 50%;
    overflow: hidden;

    /* Il testo segue una forma leggermente più larga del cerchio */
    shape-outside: ellipse(55% 50% at 50% 50%);
    shape-margin: 12px;
}

.sdi-teacher-photo,
.sdi-teacher-photo-left {
    float: left;
    margin: 0 32px 20px 0;
}

.sdi-teacher-photo-right {
    float: right;
    margin: 0 0 20px 32px;
}

.sdi-teacher-photo img,
.sdi-teacher-photo-left img,
.sdi-teacher-photo-right img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* Tablet */
@media (max-width: 900px) {
    .sdi-teacher-photo,
    .sdi-teacher-photo-left,
    .sdi-teacher-photo-right {
        width: 250px;
        height: 250px;
    }
}

/* Smartphone */
@media (max-width: 700px) {
    .sdi-teacher-photo,
    .sdi-teacher-photo-left,
    .sdi-teacher-photo-right {
        float: none;
        width: 220px;
        height: 220px;
        margin: 0 auto 20px;
        shape-outside: none;
    }
}


/* =========================================================
   DETTAGLIO CORSO
   ========================================================= */

.sdi-course-detail {
    display: grid;
    grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1.3fr);
    gap: clamp(24px, 4vw, 48px);
    align-items: center;

    width: 100%;
    padding: clamp(20px, 3vw, 32px);

    border: 1px solid rgba(17, 17, 17, 0.18);
    border-radius: 16px;
    box-shadow: 0 10px 28px rgba(17, 17, 17, 0.06);

    box-sizing: border-box;
	
	scroll-margin-top: 140px;
}

.sdi-course-detail-image {
    width: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
}

.sdi-course-detail-image img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 5;
    object-fit: cover;
}

.sdi-course-detail-content {
    width: 100%;
    min-width: 0;
}

.sdi-course-detail-content h2 {
    margin: 0;
    color: var(--sdi-pri-ner-00);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
}

.sdi-course-detail-meta {
    margin: 8px 0 0;
    color: var(--sdi-sec-gsc-00);
    font-size: 0.95rem;
    font-weight: 600;
}

.sdi-course-detail-description {
    margin: 20px 0 0;
    color: var(--sdi-pri-ner-00);
    font-size: 1rem;
    line-height: 1.55;
}

.sdi-course-detail-content .wp-block-buttons {
    margin-top: 24px;
}

@media (max-width: 800px) {
    .sdi-course-detail {
        grid-template-columns: 1fr;
		scroll-margin-top: 100px;
    }

    .sdi-course-detail-image img {
        aspect-ratio: 16 / 10;
    }
}

/* =========================================================
   TYPOGRAPHY — H2
   ========================================================= */

h2 {
    color: var(--sdi-pri-bor-00);
}
