/* ==========================================================================
       QUALIFICHE — solo quello che serve a questa pagina.
       Colori, intestazione, piede e pulsanti stanno in assets/comune.css,
       che questa pagina carica prima del proprio foglio.
       ========================================================================== */
    .dentro { max-width: none; }

    .testa { background: var(--bianco); border-bottom: 1px solid var(--ardesia);
             padding: clamp(22px, 3vw, 40px) var(--lato) clamp(26px, 3.4vw, 44px) var(--lato); }
    .testa p { margin: 0; font-size: clamp(16px, 1.09vw, 16px); line-height: 1.65; color: var(--testo); max-width: 62ch; }

    /* --- il riquadro SOA ------------------------------------------------------ */
    .soa-blocco { background: var(--notte); padding: clamp(24px, 3vw, 40px); margin-bottom: 18px; }
    .soa-testa { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
                 gap: clamp(20px, 3vw, 48px); align-items: start; margin-bottom: clamp(22px, 2.6vw, 28px); }
    .soa-titolo b { display: block; font-family: var(--titoli); font-weight: 700; font-size: clamp(30px, 2.18vw, 32px);
                    line-height: 1; letter-spacing: -0.04em; color: var(--azzurro); margin-bottom: 10px; }
    .soa-titolo span { display: block; font-size: 16px; line-height: 1.6; color: var(--su-scuro); }
    .categorie { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 10px; }
    .cat { padding: 14px 14px; background: #16394A; border-left: 3px solid var(--azzurro); }
    .cat b { display: block; font-family: var(--titoli); font-weight: 600; font-size: clamp(18px, 1.43vw, 18px);
             letter-spacing: -0.03em; color: var(--bianco); }
    .cat span { display: block; margin-top: 5px; font-family: var(--mono); font-size: 12px; color: var(--azzurro); }

    .soa-piede { display: flex; flex-wrap: wrap; gap: 20px clamp(24px, 3vw, 40px); align-items: center;
                 justify-content: space-between; padding-top: clamp(20px, 2.4vw, 26px); border-top: 1px solid #22404F; }
    .soa-dati { display: flex; flex-wrap: wrap; gap: 18px clamp(24px, 3vw, 40px); }
    .soa-dato dt { font-family: var(--mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
                   color: #8FA2AB; margin-bottom: 5px; }
    .soa-dato dd { margin: 0; font-family: var(--mono); font-size: 15px; color: var(--bianco); }

    /* --- i certificati -------------------------------------------------------- */
    .certificati { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
    .doc { display: flex; flex-direction: column; gap: 8px; padding: clamp(20px, 2.2vw, 26px);
           background: var(--bianco); border: 1px solid var(--ardesia); text-decoration: none;
           transition: border-color 0.15s ease; }
    .doc:hover { border-color: var(--notte); }
    .doc-nome { font-family: var(--titoli); font-weight: 600; font-size: clamp(19px, 1.51vw, 19px);
                letter-spacing: -0.03em; color: var(--notte); }
    .doc-cosa { font-size: 15px; line-height: 1.5; color: var(--testo); }
    .doc-dati { font-family: var(--mono); font-size: 12px; line-height: 1.7; color: #626C72; }
    .doc-giu { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-family: var(--mono);
               font-size: 12px; font-weight: 500; letter-spacing: 0.04em; color: var(--mare); }
    .doc-giu em { font-style: normal; color: #505A60; }
    .doc:hover .doc-giu { color: var(--notte); }
    .doc.wl { border-left: 3px solid var(--mare); }

    .campo-app { margin-top: 18px; padding: clamp(18px, 2vw, 24px); background: var(--bianco);
                 border: 1px solid var(--ardesia); font-size: 16px; line-height: 1.6; color: var(--testo); }
    .campo-app b { font-weight: 600; color: var(--notte); }

    /* --- ambiente e sicurezza -------------------------------------------------- */
    .ambiente { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: clamp(20px, 4vw, 64px);
                background: var(--pietra); border-top: 1px solid var(--ardesia); border-bottom: 1px solid var(--ardesia); }
    .ambiente .h2 { margin: 0; }
    .amb-voci { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ardesia); }
    .amb-voci li { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(0, 3fr); gap: 8px 24px;
                   padding: 16px 0; border-bottom: 1px solid var(--ardesia); }
    .amb-voci b { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: 0.06em;
                  line-height: 1.9; color: var(--notte); }
    .amb-voci p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--testo); }
    .amb-voci a { color: var(--mare); }
    @media (max-width: 820px) {
      .ambiente { grid-template-columns: minmax(0, 1fr); }
      .amb-voci li { grid-template-columns: minmax(0, 1fr); }
    }

    /* --- consorzio e associazioni --------------------------------------------- */
    .soci { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
    .socio { display: flex; flex-direction: column; background: var(--bianco); border: 1px solid var(--ardesia);
             padding: clamp(22px, 2.6vw, 32px); }
    .socio-marchio { height: 42px; margin-bottom: 20px; display: flex; align-items: center; }
    .socio-marchio img { height: 42px; width: auto; display: block; }
    /* il marchio ANCE esiste solo nella versione bianca: su fondo chiaro
       sparirebbe, quindi sta su una targhetta blu notte */
    .socio-marchio-scuro { height: auto; align-self: flex-start; background: var(--notte);
                           padding: 12px 16px; }
    .socio-marchio-scuro img { height: 34px; }
    .socio-marchio span { font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase;
                          color: #505A60; border: 1px dashed #C9CFD1; padding: 8px 12px; }
    .socio h3 { margin: 0 0 10px 0; font-family: var(--titoli); font-weight: 600; font-size: clamp(20px, 1.6vw, 20px);
                letter-spacing: -0.03em; color: var(--notte); }
    .socio p { margin: 0 0 16px 0; font-size: clamp(16px, 1.01vw, 16px); line-height: 1.6; color: var(--testo); }
    .socio-nota { margin-top: auto; font-size: 12px; line-height: 1.7; color: #626C72; }

    @media (max-width: 1000px) { .certificati { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

    @media (max-width: 760px) {
      .soa-testa { grid-template-columns: 1fr; }
      .soa-piede { flex-direction: column; align-items: stretch; }
      .soa-piede .btn { width: 100%; }
    }

    @media (max-width: 620px) {
      .certificati { grid-template-columns: 1fr; }
      .doc-dati, .doc-giu, .socio-nota, .soa-dato dd { font-size: 14px; }
      .soa-dato dt, .socio-marchio span { font-size: 12px; }
    }
