/*
 Theme Name:   ProRange Child Theme
 Theme URI:    https://prorange.ancorathemes.com
 Description:  ProRange Child Theme
 Author:       AncoraThemes
 Author URI:   https://ancorathemes.com
 Template:     prorange
 Version:      1.0
 Tags:         flexible-header, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, full-width-template, microformats, post-formats, theme-options, threaded-comments, translation-ready
 Text Domain:  prorange
*/


/* =Child-Theme customization starts here
------------------------------------------------------------ */

/* =========================================================================
   EDIL ART MIRARCHI — Landing "Ristrutturazione completa" — v4
   Prefisso .earis-  |  Nessuna dipendenza esterna
   Rimossi in questa revisione: galleria progetti, sezione benefici,
   barra sticky mobile e tutto il CSS che le serviva.
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. TOKEN
   ------------------------------------------------------------------------- */
.earis-lp,
.earis-contact {
  /* --- Colore --- */
  --earis-gold:        #D9A069;  /* accento su fondo scuro */
  --earis-gold-hover:  #E8B47F;
  --earis-gold-ink:    #8C5A2B;  /* accento su fondo chiaro — AA 5.8:1 su bianco */
  --earis-black:       #0A0300;
  --earis-dark:        #161616;
  --earis-dark-2:      #1F1F1F;
  --earis-dark-line:   #2E2E2E;
  --earis-cream:       #F1F0EC;
  --earis-white:       #FFFFFF;
  --earis-line:        #E3E3E3;
  --earis-line-strong: #D3C9BA;

  --earis-ink:         #111111;  /* titoli / testo forte    — 18.9:1 su bianco */
  --earis-ink-2:       #444444;  /* testo corrente          —  9.7:1 su bianco */
  --earis-ink-3:       #666666;  /* testo terziario         —  5.7:1 su bianco */
  --earis-on-dark:     #FFFFFF;
  --earis-on-dark-2:   #C6C6C6;  /* testo corrente su scuro —  9.9:1 su #161616 */
  --earis-on-dark-3:   #9A9A9A;  /* terziario su scuro      —  5.1:1 su #161616 */

  --earis-ok:          #157C4B;
  --earis-no:          #B32320;
  --earis-focus:       #8C5A2B;

  /* --- Spaziatura (ritmo 4/8) --- */
  --earis-sp-1: 4px;   --earis-sp-2: 8px;   --earis-sp-3: 12px;
  --earis-sp-4: 16px;  --earis-sp-5: 24px;  --earis-sp-6: 32px;
  --earis-sp-7: 40px;  --earis-sp-8: 56px;  --earis-sp-9: 72px;
  --earis-sp-10: 96px;

  /* --- Raggi ed elevazione --- */
  --earis-r-sm: 8px;
  --earis-r:    12px;
  --earis-r-lg: 16px;
  --earis-r-pill: 999px;
  --earis-el-1: 0 1px 2px rgba(10,3,0,.06), 0 2px 8px rgba(10,3,0,.04);
  --earis-el-2: 0 4px 12px rgba(10,3,0,.08), 0 12px 28px rgba(10,3,0,.06);
  --earis-el-3: 0 8px 24px rgba(10,3,0,.12), 0 24px 48px rgba(10,3,0,.08);

  /* --- Motion: curve forti, le built-in sono troppo deboli --- */
  --earis-ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --earis-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --earis-d-press: 140ms;
  --earis-d-ui:    200ms;
  --earis-d-enter: 280ms;
}

/* -------------------------------------------------------------------------
   2. BASE
   ------------------------------------------------------------------------- */
