/* Formazione Srl — Page Header interni, tre varianti condivise.
   Opt-in sulle pagine editoriali. Home, catalogo e corsi esclusi.
   Nessuna modifica a token, navigazione, CTA globali o altre testate.
   Elementor: container Grid/Flex, Heading, Text, Button, Icon List e Image.
   Tutte le classi funzionano anche sui wrapper dei widget. */

body.fz-wordpress .fz-page-header{
  background: var(--color-background);
}

body.fz-wordpress .fz-page-header__inner{
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  align-items: center;
  gap: var(--space-12);
  width: calc(100% - (var(--gutter) + var(--inset)) * 2);
  max-width: var(--container-site);
  min-height: 560px;
  margin-inline: auto;
  padding-block: var(--space-10);
}

body.fz-wordpress .fz-page-header__content{
  min-width: 0;
}

/* Versione senza fotografia: conserva la forza delle testate tipografiche. */
body.fz-wordpress .fz-page-header__inner--text{
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  padding-block: 56px var(--space-8);
}

body.fz-wordpress .fz-page-header__inner--text .fz-page-header__content{
  max-width: 850px;
}

body.fz-wordpress .fz-page-header__inner--text .fz-page-header__title{
  font-size: clamp(2.375rem, 1.3rem + 2.8vw, 3.5rem);
}

body.fz-wordpress .fz-page-header__inner--text .fz-page-header__lead{
  max-width: 640px;
}

body.fz-wordpress .fz-page-header__inner--text .fz-page-header__benefits{
  max-width: 580px;
}

/* Chi siamo: il marchio completa la testata senza ripetere i vantaggi nel testo. */
@media (min-width: 1200px) {
  body.fz-wordpress .fz-about-page .fz-page-header__inner--text{
    grid-template-columns: minmax(0, 1.5fr) minmax(0, .5fr);
    gap: var(--space-10);
  }
  body.fz-wordpress .fz-about-page .fz-page-header__inner--text::after{
    content: "";
    display: block;
    width: min(100%, 360px);
    aspect-ratio: 6 / 5;
    justify-self: center;
    transform: translateX(calc(-1 * clamp(70px, 9vw, 150px)));
    background: url("../brand/simbolo-formazione.svg") center / contain no-repeat;
    opacity: .3;
  }
}

body.fz-wordpress .fz-page-header__title{
  margin: 0 0 var(--space-5);
  color: var(--color-navy);
  font-family: var(--font-heading);
  font-size: clamp(2.375rem, 2rem + 1.3vw, 3.375rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.035em;
  text-wrap: pretty;
}

body.fz-wordpress .fz-page-header__title-line{
  display: block;
}

body.fz-wordpress .fz-page-header__title .fz-text-accent{
  color: var(--color-accent);
}

body.fz-wordpress .fz-page-header__lead{
  max-width: 540px;
  color: var(--color-text);
  font-size: var(--fs-lead);
  line-height: 1.6;
  text-wrap: pretty;
}

body.fz-wordpress .fz-page-header__actions{
  gap: var(--space-3);
  margin-top: var(--space-6);
}

body.fz-wordpress .fz-page-header__benefits,body.fz-wordpress .elementor-element.fz-page-header__benefits .elementor-icon-list-items{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-8);
  padding: 0;
  list-style: none;
}

body.fz-wordpress .fz-page-header__benefit,body.fz-wordpress .fz-page-header__benefits .elementor-icon-list-item{
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--color-text);
  font-size: var(--fs-xs);
  line-height: 1.45;
  white-space: normal;
}

body.fz-wordpress .fz-page-header__benefits--two,body.fz-wordpress .elementor-element.fz-page-header__benefits--two .elementor-icon-list-items{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.fz-wordpress .fz-page-header__benefit--divided{
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-border);
}

body.fz-wordpress .fz-page-header__benefits .fz-icon,body.fz-wordpress .fz-page-header__benefits .elementor-icon-list-icon{
  flex: none;
  color: var(--color-accent);
}

body.fz-wordpress .fz-page-header__visual{
  position: relative;
  isolation: isolate;
  min-width: 0;
  width: 100%;
  padding: var(--space-5) var(--space-4) var(--space-8) var(--space-8);
}

body.fz-wordpress .fz-page-header__frame{
  position: relative;
  z-index: 1;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: var(--radius-xl);
}

body.fz-wordpress .fz-page-header__image,body.fz-wordpress .fz-page-header__image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.fz-wordpress .fz-page-header__frame :is(.elementor-widget-image, .elementor-widget-container){
  height: 100%;
}

body.fz-wordpress .fz-page-header__shape{
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border-radius: var(--radius-xl);
  background: var(--color-background-blue);
}

body.fz-wordpress .fz-page-header__shape--back{
  inset: 0 auto auto 0;
  width: 76%;
  height: 89%;
}

body.fz-wordpress .fz-page-header__shape--corner{
  right: 0;
  bottom: var(--space-3);
  width: 25%;
  height: 26%;
  background: var(--color-accent-soft);
}

