/* Stili warin applicabili dal dropdown "Formati" del Classic Editor */

/* pagina light anche con browser in dark mode (niente flash scuro al load) */
:root {
    color-scheme: light;
}

/* Sottotitolo nel banner (articoli e corsi): sempre Lora corsivo */
.single .ast-single-entry-banner .ast-container > p,
.single .ast-single-entry-banner .wa-sottotitolo {
    font-family: Lora, serif !important;
    font-style: italic;
}

/* Data evento (ACF) dei corsi — kicker sopra il sottotitolo */
.single .ast-single-entry-banner .wa-data-evento {
    display: block;
    font-family: Sora, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 0.75rem;
    line-height: 1.4;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #D89578;
    margin-bottom: 0.9em;
}
.archive .wa-data-evento, .blog .wa-data-evento {
    display: block;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.7rem;
    line-height: 1.4;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color: #B45F3D;
    margin-bottom: 0.4em;
}

/* Hero corso: ordine data -> titolo -> sottotitolo -> chip tipologia.
   Il paragrafo dell'estratto viene "sciolto" (display:contents) cosi' gli span
   diventano item flex del banner e si ordinano liberamente. */
.single-corso .ast-single-entry-banner .ast-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}
.single-corso .ast-single-entry-banner .ast-container > * {
    margin-bottom: 0 !important;
}
.single-corso .ast-single-entry-banner .ast-container > p:has(.wa-data-evento),
.single-corso .ast-single-entry-banner .ast-container > p:has(.wa-sottotitolo) {
    display: contents;
}
.single-corso .ast-single-entry-banner .wa-data-evento {
    order: -1;
    margin: 0;
    display: inline-block;
    background: #B45F3D;
    color: #FBF8F2;
    border-radius: 999px;
    padding: 0.6em 1.5em;
}
.single-corso .ast-single-entry-banner .entry-title {
    order: 0;
}
.single-corso .ast-single-entry-banner .wa-sottotitolo {
    order: 1;
    display: block;
    max-width: 720px;
}
.single-corso .ast-single-entry-banner .wa-tipologia-corso {
    order: 2;
    margin: 0;
    border: none;
    border-radius: 0;
    padding: 0;
    color: #FBF8F2;
}
.single-corso .ast-single-entry-banner .wa-tipologia-corso::before,
.single-corso .ast-single-entry-banner .wa-tipologia-corso::after {
    content: "";
    display: inline-block;
    width: 26px;
    height: 1px;
    background: rgba(216, 149, 120, 0.65);
    vertical-align: middle;
    margin: 0 12px;
}

/* Tipologia corso — chip kicker in coda al banner e nelle liste */
.wa-tipologia-corso {
    display: inline-block;
    font-family: Sora, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 0.68rem;
    line-height: 1.4;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #D89578;
    border: 1px solid rgba(216, 149, 120, 0.45);
    border-radius: 999px;
    padding: 0.55em 1.4em;
}
.single-corso .ast-single-entry-banner .ast-container > p:has(.wa-tipologia-corso) {
    margin-top: 0.4em;
}
/* Card evento negli archivi: data ACF al posto della data di pubblicazione,
   ordine data -> titolo -> sottotitolo -> tipologia -> vai all'evento */
.archive .type-corso .ast-blog-meta-container, .blog .type-corso .ast-blog-meta-container {
    display: none;
}
.archive .type-corso .post-content, .blog .type-corso .post-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.archive .type-corso .ast-excerpt-container, .blog .type-corso .ast-excerpt-container,
.archive .type-corso .ast-excerpt-container > p:has(.wa-data-evento),
.blog .type-corso .ast-excerpt-container > p:has(.wa-data-evento) {
    display: contents;
}
.archive .type-corso .wa-data-evento, .blog .type-corso .wa-data-evento {
    order: -1;
    margin-bottom: 0.6em;
}
.archive .type-corso .entry-title, .blog .type-corso .entry-title {
    order: 0;
}
.archive .type-corso .wa-sottotitolo, .blog .type-corso .wa-sottotitolo {
    order: 1;
    display: block;
    font-family: Lora, serif !important;
    font-style: italic;
    font-size: 1.15rem;
    line-height: 1.6;
    color: #2B251D;
}
.archive .type-corso .wa-tipologia-corso, .blog .type-corso .wa-tipologia-corso {
    order: 2;
    display: block;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0.7em 0 0;
    color: #B45F3D;
}
.archive .type-corso .ast-excerpt-container > p:has(.wa-read-more),
.blog .type-corso .ast-excerpt-container > p:has(.wa-read-more) {
    order: 3;
    margin-top: 1.1em;
}