.earis-lp {
  font-family: inherit;           /* eredita DM Sans dal tema */
  color: var(--earis-ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.earis-lp *,
.earis-lp *::before,
.earis-lp *::after,
.earis-contact * { box-sizing: border-box; }

.earis-lp img,
.earis-contact img { display: block; max-width: 100%; height: auto; }

.earis-lp p { margin: 0 0 var(--earis-sp-3); }
.earis-lp p:last-child { margin-bottom: 0; }

/* i temi WP sovrascrivono spesso il colore dei titoli: lo forziamo */
.earis-lp h1, .earis-lp h2, .earis-lp h3, .earis-lp h4,
.earis-contact h2, .earis-contact h3 {
  font-family: inherit;
  color: var(--earis-ink);
  margin: 0;
  line-height: 1.18;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

/* Focus sempre visibile */
.earis-lp a:focus-visible,
.earis-lp button:focus-visible,
.earis-lp summary:focus-visible,
.earis-lp input:focus-visible,
.earis-contact a:focus-visible {
  outline: 3px solid var(--earis-focus);
  outline-offset: 3px;
  border-radius: var(--earis-r-sm);
}
.earis-section--dark a:focus-visible,
.earis-hero a:focus-visible,
.earis-contact a:focus-visible { outline-color: var(--earis-gold); }

/* Icone SVG: stroke coerente, colore ereditato dal testo */
.earis-icon {
  width: 24px;
  height: 24px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.earis-icon--sm { width: 20px; height: 20px; }
.earis-icon--lg { width: 28px; height: 28px; stroke-width: 1.6; }

/* -------------------------------------------------------------------------
   3. LAYOUT
   ------------------------------------------------------------------------- */
.earis-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: var(--earis-sp-5);
}
@media (min-width: 1024px) { .earis-wrap { padding-inline: var(--earis-sp-6); } }

.earis-section { padding-block: var(--earis-sp-8); }
@media (min-width: 768px)  { .earis-section { padding-block: var(--earis-sp-9); } }
@media (min-width: 1024px) { .earis-section { padding-block: var(--earis-sp-10); } }

.earis-section--cream { background-color: var(--earis-cream); }
.earis-section--dark  { background-color: var(--earis-dark); }
.earis-section--dark h2,
.earis-section--dark h3 { color: var(--earis-on-dark); }
.earis-section--dark p  { color: var(--earis-on-dark-2); }

/* --- Testatine --- */
.earis-head { margin-bottom: var(--earis-sp-7); max-width: 46rem; }
.earis-head--center { margin-inline: auto; text-align: center; }

.earis-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--earis-sp-2);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--earis-gold-ink);
  margin: 0 0 var(--earis-sp-3);
}
.earis-eyebrow::before {
  content: "";
  width: 22px;
  height: 2px;
  background-color: currentColor;
  border-radius: 2px;
}
.earis-head--center .earis-eyebrow::before { display: none; }
.earis-section--dark .earis-eyebrow,
.earis-contact .earis-eyebrow { color: var(--earis-gold); }

.earis-h2 {
  font-size: clamp(1.6rem, 1.15rem + 1.9vw, 2.35rem);
  font-weight: 800;
  margin: 0 0 var(--earis-sp-3);
}

.earis-lead {
  font-size: 1.0625rem;
  color: var(--earis-ink-2);
  margin: 0;
  max-width: 62ch;                 /* misura di riga leggibile */
}
.earis-head--center .earis-lead { margin-inline: auto; }
.earis-section--dark .earis-lead { color: var(--earis-on-dark-2); }

/* -------------------------------------------------------------------------
   4. BOTTONI
   ------------------------------------------------------------------------- */
.earis-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--earis-sp-2);
  min-height: 52px;                /* touch target ampio */
  padding: 14px 28px;
  border: 2px solid transparent;
  border-radius: var(--earis-r-pill);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  transition:
    background-color var(--earis-d-ui) ease,
    border-color var(--earis-d-ui) ease,
    color var(--earis-d-ui) ease,
    box-shadow var(--earis-d-ui) var(--earis-ease-out),
    transform var(--earis-d-press) var(--earis-ease-out);
}
.earis-btn .earis-icon { width: 20px; height: 20px; }

