/* =====================================================================
   LANDING DCW MADRID 2026
   Posizione: /wp-content/themes/septera-plus-child/css/landing-dcw.css
   Caricato SOLO sul template "Landing · DCW Madrid".
   Token --eva-* ereditati da style.css del child.
   ===================================================================== */

body.eva-lp {
  background: var(--eva-white);
  color: var(--eva-black);
}

/* Le ancore non finiscono sotto l'header sticky */
.eva-lp-main [id] { scroll-margin-top: 90px; } /* = altezza header (76px) + respiro */
@media (prefers-reduced-motion: no-preference) {
  html:has(body.eva-lp) { scroll-behavior: smooth; }
}

/* =====================================================================
   BOTTONE landing (teal pieno) — riusato da header e sezioni
   Specificità alta: batte i colori link/visited di Septera.
   ===================================================================== */
body.eva-lp a.eva-lp-btn,
body.eva-lp a.eva-lp-btn:visited {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--eva-blue);
  color: var(--eva-white);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.1;
  padding: 11px 20px;
  border-radius: 4px;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .15s ease;
}
body.eva-lp a.eva-lp-btn:hover,
body.eva-lp a.eva-lp-btn:focus-visible {
  background: var(--eva-dark);
  color: var(--eva-white);
}

/* =====================================================================
   HEADER landing — sticky, bianco
   ===================================================================== */
.eva-lp-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--eva-white);
  border-bottom: 1px solid var(--eva-line);
}
.admin-bar .eva-lp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .eva-lp-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .eva-lp-header { top: 0; } } /* sotto 600 l'admin bar non è fissa */

.eva-lp-header__inner {
  max-width: 1180px;
  margin-inline: auto;
  padding: 12px clamp(20px, 4vw, 32px);
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.5vw, 28px);
  box-sizing: border-box;
}

/* Altezza header FISSA, indipendente dal logo.
   76px = altezza header · 100px = dimensione marchio.
   overflow:hidden taglia il margine trasparente del PNG. */
body.eva-lp .eva-lp-header__inner {
  height: 76px;
  padding-top: 0;
  padding-bottom: 0;
}
body.eva-lp .eva-lp-header__logo {
  flex: 0 0 auto;
  line-height: 0;
  height: 76px;               /* = altezza header */
  display: flex;
  align-items: center;
  overflow: hidden;
}
body.eva-lp .eva-lp-header__logo img {
  display: block;
  height: 100px;
  width: auto;
  max-width: none;
  margin: 0;
}

.eva-lp-header__pill {
  border: 1px solid var(--eva-blue);
  border-radius: 6px;
  color: var(--eva-blue);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 7px 14px;
  white-space: nowrap;
}

.eva-lp-header__nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 24px);
}
body.eva-lp a.eva-lp-header__link,
body.eva-lp a.eva-lp-header__link:visited {
  color: var(--eva-dark);
  font-size: .85rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.eva-lp a.eva-lp-header__link:hover { color: var(--eva-blue); }

@media (max-width: 900px) {
  .eva-lp-header__pill { display: none; }
}
@media (max-width: 560px) {
  .eva-lp-header__link { display: none; }
  body.eva-lp .eva-lp-header__inner,
  body.eva-lp .eva-lp-header__logo { height: 60px; }
  body.eva-lp .eva-lp-header__logo img { height: 72px; }
}

/* =====================================================================
   FOOTER landing — navy, una riga
   ===================================================================== */
.eva-lp-footer {
  background: var(--eva-dark);
  color: rgba(255, 255, 255, .8);
}
.eva-lp-footer__inner {
  max-width: 1180px;
  margin-inline: auto;
  padding: 28px clamp(20px, 4vw, 32px);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  box-sizing: border-box;
}
.eva-lp-footer__logo { line-height: 0; }
.eva-lp-footer__logo img {
  display: block;
  height: 100px;
  width: auto;
  max-width: none;
}
/* Rimedio finché non c'è il logo bianco: rende bianco il logo standard */
.eva-lp-logo.is-inverted { filter: brightness(0) invert(1); }

.eva-lp-footer__copy {
  margin: 0;
  text-align: center;
  font-size: .78rem;
  color: rgba(255, 255, 255, .8);
}
.eva-lp-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: clamp(16px, 3vw, 36px);
}
body.eva-lp .eva-lp-footer__links a,
body.eva-lp .eva-lp-footer__links a:visited {
  color: rgba(255, 255, 255, .8);
  font-size: .78rem;
  text-decoration: none;
}
body.eva-lp .eva-lp-footer__links a:hover { color: var(--eva-white); text-decoration: underline; }

