/* =========================
   FONDAZIONE — scoped
   Usa con: <main class="main-content fondazione-page">
   Dipendenze: style.css (variabili + .btn + .link-underline)
   ========================= */

.fondazione-page{
  background: var(--color-surface, #fff);
  color: var(--color-text, #111);
}

/* WRAP: allinea TUTTO al logo (stesso padding del header) */
.fondazione-wrap{
  max-width: var(--container-max, 1100px);
  margin: 0 auto;
  padding-inline: var(--page-pad);
  min-width: 0;
}

/* Divider full-width (linea “OSF-like”) */
.fondazione-divider{
  border: 0;
  border-top: 3px solid #000;
  margin: 2.75rem 0 0;
}

/* =========================
   HERO — titolo + nav a destra
   (più aria tra testo e nav, nav centrata verticalmente)
   ========================= */

.fondazione-hero{
  background: var(--color-surface, #fff);
  padding-top: clamp(2.25rem, 4vw, 3.2rem);
}

.fondazione-hero__grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
  column-gap: clamp(2.5rem, 6vw, 6.5rem); /* ✅ più distanza dal testo */
  align-items: center;                   /* ✅ valign centro */
  min-width: 0;
}

.fondazione-hero__main{ min-width: 0; }

.fondazione-title{
  margin: 0;
  font-size: clamp(2.05rem, 3.2vw, 3.1rem);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 800;
  line-height: 1.02;
  max-width: 20ch;
  text-wrap: balance;
}

.fondazione-lead{
  margin: 1rem 0 0;
  max-width: 52rem;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.55;
  color: var(--color-text, #111);
}

/* NAV destra */
.fondazione-hero__nav{
  justify-self: end;
  width: 100%;
  margin-top: 0;
  border-top: 1px solid #e5e5e5;
  min-width: 0;
}

.fondazione-hero__navlink{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid #e5e5e5;
  color: inherit;
  text-decoration: none;
}

.fondazione-hero__arrow{
  font-size: 1.1rem;
  line-height: 1;
  opacity: 0.65;
}

/* Mobile hero */
@media (max-width: 900px){
  .fondazione-hero__grid{
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
    align-items: start;
  }

  .fondazione-title{
    font-size: clamp(1.75rem, 6.6vw, 2.15rem);
    letter-spacing: 0.04em;
    max-width: none;
  }

  .fondazione-hero__nav{
    justify-self: start;
  }

  .fondazione-divider{
    margin-top: 2.1rem;
  }
}

/* =========================
   SEZIONI — layout “kicker a sinistra / contenuto a destra”
   ========================= */

.fondazione-section{
  background: var(--color-surface, #fff);
  padding: 3.25rem 0 0;
}

.fondazione-split{
  display: grid;
  grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
  column-gap: clamp(1.75rem, 4vw, 3rem);
  align-items: start;
  min-width: 0;
}

/* Titoli sezione (es. Governance) — neri e più grandi, SEO ok (restano H2) */
.fondazione-kicker{
  margin: 0;
  font-size: 1rem;          /* ✅ più grande */
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 800;
  color: #111;              /* ✅ nero */
}

@media (min-width: 901px){
  .fondazione-kicker{ font-size: 1.05rem; }
}

.fondazione-text{
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--color-muted);
  max-width: 58rem;
}

.fondazione-text--xl{
  font-size: clamp(1.05rem, 1.55vw, 1.35rem);
  line-height: 1.55;
  color: var(--color-text, #111);
}

.fondazione-two-cols{
  margin-top: 1.4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.fondazione-mini{
  border: 1px solid #eceaea;
  background: #fff;
  padding: 1.15rem 1.15rem 1.2rem;
}

.fondazione-mini__title{
  margin: 0 0 0.55rem;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 800;
  color: #111;
}

.fondazione-mini__text{
  margin: 0;
  color: var(--color-muted);
  line-height: 1.6;
}

.fondazione-list{
  margin: 1.1rem 0 0;
  padding-left: 1.1rem;
  color: var(--color-muted);
  line-height: 1.65;
}

.fondazione-list li + li{ margin-top: 0.45rem; }

.fondazione-cta-row{
  margin-top: 1.35rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: center;
}

/* Mobile sezioni */
@media (max-width: 900px){
  .fondazione-section{ padding-top: 2.5rem; }

  .fondazione-split{
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }

  .fondazione-two-cols{
    grid-template-columns: 1fr;
  }
}

/* =========================
   GOVERNANCE — ROW LIST (come screenshot “giusto”)
   ========================= */

.fondazione-governance{
  margin-top: 0.25rem;
  display: grid;
  grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
  gap: clamp(1.75rem, 3.2vw, 3rem);
  align-items: start;
  min-width: 0;
}

.fondazione-governance__media{
  margin: 0;
  border: 1px solid rgba(0,0,0,0.10);
  overflow: hidden;
  background: #fff;
  aspect-ratio: 4 / 5;
}

.fondazione-governance__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top left;
  display: block;
}

.fondazione-governance__body{ min-width: 0; }

.fondazione-governance__body .fondazione-text{
  margin: 0;
  color: var(--color-text, #111);
  line-height: 1.65;
}

/* Lista ruoli: SOLO righe */
.fondazione-roles{
  margin-top: 1.35rem;
  border-top: 1px solid #eee;
  padding-top: 1.15rem; /* ✅ più aria sopra i nomi */
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.fondazione-role{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1.25rem;
  padding: 0.95rem 0; /* ✅ riga più “alta” */
  border-bottom: 1px solid #eee;

  background: transparent;
  box-shadow: none;
  outline: 0;
  border-left: 0;
  border-right: 0;
}

.fondazione-role__name{
  font-weight: 800;
  color: #111;
  letter-spacing: 0.01em;
  line-height: 1.15;
}

.fondazione-role__desc{
  color: var(--color-muted, #625d5d);
  white-space: nowrap;
}

/* aria sotto la lista prima dei link */
.fondazione-governance__body .fondazione-cta-row{
  margin-top: 1.8rem;
}

@media (max-width: 900px){
  .fondazione-governance{
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .fondazione-governance__media{
    aspect-ratio: auto;
  }

  .fondazione-governance__media img{
    height: auto;
  }
}

/* =========================
   BLACK BLOCKS (sezione finale)
   ========================= */

.fondazione-black{
  background: #000;
  padding: 3.25rem 0;
}

.fondazione-black__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.black-card{
  background: #000;
  border: 1px solid rgba(255,255,255,0.14);
  padding: 1.5rem 1.5rem 1.65rem;
  color: #fff;
}

.black-card__title{
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 800;
}

.black-card__text{
  margin: 0 0 1rem;
  color: rgba(255,255,255,0.85);
  line-height: 1.6;
}

.black-card__link{
  color: #fff;
}

.black-card__link.link-underline::after{
  background: rgba(233, 128, 180, 0.9);
}

@media (max-width: 900px){
  .fondazione-black__grid{
    grid-template-columns: 1fr;
  }
}
/* Governance: link Statuto/Privacy allineati a sinistra */
#governance .fondazione-cta-row{
  justify-content: flex-start;
  text-align: left;
  gap: 1rem 1.5rem; /* opzionale, mantiene aria */
}