.earis-btn--primary {
  background-color: var(--earis-gold);
  color: var(--earis-black);       /* 8.8:1 */
  box-shadow: var(--earis-el-1);
}
.earis-btn--ghost {
  background-color: transparent;
  color: var(--earis-on-dark);
  border-color: rgba(255,255,255,.45);
}

/* hover solo su puntatori fini: sul touch il tap genera falsi hover */
@media (hover: hover) and (pointer: fine) {
  .earis-btn--primary:hover { background-color: var(--earis-gold-hover); box-shadow: var(--earis-el-2); }
  .earis-btn--ghost:hover   { border-color: var(--earis-on-dark); background-color: rgba(255,255,255,.08); }
}
/* feedback di pressione: l'interfaccia deve "sentire" il click */
.earis-btn:active { transform: scale(0.97); }

/* su schermi stretti l'etichetta uppercase con tracking largo andava a capo */
@media (max-width: 480px) {
  .earis-btn {
    font-size: 0.875rem;
    letter-spacing: 0.015em;
    padding-inline: 18px;
  }
  /* la freccia è decorativa: su schermi stretti mandava l'etichetta a capo */
  .earis-btn .earis-icon { display: none; }
}
@media (max-width: 400px) {
  .earis-btn { font-size: 0.8125rem; padding-inline: 14px; }
}

/* -------------------------------------------------------------------------
   5. HERO
   ------------------------------------------------------------------------- */
.earis-hero {
  position: relative;
  background-color: var(--earis-black);
  isolation: isolate;
  padding-top: var(--earis-sp-8);
}
@media (min-width: 768px)  { .earis-hero { padding-top: var(--earis-sp-9); } }
@media (min-width: 1024px) { .earis-hero { padding-top: var(--earis-sp-10); } }
.earis-hero__media { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.earis-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}
.earis-hero::before {              /* scrim: garantisce la leggibilità */
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(102deg, rgba(10,3,0,.95) 0%, rgba(10,3,0,.86) 46%, rgba(10,3,0,.58) 100%),
    linear-gradient(180deg, rgba(10,3,0,.50) 0%, rgba(10,3,0,.18) 38%, rgba(10,3,0,.88) 100%);
}

.earis-hero__content { max-width: 44rem; padding-bottom: var(--earis-sp-8); }
@media (min-width: 1024px) { .earis-hero__content { padding-bottom: var(--earis-sp-9); } }

/* --- Gerarchia dell'hero, dal livello 1 al livello 4 ---------------------
   1. eyebrow   contesto: cosa facciamo e dove
   2. h1-main   la promessa — l'unico elemento di questa dimensione
   3. h1-sub    il come, in oro: chiaramente subordinato alla promessa
   4. sub       il dettaglio operativo
   ---------------------------------------------------------------------- */
.earis-hero__eyebrow {
  display: inline-block;
  color: var(--earis-gold);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 var(--earis-sp-4);
}
@media (max-width: 480px) {
  .earis-hero__eyebrow { font-size: 0.75rem; letter-spacing: 0.1em; text-wrap: balance; }
}

.earis-hero h1 { margin: 0 0 var(--earis-sp-5); }

.earis-hero__h1-main {
  display: block;
  color: var(--earis-on-dark);
  font-size: clamp(2.125rem, 1.35rem + 3.4vw, 3.5rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.earis-hero__h1-sub {
  display: block;
  margin-top: var(--earis-sp-3);
  color: var(--earis-gold);
  /* circa metà della main: la differenza deve leggersi a colpo d'occhio */
  font-size: clamp(1.125rem, .92rem + .95vw, 1.625rem);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.01em;
  max-width: 32ch;
  text-wrap: balance;
}

.earis-hero__sub {
  color: #D5D5D5;
  font-size: clamp(0.9875rem, .94rem + .3vw, 1.0625rem);
  line-height: 1.6;
  margin: 0 0 var(--earis-sp-6);
  max-width: 46ch;
}
.earis-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--earis-sp-3);
  margin-bottom: var(--earis-sp-4);
}
.earis-hero__note {
  display: flex;
  align-items: center;
  gap: var(--earis-sp-2);
  color: var(--earis-on-dark-3);
  font-size: 0.875rem;
  margin: 0;
}
.earis-hero__note .earis-icon { width: 18px; height: 18px; color: var(--earis-gold); }

