/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 30 2026 | 15:12:35 */
/*
 * Scopri Cotronei - modulo 06-premi-contatti.css
 * Estratto senza modifiche funzionali dal CSS originale.
 * Righe originali: 17048-23024.
 * Contenuto: Premi e riconoscimenti, componenti legacy e pagina Scrivici.
 */

/* ==========================================================
   PAGINE PREMI E RICONOSCIMENTI - TESTATA SEO CONDIVISA
   Premio Sila '90 + Premio Giulio Verga
   Classi .sc-award-* separate da .sc-verga-* (Palazzo Verga)
========================================================== */

.sc-award-page {
    --sc-award-green: var(--verde-principale, #264733);
    --sc-award-green-hover: var(--verde-hover, #1f3a2a);
    --sc-award-gold: var(--oro-accento, #d9b46b);
    --sc-award-cream: #f7f4ea;
    --sc-award-cream-light: #fbfaf6;
    --sc-award-white: #ffffff;
    --sc-award-text: var(--testo-principale, #2f2f2f);
    --sc-award-soft: var(--testo-secondario, #5f635f);
    --sc-award-border: rgba(38, 71, 51, 0.15);
    --sc-award-shadow: 0 14px 36px rgba(0, 0, 0, 0.065);

    width: 100% !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 20px 56px !important;
    color: var(--sc-award-text);
    box-sizing: border-box !important;
}

.sc-award-page,
.sc-award-page *,
.sc-award-page *::before,
.sc-award-page *::after {
    box-sizing: border-box;
}

/* Gutenberg constrained: breadcrumb, testata e shortcode usano la larghezza wide. */
.sc-award-page > .sc-breadcrumb,
.sc-award-page > .sc-award-seo-head,
.sc-award-page > .wp-block-shortcode {
    width: 100% !important;
    max-width: none !important;
}

/* BREADCRUMB - fuori dalla testata */
.sc-award-page > .sc-breadcrumb {
    max-width: 1080px !important;
    margin: 20px auto 14px !important;
    padding: 0 4px !important;
}

/* TESTATA SEO COMPATTA - non sostituisce l'intro ACF del premio */
.sc-award-seo-head {
    width: 100% !important;
    max-width: 1080px !important;
    margin: 0 auto 24px !important;
    padding: 34px 42px !important;
    border: 1px solid var(--sc-award-border);
    border-radius: 28px;
    background: linear-gradient(
        135deg,
        var(--sc-award-cream) 0%,
        var(--sc-award-cream-light) 100%
    );
    text-align: center;
    box-shadow: var(--sc-award-shadow);
}

.sc-award-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 29px;
    margin: 0 auto 14px;
    padding: 0 12px;
    border: 1px solid rgba(38, 71, 51, 0.10);
    border-radius: 999px;
    background: var(--sc-award-white);
    color: var(--sc-award-green);
    font-size: 10px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0.65px;
    text-transform: uppercase;
}

.sc-award-seo-head h1 {
    width: 100%;
    max-width: 940px;
    margin: 0 auto;
    color: var(--sc-award-green);
    font-size: clamp(36px, 4.8vw, 56px);
    font-weight: 850;
    line-height: 1.05;
    letter-spacing: -0.8px;
}

.sc-award-lead {
    max-width: 820px;
    margin: 17px auto 0;
    color: #765c3e;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: clamp(17px, 1.9vw, 21px);
    line-height: 1.45;
}

.sc-award-seo-head > p:not(.sc-award-lead) {
    max-width: 800px;
    margin: 16px auto 0;
    color: var(--sc-award-soft);
    font-size: 15px;
    line-height: 1.68;
}

.sc-award-seo-head strong {
    color: var(--sc-award-green);
    font-weight: 850;
}

.sc-award-seo-head a,
.sc-award-seo-head a:visited {
    color: var(--sc-award-green) !important;
    font-weight: 750;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.sc-award-seo-head a:hover,
.sc-award-seo-head a:focus-visible {
    color: var(--sc-award-green-hover) !important;
}

/* INTEGRAZIONE CON IL BLOCCO ACF + HTML GIA ESISTENTE */
.sc-award-page > .wp-block-shortcode {
    margin: 0 auto !important;
}

.sc-award-page .ec-premio {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 56px;
    padding: 0;
}

.sc-award-page .ec-premio-hero {
    margin-bottom: 50px;
    border-radius: 28px;
}

.sc-award-page .ec-premio-logo-full {
    margin-bottom: 26px;
}

.sc-award-page .ec-premio-archivio {
    max-width: 1080px;
    margin-top: 50px;
}

.sc-award-page .ec-premio-archivio > h2 {
    max-width: 860px;
    margin: 0 auto 30px;
    color: var(--sc-award-green);
    font-size: clamp(30px, 4vw, 44px);
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: -0.5px;
    text-align: center;
}

/* ACCESSIBILITA */
.sc-award-page a:focus-visible,
.sc-award-page button:focus-visible,
.sc-award-page summary:focus-visible {
    outline: 3px solid rgba(217, 180, 107, 0.58);
    outline-offset: 3px;
}

/* TABLET */
@media (max-width: 900px) {
    .sc-award-seo-head {
        padding: 31px 32px !important;
    }
}

/* MOBILE */
@media (max-width: 767px) {
    .sc-award-page {
        max-width: 100% !important;
        padding: 0 16px 42px !important;
    }

    .sc-award-page > .sc-breadcrumb {
        margin-top: 15px !important;
        margin-bottom: 12px !important;
        padding: 0 !important;
    }

    .sc-award-seo-head {
        margin-bottom: 18px !important;
        padding: 28px 21px !important;
        border-radius: 24px;
    }

    .sc-award-kicker {
        min-height: 28px;
        margin-bottom: 12px;
        padding: 0 11px;
        font-size: 9px;
    }

    .sc-award-seo-head h1 {
        font-size: clamp(32px, 9.5vw, 44px);
        letter-spacing: -0.5px;
    }

    .sc-award-lead {
        margin-top: 15px;
        font-size: 17px;
        line-height: 1.45;
    }

    .sc-award-seo-head > p:not(.sc-award-lead) {
        margin-top: 15px;
        font-size: 14px;
        line-height: 1.62;
    }

    .sc-award-page .ec-premio {
        margin-bottom: 46px;
        padding: 0;
    }

    .sc-award-page .ec-premio-hero {
        margin-bottom: 42px;
        border-radius: 22px;
    }

    .sc-award-page .ec-premio-archivio {
        margin-top: 42px;
    }

    .sc-award-page .ec-premio-archivio > h2 {
        margin-bottom: 24px;
        font-size: clamp(28px, 8vw, 37px);
    }
}

@media (max-width: 480px) {
    .sc-award-page {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .sc-award-seo-head {
        padding: 25px 17px !important;
        border-radius: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sc-award-page *,
    .sc-award-page *::before,
    .sc-award-page *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

/* ==================================================
   ARCHIVIO PREMI
================================================== */

.ec-premio {
    width: 100%;
    max-width: 1100px;
    margin: 22px auto 56px;
    padding: 18px;
    font-family: system-ui, Arial, sans-serif;
    color: var(--testo-principale);
    box-sizing: border-box;
}

.ec-premio *,
.ec-premio *::before,
.ec-premio *::after {
    box-sizing: border-box;
}


/* ==================================================
   HERO PREMIO
================================================== */

.ec-premio-hero {
    position: relative;
    width: 100%;
    margin-bottom: 42px;
    padding: 28px;
    overflow: hidden;
    border-radius: 22px;
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    box-shadow: var(--ombra-card);
}


/* ==================================================
   LOGO PREMIO
================================================== */

.ec-premio-logo-full {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 28px;
    text-align: center;
}

.ec-premio-logo-full.has-socials {
    padding-right: 54px;
    padding-left: 54px;
}

.ec-premio-logo-full.ec-premio-social-count-1 {
    min-height: 52px;
}

.ec-premio-logo-full.ec-premio-social-count-2 {
    min-height: 96px;
}

.ec-premio-logo-full.ec-premio-social-count-3 {
    min-height: 140px;
}

.ec-premio-logo {
    display: block;
    width: 100%;
    max-width: 620px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}


/* ==================================================
   SOCIAL PREMIO
================================================== */

.ec-premio-social-icons {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.ec-premio-social,
.ec-premio-social:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #ffffff !important;
    text-decoration: none !important;
    line-height: 1;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
    transition:
        transform 0.2s ease,
        opacity 0.2s ease,
        box-shadow 0.2s ease;
}

.ec-premio-social svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.ec-premio-social:hover,
.ec-premio-social:focus {
    color: #ffffff !important;
    opacity: 0.92;
    transform: translateY(-2px);
    box-shadow: 0 9px 20px rgba(0, 0, 0, 0.18);
}

.ec-premio-social:focus-visible {
    outline: 3px solid rgba(217, 180, 107, 0.58);
    outline-offset: 3px;
}

.ec-premio-facebook {
    background: #1877f2;
}

.ec-premio-instagram {
    background: linear-gradient(
        135deg,
        #f58529,
        #dd2a7b,
        #8134af,
        #515bd4
    );
}

.ec-premio-youtube {
    background: #ff0000;
}

.ec-edizione-premiati-title {
    display: flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin: 4px 0 22px;
    color: var(--verde-principale);
    font-size: 14px;
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-decoration: none;
}

.ec-edizione-premiati-title::before {
    content: "";
    flex: 0 0 28px;
    width: 28px;
    height: 3px;
    border-radius: 999px;
    background: var(--oro-accento);
}

/* ==================================================
   CONTENUTO HERO
================================================== */

.ec-premio-hero-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 36px;
    align-items: start;
}

.ec-premio-hero-content {
    min-width: 0;
}

.ec-premio-sottotitolo {
    margin: 0 0 18px;
    color: var(--verde-principale);
    font-size: 20px;
    line-height: 1.45;
    font-weight: 700;
}

.ec-premio-descrizione {
    color: var(--testo-principale);
    font-size: 16px;
    line-height: 1.75;
}

.ec-premio-descrizione > *:first-child {
    margin-top: 0;
}

.ec-premio-descrizione > *:last-child {
    margin-bottom: 0;
}

.ec-premio-descrizione a {
    color: var(--verde-principale);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ec-premio-descrizione a:hover {
    color: var(--verde-hover);
}


/* ==================================================
   META PREMIO
================================================== */

.ec-premio-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.ec-premio-meta span {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: var(--radius-pill);
    background: #fff8e8;
    color: var(--verde-principale);
    border: 1px solid rgba(217, 180, 107, 0.45);
    font-size: 13px;
    font-weight: 800;
}


/* ==================================================
   SITO UFFICIALE
================================================== */

.ec-premio-official-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
}

.ec-premio-site-btn,
.ec-premio-site-btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 17px;
    border-radius: var(--radius-pill);
    background: var(--verde-principale);
    border: 1px solid var(--verde-principale);
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(38, 71, 51, 0.14);
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.ec-premio-site-btn::after {
    content: "\2197";
    margin-left: 8px;
    font-size: 15px;
    line-height: 1;
}

.ec-premio-site-btn:hover,
.ec-premio-site-btn:focus {
    background: var(--verde-hover);
    border-color: var(--verde-hover);
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(38, 71, 51, 0.20);
}

.ec-premio-site-btn:focus-visible {
    outline: 3px solid rgba(217, 180, 107, 0.48);
    outline-offset: 3px;
}


/* ==================================================
   COLONNA DESTRA
================================================== */

.ec-premio-side {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 24px;
}


/* ==================================================
   PATROCINI E PARTNER
================================================== */

.ec-premio-partner-block {
    width: 100%;
}

.ec-premio-side-title {
    margin: 0 0 18px;
    color: var(--verde-principale);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 800;
    text-align: center;
}

.ec-premio-partner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: center;
    justify-items: center;
    width: 100%;
}

.ec-premio-partner p {
    display: contents;
    margin: 0;
}

.ec-premio-partner figure,
.ec-premio-partner .wp-block-image {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.ec-premio-partner a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 68px;
    padding: 5px;
    border-radius: 12px;
    text-decoration: none;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.ec-premio-partner a:hover,
.ec-premio-partner a:focus {
    background: var(--sfondo-leggero);
    transform: translateY(-1px);
}

.ec-premio-partner img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 64px;
    margin: auto;
    object-fit: contain;
}


/* ==================================================
   FOTO COPERTINA
================================================== */

.ec-premio-hero-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 18px;
    background: var(--sfondo-chiaro);
    box-shadow: var(--ombra-card);
}

.ec-premio-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ==================================================
   ARCHIVIO EDIZIONI
================================================== */

.ec-premio-archivio {
    width: 100%;
    max-width: 1100px;
    margin: 38px auto 0;
}

.ec-premio-archivio > h2 {
    margin: 0 0 28px;
    color: var(--verde-principale);
    font-size: 34px;
    line-height: 1.2;
    font-weight: 800;
    text-align: center;
}

.ec-premio-archivio-content {
    width: 100%;
}


/* ==================================================
   DECENNI
================================================== */

.ec-decennio-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ec-decennio {
    display: block;
    min-width: 0;
}

.ec-decennio > summary {
    position: relative;
    list-style: none;
    width: 100%;
    padding: 18px 58px 18px 22px;
    border-radius: 22px;
    background: var(--sfondo-chiaro);
    color: var(--verde-principale);
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.ec-decennio > summary::-webkit-details-marker {
    display: none;
}

.ec-decennio > summary::marker {
    content: "";
}

.ec-decennio[open] {
    grid-column: 1 / -1;
}

.ec-decennio[open] > summary,
.ec-decennio > summary:hover {
    background: var(--verde-principale);
    color: var(--bianco);
}

.ec-decennio > summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(38, 71, 51, 0.10);
    color: currentColor;
    font-size: 21px;
    line-height: 1;
    transform: translateY(-50%);
}

.ec-decennio[open] > summary::after {
    content: "\2212";
    background: rgba(255, 255, 255, 0.18);
}

.ec-decennio-content {
    display: grid;
    gap: 18px;
    margin-top: 18px;
}


/* ==================================================
   SINGOLE EDIZIONI
================================================== */

.ec-edizione {
    width: 100%;
    overflow: hidden;
    border-radius: 20px;
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    box-shadow: var(--ombra-card);
}

.ec-edizione > summary {
    position: relative;
    list-style: none;
    width: 100%;
    padding: 18px 58px 18px 22px;
    background: #f5f5f5;
    color: var(--verde-principale);
    text-align: center;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.ec-edizione > summary::-webkit-details-marker {
    display: none;
}

.ec-edizione > summary::marker {
    content: "";
}

.ec-edizione > summary:hover,
.ec-edizione[open] > summary {
    background: #fff8e8;
}

.ec-edizione > summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(38, 71, 51, 0.10);
    color: currentColor;
    font-size: 21px;
    line-height: 1;
    transform: translateY(-50%);
}

.ec-edizione[open] > summary::after {
    content: "\2212";
}

.ec-decennio > summary:focus-visible,
.ec-edizione > summary:focus-visible {
    outline: 3px solid rgba(217, 180, 107, 0.45);
    outline-offset: 3px;
}

.ec-edizione-body {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 24px;
    align-items: start;
    padding: 24px;
}

.ec-edizione-testo {
    min-width: 0;
}

.ec-edizione-testo h3 {
    margin: 0 0 10px;
    color: var(--verde-principale);
    font-size: 21px;
    line-height: 1.3;
}

.ec-edizione-testo p {
    margin: 0 0 24px;
    color: var(--testo-principale);
    font-size: 16px;
    line-height: 1.75;
}

.ec-edizione-testo p:last-child {
    margin-bottom: 0;
}

.ec-edizione-testo strong {
    color: var(--verde-principale);
    font-weight: 800;
}


/* ==================================================
   MEDIA DELLE EDIZIONI
================================================== */

.ec-edizione-media {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 14px;
}

.ec-edizione-media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 16px;
    background: var(--sfondo-chiaro);
    object-fit: cover;
    box-shadow: var(--ombra-card);
}

.ec-edizione-media a,
.ec-edizione-media a:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 40px;
    padding: 10px 16px;
    border-radius: var(--radius-pill);
    background: var(--verde-principale);
    color: var(--bianco);
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.ec-edizione-media a:hover,
.ec-edizione-media a:focus {
    background: var(--verde-hover);
    color: var(--bianco);
    transform: translateY(-1px);
}


/* ==================================================
   BANNER COVID
================================================== */

.ec-banner-covid {
    margin: 20px 0;
    padding: 18px 22px;
    border-left: 5px solid #b8892f;
    border-radius: 14px;
    background: #f7f1e6;
    color: #1f3f2b;
}

.ec-banner-covid strong {
    display: block;
    margin-bottom: 6px;
    font-size: 20px;
}

.ec-banner-covid p {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 900px) {

    .ec-premio-hero-bottom {
        gap: 28px;
    }

    .ec-premio-partner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

    .ec-premio {
        margin-top: 12px;
        padding: 14px;
    }

    .ec-premio-hero {
        padding: 20px;
        border-radius: 20px;
    }

    .ec-premio-logo-full {
        margin-bottom: 24px;
    }

    .ec-premio-logo-full.has-socials {
        justify-content: flex-start;
        padding-right: 0;
        padding-left: 0;
    }

    .ec-premio-logo-full.has-socials .ec-premio-logo {
        width: calc(100% - 50px);
        max-width: calc(100% - 50px);
        margin-right: auto;
        margin-left: 0;
    }

    .ec-premio-logo-full.ec-premio-social-count-1 {
        min-height: 44px;
    }

    .ec-premio-logo-full.ec-premio-social-count-2 {
        min-height: 88px;
    }

    .ec-premio-logo-full.ec-premio-social-count-3 {
        min-height: 132px;
    }

    .ec-premio-social-icons {
        gap: 7px;
    }

    .ec-premio-social,
    .ec-premio-social:visited {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .ec-premio-social svg {
        width: 19px;
        height: 19px;
    }

    .ec-premio-hero-bottom {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ec-premio-sottotitolo {
        font-size: 19px;
    }

    .ec-premio-descrizione {
        font-size: 15px;
        line-height: 1.7;
    }

    .ec-premio-site-btn {
        width: 100%;
    }

    .ec-premio-side-title {
        text-align: center;
    }

    .ec-premio-partner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .ec-premio-partner a {
        min-height: 62px;
    }

    .ec-premio-partner img {
        max-height: 54px;
    }

    .ec-premio-archivio > h2 {
        font-size: 28px;
    }

    .ec-decennio-grid {
        grid-template-columns: 1fr;
    }

    .ec-decennio > summary {
        font-size: 17px;
    }

    .ec-edizione > summary {
        font-size: 21px;
    }

    .ec-edizione-body {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .ec-edizione-media a {
        width: 100%;
    }
}


/* ==================================================
   SCHERMI PICCOLI
================================================== */

@media (max-width: 420px) {

    .ec-premio-hero {
        padding: 18px;
    }

    .ec-premio-logo-full.has-socials .ec-premio-logo {
        width: calc(100% - 46px);
        max-width: calc(100% - 46px);
    }

    .ec-premio-social,
    .ec-premio-social:visited {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
    }

    .ec-premio-social svg {
        width: 18px;
        height: 18px;
    }

    .ec-premio-logo-full.ec-premio-social-count-2 {
        min-height: 82px;
    }

    .ec-premio-logo-full.ec-premio-social-count-3 {
        min-height: 124px;
    }

    .ec-premio-meta {
        flex-direction: column;
        align-items: stretch;
    }

    .ec-premio-meta span {
        justify-content: center;
        text-align: center;
    }

    .ec-premio-partner {
        gap: 12px;
    }

    .ec-premio-partner img {
        max-height: 50px;
    }

    .ec-decennio > summary,
    .ec-edizione > summary {
        padding-right: 52px;
        padding-left: 18px;
    }

    .ec-decennio > summary::after,
    .ec-edizione > summary::after {
        right: 16px;
        width: 28px;
        height: 28px;
    }
}


/* ==================================================
   COMPONENTI LEGACY DA VERIFICARE
================================================== */

/* HERO HOME SCOPRI COTRONEI */

.hero-cotronei {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    display: flex;
    align-items: center;
    padding: 0 70px;
}

.hero-cotronei::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(245, 245, 242, 0.62) 0%,
        rgba(245, 245, 242, 0.45) 32%,
        rgba(245, 245, 242, 0.20) 58%,
        rgba(245, 245, 242, 0.00) 82%
    );
    z-index: 1;
    pointer-events: none;
}

.hero-cotronei > * {
    position: relative;
    z-index: 2;
}

.hero-content {
    max-width: 620px;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.hero-cotronei h1 {
    margin: 0;
    color: var(--verde-principale);
    font-size: clamp(44px, 4.7vw, 66px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -1px;
}

/* MOBILE HERO */

@media (max-width: 767px) {
    .hero-cotronei {
        min-height: 320px;
        padding: 32px 22px;
        align-items: flex-end;
    }

    .hero-cotronei::before {
        background: linear-gradient(
            to bottom,
            rgba(245, 245, 242, 0.08) 0%,
            rgba(245, 245, 242, 0.40) 45%,
            rgba(245, 245, 242, 0.78) 100%
        );
    }

    .hero-cotronei h1 {
        font-size: clamp(38px, 11vw, 52px);
        line-height: 1.08;
    }
}

/* PAGINA CONTRIBUISCI ANCHE TU */

.sc-contrib-page {
    --sc-contrib-verde: var(--verde-principale, #264733);
    --sc-contrib-verde-hover: var(--verde-hover, #1f3a2a);
    --sc-contrib-oro: var(--oro-accento, #d9b46b);
    --sc-contrib-crema: #f7f4ea;
    --sc-contrib-crema-2: #fbfaf6;
    --sc-contrib-bianco: #ffffff;
    --sc-contrib-testo: var(--testo-principale, #2f2f2f);
    --sc-contrib-soft: var(--testo-secondario, #5f635f);
    --sc-contrib-bordo: rgba(38, 71, 51, 0.16);
    --sc-contrib-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);

    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-contrib-testo);
    box-sizing: border-box;
}

.sc-contrib-page,
.sc-contrib-page *,
.sc-contrib-page *::before,
.sc-contrib-page *::after {
    box-sizing: border-box;
}

.sc-contrib-page a {
    text-decoration: none;
}

/* BREADCRUMB */

.sc-contrib-page > .sc-breadcrumb,
.sc-contrib-page .sc-breadcrumb {
    width: 100%;
    max-width: 1080px;
    margin: 20px auto 14px;
    padding: 0 4px;
}

/* HERO */

.sc-contrib-hero {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 60px;
    padding: 52px 58px;
    border: 1px solid var(--sc-contrib-bordo);
    border-radius: 34px;
    background: linear-gradient(135deg, var(--sc-contrib-crema) 0%, var(--sc-contrib-crema-2) 100%);
    box-shadow: var(--sc-contrib-ombra);
    text-align: center;
}

.sc-contrib-kicker,
.sc-contrib-section-head > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 29px;
    margin: 0 auto 13px;
    padding: 0 13px;
    border: 1px solid rgba(38, 71, 51, 0.10);
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-contrib-verde);
    font-size: 10px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.65px;
}

.sc-contrib-section-head > span {
    background: var(--sc-contrib-crema);
    border-color: rgba(38, 71, 51, 0.08);
}

.sc-contrib-hero h1 {
    max-width: 920px;
    margin: 0 auto;
    color: var(--sc-contrib-verde);
    font-size: clamp(40px, 5.2vw, 62px);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -0.9px;
}

.sc-contrib-claim {
    max-width: 760px;
    margin: 21px auto 0;
    color: #765c3e;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.45;
}

.sc-contrib-intro {
    max-width: 830px;
    margin: 21px auto 0;
    color: var(--sc-contrib-soft);
    font-size: 16px;
    line-height: 1.72;
}

.sc-contrib-intro strong,
.sc-contrib-intro a {
    color: var(--sc-contrib-verde);
    font-weight: 800;
}

.sc-contrib-intro a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sc-contrib-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
}

.sc-contrib-actions a,
.sc-contrib-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid var(--sc-contrib-verde);
    border-radius: 999px;
    background: var(--sc-contrib-verde);
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.sc-contrib-actions a:nth-child(2) {
    background: #ffffff;
    color: var(--sc-contrib-verde) !important;
    border-color: var(--sc-contrib-bordo);
}

.sc-contrib-actions a:hover,
.sc-contrib-cta a:hover {
    background: var(--sc-contrib-verde-hover);
    border-color: var(--sc-contrib-verde-hover);
    color: #ffffff !important;
    transform: translateY(-2px);
}

.sc-contrib-actions a:nth-child(2):hover {
    background: var(--sc-contrib-verde);
    border-color: var(--sc-contrib-verde);
    color: #ffffff !important;
}

/* TITOLI SEZIONI */

.sc-contrib-section-head {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 30px;
    padding: 0 14px;
    text-align: center;
}

.sc-contrib-section-head h2,
.sc-contrib-note h2,
.sc-contrib-cta h2 {
    margin: 0;
    color: var(--sc-contrib-verde);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.10;
    font-weight: 850;
    letter-spacing: -0.5px;
}

.sc-contrib-section-head p,
.sc-contrib-cta p {
    max-width: 760px;
    margin: 14px auto 0;
    color: var(--sc-contrib-soft);
    font-size: 16px;
    line-height: 1.72;
}

/* CARD CONTRIBUTI */

.sc-contrib-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 68px;
}

.sc-contrib-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 238px;
    padding: 25px 24px 23px;
    border: 1px solid var(--sc-contrib-bordo);
    border-radius: 24px;
    background: var(--sc-contrib-crema-2);
    color: var(--sc-contrib-testo);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.sc-contrib-card:hover {
    transform: translateY(-3px);
    border-color: rgba(38, 71, 51, 0.30);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.075);
}

.sc-contrib-card > span {
    display: block;
    min-height: 48px;
    margin: 0 0 15px;
    color: var(--sc-contrib-verde);
    font-size: 20px;
    line-height: 1.14;
    font-weight: 850;
}

.sc-contrib-card > strong {
    display: block;
    flex: 1 1 auto;
    margin: 0;
    color: var(--sc-contrib-soft);
    font-size: 14px;
    line-height: 1.58;
    font-weight: 500;
}

.sc-contrib-card > a,
.sc-contrib-card > a:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    width: fit-content;
    min-height: 40px;
    margin-top: 21px;
    padding: 0 15px;
    border: 1px solid rgba(38, 71, 51, 0.18);
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-contrib-verde) !important;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(38, 71, 51, 0.045);
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.sc-contrib-card > a:hover,
.sc-contrib-card > a:focus-visible {
    background: var(--sc-contrib-verde);
    border-color: var(--sc-contrib-verde);
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* NOTA GESTIONE CONTRIBUTI */

.sc-contrib-note {
    width: 100%;
    max-width: 980px;
    margin: 0 auto 68px;
    padding: 38px 34px;
    border: 1px solid var(--sc-contrib-bordo);
    border-radius: 32px;
    background: linear-gradient(135deg, var(--sc-contrib-crema) 0%, var(--sc-contrib-crema-2) 100%);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.055);
}

.sc-contrib-note h2 {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.sc-contrib-note > p {
    max-width: 760px;
    margin: 14px auto 28px;
    color: var(--sc-contrib-soft);
    font-size: 15px;
    line-height: 1.7;
    text-align: center;
}

.sc-contrib-note-grid {
    counter-reset: contrib-step;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 860px;
    margin: 0 auto;
}

.sc-contrib-note-grid > div {
    counter-increment: contrib-step;
    position: relative;
    min-height: 155px;
    padding: 22px 22px 22px 76px;
    border: 1px solid rgba(38, 71, 51, 0.12);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
}

.sc-contrib-note-grid > div::before {
    content: counter(contrib-step);
    position: absolute;
    top: 22px;
    left: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--sc-contrib-verde);
    color: #ffffff;
    font-size: 17px;
    font-weight: 850;
    line-height: 1;
}

.sc-contrib-note-grid strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-contrib-verde);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-contrib-note-grid span {
    display: block;
    color: var(--sc-contrib-soft);
    font-size: 14px;
    line-height: 1.62;
}

/* SECONDA TESTATA: MEMORIA COLLETTIVA */

.sc-contrib-note + .sc-contrib-section-head {
    margin-top: 0;
    margin-bottom: 30px;
}

/* CTA FINALE */

.sc-contrib-cta {
    width: 100%;
    max-width: 900px;
    margin: 64px auto 10px;
    padding: 36px 34px;
    border-radius: 30px;
    background: linear-gradient(135deg, #264733 0%, #1f3a2a 100%);
    color: #ffffff;
    text-align: center;
    box-shadow: var(--sc-contrib-ombra);
}

.sc-contrib-cta h2 {
    color: #ffffff;
}

.sc-contrib-cta p {
    max-width: 680px;
    margin-bottom: 24px;
    color: rgba(255, 255, 255, 0.84);
}

.sc-contrib-cta a,
.sc-contrib-cta a:visited {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.20);
    color: #ffffff !important;
}

.sc-contrib-cta a:hover,
.sc-contrib-cta a:focus-visible {
    background: #ffffff;
    border-color: #ffffff;
    color: var(--sc-contrib-verde) !important;
}

/* ACCESSIBILITA */

.sc-contrib-page a:focus-visible {
    outline: 3px solid rgba(217, 180, 107, 0.60);
    outline-offset: 3px;
}

/* TABLET */

@media (max-width: 980px) {
    .sc-contrib-hero {
        padding: 46px 38px;
    }

    .sc-contrib-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
    }

    .sc-contrib-note-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .sc-contrib-page {
        max-width: 100%;
        padding: 0 16px 42px;
    }

    .sc-contrib-page > .sc-breadcrumb,
    .sc-contrib-page .sc-breadcrumb {
        margin-top: 15px;
        margin-bottom: 12px;
        padding: 0;
    }

    .sc-contrib-hero {
        margin-bottom: 48px;
        padding: 34px 22px;
        border-radius: 27px;
    }

    .sc-contrib-hero h1 {
        font-size: clamp(34px, 9.5vw, 46px);
        letter-spacing: -0.5px;
    }

    .sc-contrib-claim {
        margin-top: 18px;
        font-size: 17px;
    }

    .sc-contrib-intro {
        margin-top: 18px;
        font-size: 15px;
        line-height: 1.65;
    }

    .sc-contrib-actions {
        flex-direction: column;
        gap: 9px;
        margin-top: 23px;
    }

    .sc-contrib-actions a,
    .sc-contrib-cta a {
        width: 100%;
    }

    .sc-contrib-section-head {
        margin-bottom: 25px;
        padding: 0;
    }

    .sc-contrib-section-head h2,
    .sc-contrib-note h2,
    .sc-contrib-cta h2 {
        font-size: clamp(29px, 8.5vw, 38px);
    }

    .sc-contrib-section-head p,
    .sc-contrib-note > p,
    .sc-contrib-cta p {
        font-size: 15px;
        line-height: 1.65;
    }

    .sc-contrib-grid,
    .sc-contrib-note-grid {
        grid-template-columns: 1fr;
    }

    .sc-contrib-grid {
        max-width: 500px;
        gap: 14px;
        margin-bottom: 56px;
    }

    .sc-contrib-card {
        min-height: auto;
        padding: 22px;
        border-radius: 21px;
    }

    .sc-contrib-card > span {
        min-height: 0;
        margin-bottom: 12px;
        font-size: 20px;
    }

    .sc-contrib-card > strong {
        flex: 0 1 auto;
    }

    .sc-contrib-card > a {
        width: 100%;
        margin-top: 18px;
    }

    .sc-contrib-note {
        margin-bottom: 56px;
        padding: 28px 22px;
        border-radius: 27px;
    }

    .sc-contrib-note > p {
        margin-bottom: 24px;
    }

    .sc-contrib-note-grid > div {
        min-height: auto;
        padding: 20px 20px 20px 70px;
        border-radius: 21px;
    }

    .sc-contrib-note-grid > div::before {
        top: 20px;
        left: 20px;
        width: 36px;
        height: 36px;
    }

    .sc-contrib-cta {
        margin-top: 56px;
        padding: 27px 22px;
        border-radius: 27px;
    }
}

@media (max-width: 480px) {
    .sc-contrib-page {
        padding-left: 14px;
        padding-right: 14px;
    }

    .sc-contrib-hero {
        padding: 29px 18px;
        border-radius: 24px;
    }

    .sc-contrib-kicker,
    .sc-contrib-section-head > span {
        font-size: 9px;
    }

    .sc-contrib-card {
        padding: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sc-contrib-page *,
    .sc-contrib-page *::before,
    .sc-contrib-page *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

/* PAGINA SEGNALA ATTIVITA O SERVIZIO */

.sc-segnala-attivita-page {
    --sc-segnala-verde: #264733;
    --sc-segnala-verde-hover: #1f3a2a;
    --sc-segnala-crema: #f7f4ea;
    --sc-segnala-crema-2: #fbfaf6;
    --sc-segnala-bianco: #ffffff;
    --sc-segnala-testo: #2f2f2f;
    --sc-segnala-soft: #5f635f;
    --sc-segnala-bordo: rgba(38, 71, 51, 0.16);
    --sc-segnala-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-segnala-testo);
    box-sizing: border-box;
}

.sc-segnala-attivita-page *,
.sc-segnala-attivita-page *::before,
.sc-segnala-attivita-page *::after {
    box-sizing: border-box;
}

.sc-segnala-attivita-page a {
    text-decoration: none;
}

/* HERO */

.sc-segnala-attivita-hero {
    max-width: 980px;
    margin: 22px auto 34px;
    padding: 42px 34px;
    border-radius: 34px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-segnala-bordo);
    box-shadow: var(--sc-segnala-ombra);
    text-align: center;
}

.sc-segnala-attivita-kicker {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-segnala-verde);
    border: 1px solid rgba(38, 71, 51, 0.12);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-segnala-attivita-hero h1 {
    max-width: 900px;
    margin: 0 auto;
    color: var(--sc-segnala-verde);
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.8px;
}

.sc-segnala-attivita-claim {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--sc-segnala-verde);
    font-size: clamp(18px, 2.2vw, 25px);
    line-height: 1.35;
}

.sc-segnala-attivita-intro {
    max-width: 830px;
    margin: 20px auto 0;
    color: var(--sc-segnala-soft);
    font-size: 17px;
    line-height: 1.75;
}

/* INFO CARD */

.sc-segnala-attivita-info {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    max-width: 980px;
    margin: 0 auto 38px;
}

.sc-segnala-attivita-info div {
    padding: 22px 22px;
    border-radius: 24px;
    background: var(--sc-segnala-crema-2);
    border: 1px solid var(--sc-segnala-bordo);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
}

.sc-segnala-attivita-info strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-segnala-verde);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-segnala-attivita-info span {
    display: block;
    color: var(--sc-segnala-soft);
    font-size: 14px;
    line-height: 1.6;
}