body.fz-wordpress .fz-page-header__secondary{
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  width: 27%;
  aspect-ratio: 1.12;
  overflow: hidden;
  border: 4px solid var(--color-background);
  border-radius: var(--radius-lg);
}

body.fz-wordpress .fz-page-header__secondary img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Dettaglio della stessa scena, ritagliato dal container senza una seconda foto. */
body.fz-wordpress .fz-page-header__secondary--detail img{
  position: absolute;
  left: var(--page-header-detail-x, -70%);
  bottom: 0;
  width: 320%;
  max-width: none;
  height: auto;
}

/* A — Business: due piani fotografici, forme morbide, nessuna card di testo. */
body.fz-wordpress .fz-page-header--business .fz-page-header__shape--back{
  transform: rotate(-4deg);
  transform-origin: center;
}

/* B — Service: una foto e un solo piano di supporto molto leggero. */
body.fz-wordpress .fz-page-header--service .fz-page-header__visual{
  padding: var(--space-4) 0 var(--space-4) var(--space-4);
}

body.fz-wordpress .fz-page-header--service .fz-page-header__shape--back{
  width: 80%;
  height: 100%;
  transform: none;
}

/* C — Educational: relazione umana, foto calda, azzurro dietro l'angolo. */
body.fz-wordpress .fz-page-header--educational .fz-page-header__visual{
  padding: 0 var(--space-5) var(--space-5) 0;
}

body.fz-wordpress .fz-page-header--educational .fz-page-header__shape--back{
  inset: auto 0 0 auto;
  width: 82%;
  height: 84%;
}

/* Conserva la distanza della prima sezione già presente nelle pagine pilota. */
body.fz-wordpress .fz-page-header + .fz-section{
  padding-top: clamp(40px, 4vw, 64px);
}
body.fz-wordpress .fz-page-header--service + .fz-section{
  padding-top: 40px;
}
body.fz-wordpress .fz-page-header[data-section-spacing="regular"] + .fz-section{
  padding-top: clamp(40px, 4vw, 64px);
}
body.fz-wordpress .fz-page-header[data-section-spacing="compact"] + .fz-section{
  padding-top: 40px;
}

/* Tablet: il testo precede il visual, senza comprimere le due colonne. */
@media (max-width: 1199px) {
  body.fz-wordpress .fz-page-header__inner{
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    gap: var(--space-8);
    padding-block: var(--space-8);
  }
  body.fz-wordpress .fz-page-header__content{
    width: 100%;
    max-width: 760px;
  }
  body.fz-wordpress .fz-page-header__lead{
    max-width: 640px;
  }
  body.fz-wordpress .fz-page-header__benefits,body.fz-wordpress .elementor-element.fz-page-header__benefits .elementor-icon-list-items{
    max-width: 580px;
  }
  body.fz-wordpress .fz-page-header__visual{
    max-width: 760px;
    margin-inline: auto;
  }
}

/* Mobile: eyebrow, titolo, testo, CTA, punti, foto. Un'unica foto principale. */
@media (max-width: 767px) {
  body.fz-wordpress .fz-page-header__inner{
    width: calc(100% - var(--gutter) * 2);
    gap: var(--space-6);
    padding-block: var(--space-8) var(--space-4);
  }
  body.fz-wordpress .fz-page-header__title{
    font-size: clamp(2rem, 1.1rem + 4.8vw, 2.5rem);
    line-height: 1.1;
    text-wrap: pretty;
  }
  body.fz-wordpress .fz-page-header__inner--text .fz-page-header__title{
    font-size: clamp(2.125rem, 1.3rem + 3.8vw, 2.5rem);
  }
  body.fz-wordpress .fz-page-header__title-line{
    display: inline;
  }
  body.fz-wordpress .fz-page-header__lead{
    font-size: var(--fs-body);
  }
  body.fz-wordpress .fz-page-header__benefits,body.fz-wordpress .elementor-element.fz-page-header__benefits .elementor-icon-list-items{
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
    margin-top: var(--space-6);
  }
  body.fz-wordpress .fz-page-header__benefit--divided{
    padding-inline-start: 0;
    border-inline-start: 0;
  }
  body.fz-wordpress .fz-page-header__visual{
    padding: var(--space-3) 0 var(--space-3) var(--space-3);
  }
  body.fz-wordpress .fz-page-header__secondary,body.fz-wordpress .fz-page-header__shape--corner{
    display: none;
  }
  body.fz-wordpress .fz-page-header--business .fz-page-header__shape--back{
    transform: none;
  }
  body.fz-wordpress .fz-page-header--service .fz-page-header__visual{
    padding: var(--space-3) 0 var(--space-3) var(--space-3);
  }
  body.fz-wordpress .fz-page-header--educational .fz-page-header__visual{
    padding: 0 var(--space-3) var(--space-3) 0;
  }
}