/* --- Barra di prova --- */
.earis-trust {
  border-top: 1px solid rgba(255,255,255,.14);
  background-color: rgba(10,3,0,.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.earis-trust__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--earis-sp-4);
  padding-block: var(--earis-sp-5);
}
@media (min-width: 640px)  { .earis-trust__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px) { .earis-trust__grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--earis-sp-5); } }

.earis-trust__item { display: flex; align-items: center; gap: var(--earis-sp-3); color: var(--earis-on-dark); }
.earis-trust__item .earis-icon { color: var(--earis-gold); }
.earis-trust__label { font-size: 0.9375rem; line-height: 1.3; }
.earis-trust__label strong { display: block; font-weight: 700; }
.earis-trust__label span { color: var(--earis-on-dark-3); font-size: 0.8125rem; }

/* -------------------------------------------------------------------------
   6. GRIGLIE E CARD
   ------------------------------------------------------------------------- */
.earis-grid { display: grid; grid-template-columns: 1fr; gap: var(--earis-sp-4); }
@media (min-width: 768px)  { .earis-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--earis-sp-5); } }
@media (min-width: 1024px) { .earis-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); } }

.earis-card {
  background-color: var(--earis-white);
  border: 1px solid var(--earis-line);
  border-radius: var(--earis-r);
  padding: var(--earis-sp-5);
  transition:
    border-color var(--earis-d-ui) ease,
    box-shadow var(--earis-d-ui) var(--earis-ease-out),
    transform var(--earis-d-ui) var(--earis-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .earis-card:hover {
    border-color: var(--earis-line-strong);
    box-shadow: var(--earis-el-2);
    transform: translateY(-2px);
  }
}
.earis-card__icon,
.earis-promise__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: var(--earis-r-sm);
  margin-bottom: var(--earis-sp-4);
}
.earis-card__icon { background-color: rgba(140,90,43,.10); color: var(--earis-gold-ink); }
.earis-card h3 { font-size: 1.125rem; font-weight: 700; margin: 0 0 var(--earis-sp-2); }
.earis-card p  { font-size: 0.9375rem; color: var(--earis-ink-2); margin: 0; }

/* -------------------------------------------------------------------------
   7. PRIMA / DOPO
   ------------------------------------------------------------------------- */
.earis-ba { --earis-ba-pos: 50%; }

.earis-ba__stage {
  position: relative;
  border-radius: var(--earis-r-lg);
  overflow: hidden;
  background-color: var(--earis-dark-2);
  box-shadow: var(--earis-el-3);
  aspect-ratio: 16 / 10;           /* spazio riservato: zero layout shift */
  touch-action: pan-y;
}
.earis-ba__layer { position: absolute; inset: 0; }
.earis-ba__layer img { width: 100%; height: 100%; object-fit: cover; }
/* clip-path è compositabile: nessun reflow durante il trascinamento */
.earis-ba__layer--before { clip-path: inset(0 calc(100% - var(--earis-ba-pos)) 0 0); z-index: 2; }