/* FORM */

.sc-segnala-form-box {
    max-width: 900px;
    margin: 0 auto;
    padding: 34px;
    border-radius: 32px;
    background: #ffffff;
    border: 1px solid var(--sc-segnala-bordo);
    box-shadow: var(--sc-segnala-ombra);
}

.sc-segnala-form-box h2 {
    margin: 0 auto 10px;
    color: var(--sc-segnala-verde);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.5px;
}

.sc-segnala-form-box > p {
    max-width: 720px;
    margin: 0 auto 26px;
    color: var(--sc-segnala-soft);
    font-size: 15px;
    line-height: 1.7;
}

.sc-segnala-form-box .wp-block-jetpack-contact-form {
    max-width: 760px;
    margin: 0 auto;
}

.sc-segnala-form-box .wp-block-jetpack-contact-form > div {
    margin-bottom: 18px;
}

.sc-segnala-form-box label,
.sc-segnala-form-box .wp-block-jetpack-label {
    color: var(--sc-segnala-verde);
    font-weight: 800;
    line-height: 1.3;
}

.sc-segnala-form-box input[type="text"],
.sc-segnala-form-box input[type="email"],
.sc-segnala-form-box input[type="tel"],
.sc-segnala-form-box input[type="url"],
.sc-segnala-form-box textarea {
    width: 100%;
    min-height: 46px;
    padding: 12px 15px;
    border-radius: 16px;
    border: 1px solid rgba(38, 71, 51, 0.18);
    background: #fbfaf6;
    color: var(--sc-segnala-testo);
    font-size: 15px;
    line-height: 1.5;
    box-shadow: none;
}

