/* ===================================================
   NDS — PAGINA AZIENDA
   Design system Nido di Seta · luxury minimal
   =================================================== */

/* ===== HERO ===== */

/*
   STRUTTURA DOM reale generata da WPBakery (verificata sul sorgente):

   div.vc_row.nds-azienda-hero-row
     div.full_section_inner.clearfix
       div.nds-azienda-hero-wrap.wpb_column.vc_col-sm-12   ← colonna
         div.vc_column-inner
           div.wpb_wrapper
             div.wpb_wrapper                               ← Raw HTML interno
               p > span.nds-azienda-hero-label
               h1.nds-azienda-hero-title

   Strategia: height:100% a cascata + flex+justify-content:center
   su ogni nodo fino al secondo wpb_wrapper.
*/

/* 1. Altezza sulla riga */
.nds-azienda-hero-row {
    min-height: 80vh !important;
    height: 80vh !important;
    overflow: hidden !important;
}

/* 2. full_section_inner: eredita l'altezza */
.nds-azienda-hero-row > .full_section_inner {
    height: 100% !important;
    min-height: 80vh !important;
}

/* 3. Colonna (= nds-azienda-hero-wrap): flex, centra */
.nds-azienda-hero-wrap {
    height: 100% !important;
    min-height: 70vh !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* 4. vc_column-inner */
.nds-azienda-hero-wrap > .vc_column-inner {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    width: 100% !important;
}

/* 5. Primo wpb_wrapper */
.nds-azienda-hero-wrap > .vc_column-inner > .wpb_wrapper {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

/* 6. Secondo wpb_wrapper (WPBakery lo aggiunge automaticamente attorno al Raw HTML) */
.nds-azienda-hero-wrap > .vc_column-inner > .wpb_wrapper > .wpb_wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
}

/* 7. Paragrafo wrapper che WPBakery aggiunge attorno allo span label */
.nds-azienda-hero-wrap p {
    margin: 0 0 16px !important;
    line-height: 1 !important;
}

.nds-azienda-hero-label {
    font-family: "Inter", sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--nds-gold-pale) !important;
    margin: 0 0 16px !important;
    display: block;
}

.nds-azienda-hero-title {
    font-family: "Ambroise Std", serif !important;
    font-size: clamp(36px, 5vw, 72px) !important;
    font-weight: 300 !important;
    color: var(--nds-white) !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    letter-spacing: 2px;
}


/* ===== INTRO ===== */
.nds-azienda-intro {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 20px;
}

.nds-azienda-intro-label {
    font-family: "Inter", sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--nds-gold-light) !important;
    display: block;
    margin-bottom: 24px;
}

.nds-azienda-intro-text {
    font-family: "Inter", sans-serif !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    font-weight: 300 !important;
    line-height: 1.8 !important;
    color: var(--nds-text) !important;
    margin: 0 0 24px !important;
}

.nds-azienda-intro-body {
    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;
    max-width: 720px;
    margin: 0 auto !important;
}


/* ===== SEZIONE FONDATORI ===== */
.nds-fondatori {
    background: var(--nds-bg-cream);
    padding: 40px 8%;
    width: 100%;
    box-sizing: border-box;
}

.nds-fondatori-header {
    text-align: center;
    margin-bottom: 64px;
}

.nds-fondatori-label {
    font-family: "Inter", sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--nds-gold-light) !important;
    display: block;
    margin-bottom: 20px;
}

.nds-fondatori-title {
    font-family: "Ambroise Std", serif !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    font-weight: 300 !important;
    line-height: 1.15 !important;
    color: var(--nds-dark) !important;
    margin: 0 !important;
}

.nds-fondatori-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    max-width: 1100px;
    margin: 0 auto;
}

/* Card fondatore */
.nds-fondatore-card {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.nds-fondatore-foto {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    margin-bottom: 28px;
    filter: grayscale(15%);
    transition: filter 0.4s ease;
}

.nds-fondatore-card:hover .nds-fondatore-foto {
    filter: grayscale(0%);
}

.nds-fondatore-nome {
    font-family: "Ambroise Std", serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: var(--nds-dark) !important;
    margin: 0 0 6px !important;
    line-height: 1.2 !important;
}

.nds-fondatore-ruolo {
    font-family: "Inter", sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: var(--nds-gold-light) !important;
    display: block;
    margin-bottom: 16px;
}

.nds-fondatore-bio {
    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    line-height: 1.8 !important;
    color: var(--nds-text-muted) !important;
    margin: 0 !important;
    max-width: 320px;
}


/* ===== SEZIONE FILOSOFIA ===== */

/*
   Entrambe le colonne usano lo stesso sfondo greige var(--nds-border-light),
   uguale al totale/riepilogo del booking. Si distingue
   dal bianco dell'intro e dal nero del footer sottostante.
   La separazione tra le due colonne è data da un bordo verticale.
*/

.nds-filosofia {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    min-height: 520px;
}

.nds-filosofia-col--light,
.nds-filosofia-col--dark {
    background: var(--nds-border-light);
    padding: 20px 8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Separatore sottile tra le due colonne */
.nds-filosofia-col--light {
    border-right: 1px solid var(--nds-border-warm-2);
}

.nds-filosofia-label {
    font-family: "Inter", sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 4px !important;
    text-transform: uppercase !important;
    color: var(--nds-gold-light) !important;
    display: block;
    margin-bottom: 20px;
}

.nds-filosofia-title {
    font-family: "Ambroise Std", serif !important;
    font-size: clamp(24px, 2.5vw, 36px) !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
    color: var(--nds-dark) !important;
    margin: 0 0 24px !important;
}

.nds-filosofia-text {
    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 300 !important;
    line-height: 1.9 !important;
    color: var(--nds-text-secondary) !important;
    margin: 0 0 28px !important;
}

.nds-filosofia-link {
    display: inline-block;
    font-family: "Inter", sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 14px 36px;
    color: var(--nds-dark) !important;
    border: 1px solid var(--nds-dark);
    transition: background 0.3s ease, color 0.3s ease;
    align-self: flex-start;
}

.nds-filosofia-link:hover {
    background: var(--nds-dark) !important;
    color: var(--nds-white) !important;
}


/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {

    /* Intro */
    .nds-azienda-intro {
        padding: 70px 24px;
    }

    /* Fondatori */
    .nds-fondatori {
        padding: 70px 24px;
    }

    .nds-fondatori-grid {
        grid-template-columns: 1fr;
        gap: 56px;
        max-width: 400px;
    }

    .nds-fondatore-foto {
        max-width: 360px;
    }

    .nds-fondatore-bio {
        max-width: 100%;
    }

    /* Filosofia */
    .nds-filosofia {
        grid-template-columns: 1fr;
    }

    .nds-filosofia-col--light,
    .nds-filosofia-col--dark {
        padding: 60px 24px;
    }

    .nds-filosofia-col--light {
        border-right: none;
        border-bottom: 1px solid var(--nds-border-warm-2);
    }
}