.earis-ba__tag {
  position: absolute;
  top: var(--earis-sp-4);
  z-index: 3;
  padding: 6px 14px;
  border-radius: var(--earis-r-pill);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.earis-ba__tag--before { left: var(--earis-sp-4); background-color: rgba(10,3,0,.85); color: #fff; }
.earis-ba__tag--after  { right: var(--earis-sp-4); background-color: var(--earis-gold); color: var(--earis-black); }

.earis-ba__divider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--earis-ba-pos);
  width: 2px;
  margin-left: -1px;
  background-color: #fff;
  z-index: 4;
  pointer-events: none;
}
.earis-ba__handle {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #fff;
  color: var(--earis-black);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.4);
  transition: scale var(--earis-d-press) var(--earis-ease-out), box-shadow var(--earis-d-ui) ease;
}
.earis-ba__range {
  position: absolute;
  inset: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;                       /* invisibile ma reale: usabile da tastiera */
  cursor: ew-resize;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
}
.earis-ba__range::-webkit-slider-thumb { -webkit-appearance: none; width: 56px; height: 100%; cursor: ew-resize; }
.earis-ba__range::-moz-range-thumb { width: 56px; height: 100%; border: 0; background: transparent; cursor: ew-resize; }
.earis-ba__range:focus-visible ~ .earis-ba__divider .earis-ba__handle { scale: 1.1; box-shadow: 0 0 0 4px var(--earis-gold); }
.earis-ba__range:active ~ .earis-ba__divider .earis-ba__handle { scale: 0.94; }

.earis-ba__hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--earis-sp-2);
  margin-top: var(--earis-sp-4);
  font-size: 0.875rem;
  color: var(--earis-ink-3);
}
.earis-ba__hint .earis-icon { width: 18px; height: 18px; }

/* -------------------------------------------------------------------------
   8. SPLIT MEDIA + CONTENUTO
   ------------------------------------------------------------------------- */
.earis-split { display: grid; grid-template-columns: 1fr; gap: var(--earis-sp-6); align-items: start; }
@media (min-width: 1024px) {
  .earis-split { grid-template-columns: 0.85fr 1.15fr; gap: var(--earis-sp-8); }
  .earis-split--reverse { grid-template-columns: 1.15fr 0.85fr; }
}
.earis-split__media { border-radius: var(--earis-r-lg); overflow: hidden; box-shadow: var(--earis-el-2); }
.earis-split__media img { width: 100%; height: auto; }
@media (min-width: 1024px) {
  .earis-split__media--sticky { position: sticky; top: 100px; }
  /* le foto del cliente sono orizzontali 3:2: 4/3 ritaglia il minimo indispensabile */
  .earis-split__media--tall img { aspect-ratio: 4 / 3; object-fit: cover; }
}

/* -------------------------------------------------------------------------
   9. GARANZIE (scuro)
   ------------------------------------------------------------------------- */
.earis-promise {
  background-color: var(--earis-dark-2);
  border: 1px solid var(--earis-dark-line);
  border-radius: var(--earis-r);
  padding: var(--earis-sp-5);
  transition: border-color var(--earis-d-ui) ease, transform var(--earis-d-ui) var(--earis-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .earis-promise:hover { border-color: var(--earis-gold); transform: translateY(-2px); }
}
.earis-promise__icon { background-color: rgba(217,160,105,.14); color: var(--earis-gold); }
.earis-promise h3 { font-size: 1.0625rem; font-weight: 700; color: var(--earis-on-dark); margin: 0 0 var(--earis-sp-2); }
.earis-promise p  { font-size: 0.9375rem; color: var(--earis-on-dark-2); margin: 0; }

/* -------------------------------------------------------------------------
   10. CHECKLIST + NOTA
   ------------------------------------------------------------------------- */
.earis-checklist {
  list-style: none;
  margin: 0 0 var(--earis-sp-5);
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--earis-sp-3);
}
@media (min-width: 640px) { .earis-checklist { grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: var(--earis-sp-5); } }
.earis-checklist li {
  display: flex;
  align-items: flex-start;
  gap: var(--earis-sp-3);
  font-size: 0.96875rem;
  color: var(--earis-ink-2);
  line-height: 1.45;
}
.earis-checklist .earis-icon { color: var(--earis-gold-ink); width: 20px; height: 20px; margin-top: 3px; }
.earis-checklist strong { color: var(--earis-ink); font-weight: 700; }