.sc-segnala-form-box textarea {
    min-height: 140px;
    resize: vertical;
}

.sc-segnala-form-box input:focus,
.sc-segnala-form-box textarea:focus {
    outline: none;
    border-color: var(--sc-segnala-verde);
    box-shadow: 0 0 0 3px rgba(38, 71, 51, 0.10);
    background: #ffffff;
}

.sc-segnala-form-box .wp-block-jetpack-dropzone {
    min-height: 120px;
    padding: 20px;
    border-radius: 18px;
    border: 1px dashed rgba(38, 71, 51, 0.32);
    background: #fbfaf6;
    color: var(--sc-segnala-soft);
    text-align: center;
}

.sc-segnala-form-box .wp-block-jetpack-dropzone p {
    margin: 0;
    color: var(--sc-segnala-soft);
    font-size: 14px;
    line-height: 1.5;
}

.sc-segnala-form-box .is-style-list {
    padding: 14px 16px;
    border-radius: 18px;
    background: #fbfaf6;
    border: 1px solid rgba(38, 71, 51, 0.14);
}

.sc-segnala-submit {
    margin-top: 24px;
    text-align: center;
}

.sc-segnala-submit .wp-block-button__link {
    min-height: 48px;
    padding: 0 28px;
    border-radius: 999px;
    background: var(--sc-segnala-verde) !important;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
    text-transform: none;
    transition: all 0.2s ease;
}

.sc-segnala-submit .wp-block-button__link:hover {
    background: var(--sc-segnala-verde-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* MOBILE */

@media (max-width: 980px) {
    .sc-segnala-attivita-info {
        grid-template-columns: 1fr;
        max-width: 760px;
    }
}

@media (max-width: 767px) {
    .sc-segnala-attivita-page {
        padding: 0 16px 42px;
    }

    .sc-segnala-attivita-hero {
        margin-top: 12px;
        padding: 32px 22px;
        border-radius: 28px;
    }

    .sc-segnala-attivita-hero h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .sc-segnala-attivita-intro {
        font-size: 16px;
        line-height: 1.65;
    }

    .sc-segnala-form-box {
        padding: 26px 20px;
        border-radius: 28px;
    }

    .sc-segnala-submit .wp-block-button,
    .sc-segnala-submit .wp-block-button__link {
        width: 100%;
    }
}

/* PAGINA IL PROGETTO */

.sc-progetto-page {
    --sc-progetto-verde: #264733;
    --sc-progetto-verde-hover: #1f3a2a;
    --sc-progetto-crema: #f7f4ea;
    --sc-progetto-crema-2: #fbfaf6;
    --sc-progetto-bianco: #ffffff;
    --sc-progetto-testo: #2f2f2f;
    --sc-progetto-soft: #5f635f;
    --sc-progetto-bordo: rgba(38, 71, 51, 0.16);
    --sc-progetto-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-progetto-testo);
    box-sizing: border-box;
}

.sc-progetto-page *,
.sc-progetto-page *::before,
.sc-progetto-page *::after {
    box-sizing: border-box;
}

.sc-progetto-page a {
    color: var(--sc-progetto-verde);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* HERO */

.sc-progetto-hero {
    max-width: 980px;
    margin: 22px auto 42px;
    padding: 42px 34px;
    border-radius: 34px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-progetto-bordo);
    box-shadow: var(--sc-progetto-ombra);
    text-align: center;
}

.sc-progetto-kicker,
.sc-progetto-section > span,
.sc-progetto-focus-text > span {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-progetto-verde);
    border: 1px solid rgba(38, 71, 51, 0.12);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-progetto-hero h1 {
    max-width: 920px;
    margin: 0 auto;
    color: var(--sc-progetto-verde);
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.8px;
}

.sc-progetto-claim {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--sc-progetto-verde);
    font-size: clamp(18px, 2.2vw, 25px);
    line-height: 1.35;
}

