/* Società Benefit (template-benefit.php) — allineamento all'XD.
   Caricato dopo theme.css, scoped a .pm-benefit. Font ai px pieni dell'XD come
   le altre pagine: P px → clamp(min, P/1920*100 vw, P/16 rem). La gabbia
   (container 77.08% + gutter 0) è globale in theme.css. */

/* Hero: titolo 60px. */
.pm-benefit .pm-page-hero h1 {
    font-size: clamp(2.5rem, 3.125vw, 3.75rem);
    line-height: 1.1;
}

/* Titoli di sezione arancio (Promuovere / Cosa significa / I principi): 40px. */
.pm-benefit .pm-title--orange {
    font-size: clamp(2rem, 2.083vw, 2.5rem);
    line-height: 1.2;
}

/* Corpo testo (prose): 32px, a piena gabbia (cap inline rimosso nel template;
   qui annulliamo anche il max-width 820px del .pm-prose di theme.css). */
.pm-benefit .pm-prose,
.pm-benefit .pm-prose p {
    font-size: clamp(1.5rem, 1.667vw, 2rem);
    line-height: 1.4;
}
.pm-benefit .pm-prose {
    max-width: none;
}

/* Mission (parallax navy): titolo 40, testo 32. */
.pm-benefit .pm-parallax__title {
    font-size: clamp(2rem, 2.083vw, 2.5rem);
    line-height: 1.25;
}
.pm-benefit .pm-parallax__text {
    font-size: clamp(1.5rem, 1.667vw, 2rem);
    line-height: 1.25;
}

/* Web app (banda arancio, testo centrato): titolo 40, testo 32. */
.pm-benefit .pm-webapp h2 {
    font-size: clamp(1.75rem, 2.083vw, 2.5rem);
}
.pm-benefit .pm-webapp p {
    font-size: clamp(1.25rem, 1.667vw, 2rem);
    line-height: 1.3;
}

/* Didascalia cofinanziamento: 24px. */
.pm-benefit .pm-cofin__caption {
    font-size: clamp(1.1rem, 1.25vw, 1.5rem);
}

/* Titolo "I nostri SDGs": 24px fissi (1.5rem). Il .pm-title--orange di sopra
   lo porterebbe a 40px: questa regola più specifica lo riporta a 24px. */
.pm-benefit .pm-title--orange.pm-title--sm {
    font-size: 1.5rem;
}

/* Cofinanziamento: è UNA immagine composita (coesione.png caricata a 1506x112,
   = misura XD del blocco) resa come "sheet". Il bug era che theme.css la capava a
   940px → usciva ~70px alta. Il container .pm-cofin è a 78.4375% (1506/1920, un
   filo più largo della gabbia 77.08%) e l'immagine lo riempie: 1506 wide → 112
   alta per proporzione. Il plugin la serve a size 'full' così è nitida. */
@media (min-width: 1200px) {
    .pm-benefit .pm-cofin > .container {
        width: 78.4375%;
        max-width: none;
    }
}
.pm-benefit .pm-partners--sheet img {
    max-width: none;
    width: 100%;
}

/* Tessere SDG: 105x105 px (XD) = 6.5625rem. Gli interni (numero, etichetta,
   icona) sono scalati per stare dentro alla tessera compatta, come le tessere
   ufficiali SDG del XD. */
.pm-benefit .pm-sdg {
    width: 6.5625rem;
    height: 6.5625rem;
    min-height: 0;
    padding: 0.45rem 0.5rem;
}
.pm-benefit .pm-sdg__num {
    font-size: 1.05rem;
}
.pm-benefit .pm-sdg__label {
    font-size: 0.4rem;
}
.pm-benefit .pm-sdg__media {
    padding-top: 0.2rem;
}
.pm-benefit .pm-sdg__img,
.pm-benefit .pm-sdg__ph {
    width: 2.5rem;
    height: 2.5rem;
}

/* Web app: si comporta come i testi degli altri box (corpo 32px a piena
   gabbia, allineato a sinistra) invece del blocco stretto centrato. */
.pm-benefit .pm-webapp p {
    max-width: none;
    margin-left: 0;
    line-height: 1.4;
}

/* Le nostre azioni concrete: stessa card dei principi (titolo, barretta arancio,
   testo) con sotto i numeri e i pulsanti degli allegati. I pulsanti restano
   allineati in basso anche con testi di lunghezza diversa. */
/* "Le nostre azioni concrete": nel PDF è blu navy (non arancio come il titolo
   di sezione sopra) e più piccolo dei titoli 40px — 28px XD. */
.pm-benefit .pm-sost__subtitle {
    margin: 3.5rem 0 2rem;
    font-size: clamp(1.4rem, 1.458vw, 1.75rem);
    font-weight: 700;
}
.pm-benefit .pm-action {
    display: flex;
    flex-direction: column;
    height: 100%;
}
/* Titolo card navy: nella simulazione delle azioni è blu, mentre nell'XD della
   Società Benefit i titoli dei principi sono grigi (#797979). La regola resta
   quindi scoped a .pm-action e non tocca .pm-principle h5. */
.pm-benefit .pm-action h5 {
    color: var(--pm-navy);
}
.pm-benefit .pm-action__nums {
    list-style: none;
    margin: 1.4rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 0.8rem;
}
.pm-benefit .pm-action__num {
    display: block;
    color: var(--pm-orange);
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.1;
}
.pm-benefit .pm-action__lbl {
    display: block;
    color: var(--pm-muted);
    font-size: 0.8rem;
    line-height: 1.25;
}
.pm-benefit .pm-action__files {
    margin-top: auto;
    padding-top: 1.6rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}