.earis-note {
  background-color: var(--earis-white);
  border: 1px solid var(--earis-line);
  border-left: 4px solid var(--earis-gold);
  border-radius: var(--earis-r);
  padding: var(--earis-sp-5);
  box-shadow: var(--earis-el-1);
}
.earis-note h3 { font-size: 1.0625rem; margin: 0 0 var(--earis-sp-2); }
.earis-note p  { font-size: 0.9375rem; color: var(--earis-ink-2); }

/* -------------------------------------------------------------------------
   11. PERCORSO
   ------------------------------------------------------------------------- */
.earis-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--earis-sp-4);
}
@media (min-width: 640px)  { .earis-steps { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px) { .earis-steps { grid-template-columns: repeat(5, minmax(0,1fr)); gap: var(--earis-sp-3); } }

.earis-step {
  position: relative;
  background-color: var(--earis-white);
  border: 1px solid var(--earis-line);
  border-radius: var(--earis-r);
  padding: var(--earis-sp-5) var(--earis-sp-4);
}
.earis-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: var(--earis-r-pill);
  background-color: var(--earis-black);
  color: var(--earis-gold);
  font-size: 0.875rem;
  font-weight: 800;
  margin-bottom: var(--earis-sp-3);
}
.earis-step h3 { font-size: 1rem; font-weight: 700; margin: 0 0 var(--earis-sp-2); }
.earis-step p  { font-size: 0.875rem; color: var(--earis-ink-2); margin: 0; }
@media (min-width: 1024px) {
  .earis-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: calc(var(--earis-sp-5) + 17px);
    right: calc(var(--earis-sp-3) * -1);
    width: var(--earis-sp-3);
    height: 1px;
    background-color: var(--earis-line-strong);
  }
}

/* -------------------------------------------------------------------------
   12. QUALIFICA (sì / no)
   ------------------------------------------------------------------------- */
.earis-fit { display: grid; grid-template-columns: 1fr; gap: var(--earis-sp-4); }
@media (min-width: 900px) { .earis-fit { grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--earis-sp-5); } }

.earis-fit__card {
  border-radius: var(--earis-r-lg);
  border: 1px solid var(--earis-line);
  background-color: var(--earis-white);
  padding: var(--earis-sp-5);
}
.earis-fit__card--yes { border-color: var(--earis-ok); box-shadow: var(--earis-el-2); }
.earis-fit__card--no  { background-color: #F7F7F6; }
.earis-fit__card h3 {
  font-size: 1.0625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin: 0 0 var(--earis-sp-1);
}
.earis-fit__tag {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--earis-ink-3);
  font-weight: 600;
  margin: 0 0 var(--earis-sp-4);
}
.earis-fit__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--earis-sp-3); }
.earis-fit__list li { display: flex; gap: var(--earis-sp-3); font-size: 0.9375rem; line-height: 1.45; color: var(--earis-ink-2); }
.earis-fit__list .earis-icon { width: 20px; height: 20px; margin-top: 2px; }
.earis-fit__list--yes .earis-icon { color: var(--earis-ok); }
.earis-fit__list--no  .earis-icon { color: var(--earis-no); }
.earis-fit__list strong { color: var(--earis-ink); }

/* -------------------------------------------------------------------------
   13. FAQ — <details>/<summary>: nativa, accessibile, senza JS
   ------------------------------------------------------------------------- */
.earis-faq { display: grid; grid-template-columns: 1fr; gap: var(--earis-sp-3); }
@media (min-width: 900px) { .earis-faq { grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--earis-sp-4); align-items: start; } }

.earis-faq__item {
  background-color: var(--earis-white);
  border: 1px solid var(--earis-line);
  border-radius: var(--earis-r);
  overflow: hidden;
  transition: border-color var(--earis-d-ui) ease, box-shadow var(--earis-d-ui) var(--earis-ease-out);
}
.earis-faq__item[open] { border-color: var(--earis-gold); box-shadow: var(--earis-el-2); }