.sc-progetto-intro {
    max-width: 840px;
    margin: 20px auto 0;
    color: var(--sc-progetto-soft);
    font-size: 17px;
    line-height: 1.75;
}

/* SEZIONI TESTUALI */

.sc-progetto-section {
    max-width: 880px;
    margin: 0 auto 42px;
    text-align: center;
}

.sc-progetto-section h2,
.sc-progetto-focus h2,
.sc-progetto-cta h2 {
    margin: 0;
    color: var(--sc-progetto-verde);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.5px;
}

.sc-progetto-section p,
.sc-progetto-focus p,
.sc-progetto-cta p {
    margin: 14px auto 0;
    color: var(--sc-progetto-soft);
    font-size: 16px;
    line-height: 1.75;
}

/* CARD */

.sc-progetto-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin: 0 auto 58px;
}

.sc-progetto-card {
    min-height: 230px;
    padding: 26px 24px;
    border-radius: 24px;
    background: var(--sc-progetto-crema-2);
    border: 1px solid var(--sc-progetto-bordo);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.sc-progetto-card span {
    display: flex;
    align-items: flex-start;
    min-height: 58px;
    color: var(--sc-progetto-verde);
    font-size: 21px;
    line-height: 1.12;
    font-weight: 850;
}

.sc-progetto-card strong {
    display: block;
    color: var(--sc-progetto-soft);
    font-size: 14px;
    line-height: 1.6;
    font-weight: 500;
}

/* FOCUS PROGETTO */

.sc-progetto-focus {
    max-width: 980px;
    margin: 0 auto 58px;
    padding: 38px 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-progetto-bordo);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.055);
}

.sc-progetto-focus-text {
    max-width: 820px;
    margin: 0 auto 30px;
    text-align: center;
}

.sc-progetto-focus-text > span {
    margin-left: auto;
    margin-right: auto;
}

.sc-progetto-focus h2 {
    max-width: 760px;
    margin: 0 auto;
    color: var(--sc-progetto-verde);
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
    font-weight: 850;
    letter-spacing: -0.6px;
}

.sc-progetto-focus p {
    max-width: 760px;
    margin: 16px auto 0;
    color: var(--sc-progetto-soft);
    font-size: 16px;
    line-height: 1.75;
}

.sc-progetto-focus-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 860px;
    margin: 0 auto;
}

.sc-progetto-focus-list div {
    min-height: 145px;
    padding: 22px 24px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(38, 71, 51, 0.12);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
}

.sc-progetto-focus-list strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-progetto-verde);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-progetto-focus-list span {
    display: block;
    color: var(--sc-progetto-soft);
    font-size: 15px;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .sc-progetto-focus {
        padding: 28px 22px;
        border-radius: 28px;
    }

    .sc-progetto-focus h2 {
        font-size: clamp(30px, 9vw, 42px);
    }

    .sc-progetto-focus-list {
        grid-template-columns: 1fr;
    }

    .sc-progetto-focus-list div {
        min-height: auto;
        padding: 20px;
        border-radius: 22px;
    }
}

/* CTA FINALE */

.sc-progetto-cta {
    max-width: 900px;
    margin: 64px auto 10px;
    padding: 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #264733 0%, #1f3a2a 100%);
    color: #ffffff;
    text-align: center;
    box-shadow: var(--sc-progetto-ombra);
}

.sc-progetto-cta h2 {
    color: #ffffff;
}

.sc-progetto-cta p {
    max-width: 700px;
    color: rgba(255, 255, 255, 0.84);
    margin-bottom: 24px;
}

.sc-progetto-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease;
}

.sc-progetto-cta a:hover {
    background: #ffffff;
    color: var(--sc-progetto-verde);
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .sc-progetto-grid,
    .sc-progetto-focus {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .sc-progetto-page {
        padding: 0 16px 42px;
    }

    .sc-progetto-hero {
        margin-top: 12px;
        padding: 32px 22px;
        border-radius: 28px;
    }

    .sc-progetto-hero h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .sc-progetto-intro {
        font-size: 16px;
        line-height: 1.65;
    }

    .sc-progetto-card {
        min-height: auto;
    }

    .sc-progetto-card span {
        min-height: auto;
    }

    .sc-progetto-focus {
        padding: 26px 22px;
        border-radius: 28px;
    }

    .sc-progetto-cta {
        padding: 26px 22px;
        border-radius: 28px;
    }

    .sc-progetto-cta a {
        width: 100%;
    }
}

/* PAGINA LA VISIONE */

.sc-visione-page {
    --sc-visione-verde: #264733;
    --sc-visione-verde-hover: #1f3a2a;
    --sc-visione-crema: #f7f4ea;
    --sc-visione-crema-2: #fbfaf6;
    --sc-visione-bianco: #ffffff;
    --sc-visione-testo: #2f2f2f;
    --sc-visione-soft: #5f635f;
    --sc-visione-bordo: rgba(38, 71, 51, 0.16);
    --sc-visione-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-visione-testo);
    box-sizing: border-box;
}

.sc-visione-page *,
.sc-visione-page *::before,
.sc-visione-page *::after {
    box-sizing: border-box;
}

.sc-visione-page a {
    text-decoration: none;
}

/* HERO */

.sc-visione-hero {
    max-width: 980px;
    margin: 22px auto 42px;
    padding: 42px 34px;
    border-radius: 34px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-visione-bordo);
    box-shadow: var(--sc-visione-ombra);
    text-align: center;
}

.sc-visione-kicker,
.sc-visione-section > span,
.sc-visione-focus-text > span {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-visione-verde);
    border: 1px solid rgba(38, 71, 51, 0.12);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-visione-hero h1 {
    max-width: 920px;
    margin: 0 auto;
    color: var(--sc-visione-verde);
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.8px;
}

.sc-visione-claim {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--sc-visione-verde);
    font-size: clamp(18px, 2.2vw, 25px);
    line-height: 1.35;
}

.sc-visione-intro {
    max-width: 840px;
    margin: 20px auto 0;
    color: var(--sc-visione-soft);
    font-size: 17px;
    line-height: 1.75;
}

/* SEZIONI TESTUALI */

.sc-visione-section {
    max-width: 880px;
    margin: 0 auto 42px;
    text-align: center;
}

.sc-visione-section h2,
.sc-visione-focus h2,
.sc-visione-principi h2,
.sc-visione-cta h2 {
    margin: 0;
    color: var(--sc-visione-verde);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.5px;
}

.sc-visione-section p,
.sc-visione-focus p,
.sc-visione-cta p {
    margin: 14px auto 0;
    color: var(--sc-visione-soft);
    font-size: 16px;
    line-height: 1.75;
}

/* CARD PILASTRI */

.sc-visione-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0 auto 58px;
}

.sc-visione-card {
    min-height: 245px;
    padding: 24px 22px;
    border-radius: 24px;
    background: var(--sc-visione-crema-2);
    border: 1px solid var(--sc-visione-bordo);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: all 0.22s ease;
}

.sc-visione-card:hover {
    transform: translateY(-3px);
    border-color: rgba(38, 71, 51, 0.34);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.08);
}

.sc-visione-card span {
    display: flex;
    align-items: flex-start;
    min-height: 58px;
    color: var(--sc-visione-verde);
    font-size: 21px;
    line-height: 1.12;
    font-weight: 850;
}

.sc-visione-card strong {
    display: block;
    color: var(--sc-visione-soft);
    font-size: 14px;
    line-height: 1.58;
    font-weight: 500;
}

/* FOCUS COMUNITA */

.sc-visione-focus {
    max-width: 980px;
    margin: 0 auto 58px;
    padding: 38px 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-visione-bordo);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.055);
}

.sc-visione-focus-text {
    max-width: 820px;
    margin: 0 auto 30px;
    text-align: center;
}

.sc-visione-focus-text > span {
    margin-left: auto;
    margin-right: auto;
}

.sc-visione-focus h2 {
    max-width: 760px;
    margin: 0 auto;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
}

.sc-visione-focus p {
    max-width: 760px;
}

.sc-visione-focus-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 860px;
    margin: 0 auto;
}

.sc-visione-focus-list div {
    min-height: 150px;
    padding: 22px 24px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(38, 71, 51, 0.12);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
}

.sc-visione-focus-list strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-visione-verde);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-visione-focus-list span {
    display: block;
    color: var(--sc-visione-soft);
    font-size: 15px;
    line-height: 1.6;
}

/* PRINCIPI */

.sc-visione-principi {
    max-width: 980px;
    margin: 0 auto 58px;
    text-align: center;
}

.sc-visione-principi h2 {
    margin-bottom: 26px;
}

.sc-visione-principi-grid {
    counter-reset: visione-step;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.sc-visione-principi-grid div {
    counter-increment: visione-step;
    position: relative;
    min-height: 150px;
    padding: 22px 22px 22px 76px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid var(--sc-visione-bordo);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
    text-align: left;
}

.sc-visione-principi-grid div::before {
    content: counter(visione-step);
    position: absolute;
    top: 22px;
    left: 22px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--sc-visione-verde);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 850;
    line-height: 1;
}

.sc-visione-principi-grid strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-visione-verde);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-visione-principi-grid span {
    display: block;
    color: var(--sc-visione-soft);
    font-size: 15px;
    line-height: 1.6;
}

/* CTA FINALE */

.sc-visione-cta {
    max-width: 900px;
    margin: 64px auto 10px;
    padding: 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #264733 0%, #1f3a2a 100%);
    color: #ffffff;
    text-align: center;
    box-shadow: var(--sc-visione-ombra);
}

.sc-visione-cta h2 {
    color: #ffffff;
}

.sc-visione-cta p {
    max-width: 700px;
    color: rgba(255, 255, 255, 0.84);
    margin-bottom: 24px;
}

.sc-visione-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease;
}

.sc-visione-cta a:hover {
    background: #ffffff;
    color: var(--sc-visione-verde);
}

/* RESPONSIVE */

@media (max-width: 1080px) {
    .sc-visione-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sc-visione-card {
        min-height: 210px;
    }
}

@media (max-width: 767px) {
    .sc-visione-page {
        padding: 0 16px 42px;
    }

    .sc-visione-hero {
        margin-top: 12px;
        padding: 32px 22px;
        border-radius: 28px;
    }

    .sc-visione-hero h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .sc-visione-intro {
        font-size: 16px;
        line-height: 1.65;
    }

    .sc-visione-grid,
    .sc-visione-focus-list,
    .sc-visione-principi-grid {
        grid-template-columns: 1fr;
    }

    .sc-visione-card,
    .sc-visione-focus-list div {
        min-height: auto;
    }

    .sc-visione-card span {
        min-height: auto;
    }

    .sc-visione-focus,
    .sc-visione-cta {
        padding: 26px 22px;
        border-radius: 28px;
    }

    .sc-visione-principi-grid div {
        min-height: auto;
        padding: 20px 20px 20px 70px;
        border-radius: 22px;
    }

    .sc-visione-principi-grid div::before {
        top: 20px;
        left: 20px;
        width: 36px;
        height: 36px;
    }

    .sc-visione-cta a {
        width: 100%;
    }
}

/* PAGINA IL FUTURO DELL'INIZIATIVA */

.sc-futuro-page {
    --sc-futuro-verde: #264733;
    --sc-futuro-verde-hover: #1f3a2a;
    --sc-futuro-crema: #f7f4ea;
    --sc-futuro-crema-2: #fbfaf6;
    --sc-futuro-bianco: #ffffff;
    --sc-futuro-testo: #2f2f2f;
    --sc-futuro-soft: #5f635f;
    --sc-futuro-bordo: rgba(38, 71, 51, 0.16);
    --sc-futuro-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-futuro-testo);
    box-sizing: border-box;
}

.sc-futuro-page *,
.sc-futuro-page *::before,
.sc-futuro-page *::after {
    box-sizing: border-box;
}

.sc-futuro-page a {
    text-decoration: none;
}

/* HERO */

.sc-futuro-hero {
    max-width: 980px;
    margin: 22px auto 42px;
    padding: 42px 34px;
    border-radius: 34px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-futuro-bordo);
    box-shadow: var(--sc-futuro-ombra);
    text-align: center;
}

.sc-futuro-kicker,
.sc-futuro-section > span,
.sc-futuro-focus-text > span {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-futuro-verde);
    border: 1px solid rgba(38, 71, 51, 0.12);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-futuro-hero h1 {
    max-width: 920px;
    margin: 0 auto;
    color: var(--sc-futuro-verde);
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.8px;
}

