/* ===================================================
   NDS — PAGINA SOSTENIBILITÀ / ETICA E FILOSOFIA AZIENDALE
   Design system Nido di Seta · luxury minimal
   =================================================== */

/*
   STRUTTURA PREVISTA: un unico blocco "Raw HTML" di WPBakery contenente
   tutta la pagina (niente righe/colonne WPBakery annidate), così non ci
   sono wrapper automatici da inseguire con la cascata CSS — lo stesso
   approccio usato per la sezione "Eventi speciali in programma".

   Hero statica (niente più effetto "pin"): .nds-sost-hero è una sezione
   normale a piena altezza (position:relative, overflow:hidden) che
   contiene lo sfondo (.nds-sost-hero-bg) e il testo (.nds-sost-hero-inner)
   in position:absolute, ancorati alla sezione stessa. Scorre insieme al
   resto della pagina come qualsiasi altra hero del sito. */

.nds-sost-page { position: relative; width: 100%; }

/* ===== HERO (sezione statica, immagine + testo) ===== */
.nds-sost-hero {
    position: relative;
    z-index: 0;
    height: 100vh;
    min-height: 560px;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}
.nds-sost-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: var(--nds-dark);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
/* Se la riga/colonna imposta un'immagine di sfondo (via style inline o
   classe .nds-sost-hero--img), qui si aggiunge solo il velo di lettura. */
.nds-sost-hero-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.32);
}
.nds-sost-hero-inner {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 24px;
    box-sizing: border-box;
    pointer-events: none;
}
.nds-sost-hero-inner > div { max-width: 780px; }
.nds-sost-hero-label {
    display: block;
    font-family: "Inter", sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--nds-gold-pale) !important;
    margin-bottom: 16px;
}
.nds-sost-hero-title {
    font-family: "Ambroise Std", serif !important;
    font-weight: 300 !important;
    font-size: clamp(32px, 4.5vw, 52px) !important;
    color: var(--nds-white) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* ===== CONTENUTO (scorre sopra la hero) ===== */
.nds-sost-content {
    position: relative;
    z-index: 1;
    background: var(--nds-bg-cream);
    margin-top: -48px;
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    box-sizing: border-box;
}

/* ===== MANIFESTO ===== */
.nds-sost-manifesto {
    padding: 80px 10% 64px;
    text-align: center;
}
.nds-sost-manifesto p {
    font-family: "Ambroise Std", serif !important;
    font-weight: 300 !important;
    font-size: clamp(20px, 2.4vw, 26px) !important;
    line-height: 1.6 !important;
    color: var(--nds-text) !important;
    max-width: 780px;
    margin: 0 auto !important;
}

/* ===== PILASTRI ===== */
.nds-sost-pillar {
    background: var(--nds-white);
    padding: 64px 10%;
    border-top: 1px solid var(--nds-border-light);
}
.nds-sost-pillar-inner { max-width: 760px; margin: 0 auto; }
.nds-sost-pillar-eyebrow {
    display: block;
    font-family: "Inter", sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: var(--nds-bronze) !important;
    margin-bottom: 14px;
}
.nds-sost-pillar-title {
    font-family: "Ambroise Std", serif !important;
    font-weight: 300 !important;
    font-size: clamp(22px, 2.6vw, 30px) !important;
    color: var(--nds-text) !important;
    margin: 0 0 20px !important;
    line-height: 1.25 !important;
}
.nds-sost-pillar p {
    font-family: "Inter", sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    line-height: 1.85 !important;
    color: var(--nds-text-secondary) !important;
    margin: 0 0 18px !important;
}
.nds-sost-pillar p strong {
    font-weight: 500 !important;
    color: var(--nds-dark) !important;
}
.nds-sost-pillar ul {
    margin: 0;
    padding: 0 0 0 18px;
    list-style: disc;
}
.nds-sost-pillar li {
    font-family: "Inter", sans-serif !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 1.9 !important;
    color: var(--nds-text-secondary) !important;
}

/* Badge certificazione */
.nds-sost-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.nds-sost-badge {
    display: inline-block;
    font-family: "Inter", sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.3px !important;
    color: var(--nds-text-secondary) !important;
    background: var(--nds-bg-cream);
    border: 1px solid var(--nds-border-light);
    padding: 7px 14px;
    border-radius: 20px;
}

/* ===== RICONOSCIMENTO ===== */
.nds-sost-award {
    background: var(--nds-dark);
    padding: 64px 10%;
    text-align: center;
}
.nds-sost-award .nds-sost-hero-label { color: var(--nds-gold-pale) !important; }
.nds-sost-award-title {
    font-family: "Ambroise Std", serif !important;
    font-weight: 300 !important;
    font-size: clamp(19px, 2.2vw, 24px) !important;
    color: var(--nds-white) !important;
    margin: 14px 0 10px !important;
    line-height: 1.4 !important;
}
.nds-sost-award-subtitle {
    font-family: "Inter", sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 300 !important;
    color: var(--nds-gold-light) !important;
    margin: 0 !important;
}

/* ===== CHIUSURA / CTA ===== */
.nds-sost-closing {
    background: var(--nds-bg-cream);
    padding: 72px 10% 88px;
    text-align: center;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    .nds-sost-hero { height: 78vh; min-height: 460px; }
    .nds-sost-content { margin-top: 0; border-radius: 0; }
    .nds-sost-manifesto { padding: 56px 7% 48px; }
    .nds-sost-pillar { padding: 48px 7%; }
    .nds-sost-award { padding: 48px 7%; }
    .nds-sost-closing { padding: 56px 7% 64px; }
}