/* tipologia nella hero corso su mobile: piu' piccola e centrata */
@media (max-width: 700px) {
    /* hero quasi 9:16 su mobile (singoli e archivi) */
    .single .ast-single-entry-banner,
    .archive .ast-archive-entry-banner,
    .blog .ast-archive-entry-banner {
        min-height: 82vh !important;
        min-height: 82svh !important;
    }
    /* sottotitolo hero piu' grande (l'impostazione mobile Astra non genera la regola) */
    .single .ast-single-entry-banner .ast-container > p,
    .single .ast-single-entry-banner .wa-sottotitolo {
        font-size: 22px !important;
        line-height: 1.55;
    }
    .single-corso .ast-single-entry-banner .wa-tipologia-corso {
        display: block;
        font-size: 0.62rem;
        letter-spacing: 1.4px;
        text-align: center;
    }
    .single-corso .ast-single-entry-banner .wa-tipologia-corso::before,
    .single-corso .ast-single-entry-banner .wa-tipologia-corso::after {
        width: 14px;
        margin: 0 7px;
    }
}

/* — Sezione CTA iscrizione dei corsi: hero scura full-bleed — */
.wa-evento-cta {
    width: 100vw;
    margin: 4em 0 0 calc(50% - 50vw);
    background: #182028;
    border-top: 1px solid rgba(216, 149, 120, 0.28);
    border-bottom: 1px solid rgba(216, 149, 120, 0.28);
    padding: 5.5em 1.5em 6em;
    text-align: center;
}
/* niente striscia crema tra la CTA e il footer */
.single-corso #primary {
    margin-bottom: 0 !important;
}
.single-corso .ast-article-single {
    padding-bottom: 0 !important;
}
.wa-evento-cta-inner {
    max-width: 680px;
    margin: 0 auto;
}
.wa-evento-cta .wa-cta-kicker {
    display: block;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.75rem;
    letter-spacing: 2.2px;
    text-transform: uppercase;
    color: #D89578;
    margin-bottom: 1.2em;
}
.wa-evento-cta .wa-cta-titolo {
    font-family: Lora, serif;
    font-weight: 400;
    font-size: 3.2rem;
    line-height: 1.08;
    letter-spacing: -1.2px;
    color: #FBF8F2;
    margin: 0 0 0.45em;
}
.wa-evento-cta .wa-cta-titolo::after {
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    background: #B45F3D;
    margin: 0.55em auto 0;
}
.wa-evento-cta .wa-cta-intro {
    font-family: Sora, sans-serif;
    font-size: 1rem;
    line-height: 1.75;
    color: rgba(251, 248, 242, 0.78);
    max-width: 560px;
    margin: 0 auto 2.6em;
}
.wa-evento-cta .wa-cta-card-wrap {
    position: relative;
}
.wa-evento-cta .wa-cta-badge {
    display: block;
    width: min(88%, 580px);
    position: relative;
    z-index: 1;
    background: #B45F3D;
    color: #FBF8F2;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.78rem;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    text-align: center;
    padding: 0.95em 1em;
    border-radius: 999px;
    margin: 0 auto -1.35em;
}
.wa-evento-cta .wa-cta-card {
    background: rgba(251, 248, 242, 0.05);
    border: 1px solid rgba(251, 248, 242, 0.14);
    border-radius: 20px;
    padding: 3em 2.6em 2.4em;
}
.wa-evento-cta .wa-cta-prezzo {
    font-family: Lora, serif;
    font-size: 3.4rem;
    line-height: 1.1;
    color: #FBF8F2;
}
.wa-evento-cta .wa-cta-prezzo-note {
    font-family: Sora, sans-serif;
    font-size: 0.9rem;
    color: rgba(251, 248, 242, 0.65);
    margin: 0.7em 0 0;
}
.wa-evento-cta .wa-cta-incluso {
    list-style: none;
    text-align: left;
    max-width: 480px;
    margin: 1.8em auto 2.2em;
    padding: 0;
}
.wa-evento-cta .wa-cta-incluso li {
    position: relative;
    padding: 0.8em 0 0.8em 2.1em;
    font-family: Sora, sans-serif;
    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(251, 248, 242, 0.88);
    border-bottom: 1px solid rgba(251, 248, 242, 0.1);
}
.wa-evento-cta .wa-cta-incluso li:last-child {
    border-bottom: none;
}
.wa-evento-cta .wa-cta-incluso li::before {
    content: "\2714";
    position: absolute;
    left: 0;
    top: 0.75em;
    font-weight: 700;
    color: #D89578;
}
.wa-evento-cta .wa-cta-big {
    display: inline-block;
    background: #B45F3D;
    color: #FBF8F2 !important;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 1.05em 2.6em;
    border-radius: 999px;
    text-decoration: none !important;
    transition: background 0.25s ease, transform 0.25s ease;
}
.wa-evento-cta .wa-cta-big:hover {
    background: #9D4F31;
    transform: scale(1.04);
}
/* Card col form Brevo (corsi gratuiti): input leggibili sul fondo scuro */
.wa-evento-cta .wa-cta-card-form {
    padding: 2.8em 2.2em 2.2em;
}
.wa-evento-cta .wa-cta-card-form input[type="text"],
.wa-evento-cta .wa-cta-card-form input[type="email"] {
    background: #FBF8F2 !important;
    border: 1px solid rgba(43, 37, 29, 0.2) !important;
    border-radius: 10px !important;
    color: #2B251D !important;
    font-family: Sora, sans-serif !important;
    font-size: 16px; /* sotto i 16px iOS zooma al focus */
    height: 52px;
    padding: 0 1.2em !important;
    width: 100%;
}
.wa-evento-cta .wa-cta-card-form input::placeholder {
    color: rgba(43, 37, 29, 0.45) !important;
    opacity: 1;
}
.wa-evento-cta .wa-cta-card-form label,
.wa-evento-cta .wa-cta-card-form p {
    color: rgba(251, 248, 242, 0.85);
    font-family: Sora, sans-serif;
}
.wa-evento-cta .wa-cta-card-form input[type="submit"],
.wa-evento-cta .wa-cta-card-form button[type="submit"] {
    background: #B45F3D !important;
    color: #FBF8F2 !important;
    font-family: Sora, sans-serif !important;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    height: 52px;
    padding: 0 2.2em !important;
    border: none !important;
    border-radius: 10px !important;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease;
}
.wa-evento-cta .wa-cta-card-form input[type="submit"]:hover,
.wa-evento-cta .wa-cta-card-form button[type="submit"]:hover {
    background: #9D4F31 !important;
    transform: translateY(-1px);
}