.sc-futuro-claim {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--sc-futuro-verde);
    font-size: clamp(18px, 2.2vw, 25px);
    line-height: 1.35;
}

.sc-futuro-intro {
    max-width: 840px;
    margin: 20px auto 0;
    color: var(--sc-futuro-soft);
    font-size: 17px;
    line-height: 1.75;
}

/* SEZIONI TESTUALI */

.sc-futuro-section {
    max-width: 880px;
    margin: 0 auto 42px;
    text-align: center;
}

.sc-futuro-section h2,
.sc-futuro-focus h2,
.sc-futuro-principi h2,
.sc-futuro-cta h2 {
    margin: 0;
    color: var(--sc-futuro-verde);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.5px;
}

.sc-futuro-section p,
.sc-futuro-focus p,
.sc-futuro-cta p {
    margin: 14px auto 0;
    color: var(--sc-futuro-soft);
    font-size: 16px;
    line-height: 1.75;
}

/* CARD DIREZIONI */

.sc-futuro-grid {
    counter-reset: futuro-card;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    max-width: 940px;
    margin: 0 auto 58px;
}

.sc-futuro-card {
    counter-increment: futuro-card;
    position: relative;
    min-height: 175px;
    padding: 26px 26px 26px 86px;
    border-radius: 26px;
    background: var(--sc-futuro-crema-2);
    border: 1px solid var(--sc-futuro-bordo);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.055);
    display: block;
    transition: all 0.22s ease;
}

.sc-futuro-card::before {
    content: counter(futuro-card);
    position: absolute;
    top: 26px;
    left: 26px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--sc-futuro-verde);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 850;
    line-height: 1;
}

.sc-futuro-card:hover {
    transform: translateY(-3px);
    border-color: rgba(38, 71, 51, 0.34);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.08);
}

.sc-futuro-card span {
    display: block;
    min-height: auto;
    margin-bottom: 10px;
    color: var(--sc-futuro-verde);
    font-size: 22px;
    line-height: 1.18;
    font-weight: 850;
}

.sc-futuro-card strong {
    display: block;
    color: var(--sc-futuro-soft);
    font-size: 15px;
    line-height: 1.65;
    font-weight: 500;
}

/* FOCUS PONTI */

.sc-futuro-focus {
    max-width: 980px;
    margin: 0 auto 58px;
    padding: 38px 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-futuro-bordo);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.055);
}

.sc-futuro-focus-text {
    max-width: 820px;
    margin: 0 auto 30px;
    text-align: center;
}

.sc-futuro-focus-text > span {
    margin-left: auto;
    margin-right: auto;
}

.sc-futuro-focus h2 {
    max-width: 760px;
    margin: 0 auto;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
}

.sc-futuro-focus p {
    max-width: 760px;
}

.sc-futuro-focus-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 860px;
    margin: 0 auto;
}

.sc-futuro-focus-list div {
    min-height: 150px;
    padding: 22px 24px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(38, 71, 51, 0.12);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
}

.sc-futuro-focus-list strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-futuro-verde);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-futuro-focus-list span {
    display: block;
    color: var(--sc-futuro-soft);
    font-size: 15px;
    line-height: 1.6;
}

/* PRINCIPI */

.sc-futuro-principi {
    max-width: 980px;
    margin: 0 auto 58px;
    text-align: center;
}

.sc-futuro-principi h2 {
    margin-bottom: 26px;
}

.sc-futuro-principi-grid {
    counter-reset: futuro-step;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.sc-futuro-principi-grid div {
    counter-increment: futuro-step;
    position: relative;
    min-height: 150px;
    padding: 22px 22px 22px 76px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid var(--sc-futuro-bordo);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
    text-align: left;
}

.sc-futuro-principi-grid div::before {
    content: counter(futuro-step);
    position: absolute;
    top: 22px;
    left: 22px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--sc-futuro-verde);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 850;
    line-height: 1;
}

.sc-futuro-principi-grid strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-futuro-verde);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-futuro-principi-grid span {
    display: block;
    color: var(--sc-futuro-soft);
    font-size: 15px;
    line-height: 1.6;
}

/* CTA FINALE */

.sc-futuro-cta {
    max-width: 900px;
    margin: 64px auto 10px;
    padding: 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #264733 0%, #1f3a2a 100%);
    color: #ffffff;
    text-align: center;
    box-shadow: var(--sc-futuro-ombra);
}

.sc-futuro-cta h2 {
    color: #ffffff;
}

.sc-futuro-cta p {
    max-width: 700px;
    color: rgba(255, 255, 255, 0.84);
    margin-bottom: 24px;
}

.sc-futuro-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease;
}

.sc-futuro-cta a:hover {
    background: #ffffff;
    color: var(--sc-futuro-verde);
}

/* MOBILE */

@media (max-width: 767px) {
    .sc-futuro-page {
        padding: 0 16px 42px;
    }

    .sc-futuro-hero {
        margin-top: 12px;
        padding: 32px 22px;
        border-radius: 28px;
    }

    .sc-futuro-hero h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .sc-futuro-intro {
        font-size: 16px;
        line-height: 1.65;
    }

    .sc-futuro-grid,
    .sc-futuro-focus-list,
    .sc-futuro-principi-grid {
        grid-template-columns: 1fr;
    }

    .sc-futuro-grid {
        gap: 16px;
    }

    .sc-futuro-card,
    .sc-futuro-focus-list div {
        min-height: auto;
    }

    .sc-futuro-card {
        padding: 22px 22px 22px 76px;
        border-radius: 24px;
    }

    .sc-futuro-card::before {
        top: 22px;
        left: 22px;
        width: 38px;
        height: 38px;
    }

    .sc-futuro-card span {
        min-height: auto;
        font-size: 20px;
    }

    .sc-futuro-card strong {
        font-size: 14px;
        line-height: 1.6;
    }

    .sc-futuro-focus,
    .sc-futuro-cta {
        padding: 26px 22px;
        border-radius: 28px;
    }

    .sc-futuro-principi-grid div {
        min-height: auto;
        padding: 20px 20px 20px 70px;
        border-radius: 22px;
    }

    .sc-futuro-principi-grid div::before {
        top: 20px;
        left: 20px;
        width: 36px;
        height: 36px;
    }

    .sc-futuro-cta a {
        width: 100%;
    }
}

/* PAGINA COLLABORA CON NOI */

.sc-collabora-page {
    --sc-collabora-verde: #264733;
    --sc-collabora-verde-hover: #1f3a2a;
    --sc-collabora-crema: #f7f4ea;
    --sc-collabora-crema-2: #fbfaf6;
    --sc-collabora-bianco: #ffffff;
    --sc-collabora-testo: #2f2f2f;
    --sc-collabora-soft: #5f635f;
    --sc-collabora-bordo: rgba(38, 71, 51, 0.16);
    --sc-collabora-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-collabora-testo);
    box-sizing: border-box;
}

.sc-collabora-page *,
.sc-collabora-page *::before,
.sc-collabora-page *::after {
    box-sizing: border-box;
}

.sc-collabora-page a {
    color: var(--sc-collabora-verde);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* HERO */

.sc-collabora-hero {
    max-width: 980px;
    margin: 22px auto 42px;
    padding: 42px 34px;
    border-radius: 34px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-collabora-bordo);
    box-shadow: var(--sc-collabora-ombra);
    text-align: center;
}

.sc-collabora-kicker,
.sc-collabora-section > span,
.sc-collabora-focus-text > span {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-collabora-verde);
    border: 1px solid rgba(38, 71, 51, 0.12);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-collabora-hero h1 {
    max-width: 920px;
    margin: 0 auto;
    color: var(--sc-collabora-verde);
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.8px;
}

.sc-collabora-claim {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--sc-collabora-verde);
    font-size: clamp(18px, 2.2vw, 25px);
    line-height: 1.35;
}

.sc-collabora-intro {
    max-width: 840px;
    margin: 20px auto 0;
    color: var(--sc-collabora-soft);
    font-size: 17px;
    line-height: 1.75;
}

/* SEZIONE TESTUALE */

.sc-collabora-section {
    max-width: 880px;
    margin: 0 auto 42px;
    text-align: center;
}

.sc-collabora-section h2,
.sc-collabora-focus h2,
.sc-collabora-cta h2 {
    margin: 0;
    color: var(--sc-collabora-verde);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.5px;
}

.sc-collabora-section p,
.sc-collabora-focus p,
.sc-collabora-cta p {
    margin: 14px auto 0;
    color: var(--sc-collabora-soft);
    font-size: 16px;
    line-height: 1.75;
}

/* CARD PROPOSTE */

.sc-collabora-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 0 auto 58px;
}

.sc-collabora-card {
    min-height: 225px;
    padding: 26px 24px;
    border-radius: 26px;
    background: var(--sc-collabora-crema-2);
    border: 1px solid var(--sc-collabora-bordo);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: all 0.22s ease;
}

.sc-collabora-card:hover {
    transform: translateY(-3px);
    border-color: rgba(38, 71, 51, 0.34);
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.08);
}

.sc-collabora-card span {
    display: flex;
    align-items: flex-start;
    min-height: 54px;
    color: var(--sc-collabora-verde);
    font-size: 21px;
    line-height: 1.12;
    font-weight: 850;
}

.sc-collabora-card strong {
    display: block;
    color: var(--sc-collabora-soft);
    font-size: 14px;
    line-height: 1.6;
    font-weight: 500;
}

/* FOCUS */

.sc-collabora-focus {
    max-width: 980px;
    margin: 0 auto 58px;
    padding: 38px 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-collabora-bordo);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.055);
}

.sc-collabora-focus-text {
    max-width: 820px;
    margin: 0 auto 30px;
    text-align: center;
}

.sc-collabora-focus-text > span {
    margin-left: auto;
    margin-right: auto;
}

.sc-collabora-focus h2 {
    max-width: 760px;
    margin: 0 auto;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.08;
}

.sc-collabora-focus p {
    max-width: 760px;
}

.sc-collabora-focus-list {
    counter-reset: collabora-step;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 860px;
    margin: 0 auto;
}

.sc-collabora-focus-list div {
    counter-increment: collabora-step;
    position: relative;
    min-height: 155px;
    padding: 22px 22px 22px 76px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid rgba(38, 71, 51, 0.12);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.045);
}

.sc-collabora-focus-list div::before {
    content: counter(collabora-step);
    position: absolute;
    top: 22px;
    left: 22px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--sc-collabora-verde);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 850;
    line-height: 1;
}

.sc-collabora-focus-list strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-collabora-verde);
    font-size: 20px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-collabora-focus-list span {
    display: block;
    color: var(--sc-collabora-soft);
    font-size: 15px;
    line-height: 1.6;
}

/* CTA FINALE */

.sc-collabora-cta {
    max-width: 900px;
    margin: 64px auto 10px;
    padding: 34px;
    border-radius: 32px;
    background: linear-gradient(135deg, #264733 0%, #1f3a2a 100%);
    color: #ffffff;
    text-align: center;
    box-shadow: var(--sc-collabora-ombra);
}

.sc-collabora-cta h2 {
    color: #ffffff;
}

.sc-collabora-cta p {
    max-width: 700px;
    color: rgba(255, 255, 255, 0.84);
    margin-bottom: 24px;
}

.sc-collabora-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease;
}

.sc-collabora-cta a:hover {
    background: #ffffff;
    color: var(--sc-collabora-verde);
}

/* RESPONSIVE */

@media (max-width: 980px) {
    .sc-collabora-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .sc-collabora-page {
        padding: 0 16px 42px;
    }

    .sc-collabora-hero {
        margin-top: 12px;
        padding: 32px 22px;
        border-radius: 28px;
    }

    .sc-collabora-hero h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .sc-collabora-intro {
        font-size: 16px;
        line-height: 1.65;
    }

    .sc-collabora-grid,
    .sc-collabora-focus-list {
        grid-template-columns: 1fr;
    }

    .sc-collabora-card {
        min-height: auto;
    }

    .sc-collabora-card span {
        min-height: auto;
    }

    .sc-collabora-focus,
    .sc-collabora-cta {
        padding: 26px 22px;
        border-radius: 28px;
    }

    .sc-collabora-focus-list div {
        min-height: auto;
        padding: 20px 20px 20px 70px;
        border-radius: 22px;
    }

    .sc-collabora-focus-list div::before {
        top: 20px;
        left: 20px;
        width: 36px;
        height: 36px;
    }

    .sc-collabora-cta a {
        width: 100%;
    }
}

/* =========================================================
   PAGINA SCRIVICI
   ========================================================= */

.sc-scrivici-page {
    --sc-scrivici-verde: #264733;
    --sc-scrivici-verde-hover: #1f3a2a;
    --sc-scrivici-crema: #f7f4ea;
    --sc-scrivici-crema-2: #fbfaf6;
    --sc-scrivici-bianco: #ffffff;
    --sc-scrivici-testo: #2f2f2f;
    --sc-scrivici-soft: #5f635f;
    --sc-scrivici-bordo: rgba(38, 71, 51, 0.16);
    --sc-scrivici-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);

    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-scrivici-testo);
    box-sizing: border-box;
}