.earis-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--earis-sp-3);
  min-height: 56px;
  padding: var(--earis-sp-4);
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--earis-ink);
  list-style: none;
  -webkit-user-select: none;
  user-select: none;
  transition: color var(--earis-d-ui) ease;
}
.earis-faq__q::-webkit-details-marker { display: none; }
.earis-faq__q .earis-icon {
  color: var(--earis-gold-ink);
  transition: rotate var(--earis-d-ui) var(--earis-ease-out);
}
.earis-faq__item[open] .earis-faq__q .earis-icon { rotate: 180deg; }
@media (hover: hover) and (pointer: fine) { .earis-faq__q:hover { color: var(--earis-gold-ink); } }
.earis-faq__q:focus-visible { outline: 3px solid var(--earis-focus); outline-offset: -3px; }

.earis-faq__a { padding: 0 var(--earis-sp-4) var(--earis-sp-4); font-size: 0.9375rem; color: var(--earis-ink-2); }
.earis-faq__a p { margin: 0 0 var(--earis-sp-2); }
.earis-faq__a p:last-child { margin-bottom: 0; }
.earis-faq__a a { color: var(--earis-gold-ink); font-weight: 600; }
.earis-faq__item[open] .earis-faq__a { animation: earis-reveal var(--earis-d-enter) var(--earis-ease-out) both; }
@keyframes earis-reveal { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }

/* -------------------------------------------------------------------------
   14. CTA FINALE + FORM
   ------------------------------------------------------------------------- */
.earis-contact {
  background-color: var(--earis-black);
  padding-block: var(--earis-sp-8);
  font-family: inherit;
  color: var(--earis-on-dark);
}
@media (min-width: 1024px) { .earis-contact { padding-block: var(--earis-sp-10); } }

.earis-contact__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: var(--earis-sp-5);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--earis-sp-7);
  align-items: start;
}
@media (min-width: 1024px) {
  .earis-contact__inner { grid-template-columns: 1fr 1fr; gap: var(--earis-sp-8); padding-inline: var(--earis-sp-6); }
}

.earis-contact h2 {
  color: var(--earis-on-dark);
  font-size: clamp(1.6rem, 1.15rem + 1.9vw, 2.35rem);
  font-weight: 800;
  margin: 0 0 var(--earis-sp-3);
}
.earis-contact__text { color: var(--earis-on-dark-2); font-size: 1.0625rem; margin: 0 0 var(--earis-sp-6); }

.earis-contact__direct { display: flex; flex-direction: column; gap: var(--earis-sp-3); margin-bottom: var(--earis-sp-6); }
.earis-contact__direct a {
  display: inline-flex;
  align-items: center;
  gap: var(--earis-sp-3);
  min-height: 44px;
  color: var(--earis-on-dark);
  text-decoration: none;
  font-size: 1.0625rem;
  font-weight: 600;
  transition: color var(--earis-d-ui) ease;
}
.earis-contact__direct .earis-icon { color: var(--earis-gold); }
@media (hover: hover) and (pointer: fine) { .earis-contact__direct a:hover { color: var(--earis-gold); } }

.earis-contact__reassure { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--earis-sp-2); }
.earis-contact__reassure li {
  display: flex;
  align-items: flex-start;
  gap: var(--earis-sp-2);
  color: var(--earis-on-dark-2);
  font-size: 0.9375rem;
}
.earis-contact__reassure .earis-icon { width: 18px; height: 18px; color: var(--earis-gold); margin-top: 3px; }

/* --- Box form + restyle Contact Form 7 --- */
.earis-form {
  background-color: var(--earis-white);
  border-radius: var(--earis-r-lg);
  padding: var(--earis-sp-5);
  box-shadow: var(--earis-el-3);
  color: var(--earis-ink);
}
@media (min-width: 640px) { .earis-form { padding: var(--earis-sp-6); } }