@media (max-width: 781px) {
  .eva-lp-footer__inner {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 16px;
  }
  .eva-lp-footer__links { flex-wrap: wrap; justify-content: center; }
}

/* =====================================================================
   COUNTDOWN [eva_dcw_countdown] — base. Il riquadro bordato sopra la foto
   del hero lo rifiniamo quando facciamo la sezione hero.
   ===================================================================== */
.eva-lp-countdown {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  color: var(--eva-white);
  border: 1px solid rgba(255, 255, 255, .45);
  padding: 10px 16px;
}
.eva-lp-countdown__num {
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 800;
  line-height: 1;
}
.eva-lp-countdown__label {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.eva-lp-countdown.is-live { border-color: var(--eva-blue-light); }

/* =====================================================================
   1 · HERO — fascia navy, testo a sinistra, foto + logo fiera + countdown a destra
   ===================================================================== */

/* ►► FOTO HERO — metti qui la URL ◄◄ */
.eva-lp-hero__media { --eva-bg: url('https://www.in-quattro.com/wp-content/uploads/2026/10/background_hero_DCW.jpg'); }

.eva-lp-hero {
  background-color: var(--eva-dark);
  background-image: linear-gradient(115deg, var(--eva-dark) 0%, #0a2560 60%, #0d2f66 100%);
  padding-block: clamp(40px, 6vw, 72px);
}

.eva-lp-hero__grid {
  gap: clamp(28px, 5vw, 64px);
  align-items: stretch !important;
  margin-bottom: 0;
}
.eva-lp-hero__grid > .eva-lp-hero__text  { flex: 56 1 0; }
.eva-lp-hero__grid > .eva-lp-hero__media { flex: 44 1 0; }

/* --- Colonna testo --- */
body.eva-lp .eva-lp-hero__kicker {
  color: var(--eva-blue-light);
  line-height: 1.5;
  margin: 0 0 18px;
}
body.eva-lp .eva-lp-hero__title {
  color: var(--eva-white) !important;
  font-weight: 700;
  font-size: clamp(2.1rem, 4.4vw, 2.9rem);
  line-height: 1.08;
  max-width: 20ch;
  margin: 0 0 1.2rem;
}
body.eva-lp .eva-lp-hero__strap {
  color: var(--eva-white);
  font-weight: 700;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  margin: 0 0 .9rem;
}
body.eva-lp .eva-lp-hero__sub {
  color: rgba(255, 255, 255, .85);
  font-size: .98rem;
  line-height: 1.65;
  max-width: 54ch;
  margin: 0 0 1.4rem;
}
body.eva-lp .eva-lp-hero__close {
  color: var(--eva-white);
  font-weight: 700;
  margin: 0 0 1.6rem;
}

/* CTA: bottone + "Don't have a pass?" sulla stessa riga */
body.eva-lp .eva-lp-hero__cta { gap: 14px 22px; margin: 0; }
body.eva-lp .eva-lp-hero__cta .wp-block-buttons { margin: 0; }

/* Bottone Gutenberg teal della landing.
   .eva-lp-gbtn = classe generica da riusare su ogni bottone (Avanzate → Classe CSS) */
body.eva-lp :is(.eva-lp-hero__btn, .eva-lp-gbtn) .wp-block-button__link {
  background: var(--eva-blue);
  color: var(--eva-white);
  border: 2px solid var(--eva-blue);
  border-radius: 4px;
  text-transform: none;          /* annulla l'uppercase globale dei bottoni */
  letter-spacing: .02em;
  font-size: .92rem;
  padding: .9em 1.5em;
}
body.eva-lp :is(.eva-lp-hero__btn, .eva-lp-gbtn) .wp-block-button__link:hover {
  background: var(--eva-white);
  border-color: var(--eva-white);
  color: var(--eva-dark);
}

body.eva-lp .eva-lp-hero__pass {
  color: rgba(255, 255, 255, .85);
  font-size: .88rem;
  margin: 0;
}
body.eva-lp .eva-lp-hero__pass a,
body.eva-lp .eva-lp-hero__pass a:visited {
  color: var(--eva-blue-light);
  font-weight: 700;
  text-decoration: none;
}
body.eva-lp .eva-lp-hero__pass a:hover { text-decoration: underline; }

/* --- Colonna media: foto cover + velo, logo fiera centrato, countdown in basso a sx --- */
.eva-lp-hero__media {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 32px 96px;       /* spazio sotto per il countdown */
  background-color: #0a2560;     /* fallback */
  background-image:
    linear-gradient(rgba(6, 22, 74, .55), rgba(6, 22, 74, .55)),
    var(--eva-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-sizing: border-box;
}
body.eva-lp .eva-lp-hero__eventlogo { margin: 0; }
body.eva-lp .eva-lp-hero__eventlogo img {
  display: block;
  width: 100%;
  max-width: 500px;
  height: auto;
  margin-inline: auto;
}
.eva-lp-hero__media .eva-lp-countdown {
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(6, 22, 74, .85);
  border-color: rgba(255, 255, 255, .35);
  border-left: 0;
  border-bottom: 0;
}

@media (max-width: 781px) {
  .eva-lp-hero__media { min-height: 300px; }
}

/* =====================================================================
   2 · FASCIA INFO [eva_dcw_info] — 4 colonne, ancora "Plan your visit"
   ===================================================================== */
.eva-lp-info {
  background: var(--eva-white);
  border-bottom: 1px solid var(--eva-line);
}
body.eva-lp .eva-lp-info__grid {
  list-style: none;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
body.eva-lp .eva-lp-info__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: clamp(20px, 2.5vw, 28px) clamp(14px, 2vw, 24px);
  border-left: 1px solid var(--eva-line);
}
body.eva-lp .eva-lp-info__item:first-child { border-left: 0; padding-left: 0; }

/* Icone: SVG in maschera, colorate dal background → cambi colore da qui */
.eva-lp-info__icon {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  background-color: var(--eva-blue);
  -webkit-mask: var(--ico) center / contain no-repeat;
          mask: var(--ico) center / contain no-repeat;
}
.eva-lp-info__icon--calendar { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='16' rx='2'/><path d='M3 10h18M8 3v4M16 3v4'/></svg>"); }
.eva-lp-info__icon--pin      { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/><circle cx='12' cy='10' r='2.5'/></svg>"); }
.eva-lp-info__icon--booth    { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 11l9-7 9 7'/><path d='M5 10v10h14V10'/><path d='M10 20v-5h4v5'/></svg>"); }
.eva-lp-info__icon--mic      { --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='9' y='3' width='6' height='11' rx='3'/><path d='M5 11a7 7 0 0 0 14 0M12 18v3M9 21h6'/></svg>"); }

.eva-lp-info__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.eva-lp-info__label {
  color: var(--eva-placeholder);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.eva-lp-info__value {
  color: var(--eva-dark);
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.3;
}
.eva-lp-info__sub {
  color: var(--eva-black);
  font-size: .8rem;
  line-height: 1.45;
}
body.eva-lp a.eva-lp-info__link,
body.eva-lp a.eva-lp-info__link:visited {
  color: var(--eva-blue);
  font-size: .8rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-top: 4px;
}
body.eva-lp a.eva-lp-info__link:hover { color: var(--eva-dark); }

@media (max-width: 900px) {
  body.eva-lp .eva-lp-info__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.eva-lp .eva-lp-info__item:nth-child(odd) { border-left: 0; padding-left: 0; }
  body.eva-lp .eva-lp-info__item:nth-child(n+3) { border-top: 1px solid var(--eva-line); }
}
@media (max-width: 560px) {
  body.eva-lp .eva-lp-info__grid { grid-template-columns: 1fr; }
  body.eva-lp .eva-lp-info__item { border-left: 0; padding-left: 0; }
  body.eva-lp .eva-lp-info__item + .eva-lp-info__item { border-top: 1px solid var(--eva-line); }
}

/* =====================================================================
   3 · WHY VISIT US — 3 card numeri + card engineers/foto + fascia CTA
   ===================================================================== */

/* ►► IMMAGINI — metti qui le URL ◄◄ */
.eva-lp-engineers { --eva-bg: url('https://www.in-quattro.com/wp-content/uploads/2026/10/bacgrkound_DCW_four_reasons.jpg'); }
.eva-lp-ctaband   { --eva-bg: url('https://www.in-quattro.com/wp-content/uploads/2026/10/bacgrkound_DCW_four_reasons.jpg'); }

.eva-lp-reasons {
  background: #f6f5f1;
  padding-block: clamp(48px, 7vw, 88px);
}
body.eva-lp .eva-lp-reasons__kicker { color: var(--eva-blue); margin: 0 0 10px; }
body.eva-lp .eva-lp-reasons__title {
  color: var(--eva-dark) !important;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.4vw, 2.4rem);
  line-height: 1.12;
  max-width: 20ch;
  margin: 0 0 clamp(24px, 3vw, 36px);
}
body.eva-lp .eva-lp-reasons__title .eva-accent { color: var(--eva-blue); }

/* Righe di card attaccate, come nel mockup: niente gap, bordi condivisi */
body.eva-lp .eva-lp-reasons__row {
  gap: 0 !important;             /* batte il gap del layout flex di WP */
  margin: 0;
  align-items: stretch !important;
}

/* --- Card numero --- */
body.eva-lp .eva-lp-stat {
  background: var(--eva-white);
  border: 1px solid var(--eva-line);
  padding: clamp(22px, 2.6vw, 32px);
  margin: 0;
}
body.eva-lp .eva-lp-stat + .eva-lp-stat { border-left: 0; }

body.eva-lp .eva-lp-stat__num {
  color: var(--eva-blue);
  font-weight: 800;
  font-size: clamp(2.2rem, 4vw, 2.2rem);
  line-height: 1;
  margin: 0 0 1.1rem;
}
body.eva-lp .eva-lp-stat__title {
  color: var(--eva-dark);
  font-weight: 700;
  font-size: .85rem;
  line-height: 1.35;
  margin: 0 0 .6rem;
}
body.eva-lp .eva-lp-stat__text {
  color: var(--eva-black);
  font-size: .85rem;
  line-height: 1.5;
  margin: 0;
}

/* --- Riga 2: card engineers (1/3) + foto (2/3) --- */
body.eva-lp .eva-lp-engineers   { flex: 1 1 0 !important; }
body.eva-lp .eva-lp-reasons__photo { flex: 2 1 0 !important; }

body.eva-lp .eva-lp-engineers {
  position: relative;
  min-height: 260px;
  margin: 0;
  padding: clamp(22px, 2.6vw, 32px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: var(--eva-dark);
  background-image:
    linear-gradient(0deg, rgba(6, 22, 74, .85) 0%, rgba(6, 22, 74, .2) 70%),
    var(--eva-bg);
  background-size: cover;
  background-position: center;
}
/* Icona "persone" bianca sopra il testo */
body.eva-lp .eva-lp-engineers::before {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  margin-bottom: 14px;
  background-color: var(--eva-white);
  -webkit-mask: var(--ico) center / contain no-repeat;
          mask: var(--ico) center / contain no-repeat;
  --ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><circle cx='9' cy='7.5' r='3.5'/><circle cx='17' cy='8.5' r='2.8'/><path d='M2 20c0-3.9 3.1-7 7-7s7 3.1 7 7z'/><path d='M15.5 13.2c3.6-.6 6.5 2.1 6.5 5.8h-4.3c0-2.3-.8-4.3-2.2-5.8z'/></svg>");
}
body.eva-lp .eva-lp-engineers p {
  color: var(--eva-white);
  font-weight: 600;
  font-size: .95rem;
  line-height: 1.45;
  max-width: 24ch;
  margin: 0;
}

body.eva-lp .eva-lp-reasons__photo { margin: 0; }
body.eva-lp .eva-lp-reasons__photo .wp-block-image { margin: 0; height: 100%; }
body.eva-lp .eva-lp-reasons__photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
}

/* Mobile: le colonne si impilano → bordi da verticali a orizzontali */
@media (max-width: 781px) {
  body.eva-lp .eva-lp-stat + .eva-lp-stat {
    border-left: 1px solid var(--eva-line);
    border-top: 0;
  }
  body.eva-lp .eva-lp-reasons__photo img { min-height: 220px; }
}

/* --- Fascia CTA "Book 1:1 time" --- */
body.eva-lp .eva-lp-ctaband {
  margin-top: clamp(28px, 4vw, 44px);
  padding: clamp(28px, 4vw, 44px) clamp(24px, 4vw, 48px);
  gap: 24px 40px;
  background-color: var(--eva-dark);
  background-image:
    linear-gradient(90deg, rgba(6, 22, 74, .94) 0%, rgba(6, 22, 74, .65) 30%, rgba(6, 22, 74, .25) 100%),
    var(--eva-bg);
  background-size: cover;
  background-position: top;
}
body.eva-lp .eva-lp-ctaband__text { flex: 1 1 420px; min-width: 0; }
body.eva-lp .eva-lp-ctaband__title {
  color: var(--eva-white);
  font-weight: 700;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.3;
  max-width: 40ch;   /* eccezione ai 20ch: è una frase lunga, a 20ch andrebbe su 5 righe */
  margin: 0 0 .8rem;
}
body.eva-lp .eva-lp-ctaband__meta {
  color: rgba(255, 255, 255, .8);
  font-size: .8rem;
  letter-spacing: .02em;
  margin: 0;
}
body.eva-lp .eva-lp-ctaband .wp-block-buttons { margin: 0; flex: 0 0 auto; }

/* =====================================================================
   4 · SPEAKING SESSION [eva_dcw_session] — box orario navy + pannello talk
   ===================================================================== */

/* ►► SFONDO PANNELLO TALK — metti qui la URL ◄◄ */
.eva-lp-session__talk { --eva-bg: url('https://www.in-quattro.com/wp-content/uploads/2026/10/bacgrkound_DCW_four_reasons.jpg'); }

.eva-lp-session {
  background: #f1f0ec;
  padding-block: clamp(40px, 6vw, 72px);
}
.eva-lp-session__grid {
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
}

/* --- Box orario --- */
.eva-lp-session__when {
  background: var(--eva-dark);
  padding: clamp(28px, 3.5vw, 44px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
body.eva-lp .eva-lp-session__kicker {
  color: var(--eva-white);
  opacity: .8;
  letter-spacing: .16em;
  margin: 0 0 .6rem;
}
body.eva-lp .eva-lp-session__time {
  color: var(--eva-white);
  font-weight: 700;
  font-size: clamp(3rem, 6vw, 4.4rem);
  line-height: 1;
  margin: 0 0 .9rem;
}
body.eva-lp .eva-lp-session__date {
  color: var(--eva-white);
  font-weight: 600;
  font-size: .95rem;
  margin: 0 0 .25rem;
}
body.eva-lp .eva-lp-session__theatre {
  color: rgba(255, 255, 255, .75);
  font-size: .82rem;
  margin: 0;
}
body.eva-lp a.eva-lp-session__ics,
body.eva-lp a.eva-lp-session__ics:visited {
  align-self: flex-start;
  margin-top: 18px;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, .6);
  color: var(--eva-white);
  font-size: .75rem;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
body.eva-lp a.eva-lp-session__ics:hover {
  background: var(--eva-white);
  color: var(--eva-dark);
}

/* Riga azioni: "Add to agenda" + "More details" affiancati */
.eva-lp-session__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  margin-top: 18px;
}
body.eva-lp .eva-lp-session__actions a.eva-lp-session__ics { margin-top: 0; }
body.eva-lp a.eva-lp-session__more,
body.eva-lp a.eva-lp-session__more:visited {
  color: var(--eva-white);
  font-size: .75rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.eva-lp a.eva-lp-session__more:hover { color: var(--eva-blue-light); }

/* --- Pannello talk --- */
.eva-lp-session__talk {
  padding: clamp(28px, 3.5vw, 44px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(24px, 3vw, 36px);
  background-color: #0a2560;
  background-image:
    linear-gradient(90deg, rgba(6, 22, 74, .85) 0%, rgba(6, 22, 74, .35) 100%),
    var(--eva-bg);
  background-size: cover;
  background-position: center;
}
body.eva-lp .eva-lp-session__title {
  color: var(--eva-white) !important;
  font-weight: 700;
  font-size: clamp(1.2rem, 2.1vw, 1.55rem);
  line-height: 1.3;
  max-width: 40ch;   /* eccezione ai 20ch: è il titolo del talk, frase lunga */
  margin: 0;
}

/* Speaker */
body.eva-lp .eva-lp-session__speakers {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
body.eva-lp .eva-lp-speaker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  min-width: 0;
}
.eva-lp-speaker__img {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .6);
  object-fit: cover;
  display: block;
}
.eva-lp-speaker__img.is-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .15);
  color: var(--eva-white);
  font-weight: 700;
  font-size: .9rem;
  box-sizing: border-box;
}
.eva-lp-speaker__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.eva-lp-speaker__name {
  color: var(--eva-white);
  font-weight: 700;
  font-size: .8rem;
  line-height: 1.3;
}
.eva-lp-speaker__role {
  color: rgba(255, 255, 255, .75);
  font-size: .72rem;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .eva-lp-session__grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  body.eva-lp .eva-lp-session__speakers { grid-template-columns: 1fr; }
}

/* =====================================================================
   5 · BOOK A MEETING — intro + step a sinistra, card form WPForms a destra
   Selettori con prefisso lungo (body.eva-lp … .wpforms-form): battono
   i fogli WPForms senza !important, e non toccano il form Contact del sito.
   ===================================================================== */
.eva-lp-meet {
  background: var(--eva-dark);
  padding-block: clamp(56px, 8vw, 96px);
}
body.eva-lp .eva-lp-meet__grid {
  gap: clamp(32px, 5vw, 72px);
  margin: 0 auto;
  align-items: flex-start !important;
}
.eva-lp-meet__grid > .eva-lp-meet__intro { flex: 44 1 0; }
.eva-lp-meet__grid > .eva-lp-meet__card  { flex: 56 1 0; }

/* --- Colonna intro --- */
body.eva-lp .eva-lp-meet__kicker { color: var(--eva-blue-light); margin: 0 0 12px; }
body.eva-lp .eva-lp-meet__title {
  color: var(--eva-white) !important;
  font-weight: 700;
  font-size: clamp(1.9rem, 3.6vw, 2.6rem);
  line-height: 1.1;
  max-width: 20ch;
  margin: 0 0 1rem;
}
body.eva-lp .eva-lp-meet__lead {
  color: var(--eva-white);
  font-weight: 600;
  font-size: .95rem;
  line-height: 1.5;
  max-width: 44ch;
  margin: 0 0 clamp(24px, 3vw, 36px);
}

/* Step 01 / 02 / 03 con linea verticale (lista numerata Gutenberg) */
body.eva-lp .eva-lp-steps {
  list-style: none;
  counter-reset: evastep;
  margin: 0 0 clamp(36px, 5vw, 56px);
  padding: 0;
}
body.eva-lp .eva-lp-steps li {
  counter-increment: evastep;
  position: relative;
  margin: 0;
  padding: 0 0 26px 44px;
  color: rgba(255, 255, 255, .85);
  font-size: .88rem;
  line-height: 1.4;
}
body.eva-lp .eva-lp-steps li:last-child { padding-bottom: 0; }
body.eva-lp .eva-lp-steps li::before {
  content: counter(evastep, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--eva-blue-light);
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .08em;
}
body.eva-lp .eva-lp-steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 24px;
  bottom: 4px;
  width: 1px;
  background: rgba(255, 255, 255, .35);
}

/* Press contact */
body.eva-lp .eva-lp-meet__presskicker { color: var(--eva-white); margin: 0 0 8px; }
body.eva-lp .eva-lp-meet__press {
  color: rgba(255, 255, 255, .8);
  font-size: .85rem;
  line-height: 1.6;
  max-width: 46ch;
  margin: 0;
}
body.eva-lp .eva-lp-meet__press a,
body.eva-lp .eva-lp-meet__press a:visited {
  color: var(--eva-blue-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.eva-lp .eva-lp-meet__press a:hover { color: var(--eva-white); }

/* --- Card form --- */
body.eva-lp .eva-lp-meet__card {
  background: var(--eva-white);
  padding: clamp(24px, 3.5vw, 40px);
  border-radius: 2px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .25);
}
body.eva-lp .eva-lp-meet__card .wpforms-container { margin: 0; }
body.eva-lp .eva-lp-meet__card .wpforms-form .wpforms-field { padding: 0 0 18px; }

/* Label */
body.eva-lp .eva-lp-meet__card .wpforms-form .wpforms-field-label {
  color: var(--eva-dark);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 6px;
}
body.eva-lp .eva-lp-meet__card .wpforms-form .wpforms-required-label { color: var(--eva-blue); }

/* Campi */
body.eva-lp .eva-lp-meet__card .wpforms-form input[type="text"],
body.eva-lp .eva-lp-meet__card .wpforms-form input[type="email"],
body.eva-lp .eva-lp-meet__card .wpforms-form input[type="tel"],
body.eva-lp .eva-lp-meet__card .wpforms-form textarea {
  width: 100%;
  max-width: 100% !important;    /* annulla il 60% della misura "medium" di WPForms */
  height: 44px;
  padding: 10px 12px;
  background: #f6f5f1;
  border: 1px solid var(--eva-line);
  border-radius: 2px;
  box-shadow: none;
  color: var(--eva-black);
  font-family: inherit;
  font-size: .92rem;
  transition: border-color .15s ease, box-shadow .15s ease;
}
body.eva-lp .eva-lp-meet__card .wpforms-form textarea { height: auto; min-height: 96px; }
body.eva-lp .eva-lp-meet__card .wpforms-form input:focus,
body.eva-lp .eva-lp-meet__card .wpforms-form textarea:focus {
  border-color: var(--eva-blue);
  box-shadow: 0 0 0 3px rgba(19, 130, 147, .18);
  outline: none;
}

/* Scelta singola a pill (campo con classe CSS eva-lp-pills)
   Non selezionata = teal chiaro, selezionata = teal pieno. */
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-pills ul {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-pills li {
  position: relative;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-pills input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;                    /* nascosto ma resta "required" e accessibile da tastiera */
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-pills li label {
  display: inline-block !important;
  margin: 0 !important;
  padding: 8px 14px;
  border: 1px solid var(--eva-blue);
  border-radius: 999px;
  background: rgba(19, 130, 147, .08);
  color: var(--eva-blue);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-pills li label:hover { background: rgba(19, 130, 147, .18); }
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-pills input[type="radio"]:checked + label {
  background: var(--eva-blue);
  color: var(--eva-white);
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-pills input[type="radio"]:focus-visible + label {
  outline: 2px solid var(--eva-dark);
  outline-offset: 2px;
}

/* Consenso GDPR (campo con classe CSS eva-lp-gdpr) */
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-gdpr {
  border-top: 1px solid var(--eva-line);
  padding-top: 16px;
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-gdpr ul { margin: 0 !important; padding: 0 !important; list-style: none; }
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-gdpr li {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 0 !important;
  padding: 0 !important;
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-gdpr input[type="checkbox"] {
  flex: 0 0 auto;
  margin: 2px 0 0;
  accent-color: var(--eva-blue);
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-gdpr li label {
  color: var(--eva-black);
  font-size: .75rem;
  font-weight: 400;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: 0;
}
body.eva-lp .eva-lp-meet__card .wpforms-form .eva-lp-gdpr a { color: var(--eva-blue); text-decoration: underline; }

/* Errori */
body.eva-lp .eva-lp-meet__card .wpforms-form label.wpforms-error,
body.eva-lp .eva-lp-meet__card .wpforms-form em.wpforms-error {
  color: #c0392b;
  font-size: .75rem;
  font-style: normal;
  margin-top: 6px;
}
body.eva-lp .eva-lp-meet__card .wpforms-form input.wpforms-error,
body.eva-lp .eva-lp-meet__card .wpforms-form textarea.wpforms-error { border-color: #c0392b; }

/* Bottone invio */
body.eva-lp .eva-lp-meet__card .wpforms-form .wpforms-submit-container { padding: 8px 0 0; margin: 0; }
body.eva-lp .eva-lp-meet__card .wpforms-form button[type="submit"] {
  width: 100%;
  height: auto;
  padding: 15px 20px;
  background: var(--eva-blue);
  border: 0;
  border-radius: 2px;
  color: var(--eva-white);
  font-family: inherit;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  transition: background-color .15s ease;
}
body.eva-lp .eva-lp-meet__card .wpforms-form button[type="submit"]:hover { background: var(--eva-dark); }

/* Messaggio di conferma (invio AJAX) */
body.eva-lp .eva-lp-meet__card .wpforms-confirmation-container-full {
  background: rgba(19, 130, 147, .08);
  border: 1px solid var(--eva-blue);
  border-radius: 2px;
  color: var(--eva-dark);
  font-size: .95rem;
  padding: 20px 22px;
  margin: 0;
}