.sc-scrivici-page *,
.sc-scrivici-page *::before,
.sc-scrivici-page *::after {
    box-sizing: border-box;
}

.sc-scrivici-page a {
    color: var(--sc-scrivici-verde);
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =========================================================
   HERO
   ========================================================= */

.sc-scrivici-hero {
    max-width: 980px;
    margin: 22px auto 34px;
    padding: 42px 34px;

    border-radius: 34px;

    background:
        linear-gradient(
            135deg,
            #f7f4ea 0%,
            #fbfaf6 100%
        );

    border: 1px solid var(--sc-scrivici-bordo);

    box-shadow: var(--sc-scrivici-ombra);

    text-align: center;
}

.sc-scrivici-kicker {
    display: inline-flex;
    width: fit-content;

    margin-bottom: 12px;
    padding: 7px 14px;

    border-radius: 999px;

    background: #ffffff;
    color: var(--sc-scrivici-verde);

    border:
        1px solid
        rgba(38, 71, 51, 0.12);

    font-size: 12px;
    font-weight: 850;
    line-height: 1;

    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-scrivici-hero h1 {
    max-width: 920px;

    margin: 0 auto;

    color: var(--sc-scrivici-verde);

    font-size:
        clamp(
            36px,
            5vw,
            62px
        );

    line-height: 1.05;

    font-weight: 850;

    letter-spacing: -0.8px;
}

.sc-scrivici-claim {
    max-width: 760px;

    margin: 18px auto 0;

    color: var(--sc-scrivici-verde);

    font-size:
        clamp(
            18px,
            2.2vw,
            25px
        );

    line-height: 1.35;
}

.sc-scrivici-intro {
    max-width: 840px;

    margin: 20px auto 0;

    color: var(--sc-scrivici-soft);

    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
   INFO CARD
   ========================================================= */

.sc-scrivici-info {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 18px;

    max-width: 980px;

    margin: 0 auto 38px;
}

.sc-scrivici-info div {
    padding: 22px;

    border-radius: 24px;

    background:
        var(--sc-scrivici-crema-2);

    border:
        1px solid
        var(--sc-scrivici-bordo);

    box-shadow:
        0 8px 24px
        rgba(0, 0, 0, 0.045);
}

.sc-scrivici-info strong {
    display: block;

    margin-bottom: 8px;

    color: var(--sc-scrivici-verde);

    font-size: 19px;
    line-height: 1.2;

    font-weight: 850;
}

.sc-scrivici-info span {
    display: block;

    color: var(--sc-scrivici-soft);

    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   FORM BOX
   ========================================================= */

.sc-scrivici-form-box {
    max-width: 900px;

    margin: 0 auto;

    padding: 34px;

    border-radius: 32px;

    background: #ffffff;

    border:
        1px solid
        var(--sc-scrivici-bordo);

    box-shadow:
        var(--sc-scrivici-ombra);
}

.sc-scrivici-form-box h2 {
    margin: 0 auto 10px;

    color: var(--sc-scrivici-verde);

    font-size:
        clamp(
            30px,
            4vw,
            46px
        );

    line-height: 1.12;

    font-weight: 850;

    letter-spacing: -0.5px;
}

.sc-scrivici-form-box > p {
    max-width: 720px;

    margin: 0 auto 26px;

    color: var(--sc-scrivici-soft);

    font-size: 15px;
    line-height: 1.7;
}

.sc-scrivici-form-box
.wp-block-jetpack-contact-form {
    max-width: 760px;
    margin: 0 auto;
}

.sc-scrivici-form-box
.wp-block-jetpack-contact-form > div {
    margin-bottom: 18px;
}

.sc-scrivici-form-box label,
.sc-scrivici-form-box
.wp-block-jetpack-label {
    color: var(--sc-scrivici-verde);

    font-weight: 800;

    line-height: 1.3;
}


/* =========================================================
   CAMPI STANDARD
   ========================================================= */

.sc-scrivici-form-box
input[type="text"],

.sc-scrivici-form-box
input[type="email"],

.sc-scrivici-form-box
input[type="tel"],

.sc-scrivici-form-box
input[type="url"],

.sc-scrivici-form-box
textarea {

    width: 100%;

    min-height: 46px;

    padding: 12px 15px;

    border-radius: 16px;

    border:
        1px solid
        rgba(38, 71, 51, 0.18);

    background: #fbfaf6;

    color:
        var(--sc-scrivici-testo);

    font-size: 15px;

    line-height: 1.5;

    box-shadow: none;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.sc-scrivici-form-box textarea {
    min-height: 140px;

    resize: vertical;
}

.sc-scrivici-form-box
input:focus,

.sc-scrivici-form-box
textarea:focus {

    outline: none;

    border-color:
        var(--sc-scrivici-verde);

    box-shadow:
        0 0 0 3px
        rgba(38, 71, 51, 0.10);

    background: #ffffff;
}


/* =========================================================
   UPLOAD MULTIPLO
   ========================================================= */

/*
 * Di default l'interfaccia personalizzata è nascosta.
 *
 * Questo è intenzionale:
 * se JavaScript non funziona,
 * rimangono visibili i normali campi Jetpack.
 */
.sc-scrivici-multi-upload {
    display: none;

    width: 100%;

    margin:
        24px 0 22px;

    padding: 22px;

    border-radius: 22px;

    background:
        var(--sc-scrivici-crema-2);

    border:
        1px solid
        var(--sc-scrivici-bordo);
}


/*
 * Viene mostrato solamente quando
 * lo script ha verificato che Jetpack
 * e i campi file sono presenti.
 */
.sc-scrivici-multi-upload.is-ready {
    display: block;
}


/* HEADER UPLOAD */

.sc-scrivici-upload-header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 16px;
}

.sc-scrivici-upload-heading {
    min-width: 0;
}

.sc-scrivici-upload-title {
    display: block;

    margin-bottom: 5px;

    color:
        var(--sc-scrivici-verde);

    font-size: 17px;

    line-height: 1.3;

    font-weight: 850;
}

.sc-scrivici-upload-description {
    display: block;

    color:
        var(--sc-scrivici-soft);

    font-size: 13px;

    line-height: 1.5;
}

.sc-scrivici-upload-description strong {
    color:
        var(--sc-scrivici-verde);
}


/* CONTATORE */

.sc-scrivici-upload-counter {
    display: flex;

    flex: 0 0 auto;

    align-items: center;
    justify-content: center;

    min-width: 54px;
    min-height: 34px;

    padding: 4px 11px;

    border-radius: 999px;

    background: #ffffff;

    border:
        1px solid
        rgba(38, 71, 51, 0.14);

    color:
        var(--sc-scrivici-verde);

    font-size: 13px;

    line-height: 1;

    font-weight: 850;
}


/* DROPZONE */

.sc-scrivici-upload-dropzone {
    position: relative;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    width: 100%;

    min-height: 185px;

    padding: 28px 22px;

    border-radius: 18px;

    border:
        1.5px dashed
        rgba(38, 71, 51, 0.30);

    background: #ffffff;

    cursor: pointer;

    text-align: center;

    transition:
        border-color 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.sc-scrivici-upload-dropzone:hover {
    border-color:
        var(--sc-scrivici-verde);

    background:
        #fdfcf8;

    box-shadow:
        0 8px 22px
        rgba(38, 71, 51, 0.07);
}

.sc-scrivici-upload-dropzone:focus-visible {
    outline: none;

    border-color:
        var(--sc-scrivici-verde);

    box-shadow:
        0 0 0 4px
        rgba(38, 71, 51, 0.10);
}

.sc-scrivici-upload-dropzone.is-dragover {
    border-color:
        var(--sc-scrivici-verde);

    background:
        rgba(247, 244, 234, 0.72);

    box-shadow:
        0 0 0 4px
        rgba(38, 71, 51, 0.08);

    transform:
        translateY(-1px);
}


/* ICONA */

.sc-scrivici-upload-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin-bottom: 13px;

    border-radius: 18px;

    background:
        var(--sc-scrivici-crema);

    color:
        var(--sc-scrivici-verde);

    border:
        1px solid
        rgba(38, 71, 51, 0.12);
}

.sc-scrivici-upload-icon svg {
    display: block;
}


/* TESTI DROPZONE */

.sc-scrivici-upload-drop-title {
    display: block;

    color:
        var(--sc-scrivici-verde);

    font-size: 17px;

    line-height: 1.3;

    font-weight: 850;
}

.sc-scrivici-upload-drop-subtitle {
    display: block;

    margin-top: 4px;

    color:
        var(--sc-scrivici-soft);

    font-size: 14px;

    line-height: 1.5;
}

.sc-scrivici-upload-drop-subtitle strong {
    color:
        var(--sc-scrivici-verde);

    font-weight: 850;
}

.sc-scrivici-upload-drop-note {
    display: block;

    margin-top: 9px;

    color:
        #777b77;

    font-size: 12px;

    line-height: 1.4;
}


/* =========================================================
   FEEDBACK UPLOAD
   ========================================================= */

.sc-scrivici-upload-feedback {
    min-height: 0;

    margin-top: 10px;

    color:
        var(--sc-scrivici-soft);

    font-size: 12px;

    line-height: 1.45;
}

.sc-scrivici-upload-feedback:empty {
    display: none;
}

.sc-scrivici-upload-feedback.is-error {
    color: #9b2c2c;
}

.sc-scrivici-upload-feedback.is-success {
    color:
        var(--sc-scrivici-verde);
}


/* =========================================================
   ELENCO FILE
   ========================================================= */

.sc-scrivici-upload-list {
    display: grid;

    gap: 8px;

    margin: 14px 0 0;

    padding: 0;

    list-style: none;
}

.sc-scrivici-upload-list:empty {
    display: none;
}

.sc-scrivici-upload-file {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 14px;

    width: 100%;

    padding: 11px 12px;

    border-radius: 14px;

    background: #ffffff;

    border:
        1px solid
        rgba(38, 71, 51, 0.12);
}

.sc-scrivici-upload-file-info {
    display: flex;

    align-items: center;

    gap: 11px;

    min-width: 0;

    flex: 1 1 auto;
}


/* PICCOLA ICONA FILE */

.sc-scrivici-upload-file-icon {
    position: relative;

    display: block;

    flex: 0 0 auto;

    width: 32px;
    height: 38px;

    border-radius: 7px;

    background:
        var(--sc-scrivici-crema);

    border:
        1px solid
        rgba(38, 71, 51, 0.16);
}

.sc-scrivici-upload-file-icon::before {
    content: "";

    position: absolute;

    left: 8px;
    right: 8px;
    top: 12px;

    height: 2px;

    border-radius: 999px;

    background:
        rgba(38, 71, 51, 0.42);

    box-shadow:
        0 5px 0
        rgba(38, 71, 51, 0.30),
        0 10px 0
        rgba(38, 71, 51, 0.22);
}


/* TESTI FILE */

.sc-scrivici-upload-file-text {
    display: flex;

    flex-direction: column;

    min-width: 0;
}

.sc-scrivici-upload-file-name {
    display: block;

    max-width: 100%;

    overflow: hidden;

    color:
        var(--sc-scrivici-testo);

    font-size: 13px;

    line-height: 1.35;

    font-weight: 750;

    text-overflow: ellipsis;

    white-space: nowrap;
}

.sc-scrivici-upload-file-size {
    display: block;

    margin-top: 2px;

    color:
        var(--sc-scrivici-soft);

    font-size: 11px;

    line-height: 1.3;
}


/* RIMUOVI FILE */

.sc-scrivici-upload-remove {
    flex: 0 0 auto;

    min-height: 34px;

    padding: 0 11px;

    border:
        1px solid
        rgba(38, 71, 51, 0.14);

    border-radius: 999px;

    background:
        #ffffff;

    color:
        var(--sc-scrivici-verde);

    cursor: pointer;

    font-family: inherit;

    font-size: 11px;

    line-height: 1;

    font-weight: 800;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease;
}

.sc-scrivici-upload-remove:hover {
    background:
        var(--sc-scrivici-crema);

    border-color:
        rgba(38, 71, 51, 0.30);

    color:
        var(--sc-scrivici-verde-hover);
}

.sc-scrivici-upload-remove:focus-visible {
    outline: none;

    box-shadow:
        0 0 0 3px
        rgba(38, 71, 51, 0.10);
}


/* =========================================================
   CAMPI FILE ORIGINALI JETPACK
   ========================================================= */

/*
 * Questa classe viene aggiunta SOLO tramite JavaScript
 * e SOLO dopo l'inizializzazione corretta del sistema.
 *
 * Gli input continuano a esistere nel vero modulo Jetpack
 * e continueranno quindi a essere inviati normalmente.
 */

.sc-scrivici-native-file-field {
    display: none !important;
}


/* =========================================================
   CHECKBOX
   ========================================================= */

.sc-scrivici-form-box
input[type="checkbox"] {
    accent-color:
        var(--sc-scrivici-verde);
}


/* =========================================================
   PULSANTE INVIO
   ========================================================= */

.sc-scrivici-form-box
.wp-block-button {
    margin-top: 24px;

    text-align: center;
}

.sc-scrivici-form-box
.wp-block-button__link,

.sc-scrivici-form-box
button[type="submit"] {

    min-height: 48px;

    padding: 0 28px;

    border: 0;

    border-radius: 999px;

    background:
        var(--sc-scrivici-verde)
        !important;

    color:
        #ffffff
        !important;

    font-size: 14px;

    font-weight: 850;

    line-height: 1;

    text-transform: none;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.sc-scrivici-form-box
.wp-block-button__link:hover,

.sc-scrivici-form-box
button[type="submit"]:hover {

    background:
        var(--sc-scrivici-verde-hover)
        !important;

    color:
        #ffffff
        !important;

    transform:
        translateY(-1px);

    box-shadow:
        0 8px 20px
        rgba(38, 71, 51, 0.15);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 980px) {

    .sc-scrivici-info {
        grid-template-columns: 1fr;

        max-width: 760px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .sc-scrivici-page {
        padding:
            0 16px 42px;
    }


    /* HERO */

    .sc-scrivici-hero {
        margin-top: 12px;

        padding:
            32px 22px;

        border-radius: 28px;
    }

    .sc-scrivici-hero h1 {
        font-size:
            clamp(
                34px,
                10vw,
                46px
            );
    }

    .sc-scrivici-intro {
        font-size: 16px;

        line-height: 1.65;
    }


    /* FORM */

    .sc-scrivici-form-box {
        padding:
            26px 20px;

        border-radius: 28px;
    }


    /* UPLOAD */

    .sc-scrivici-multi-upload {
        margin:
            22px 0 20px;

        padding: 16px;

        border-radius: 19px;
    }

    .sc-scrivici-upload-header {
        gap: 12px;
    }

    .sc-scrivici-upload-title {
        font-size: 16px;
    }

    .sc-scrivici-upload-description {
        font-size: 12px;
    }

    .sc-scrivici-upload-counter {
        min-width: 48px;

        min-height: 31px;

        padding:
            3px 9px;

        font-size: 12px;
    }

    .sc-scrivici-upload-dropzone {
        min-height: 170px;

        padding:
            24px 16px;

        border-radius: 16px;
    }

    .sc-scrivici-upload-icon {
        width: 52px;
        height: 52px;

        border-radius: 16px;
    }

    .sc-scrivici-upload-drop-title {
        font-size: 16px;
    }

    .sc-scrivici-upload-drop-subtitle {
        font-size: 13px;
    }

    .sc-scrivici-upload-file {
        padding:
            10px;
    }

    .sc-scrivici-upload-file-name {
        max-width:
            min(
                48vw,
                330px
            );
    }

    .sc-scrivici-upload-remove {
        min-height: 32px;

        padding:
            0 9px;
    }


    /* BUTTON */

    .sc-scrivici-form-box
    .wp-block-button,

    .sc-scrivici-form-box
    .wp-block-button__link,

    .sc-scrivici-form-box
    button[type="submit"] {

        width: 100%;
    }

}


/* =========================================================
   MOBILE PICCOLO
   ========================================================= */

@media (max-width: 480px) {

    .sc-scrivici-upload-header {
        align-items: center;
    }

    .sc-scrivici-upload-description {
        padding-right: 4px;
    }

    .sc-scrivici-upload-file {
        align-items: center;
    }

    .sc-scrivici-upload-file-name {
        max-width: 42vw;
    }

    .sc-scrivici-upload-remove {
        font-size: 10px;
    }

}

/* PAGINA PRIVACY */

.sc-privacy-page {
    --sc-privacy-verde: #264733;
    --sc-privacy-verde-hover: #1f3a2a;
    --sc-privacy-crema: #f7f4ea;
    --sc-privacy-crema-2: #fbfaf6;
    --sc-privacy-bianco: #ffffff;
    --sc-privacy-testo: #2f2f2f;
    --sc-privacy-soft: #5f635f;
    --sc-privacy-bordo: rgba(38, 71, 51, 0.16);
    --sc-privacy-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-privacy-testo);
    box-sizing: border-box;
}

.sc-privacy-page *,
.sc-privacy-page *::before,
.sc-privacy-page *::after {
    box-sizing: border-box;
}

.sc-privacy-page a {
    color: var(--sc-privacy-verde);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sc-privacy-page a:hover {
    color: var(--sc-privacy-verde-hover);
}

/* HERO */

.sc-privacy-hero {
    max-width: 980px;
    margin: 22px auto 34px;
    padding: 42px 34px;
    border-radius: 34px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-privacy-bordo);
    box-shadow: var(--sc-privacy-ombra);
    text-align: center;
}

.sc-privacy-kicker {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-privacy-verde);
    border: 1px solid rgba(38, 71, 51, 0.12);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-privacy-hero h1 {
    max-width: 900px;
    margin: 0 auto;
    color: var(--sc-privacy-verde);
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.8px;
}

.sc-privacy-claim {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--sc-privacy-verde);
    font-size: clamp(18px, 2.2vw, 25px);
    line-height: 1.35;
}

.sc-privacy-intro {
    max-width: 840px;
    margin: 20px auto 0;
    color: var(--sc-privacy-soft);
    font-size: 17px;
    line-height: 1.75;
}

.sc-privacy-date {
    display: inline-flex;
    margin: 22px auto 0;
    padding: 8px 14px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(38, 71, 51, 0.12);
    color: var(--sc-privacy-soft);
    font-size: 13px;
    line-height: 1;
}

/* INDICE */

.sc-privacy-index {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 980px;
    margin: 0 auto 34px;
    padding: 18px;
    border-radius: 26px;
    background: #ffffff;
    border: 1px solid var(--sc-privacy-bordo);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
}

.sc-privacy-index a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 15px;
    border-radius: 999px;
    background: var(--sc-privacy-crema-2);
    border: 1px solid rgba(38, 71, 51, 0.12);
    color: var(--sc-privacy-verde);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: all 0.2s ease;
}

.sc-privacy-index a:hover {
    background: var(--sc-privacy-verde);
    color: #ffffff;
}

/* CONTENUTO */

.sc-privacy-content {
    max-width: 940px;
    margin: 0 auto;
    padding: 38px 38px;
    border-radius: 32px;
    background: #ffffff;
    border: 1px solid var(--sc-privacy-bordo);
    box-shadow: var(--sc-privacy-ombra);
}

.sc-privacy-content h2 {
    scroll-margin-top: 110px;
    margin: 42px 0 14px;
    padding-top: 26px;
    border-top: 1px solid rgba(38, 71, 51, 0.12);
    color: var(--sc-privacy-verde);
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.15;
    font-weight: 850;
    letter-spacing: -0.4px;
}

.sc-privacy-content h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.sc-privacy-content h3 {
    margin: 28px 0 10px;
    color: var(--sc-privacy-verde);
    font-size: clamp(20px, 2.3vw, 26px);
    line-height: 1.2;
    font-weight: 850;
}

.sc-privacy-content p {
    margin: 0 0 14px;
    color: var(--sc-privacy-soft);
    font-size: 16px;
    line-height: 1.78;
}

.sc-privacy-content ul {
    margin: 14px 0 22px;
    padding: 18px 22px 18px 38px;
    border-radius: 22px;
    background: var(--sc-privacy-crema-2);
    border: 1px solid rgba(38, 71, 51, 0.12);
}

.sc-privacy-content li {
    margin-bottom: 8px;
    color: var(--sc-privacy-soft);
    font-size: 15px;
    line-height: 1.6;
}

.sc-privacy-content li:last-child {
    margin-bottom: 0;
}

.sc-privacy-content strong {
    color: var(--sc-privacy-verde);
}

/* NOTA FINALE */

.sc-privacy-final-note {
    max-width: 900px;
    margin: 34px auto 0;
    padding: 30px;
    border-radius: 30px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-privacy-bordo);
    text-align: center;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.055);
}

.sc-privacy-final-note h2 {
    margin: 0;
    color: var(--sc-privacy-verde);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.12;
    font-weight: 850;
}

.sc-privacy-final-note p {
    max-width: 720px;
    margin: 14px auto 0;
    color: var(--sc-privacy-soft);
    font-size: 16px;
    line-height: 1.75;
}

/* MOBILE */

@media (max-width: 767px) {
    .sc-privacy-page {
        padding: 0 16px 42px;
    }

    .sc-privacy-hero {
        margin-top: 12px;
        padding: 32px 22px;
        border-radius: 28px;
    }

    .sc-privacy-hero h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .sc-privacy-intro {
        font-size: 16px;
        line-height: 1.65;
    }

    .sc-privacy-index {
        padding: 14px;
        border-radius: 22px;
        justify-content: flex-start;
    }

    .sc-privacy-index a {
        width: 100%;
    }

    .sc-privacy-content {
        padding: 28px 22px;
        border-radius: 28px;
    }

    .sc-privacy-content h2 {
        font-size: clamp(24px, 7vw, 32px);
        scroll-margin-top: 80px;
    }

    .sc-privacy-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .sc-privacy-content ul {
        padding: 16px 18px 16px 32px;
        border-radius: 18px;
    }

    .sc-privacy-final-note {
        padding: 26px 22px;
        border-radius: 28px;
    }
}

/* PAGINA COOKIE POLICY */

.sc-cookie-page {
    --sc-cookie-verde: #264733;
    --sc-cookie-verde-hover: #1f3a2a;
    --sc-cookie-crema: #f7f4ea;
    --sc-cookie-crema-2: #fbfaf6;
    --sc-cookie-bianco: #ffffff;
    --sc-cookie-testo: #2f2f2f;
    --sc-cookie-soft: #5f635f;
    --sc-cookie-bordo: rgba(38, 71, 51, 0.16);
    --sc-cookie-ombra: 0 16px 42px rgba(0, 0, 0, 0.08);
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 56px;
    color: var(--sc-cookie-testo);
    box-sizing: border-box;
}

.sc-cookie-page *,
.sc-cookie-page *::before,
.sc-cookie-page *::after {
    box-sizing: border-box;
}

.sc-cookie-page a {
    color: var(--sc-cookie-verde);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sc-cookie-page a:hover {
    color: var(--sc-cookie-verde-hover);
}

/* HERO */

.sc-cookie-hero {
    max-width: 980px;
    margin: 22px auto 34px;
    padding: 42px 34px;
    border-radius: 34px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-cookie-bordo);
    box-shadow: var(--sc-cookie-ombra);
    text-align: center;
}

.sc-cookie-kicker {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: var(--sc-cookie-verde);
    border: 1px solid rgba(38, 71, 51, 0.12);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-cookie-hero h1 {
    max-width: 900px;
    margin: 0 auto;
    color: var(--sc-cookie-verde);
    font-size: clamp(36px, 5vw, 62px);
    line-height: 1.05;
    font-weight: 850;
    letter-spacing: -0.8px;
}

.sc-cookie-claim {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--sc-cookie-verde);
    font-size: clamp(18px, 2.2vw, 25px);
    line-height: 1.35;
}

.sc-cookie-intro {
    max-width: 840px;
    margin: 20px auto 0;
    color: var(--sc-cookie-soft);
    font-size: 17px;
    line-height: 1.75;
}

/* CARD INFO */

.sc-cookie-info {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    max-width: 980px;
    margin: 0 auto 38px;
}

.sc-cookie-info div {
    padding: 22px 22px;
    border-radius: 24px;
    background: var(--sc-cookie-crema-2);
    border: 1px solid var(--sc-cookie-bordo);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
}

.sc-cookie-info strong {
    display: block;
    margin-bottom: 8px;
    color: var(--sc-cookie-verde);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 850;
}

.sc-cookie-info span {
    display: block;
    color: var(--sc-cookie-soft);
    font-size: 14px;
    line-height: 1.6;
}

/* DOCUMENTO COMPLIANZ */

.sc-cookie-content {
    max-width: 940px;
    margin: 0 auto;
    padding: 38px 38px;
    border-radius: 32px;
    background: #ffffff;
    border: 1px solid var(--sc-cookie-bordo);
    box-shadow: var(--sc-cookie-ombra);
}

/* Nasconde il titolo duplicato generato dal documento Complianz */

.sc-cookie-content #cmplz-document > h1:first-child,
.sc-cookie-content #cmplz-document > h2:first-child,
.sc-cookie-content .cmplz-document > h1:first-child,
.sc-cookie-content .cmplz-document > h2:first-child {
    display: none;
}

.sc-cookie-content #cmplz-document,
.sc-cookie-content .cmplz-document {
    max-width: 100% !important;
    margin: 0 !important;
    color: var(--sc-cookie-soft);
    font-size: 16px;
    line-height: 1.78;
}

.sc-cookie-content h2 {
    scroll-margin-top: 110px;
    margin: 42px 0 14px;
    padding-top: 26px;
    border-top: 1px solid rgba(38, 71, 51, 0.12);
    color: var(--sc-cookie-verde);
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.15;
    font-weight: 850;
    letter-spacing: -0.4px;
}

.sc-cookie-content h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.sc-cookie-content h3,
.sc-cookie-content h4 {
    margin: 28px 0 10px;
    color: var(--sc-cookie-verde);
    font-size: clamp(20px, 2.3vw, 26px);
    line-height: 1.2;
    font-weight: 850;
}

.sc-cookie-content p {
    margin: 0 0 14px;
    color: var(--sc-cookie-soft);
    font-size: 16px;
    line-height: 1.78;
}

.sc-cookie-content ul,
.sc-cookie-content ol {
    margin: 14px 0 22px;
    padding: 18px 22px 18px 38px;
    border-radius: 22px;
    background: var(--sc-cookie-crema-2);
    border: 1px solid rgba(38, 71, 51, 0.12);
}

.sc-cookie-content li {
    margin-bottom: 8px;
    color: var(--sc-cookie-soft);
    font-size: 15px;
    line-height: 1.6;
}

.sc-cookie-content li:last-child {
    margin-bottom: 0;
}

/* TABELLE E BLOCCHI COMPLIANZ */

.sc-cookie-content table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 22px 0;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(38, 71, 51, 0.14);
}