.earis-form__title { font-size: 1.25rem; font-weight: 800; color: var(--earis-ink); margin: 0 0 var(--earis-sp-1); }
.earis-form__sub   { font-size: 0.9375rem; color: var(--earis-ink-2); margin: 0 0 var(--earis-sp-5); }

.earis-form .wpcf7-form p { margin: 0 0 var(--earis-sp-4); }
.earis-form label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--earis-ink);
  margin-bottom: var(--earis-sp-2);
}
.earis-form input[type="text"],
.earis-form input[type="email"],
.earis-form input[type="tel"],
.earis-form input[type="url"],
.earis-form input[type="number"],
.earis-form input[type="date"],
.earis-form select,
.earis-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #D5D5D5;
  border-radius: var(--earis-r-sm);
  background-color: #fff;
  font-family: inherit;
  font-size: 16px;                 /* evita lo zoom automatico su iOS */
  line-height: 1.4;
  color: var(--earis-ink);
  transition: border-color var(--earis-d-ui) ease, box-shadow var(--earis-d-ui) ease;
}
.earis-form textarea { min-height: 110px; resize: vertical; }
.earis-form input:focus,
.earis-form select:focus,
.earis-form textarea:focus {
  outline: none;
  border-color: var(--earis-gold-ink);
  box-shadow: 0 0 0 3px rgba(140,90,43,.18);
}
.earis-form .wpcf7-list-item { margin: 0 0 var(--earis-sp-2); }
.earis-form .wpcf7-acceptance label,
.earis-form .wpcf7-acceptance .wpcf7-list-item-label {
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--earis-ink-2);
  line-height: 1.45;
}
.earis-form .wpcf7-acceptance input[type="checkbox"] {
  width: 20px; height: 20px; min-height: 0;
  margin-right: var(--earis-sp-2);
  accent-color: var(--earis-gold-ink);
}

.earis-form input[type="submit"],
.earis-form .wpcf7-submit {
  width: 100%;
  min-height: 54px;
  padding: 15px 24px;
  border: none;
  border-radius: var(--earis-r-pill);
  background-color: var(--earis-gold);
  color: var(--earis-black);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color var(--earis-d-ui) ease, opacity var(--earis-d-ui) ease, transform var(--earis-d-press) var(--earis-ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .earis-form input[type="submit"]:hover { background-color: var(--earis-gold-hover); }
}
.earis-form input[type="submit"]:active { transform: scale(0.98); }
.earis-form .wpcf7-form.submitting input[type="submit"] { opacity: .5; cursor: progress; }

.earis-form .wpcf7-not-valid-tip { font-size: 0.8125rem; color: var(--earis-no); margin-top: var(--earis-sp-1); font-weight: 600; }
.earis-form .wpcf7-not-valid { border-color: var(--earis-no) !important; }
.earis-form .wpcf7-response-output {
  margin: var(--earis-sp-4) 0 0 !important;
  border-radius: var(--earis-r-sm);
  font-size: 0.875rem;
  padding: 12px 14px !important;
}
.earis-form .wpcf7-spinner { display: block; margin: var(--earis-sp-3) auto 0; }

/* -------------------------------------------------------------------------
   15. ENTRATA IN SCROLL — attiva solo se il JS gira
   ------------------------------------------------------------------------- */
.earis-js .earis-reveal {
  opacity: 0;
  translate: 0 14px;
  transition:
    opacity var(--earis-d-enter) var(--earis-ease-out),
    translate var(--earis-d-enter) var(--earis-ease-out);
  transition-delay: var(--earis-delay, 0ms);
}
.earis-js .earis-reveal.is-in { opacity: 1; translate: 0 0; }

/* -------------------------------------------------------------------------
   16. MOTION RIDOTTO — via i movimenti, restano opacità e colore
   ------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .earis-lp *, .earis-contact * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .earis-js .earis-reveal { opacity: 1; translate: none; }
  .earis-btn:active,
  .earis-card:hover,
  .earis-promise:hover { transform: none; }
}