/* Form Brevo nativo */
.wa-brevo-form .wa-brevo-row {
    display: flex;
    gap: 12px;
    max-width: 520px;
    margin: 0 auto;
}
.wa-brevo-form input[name="wa_email"] {
    flex: 1;
}
.wa-brevo-form input[name="wa_hp"] {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.wa-brevo-form .wa-brevo-msg {
    margin: 1.1em 0 0;
    font-family: Sora, sans-serif;
    font-size: 0.9rem;
}
.wa-brevo-form .wa-brevo-msg.ok {
    color: rgba(251, 248, 242, 0.9);
}
.wa-brevo-form .wa-brevo-msg.err {
    color: #E2AD91;
}
@media (max-width: 560px) {
    .wa-brevo-form .wa-brevo-row {
        flex-direction: column;
    }
    /* in colonna flex:1 (basis 0) collasserebbe l'altezza dell'input */
    .wa-brevo-form input[name="wa_email"] {
        flex: 0 0 auto;
    }
    .wa-evento-cta .wa-cta-card-form input[type="text"],
    .wa-evento-cta .wa-cta-card-form input[type="email"] {
        height: 56px;
    }
    .wa-evento-cta .wa-cta-card-form input[type="submit"],
    .wa-evento-cta .wa-cta-card-form button[type="submit"] {
        width: 100%;
        height: 56px;
    }
}

.wa-evento-cta .wa-cta-micronota {
    font-family: Sora, sans-serif;
    font-size: 0.78rem;
    letter-spacing: 0.4px;
    color: rgba(251, 248, 242, 0.5);
    margin: 1.4em 0 0;
}
@media (max-width: 700px) {
    .wa-evento-cta .wa-cta-titolo { font-size: 2.2rem; }
    .wa-evento-cta .wa-cta-card { padding: 2.6em 1.4em 2em; }
    .wa-evento-cta .wa-cta-prezzo { font-size: 2.6rem; }
}

/* Override delle regole-articolo che filtrano dentro la sezione CTA
   (h2 scuro con margine alto, pallini terracotta sulle liste) */
.single .entry-content .wa-evento-cta .wa-cta-titolo {
    color: #FBF8F2;
    font-size: 3.2rem;
    letter-spacing: -1.2px;
    margin-top: 0;
    margin-bottom: 0.45em;
}
.single .entry-content .wa-evento-cta .wa-cta-kicker {
    margin-bottom: 1.4em;
}
.single .entry-content .wa-evento-cta ul.wa-cta-incluso {
    list-style: none;
    padding: 0;
    margin: 1.8em auto 2.2em;
    max-width: 480px;
}
.single .entry-content .wa-evento-cta .wa-cta-incluso li {
    padding: 0.8em 0 0.8em 2.1em;
    margin: 0;
}
.single .entry-content .wa-evento-cta .wa-cta-incluso li::before {
    content: "\2714";
    position: absolute;
    left: 0;
    top: 0.75em;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    font-family: Sora, sans-serif;
    font-weight: 700;
    font-size: 1em;
    color: #D89578;
}
@media (max-width: 700px) {
    .single .entry-content .wa-evento-cta .wa-cta-titolo { font-size: 2.2rem; }
}

/* Card citazione — sfondo crema scuro, virgolette terracotta, testo Lora corsivo */
.wa-quote-card {
    background: #E9DFCF;
    border-radius: 16px;
    padding: 2.6em 2.4em 2em;
    margin: 2.4em auto;
    text-align: center;
}
.wa-quote-card::before {
    content: "\201C";
    display: block;
    font-family: Lora, serif;
    font-size: 3.4rem;
    line-height: 0.6;
    color: #B45F3D;
    margin-bottom: 0.35em;
}
.wa-quote-card p {
    font-family: Lora, serif;
    font-style: italic;
    font-size: 1.45rem;
    line-height: 1.55;
    color: #2B251D;
    margin: 0 0 0.8em;
}
.wa-quote-card p:last-child {
    margin-bottom: 0;
}

/* Etichetta piccola (kicker) — anche dentro la card citazione */
p.wa-kicker,
.wa-quote-card p.wa-kicker {
    font-family: Sora, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 0.72rem;
    line-height: 1.4;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #8A7B66;
}

/* Paragrafo lead — attacco d'articolo piu' grande, Lora corsivo */
p.wa-lead {
    font-family: Lora, serif;
    font-style: italic;
    font-size: 1.35rem;
    line-height: 1.6;
    color: #2B251D;
}

/* Box bordato — pannello con filetto sottile */
.wa-frame {
    border: 1px solid rgba(43, 37, 29, 0.18);
    border-radius: 14px;
    padding: 1.6em 1.8em;
    margin: 2em auto;
}

/* Nota piccola — micro-nota di servizio */
p.wa-note {
    font-family: Sora, sans-serif;
    font-size: 0.8rem;
    letter-spacing: 0.4px;
    color: #8A7B66;
}

/* Bottone CTA — pill terracotta */
a.wa-cta {
    display: inline-block;
    background: #B45F3D;
    color: #FBF8F2 !important;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 0.95em 2.2em;
    border-radius: 999px;
    text-decoration: none !important;
    transition: background 0.25s ease, transform 0.25s ease;
}
a.wa-cta:hover {
    background: #9D4F31;
    transform: scale(1.03);
}

/* Bottone CTA ghost — solo contorno */
a.wa-cta-ghost {
    display: inline-block;
    background: transparent;
    color: #2B251D !important;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 0.9em 2.2em;
    border: 1px solid rgba(43, 37, 29, 0.35);
    border-radius: 999px;
    text-decoration: none !important;
    transition: border-color 0.25s ease, color 0.25s ease;
}
a.wa-cta-ghost:hover {
    border-color: #B45F3D;
    color: #B45F3D !important;
}

/* Lista check in pannello — spunte terracotta e filetti tra le voci */
ul.wa-checklist {
    list-style: none;
    background: rgba(233, 223, 207, 0.35);
    border: 1px solid rgba(43, 37, 29, 0.12);
    border-radius: 16px;
    padding: 1.2em 1.8em;
    margin: 2em auto;
}
ul.wa-checklist li {
    position: relative;
    padding: 0.85em 0 0.85em 2.2em;
    margin: 0;
    border-bottom: 1px solid rgba(43, 37, 29, 0.08);
}
ul.wa-checklist li:last-child {
    border-bottom: none;
}
ul.wa-checklist li::before {
    content: "\2714";
    position: absolute;
    left: 0;
    top: 0.78em;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    font-family: Sora, sans-serif;
    font-weight: 700;
    font-size: 1em;
    color: #B45F3D;
}
/* override delle regole articolo (pallino terracotta) del Customizer */
.single .entry-content ul.wa-checklist {
    list-style: none;
    padding: 1.2em 1.8em;
    margin: 2em auto;
}
.single .entry-content ul.wa-checklist li {
    padding: 0.85em 0 0.85em 2.2em;
    margin-bottom: 0;
}
.single .entry-content ul.wa-checklist li::before {
    content: "\2714";
    left: 0;
    top: 0.78em;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    font-family: Sora, sans-serif;
    font-weight: 700;
    font-size: 1em;
    color: #B45F3D;
}

/* — LISTE — */
ul.wa-list-dot, ul.wa-list-check, ul.wa-list-lines, ol.wa-list-lines, ol.wa-list-num, ol.wa-list-kicker {
    list-style: none;
    padding-left: 4px;
    margin: 1.4em auto 1.8em;
}

/* pallino terracotta */
ul.wa-list-dot li { position: relative; padding-left: 28px; margin-bottom: 0.6em; }
ul.wa-list-dot li::before { content: ""; position: absolute; left: 2px; top: 0.6em; width: 8px; height: 8px; border-radius: 50%; background: #B45F3D; }

/* check senza pannello */
ul.wa-list-check li { position: relative; padding-left: 30px; margin-bottom: 0.6em; }
ul.wa-list-check li::before { content: "\2714"; position: absolute; left: 0; top: 0; font-family: Sora, sans-serif; font-weight: 700; color: #B45F3D; }

/* numerata elegante 1. 2. */
ol.wa-list-num { counter-reset: wa-num; }
ol.wa-list-num li { position: relative; padding-left: 42px; margin-bottom: 0.8em; counter-increment: wa-num; }
ol.wa-list-num li::before { content: counter(wa-num) "."; position: absolute; left: 0; top: -0.08em; font-family: Lora, serif; font-size: 1.35em; line-height: 1.3; color: #B45F3D; }

/* numerino kicker 01 · */
ol.wa-list-kicker { counter-reset: wa-kick; }
ol.wa-list-kicker li { position: relative; padding-left: 46px; margin-bottom: 0.8em; counter-increment: wa-kick; }
ol.wa-list-kicker li::before { content: counter(wa-kick, decimal-leading-zero) " ·"; position: absolute; left: 0; top: 0.3em; font-family: Sora, sans-serif; font-weight: 600; font-size: 0.72em; letter-spacing: 1.5px; color: #B45F3D; }

/* divisori orizzontali */
.wa-list-lines li { padding: 0.85em 2px; margin: 0; border-bottom: 1px solid rgba(43, 37, 29, 0.12); }
.wa-list-lines li:last-child { border-bottom: none; }

/* override dentro gli articoli (vincono sulle regole di default del Customizer) */
.single .entry-content ul.wa-list-check li { padding-left: 30px; }
.single .entry-content ul.wa-list-check li::before { content: "\2714"; left: 0; top: 0; width: auto; height: auto; border-radius: 0; background: none; font-family: Sora, sans-serif; font-weight: 700; font-size: 1em; color: #B45F3D; }
.single .entry-content ol.wa-list-num { counter-reset: wa-num; }
.single .entry-content ol.wa-list-num li { padding-left: 42px; counter-increment: wa-num; }
.single .entry-content ol.wa-list-num li::before { content: counter(wa-num) "."; left: 0; top: -0.08em; font-family: Lora, serif; font-weight: 400; font-size: 1.35em; letter-spacing: 0; color: #B45F3D; }
.single .entry-content ol.wa-list-kicker { counter-reset: wa-kick; }
.single .entry-content ol.wa-list-kicker li { padding-left: 46px; counter-increment: wa-kick; }
.single .entry-content ol.wa-list-kicker li::before { content: counter(wa-kick, decimal-leading-zero) " ·"; left: 0; top: 0.3em; font-size: 0.72em; letter-spacing: 1.5px; }
.single .entry-content ul.wa-list-lines li, .single .entry-content ol.wa-list-lines li { padding: 0.85em 2px; margin-bottom: 0; }
.single .entry-content ul.wa-list-lines li::before, .single .entry-content ol.wa-list-lines li::before { content: none; }

/* Bottone scuro notte */
a.wa-cta-dark {
    display: inline-block;
    background: #10191E;
    color: #FBF8F2 !important;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 0.95em 2.2em;
    border-radius: 999px;
    text-decoration: none !important;
    transition: background 0.25s ease, transform 0.25s ease;
}
a.wa-cta-dark:hover {
    background: #B45F3D;
    transform: scale(1.03);
}

/* Bottone testo con freccia */
a.wa-cta-arrow {
    display: inline-block;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #B45F3D !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(180, 95, 61, 0.4);
    padding-bottom: 2px;
}
a.wa-cta-arrow::after {
    content: "\2192";
    display: inline-block;
    margin-left: 8px;
    transition: transform 0.25s ease;
}
a.wa-cta-arrow:hover::after {
    transform: translateX(4px);
}

/* Capolettera */
p.wa-dropcap::first-letter {
    font-family: Lora, serif;
    font-size: 3.2em;
    line-height: 0.8;
    float: left;
    padding: 0.08em 0.12em 0 0;
    color: #B45F3D;
}

/* Didascalia immagine */
p.wa-caption {
    font-family: Lora, serif;
    font-style: italic;
    font-size: 0.88rem;
    color: #8A7B66;
    text-align: center;
}

/* Accento terracotta (inline) */
span.wa-terra {
    color: #B45F3D;
}

/* Filetto terracotta centrato — applicare a un paragrafo qualsiasi (es. "---"), il testo sparisce */
p.wa-rule {
    font-size: 0;
    line-height: 0;
    text-align: center;
    margin: 2.4em auto;
}
p.wa-rule::after {
    content: "";
    display: inline-block;
    width: 48px;
    height: 2px;
    background: #B45F3D;
}

/* Stella ornamentale centrata — come sopra, il testo del paragrafo sparisce */
p.wa-star {
    font-size: 0;
    line-height: 1;
    text-align: center;
    margin: 2.2em auto;
}
p.wa-star::after {
    content: "\2736";
    font-size: 1.1rem;
    color: #B45F3D;
}

/* Variante chiara del form Brevo (landing/pagine su fondo carta) */
.wa-brevo-light input[name="wa_email"] {
    background: #FFFFFF;
    border: 1px solid rgba(43, 37, 29, 0.25);
    border-radius: 10px;
    color: #2B251D;
    font-family: Sora, sans-serif;
    font-size: 16px;
    height: 52px;
    padding: 0 1.2em;
    width: 100%;
}
.wa-brevo-light input[name="wa_email"]::placeholder {
    color: rgba(43, 37, 29, 0.45);
    opacity: 1;
}
.wa-brevo-light button[type="submit"] {
    background: #B45F3D;
    color: #FBF8F2;
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    height: 52px;
    padding: 0 2.2em;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease;
}
.wa-brevo-light button[type="submit"]:hover {
    background: #9D4F31;
    transform: translateY(-1px);
}
.wa-brevo-light .wa-brevo-msg.ok {
    color: #4A4034;
}
.wa-brevo-light .wa-brevo-msg.err {
    color: #B45F3D;
}
@media (max-width: 560px) {
    .wa-brevo-light button[type="submit"] {
        width: 100%;
    }
}

/* Hero banner allineate alle pagine Elementor (92vh) + testo sopra il canvas FX */
@media (min-width: 701px) {
    .single .ast-single-entry-banner,
    .archive .ast-archive-entry-banner,
    .blog .ast-archive-entry-banner {
        min-height: 92vh !important;
    }
}
.single .ast-single-entry-banner .ast-container,
.ast-archive-entry-banner .ast-container {
    position: relative;
    z-index: 3 !important;
}

/* Header trasparente attivo ovunque: il vecchio margin -72px sugli hero
   delle landing ne tagliava 72px sopra il viewport. Azzerato. */
.e-con.fx-starfield, .e-con.fx-dust, .e-con.fx-constellation {
    margin-top: 0 !important;
}

/* — Commenti a tema — */
.single .comments-area {
    background: transparent;
}
.single .comments-title,
.single .comment-reply-title {
    font-family: Lora, serif !important;
    font-weight: 400;
    letter-spacing: -0.5px;
    color: #2B251D;
}
.single .ast-comment-list .comment-author a,
.single .ast-comment-list .comment-author b,
.single .ast-comment-list cite a,
.single .ast-comment-list cite,
.single .ast-comment-cite-wrap a {
    font-family: Sora, sans-serif;
    font-weight: 600;
    color: #2B251D !important;
    text-decoration: none;
}
.single .ast-comment-list .ast-comment-time,
.single .ast-comment-list .ast-comment-time a,
.single .ast-comment-list .comment-metadata a {
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.7rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #8A7B66 !important;
    text-decoration: none;
}
.single .ast-comment-list .avatar {
    border-radius: 50%;
}
.single .ast-comment-list .comment-content,
.single .ast-comment-list .comment-content p {
    font-family: Sora, sans-serif;
    color: #4A4034;
}
.single .comments-area .comment-reply-link,
.single .comments-area .comment-edit-link {
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-size: 0.78rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #B45F3D !important;
    text-decoration: none;
}
.single .comments-area .logged-in-as,
.single .comments-area .comment-notes {
    font-family: Sora, sans-serif;
    font-size: 0.9rem;
    color: #6F675B;
}
.single .comments-area .logged-in-as a {
    color: #B45F3D !important;
}
.single .comments-area #commentform textarea,
.single .comments-area #commentform input[type="text"],
.single .comments-area #commentform input[type="email"],
.single .comments-area #commentform input[type="url"] {
    background: #FFFFFF;
    border: 1px solid rgba(43, 37, 29, 0.25);
    border-radius: 10px;
    font-family: Sora, sans-serif;
    font-size: 16px;
    color: #2B251D;
}
.single .comments-area #commentform textarea:focus,
.single .comments-area #commentform input:focus {
    border-color: #B45F3D;
    outline: none;
}
.single .comments-area .form-submit .submit,
.single .comments-area #submit {
    background: #B45F3D !important;
    color: #FBF8F2 !important;
    font-family: Sora, sans-serif !important;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    padding: 1em 2.4em;
    border: none !important;
    border-radius: 999px !important;
    transition: background 0.25s ease, transform 0.25s ease;
}
.single .comments-area .form-submit .submit:hover,
.single .comments-area #submit:hover {
    background: #9D4F31 !important;
    transform: translateY(-1px);
}

/* autore e data commento: override sulle regole Astra piu' specifiche */
.single .comments-area cite {
    font-family: Sora, sans-serif;
    font-weight: 600;
    font-style: normal;
    color: #2B251D !important;
}
.single .comments-area .ast-comment-time,
.single .comments-area .ast-comment-time * {
    color: #8A7B66 !important;
}

/* niente navigazione precedente/successivo sui corsi */
.single-corso .post-navigation,
.single-corso .ast-single-post-navigation-wrapper,
.single-corso nav.navigation.post-navigation {
    display: none !important;
}

/* Corsi SENZA data (videocorsi): kicker tipologia coi trattini SOPRA il titolo */
.single-corso .ast-single-entry-banner .ast-container:not(:has(.wa-data-evento)) .wa-tipologia-corso {
    order: -1;
}
/* kicker tipologia sempre in Sora */
.single-corso .ast-single-entry-banner .wa-tipologia-corso {
    font-family: Sora, sans-serif !important;
}

/* Bottone CTA nella hero del corso: pieno, squadrato */
.single-corso .ast-single-entry-banner .wa-cta-hero {
    order: 3;
    display: inline-block;
    font-style: normal;
    background: #FBF8F2;
    color: #2B251D !important;
    font-family: Sora, sans-serif !important;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    padding: 0.95em 2.2em;
    border-radius: 6px;
    text-decoration: none !important;
    margin-top: 0.4em;
    transition: background 0.25s ease, transform 0.25s ease;
}
.single-corso .ast-single-entry-banner .wa-cta-hero:hover {
    background: #F4EFE6;
    transform: translateY(-1px);
}

/* ============================================================
   Hero categorie v2 — titolo grande come le landing,
   kicker (trattini arancioni) e sottotitolo dai campi ACF
   ============================================================ */
.ast-archive-entry-banner .ast-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}
.ast-archive-entry-banner .ast-container > * { margin: 0; }
.ast-archive-entry-banner .ast-archive-description,
.ast-archive-entry-banner .ast-archive-description p,
.ast-archive-entry-banner .ast-container > p:has(.wa-cat-kicker),
.ast-archive-entry-banner .ast-container > p:has(.wa-cat-sottotitolo) {
    display: contents;
}
.ast-archive-entry-banner h1 {
    order: 0;
    font-size: 76px !important;
    line-height: 1.02 !important;
    letter-spacing: -2.5px !important;
}
.wa-cat-kicker {
    order: -1;
    font-family: Sora, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 0.8rem;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #FBF8F2;
}
.wa-cat-kicker::before,
.wa-cat-kicker::after {
    content: "";
    display: inline-block;
    width: 26px;
    height: 1px;
    background: rgba(216, 149, 120, 0.65);
    vertical-align: middle;
    margin: 0 12px;
}
.wa-cat-sottotitolo {
    order: 1;
    display: block;
    max-width: 720px;
    font-family: Lora, serif !important;
    font-style: italic;
    font-size: 1.35rem;
    line-height: 1.45;
    color: rgba(251, 248, 242, 0.92);
}
@media (max-width: 700px) {
    .ast-archive-entry-banner h1 {
        font-size: 46px !important;
        letter-spacing: -1.5px !important;
    }
    .wa-cat-sottotitolo { font-size: 1.15rem; }
}

/* Titolo hero dei singoli (articoli e corsi) grande come landing e archivi */
@media (min-width: 701px) {
    .single .ast-single-entry-banner .entry-title {
        font-size: 76px !important;
        line-height: 1.02 !important;
        letter-spacing: -2.5px !important;
    }
}

/* Comparsa del testo hero anche sulle categorie (come i singoli) */
@keyframes warinFadeUpCat {
    from { opacity: 0; transform: translateY(26px); }
    to   { opacity: 1; transform: none; }
}
.ast-archive-entry-banner .ast-container {
    animation: warinFadeUpCat 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) backwards;
}

/* == warin menu mobile: pannello scuro a tema + hamburger bianco == */
.menu-toggle, .ast-mobile-menu-trigger-minimal { color: #FBF8F2 !important; }
.menu-toggle svg { fill: #FBF8F2 !important; }
.ast-mobile-header-content {
    border-top: 1px solid rgba(216, 149, 120, 0.28);
    padding: 0.6em 0 1em;
}
/* lo sfondo va anche sugli elementi interni: Astra da' un background
   proprio alla ul .main-header-menu che coprirebbe il pannello */
.ast-mobile-header-content,
.ast-mobile-header-content .main-header-bar-navigation,
.ast-mobile-header-content .main-header-menu,
.ast-mobile-header-content .sub-menu {
    background: #10191E !important;
}
/* Astra mette il bianco anche sul singolo link */
.ast-mobile-header-content .menu-link {
    background: transparent !important;
}
.ast-mobile-header-content .main-header-menu .menu-link {
    color: #FBF8F2 !important;
    font-family: Sora, sans-serif;
    border-bottom: 1px solid rgba(251, 248, 242, 0.08) !important;
}
.ast-mobile-header-content .sub-menu .menu-link {
    color: rgba(251, 248, 242, 0.72) !important;
}
.ast-mobile-header-content .menu-link:hover,
.ast-mobile-header-content .current-menu-item > .menu-link {
    color: #D89578 !important;
}
.ast-mobile-header-content .ast-menu-toggle,
.ast-mobile-header-content .ast-menu-toggle:hover,
.ast-mobile-header-content .ast-menu-toggle:focus,
.ast-mobile-header-content .ast-menu-toggle:active {
    color: #FBF8F2 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}
.ast-mobile-header-content .ast-menu-toggle:focus-visible {
    color: #D89578 !important;
}

/* Card archivio dei corsi SENZA data: la tipologia diventa il kicker
   sopra il titolo (al posto della data), stile identico al kicker data.
   Il p che contiene gli span va "sciolto" anche senza data. */
.archive .type-corso .ast-excerpt-container > p:has(.wa-tipologia-corso),
.blog .type-corso .ast-excerpt-container > p:has(.wa-tipologia-corso) {
    display: contents;
}
.archive .type-corso .post-content:not(:has(.wa-data-evento)) .wa-tipologia-corso,
.blog .type-corso .post-content:not(:has(.wa-data-evento)) .wa-tipologia-corso {
    order: -1;
    font-size: 0.7rem;
    letter-spacing: 1.6px;
    margin: 0 0 0.6em;
}

/* ============================================================
   .wa-prose — corpo testo lungo (pagine legali/informative)
   in stile articolo, usabile su qualunque pagina Elementor
   ============================================================ */
.wa-prose { color: #4A4034; }
.wa-prose h2 {
    font-family: Lora, serif;
    font-weight: 400;
    font-size: 1.9rem;
    line-height: 1.2;
    letter-spacing: -0.5px;
    color: #2B251D;
    margin: 1.8em 0 0.5em;
}
.wa-prose h2:first-child { margin-top: 0; }
.wa-prose h3 {
    font-family: Lora, serif;
    font-weight: 500;
    font-size: 1.35rem;
    color: #2B251D;
    margin: 1.4em 0 0.4em;
}
.wa-prose p {
    font-family: Sora, sans-serif;
    font-size: 1rem;
    line-height: 1.75;
    margin: 0 0 1.1em;
}
.wa-prose a {
    color: #B45F3D;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.wa-prose a:hover { color: #9D4F31; }
.wa-prose strong, .wa-prose b { color: #2B251D; font-weight: 600; }
.wa-prose em { font-style: italic; }
.wa-prose ul {
    list-style: none;
    margin: 0 0 1.2em;
    padding: 0;
}
.wa-prose ul li {
    font-family: Sora, sans-serif;
    font-size: 1rem;
    line-height: 1.7;
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 0.55em;
}
.wa-prose ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #D89578;
}
.wa-prose ol {
    margin: 0 0 1.2em;
    padding-left: 1.3em;
}
.wa-prose ol li {
    font-family: Sora, sans-serif;
    font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 0.55em;
}

/* == Submenu desktop: sfondo scuro semi-trasparente al 50% ==
   L'header trasparente rende trasparente anche il .sub-menu (regola Astra
   .ast-theme-transparent-header ...): la si vince con selettore pari + !important. */
.ast-theme-transparent-header .ast-builder-menu .main-header-menu .menu-item .sub-menu,
.main-header-menu .sub-menu {
    background-color: rgba(16, 25, 30, 0.5) !important;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(216, 149, 120, 0.30) !important;
    border-radius: 10px;
    box-shadow: 0 18px 44px rgba(9, 13, 17, 0.35);
}
.main-header-menu .sub-menu .menu-link {
    color: #FBF8F2 !important;
}
.main-header-menu .sub-menu .menu-item:hover > .menu-link,
.main-header-menu .sub-menu .current-menu-item > .menu-link {
    color: #D89578 !important;
    background: rgba(251, 248, 242, 0.06) !important;
}