.sc-cookie-content th,
.sc-cookie-content td {
    padding: 13px 14px;
    border-bottom: 1px solid rgba(38, 71, 51, 0.10);
    color: var(--sc-cookie-soft);
    font-size: 14px;
    line-height: 1.55;
    vertical-align: top;
}

.sc-cookie-content th {
    color: var(--sc-cookie-verde);
    background: var(--sc-cookie-crema-2);
    font-weight: 850;
}

.sc-cookie-content tr:last-child td {
    border-bottom: 0;
}

.sc-cookie-content .cmplz-dropdown,
.sc-cookie-content .cmplz-service-header,
.sc-cookie-content .cmplz-category,
.sc-cookie-content .cmplz-service-desc,
.sc-cookie-content .cmplz-sharing-data,
.sc-cookie-content .cmplz-cookies-overview,
.sc-cookie-content .cmplz-placeholder-parent {
    border-radius: 20px;
}

.sc-cookie-content .cmplz-dropdown {
    margin: 14px 0;
    padding: 18px 20px;
    background: var(--sc-cookie-crema-2);
    border: 1px solid rgba(38, 71, 51, 0.12);
}

.sc-cookie-content .cmplz-dropdown summary,
.sc-cookie-content .cmplz-dropdown h4,
.sc-cookie-content .cmplz-service-header {
    color: var(--sc-cookie-verde);
    font-weight: 850;
}

.sc-cookie-content button,
.sc-cookie-content .cmplz-show-banner {
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--sc-cookie-verde);
    color: #ffffff;
    border: 0;
    font-size: 14px;
    font-weight: 850;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sc-cookie-content button:hover,
.sc-cookie-content .cmplz-show-banner:hover {
    background: var(--sc-cookie-verde-hover);
    color: #ffffff;
}

/* NOTA FINALE */

.sc-cookie-final-note {
    max-width: 900px;
    margin: 34px auto 0;
    padding: 30px;
    border-radius: 30px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid var(--sc-cookie-bordo);
    text-align: center;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.055);
}

.sc-cookie-final-note h2 {
    margin: 0;
    color: var(--sc-cookie-verde);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.12;
    font-weight: 850;
}

.sc-cookie-final-note p {
    max-width: 720px;
    margin: 14px auto 0;
    color: var(--sc-cookie-soft);
    font-size: 16px;
    line-height: 1.75;
}

/* MOBILE */

@media (max-width: 980px) {
    .sc-cookie-info {
        grid-template-columns: 1fr;
        max-width: 760px;
    }
}

@media (max-width: 767px) {
    .sc-cookie-page {
        padding: 0 16px 42px;
    }

    .sc-cookie-hero {
        margin-top: 12px;
        padding: 32px 22px;
        border-radius: 28px;
    }

    .sc-cookie-hero h1 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .sc-cookie-intro {
        font-size: 16px;
        line-height: 1.65;
    }

    .sc-cookie-content {
        padding: 28px 22px;
        border-radius: 28px;
    }

    .sc-cookie-content h2 {
        font-size: clamp(24px, 7vw, 32px);
        scroll-margin-top: 80px;
    }

    .sc-cookie-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .sc-cookie-content ul,
    .sc-cookie-content ol {
        padding: 16px 18px 16px 32px;
        border-radius: 18px;
    }

    .sc-cookie-content table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .sc-cookie-final-note {
        padding: 26px 22px;
        border-radius: 28px;
    }
}

/* SEZIONE COMMENTI */

.sc-comments-section {
    max-width: 980px;
    margin: 56px auto 0;
    padding: 0 20px 56px;
    box-sizing: border-box;
}

.sc-comments-section *,
.sc-comments-section *::before,
.sc-comments-section *::after {
    box-sizing: border-box;
}

/* INTRO */

.sc-comments-intro {
    margin: 0 auto 26px;
    padding: 30px 28px;
    border-radius: 30px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid rgba(38, 71, 51, 0.16);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.sc-comments-intro span {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: #264733;
    border: 1px solid rgba(38, 71, 51, 0.12);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sc-comments-intro h2 {
    margin: 0;
    color: #264733;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: -0.5px;
}

.sc-comments-intro p {
    max-width: 720px;
    margin: 14px auto 0;
    color: #5f635f;
    font-size: 16px;
    line-height: 1.7;
}

/* AREA COMMENTI */

.sc-comments-area {
    max-width: 900px;
    margin: 0 auto;
    padding: 32px;
    border-radius: 32px;
    background: #ffffff;
    border: 1px solid rgba(38, 71, 51, 0.16);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.08);
}

.sc-comments-title {
    margin: 0 0 22px;
    color: #264733;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.15;
    font-weight: 850;
}

/* SINGOLO COMMENTO */

.sc-comment-card {
    padding: 22px;
    border-radius: 24px;
    background: #fbfaf6;
    border: 1px solid rgba(38, 71, 51, 0.12);
}

.sc-comment-head {
    align-items: center;
}

.sc-comment-head .wp-block-avatar img {
    border-radius: 50%;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.sc-comment-meta {
    margin: 0;
}

.sc-comment-meta .wp-block-comment-author-name,
.sc-comment-meta .wp-block-comment-author-name a {
    color: #264733;
    font-weight: 850;
    text-decoration: none;
}

.sc-comment-date-row,
.sc-comment-date-row a,
.sc-comment-date-row time {
    color: #7a7d78;
    font-size: 13px;
    text-decoration: none;
}

.sc-comment-content {
    margin-top: 16px;
}

.sc-comment-content p {
    margin: 0 0 12px;
    color: #4f544f;
    font-size: 15px;
    line-height: 1.7;
}

.sc-comment-content p:last-child {
    margin-bottom: 0;
}

.sc-comment-reply,
.sc-comment-reply a {
    display: inline-flex;
    margin-top: 14px;
    color: #264733;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* PAGINAZIONE COMMENTI */

.sc-comments-pagination-wrap {
    padding-top: 10px;
}

.sc-comments-pagination-wrap a,
.sc-comments-pagination-wrap .page-numbers {
    color: #264733;
    font-weight: 800;
    text-decoration: none;
}

.sc-comments-pagination-wrap a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* FORM COMMENTI */

.sc-comments-area .comment-respond,
.sc-comments-area .wp-block-post-comments-form {
    margin-top: 28px;
    padding: 28px;
    border-radius: 26px;
    background: linear-gradient(135deg, #f7f4ea 0%, #fbfaf6 100%);
    border: 1px solid rgba(38, 71, 51, 0.14);
}

.sc-comments-area .comment-reply-title {
    margin: 0 0 12px;
    color: #264733;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.15;
    font-weight: 850;
}

.sc-comments-area .comment-form p {
    margin-bottom: 16px;
}

.sc-comments-area .comment-form label {
    display: block;
    margin-bottom: 7px;
    color: #264733;
    font-weight: 800;
}

.sc-comments-area .comment-form input[type="text"],
.sc-comments-area .comment-form input[type="email"],
.sc-comments-area .comment-form input[type="url"],
.sc-comments-area .comment-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 12px 15px;
    border-radius: 16px;
    border: 1px solid rgba(38, 71, 51, 0.18);
    background: #ffffff;
    color: #2f2f2f;
    font-size: 15px;
    line-height: 1.5;
    box-shadow: none;
}

.sc-comments-area .comment-form textarea {
    min-height: 150px;
    resize: vertical;
}

.sc-comments-area .comment-form input:focus,
.sc-comments-area .comment-form textarea:focus {
    outline: none;
    border-color: #264733;
    box-shadow: 0 0 0 3px rgba(38, 71, 51, 0.10);
}

.sc-comments-area .form-submit input[type="submit"],
.sc-comments-area .wp-block-button__link,
.sc-comments-area button[type="submit"] {
    min-height: 48px;
    padding: 0 26px;
    border-radius: 999px;
    background: #264733 !important;
    color: #ffffff !important;
    border: 0;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sc-comments-area .form-submit input[type="submit"]:hover,
.sc-comments-area .wp-block-button__link:hover,
.sc-comments-area button[type="submit"]:hover {
    background: #1f3a2a !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* MOBILE */

@media (max-width: 767px) {
    .sc-comments-section {
        margin-top: 42px;
        padding: 0 16px 42px;
    }

    .sc-comments-intro {
        padding: 26px 22px;
        border-radius: 28px;
    }

    .sc-comments-area {
        padding: 24px 20px;
        border-radius: 28px;
    }

    .sc-comment-card {
        padding: 20px;
        border-radius: 22px;
    }

    .sc-comments-area .comment-respond,
    .sc-comments-area .wp-block-post-comments-form {
        padding: 22px 18px;
        border-radius: 24px;
    }

    .sc-comments-area .form-submit input[type="submit"],
    .sc-comments-area .wp-block-button__link,
    .sc-comments-area button[type="submit"] {
        width: 100%;
    }
}

/* PAGINE IN COSTRUZIONE - SCOPRI COTRONEI */

.sc-wip-page {
    max-width: 1180px;
    margin: 0 auto;
}

.sc-wip-hero {
    text-align: center;
    padding: 64px 28px;
    border-radius: 28px;
    background: linear-gradient(135deg, #fff8f0 0%, #ffffff 55%, #f7efe5 100%);
    border: 1px solid rgba(120, 78, 42, 0.16);
    box-shadow: 0 18px 45px rgba(60, 36, 20, 0.08);
    margin-bottom: 34px;
}

.sc-wip-kicker {
    display: inline-block;
    margin-bottom: 18px;
    padding: 8px 16px;
    border-radius: 999px;
    background: #7a3e1d;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sc-wip-hero h1 {
    margin: 0 0 14px;
    font-size: clamp(2.2rem, 5vw, 4.2rem);
    line-height: 1.05;
    color: #2c1b12;
}

.sc-wip-claim {
    margin: 0 auto 18px;
    max-width: 760px;
    font-size: clamp(1.1rem, 2.4vw, 1.45rem);
    color: #7a3e1d;
}

.sc-wip-intro {
    max-width: 830px;
    margin: 0 auto;
    font-size: 1.05rem;
    line-height: 1.75;
    color: #4f4036;
}

.sc-wip-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.sc-wip-actions a,
.sc-wip-note a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.sc-wip-actions a:first-child,
.sc-wip-note a {
    background: #7a3e1d;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(122, 62, 29, 0.22);
}

.sc-wip-actions a:last-child {
    background: #ffffff;
    color: #7a3e1d;
    border: 1px solid rgba(122, 62, 29, 0.22);
}

.sc-wip-actions a:hover,
.sc-wip-note a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(122, 62, 29, 0.22);
}

.sc-wip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 34px;
}

.sc-wip-card {
    padding: 26px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid rgba(120, 78, 42, 0.14);
    box-shadow: 0 10px 28px rgba(60, 36, 20, 0.06);
}

.sc-wip-card span {
    display: block;
    margin-bottom: 10px;
    color: #7a3e1d;
    font-weight: 800;
    font-size: 1.05rem;
}

.sc-wip-card strong {
    display: block;
    color: #3f3028;
    line-height: 1.6;
    font-weight: 500;
}

.sc-wip-note {
    text-align: center;
    padding: 42px 28px;
    border-radius: 24px;
    background: #2c1b12;
    color: #ffffff;
}

.sc-wip-note h2 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.sc-wip-note p {
    max-width: 800px;
    margin: 0 auto 24px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.86);
}

.sc-wip-note a {
    background: #ffffff;
    color: #2c1b12;
}

@media (max-width: 900px) {
    .sc-wip-grid {
        grid-template-columns: 1fr;
    }

    .sc-wip-hero {
        padding: 46px 22px;
        border-radius: 22px;
    }

    .sc-wip-actions {
        flex-direction: column;
    }

    .sc-wip-actions a,
    .sc-wip-note a {
        width: 100%;
    }
}

/* IMMAGINE EVIDENZA ARTICOLI */

.single-post .entry-content .wp-block-post-featured-image {
  width: 100%;
  max-width: 480px;
  margin: 0 auto 28px auto;
  overflow: visible !important;
  text-align: center;
}

.single-post .entry-content .wp-block-post-featured-image img {
  width: 100%;
  height: auto !important;
  max-height: 520px;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  display: block;
  margin: 0 auto;
  border-radius: 14px;
}

/* Tablet */
@media (max-width: 900px) {
  .single-post .entry-content .wp-block-post-featured-image {
    max-width: 560px;
  }

  .single-post .entry-content .wp-block-post-featured-image img {
    max-height: 600px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .single-post .entry-content .wp-block-post-featured-image {
    max-width: 100%;
    margin-bottom: 24px;
  }

  .single-post .entry-content .wp-block-post-featured-image img {
    width: 100%;
    max-height: none;
    border-radius: 12px;
  }
}


