/* ============================================================================
 * Evolution Travel — Landing Repubblica Dominicana (nuovo design)
 * Foglio di stile della landing (CPT "landing").
 *
 * Fonte: design-reference/design_handoff_landing_dominicana/ (prototipi desktop
 * + mobile, extracted-tokens.css). Mobile-first; breakpoint unico 880px.
 *
 * Convenzioni:
 *  - variabili: --et-  (Evolution Travel)
 *  - classi:    .lp-   (landing page)
 *  - icone SOLO Tabler (<i class="ti ti-NOME">), colore = currentColor
 *  - niente URL assoluti: gli sfondi foto si iniettano via style inline nel PHP
 * ========================================================================== */

:root {
  /* ---------- Colori: testo & superfici ---------- */
  --et-dark: #1B1B1B;
  --et-white: #FFFFFF;
  --et-body: #444444;
  --et-text-2: #6B6B6B;
  --et-muted: #9A9A9A;

  /* ---------- Accent ciano ---------- */
  --et-accent: #009CFF;
  --et-accent-hover: #006FB8;
  --et-accent-active: #005C99;
  --et-accent-light: #F2FAFF;
  --et-accent-tile: #E6F4FF;
  --et-accent-border: #E6F2FB;
  --et-accent-soft: #5ec2ff;
  --et-accent-faq-open: #C7E7FF;

  /* ---------- Bordi & neutri ---------- */
  --et-gray-bg: #F4F4F4;
  --et-border: #E2E2E2;
  --et-border-2: #E7E7E7;
  --et-hairline: #F0F0F0;
  --et-progress-empty: #E6EAF0;

  /* ---------- Sabbia / carte d'imbarco (sezione "Formule", nata con Mar Rosso) ---------- */
  --et-sand-bg: #FBF4E7;
  --et-sand-head: #FDF8EF;
  --et-sand-accent: #B07A28;
  --et-sand-text: #4A4232;
  --et-sand-muted: #A99A7C;
  --et-sand-hairline: #F2ECDE;
  --et-sand-border: #EFE3CC;
  --et-sand-dash: #E7D8B8;
  --et-sand-dash-2: #DCC79B;

  /* ---------- Feedback ---------- */
  --et-trust-green: #00B67A;
  --et-star: #FFB800;
  --et-aqua: #7fe0c0;

  /* ---------- Overlay foto ---------- */
  /* Lato testi (sinistra) rinforzato il 17 ago 2026 (leggibilita' subheadline su
     foto molto chiare, es. laguna Maldive): era .74/.46/.10/.04. */
  --et-overlay-hero-diag: linear-gradient(105deg, rgba(8,16,30,.78) 0%, rgba(8,16,30,.55) 36%, rgba(8,16,30,.16) 64%, rgba(8,16,30,.05) 100%);
  --et-overlay-hero-vert: linear-gradient(180deg, rgba(8,16,30,.35) 0%, rgba(8,16,30,0) 22%, rgba(8,16,30,0) 70%, rgba(8,16,30,.45) 100%);
  --et-overlay-card: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.62) 100%);
  --et-overlay-segment: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.78) 100%);
  --et-overlay-urgency: linear-gradient(100deg, rgba(8,16,30,.78), rgba(8,16,30,.42));

  /* ---------- Tipografia ---------- */
  --et-font-ui: 'Raleway', system-ui, sans-serif;
  --et-font-serif: 'Roboto Serif', Georgia, serif;

  --et-h1: clamp(36px, 5.2vw, 62px);
  --et-h2: clamp(28px, 4vw, 46px);
  --et-h2-lg: clamp(30px, 4.4vw, 50px);
  --et-h3: clamp(19px, 2.2vw, 23px);
  --et-body-size: clamp(16px, 1.6vw, 19px);
  --et-eyebrow: 13px;

  /* ---------- Raggi ---------- */
  --et-radius-pill: 999px;
  --et-radius-input: 12px;
  --et-radius-md: 14px;
  --et-radius-card: 18px;
  --et-radius-lg: 20px;
  --et-radius-xl: 22px;
  --et-radius-2xl: 26px;
  --et-radius-footer: 28px;

  /* ---------- Ombre ---------- */
  --et-shadow-card: 0 4px 12px rgba(27,27,27,.05);
  --et-shadow-card-2: 0 4px 12px rgba(27,27,27,.06);
  --et-shadow-lift: 0 24px 48px rgba(0,156,255,.14), 0 8px 16px rgba(27,27,27,.10);
  --et-shadow-form-hero: 0 30px 70px rgba(8,16,30,.32), 0 8px 20px rgba(8,16,30,.18);
  --et-shadow-form-final: 0 12px 32px rgba(27,27,27,.08);
  --et-shadow-band: 0 10px 30px rgba(0,156,255,.07), 0 3px 10px rgba(27,27,27,.05);
  --et-shadow-cta-mobile: 0 8px 20px rgba(0,156,255,.20);
  --et-shadow-sticky: 0 -6px 20px rgba(27,27,27,.08);

  /* ---------- Motion ---------- */
  --et-ease: cubic-bezier(.22,.61,.36,1);
  --et-dur-micro: 160ms;
  --et-dur: 220ms;
  --et-dur-lg: 340ms;

  --et-focus-ring: 0 0 0 3px rgba(0,156,255,.14);

  /* ---------- Layout ---------- */
  --et-maxw: 1240px;
  --et-maxw-md: 1180px;
  --et-maxw-form: 1120px;
  --et-maxw-faq: 820px;
  --et-pad-x: clamp(20px, 6vw, 80px);
  --et-pad-y: clamp(56px, 7vw, 96px);
  --et-mobile-pad: 20px;
  --et-mobile-gap: 48px;
  --et-sticky-h: 80px;
}

/* ============================================================================
 * BASE / RESET (scoped a .lp per non toccare wp-admin/altre pagine)
 * ========================================================================== */
html { scroll-behavior: smooth; }
body.etr-landing { margin: 0; }
/* overflow-x: clip (NON hidden): impedisce lo scroll orizzontale senza creare
   uno scroll-container, che romperebbe il position:sticky della sezione
   "Una giornata" (scena scroll, nata col Kenya). */
.lp { font-family: var(--et-font-ui); color: var(--et-dark); background: var(--et-white); overflow-x: clip; -webkit-font-smoothing: antialiased; }
.lp *, .lp *::before, .lp *::after { box-sizing: border-box; }
.lp img { max-width: 100%; display: block; } /* niente height:auto qui: sovrascriverebbe le altezze esplicite dei loghi */
.lp-noscroll::-webkit-scrollbar { display: none; }
.lp-noscroll { -ms-overflow-style: none; scrollbar-width: none; }
/* L'attributo [hidden] deve vincere SEMPRE, anche sugli elementi con un display
   esplicito di classe (es. inline-flex): senza questa regola il display della
   classe sovrascrive lo stile UA di [hidden] e l'elemento resta visibile
   (bug trovato sul chip "Big Five" della mappa, landing Maldive TO). */
.lp [hidden] { display: none !important; }

/* contenitori / sezioni */
.lp-container { max-width: var(--et-maxw); margin: 0 auto; }
.lp-container--md { max-width: var(--et-maxw-md); margin: 0 auto; }
.lp-container--form { max-width: var(--et-maxw-form); margin: 0 auto; }
.lp-container--faq { max-width: var(--et-maxw-faq); margin: 0 auto; }
.lp-section { padding: var(--et-pad-y) var(--et-pad-x); }
.lp-section--gray { background: var(--et-gray-bg); }
.lp-section--tint { background: var(--et-accent-light); }
.lp-section--dark { background: var(--et-dark); color: var(--et-white); }
.lp-section--dark .lp-h2 { color: var(--et-white); } /* il titolo eredita bianco, non il dark di default */
.lp-section--sand { background: var(--et-sand-bg); } /* sezione "Formule" (carte d'imbarco) */
.lp-section--flush-bottom { padding-bottom: 0; }
/* Una sezione COLORATA subito dopo una flush-bottom resterebbe attaccata al
   contenuto (il flush-bottom conta sul padding-top della successiva, che pero'
   su sfondo colorato "parte" col colore): ripristina il respiro bianco tra le
   due (caso Community -> "Quando andare" tint, landing Maldive TO / Kenya). */
.lp-section--flush-bottom + .lp-section--tint,
.lp-section--flush-bottom + .lp-section--gray,
.lp-section--flush-bottom + .lp-section--dark { margin-top: var(--et-pad-y); }

/* ============================================================================
 * TIPOGRAFIA
 * ========================================================================== */
.lp-eyebrow { font-size: var(--et-eyebrow); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--et-accent); }
.lp-eyebrow--soft { color: var(--et-accent-soft); }
.lp-eyebrow--sand { color: var(--et-sand-accent); }

.lp-h1 { font-family: var(--et-font-serif); font-weight: 600; font-size: var(--et-h1); line-height: 1.04; letter-spacing: -.02em; text-wrap: balance; margin: 0; }
.lp-h2 { font-family: var(--et-font-ui); font-weight: 600; font-size: var(--et-h2); line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; margin: 10px 0 0; color: var(--et-dark); }
.lp-h2--lg { font-size: var(--et-h2-lg); line-height: 1.06; }
.lp-h2 em { font-family: var(--et-font-serif); font-style: italic; font-weight: 500; color: var(--et-accent); }
.lp-lead { font-size: var(--et-body-size); line-height: 1.6; color: var(--et-body); margin: 16px 0 0; }
.lp-lead--sand { color: var(--et-sand-text); }

/* intestazione di sezione */
.lp-head { max-width: 720px; }
.lp-head--center { max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }
.lp-head--center .lp-lead { margin-left: auto; margin-right: auto; max-width: 660px; }

/* ============================================================================
 * BOTTONI / CTA
 * ========================================================================== */
.lp-cta { display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 15px 28px; border: 0; border-radius: var(--et-radius-pill);
  background: var(--et-accent); color: var(--et-white);
  font-family: var(--et-font-ui); font-weight: 700; font-size: 15.5px;
  text-decoration: none; cursor: pointer; transition: background var(--et-dur); }
.lp-cta:hover { background: var(--et-accent-hover); color: var(--et-white); }
.lp-cta:active { background: var(--et-accent-active); }
.lp-cta--block { width: 100%; }
.lp-cta--rect { border-radius: var(--et-radius-input); }
.lp-cta--lg { padding: 16px 30px; font-size: 16px; }

.lp-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px;
  border-radius: var(--et-radius-pill); border: 1.5px solid rgba(255,255,255,.55);
  color: var(--et-white); font-weight: 600; font-size: 14px; text-decoration: none;
  transition: background var(--et-dur); }
.lp-ghost:hover { background: rgba(255,255,255,.16); color: var(--et-white); }
.lp-ghost i { font-size: 17px; }

.lp-backbtn { display: inline-flex; align-items: center; gap: 7px; padding: 14px 18px;
  border: 1.5px solid var(--et-border); border-radius: var(--et-radius-input);
  background: var(--et-white); color: var(--et-dark);
  font-family: var(--et-font-ui); font-weight: 700; font-size: 14.5px; cursor: pointer;
  transition: all var(--et-dur-micro); }
.lp-backbtn:hover { border-color: var(--et-accent); color: var(--et-accent-hover); }

.lp-arrow { width: 48px; height: 48px; border-radius: var(--et-radius-pill);
  border: 1.5px solid var(--et-border); background: var(--et-white);
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  color: var(--et-dark); transition: all 200ms; font-size: 20px; }
.lp-arrow:hover { border-color: var(--et-accent); color: var(--et-accent); }

.lp-link { text-decoration: none; transition: color var(--et-dur-micro); }
.lp-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.lp-link--underline { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }

/* ============================================================================
 * EFFETTI HOVER (desktop)
 * ========================================================================== */
.lp-lift { transition: transform 300ms var(--et-ease), box-shadow 300ms var(--et-ease); }
.lp-lift:hover { transform: translateY(-4px); box-shadow: var(--et-shadow-lift); }
.lp-overlay { position: relative; overflow: hidden; }
.lp-imglift { transition: transform 600ms var(--et-ease); }
.lp-overlay:hover .lp-imglift { transform: scale(1.06); }

/* ============================================================================
 * HERO
 * ========================================================================== */
.lp-hero { position: relative; min-height: 760px; display: flex; flex-direction: column; }
.lp-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center 30%; background-color: #0a4a6b; }
/* Immagine hero mobile dedicata (opzionale, ACF hero_immagine_mobile): le due
   classi compaiono solo quando il campo e' impostato, altrimenti .lp-hero__bg
   resta unica e visibile su tutti i viewport come sempre. */
.lp-hero__bg--mobile { display: none; }
.lp-hero__overlay-1 { position: absolute; inset: 0; background: var(--et-overlay-hero-diag); }
.lp-hero__overlay-2 { position: absolute; inset: 0; background: var(--et-overlay-hero-vert); }
.lp-hero__header { position: relative; z-index: 3; padding: 22px var(--et-pad-x); }
/* Logo allineato alla colonna testi: stessa gabbia centrata della .lp-hero__row */
.lp-hero__header-inner { width: 100%; max-width: var(--et-maxw); margin: 0 auto; }
.lp-hero__logo { height: 30px; width: auto; }
.lp-hero__body { position: relative; z-index: 2; flex: 1; display: flex; align-items: center; padding: clamp(28px,5vw,56px) var(--et-pad-x) clamp(48px,6vw,72px); }
.lp-hero__row { width: 100%; max-width: var(--et-maxw); margin: 0 auto; display: flex; flex-wrap: wrap; gap: clamp(32px,4vw,64px); align-items: center; }
.lp-hero__col-text { flex: 1 1 480px; min-width: 300px; color: var(--et-white); }
.lp-hero__col-form { flex: 0 1 420px; min-width: 300px; width: 100%; }
.lp-hero__sub { font-size: var(--et-body-size); line-height: 1.55; color: #fff; margin: 18px 0 0; max-width: 540px; text-shadow: 0 1px 3px rgba(0,0,0,.5), 0 2px 18px rgba(0,0,0,.55); }
.lp-hero .lp-h1 { margin-top: 20px; max-width: 620px; }

/* Fascia Trustpilot (desktop): prima riga della sezione bianca sotto l'hero.
   Sfondo bianco, testo nero (niente data-theme dark), larghezza piena del container. */
.lp-tp-band { background: var(--et-white); padding: clamp(20px,2.5vw,30px) var(--et-pad-x) 0; }
.lp-tp-band__inner { max-width: var(--et-maxw); margin: 0 auto; width: 100%; text-align: left; }

/* badge glass / eyebrow su foto */
.lp-badge-glass { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px;
  border-radius: var(--et-radius-pill); background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.28); backdrop-filter: blur(6px);
  font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--et-white); }
.lp-badge-glass i { font-size: 15px; }

/* prezzo-àncora */
.lp-price-wrap { margin-top: 26px; display: inline-flex; flex-direction: column; gap: 5px; }
.lp-price { display: inline-flex; align-items: baseline; gap: 10px; padding: 12px 18px;
  border-radius: var(--et-radius-md); background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.26); backdrop-filter: blur(6px); color: var(--et-white); }
.lp-price__pre { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.82); }
.lp-price__amount { font-family: var(--et-font-ui); font-weight: 700; font-size: clamp(22px,2.6vw,28px); color: var(--et-white); }
.lp-price__suffix { font-size: 13px; font-weight: 500; color: rgba(255,255,255,.86); }
.lp-price__note { font-size: 11.5px; color: rgba(255,255,255,.8); padding-left: 4px; text-shadow: 0 1px 8px rgba(0,0,0,.5); }

/* trust strip */
.lp-trust { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 28px; }
.lp-trust__item { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 600; color: rgba(255,255,255,.94); }
.lp-trust__item i { font-size: 17px; color: var(--et-aqua); }

/* CTA + striscia consulente: SOLO mobile (nascoste su desktop, dove c'è il form) */
.lp-hero__mobile-cta { display: none; margin-top: 24px; box-shadow: var(--et-shadow-cta-mobile); }
.lp-hero__mobile-consultant { display: none; margin-top: 14px; align-items: center; gap: 11px; }
.lp-hero__mobile-consultant-avatar { width: 36px; height: 36px; border-radius: var(--et-radius-pill); flex-shrink: 0; background-size: cover; background-position: center 38%; background-color: var(--et-accent-tile); box-shadow: 0 0 0 2px rgba(255,255,255,.6), 0 2px 6px rgba(0,0,0,.3); }
.lp-hero__mobile-consultant-text { color: rgba(255,255,255,.94); font-size: 13px; line-height: 1.25; }

/* ============================================================================
 * FORM A STEP — guscio front-end; i campi reali sono CF7 (vedi landing-form.js)
 * ========================================================================== */
/* container-type: la larghezza UTILE del form cambia molto tra le due istanze
   (hero: colonna flex 420px -> ~364px interni; form finale: ~580px). Gli stepper
   devono adattarsi a QUELLA, non ai px dello schermo: vedi la @container sotto. */
.lp-form { background: var(--et-white); border-radius: var(--et-radius-xl); padding: clamp(20px,2.4vw,28px); width: 100%; max-width: 100%; box-sizing: border-box; container-type: inline-size; }
.lp-form * { max-width: 100%; }
.lp-form .wpcf7,
.lp-form .wpcf7-form { width: 100%; max-width: 100%; }
.lp-form--elevated { box-shadow: var(--et-shadow-form-hero); }
.lp-form--bordered { border: 1px solid var(--et-border-2); box-shadow: var(--et-shadow-form-final); }

/* header del form (iniettato dal JS) */
.lp-form__head { display: flex; align-items: center; justify-content: space-between; gap: 10px 12px; flex-wrap: wrap; }
.lp-form__badge { display: inline-flex; align-items: center; gap: 8px; color: var(--et-accent); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.lp-form__brevity { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; color: var(--et-text-2); }
.lp-form__brevity i { color: var(--et-accent); }
.lp-form__progress { display: flex; align-items: center; gap: 6px; margin: 16px 0 7px; }
.lp-form__seg { flex: 1; height: 6px; border-radius: var(--et-radius-pill); background: var(--et-progress-empty); transition: background 260ms var(--et-ease); }
.lp-form__seg.is-on { background: var(--et-accent); }
.lp-form__steplabel { font-size: 11.5px; font-weight: 700; color: var(--et-muted); letter-spacing: .02em; }

/* step + animazione */
.lp-step { animation: lpStepIn var(--et-dur-lg) var(--et-ease); }
.lp-step[hidden] { display: none; }
.lp-form__q { font-family: var(--et-font-ui); font-weight: 700; font-size: var(--et-h3); line-height: 1.2; letter-spacing: -.01em; margin: 14px 0 3px; color: var(--et-dark); }
.lp-form__hint { font-size: 13px; color: var(--et-text-2); margin: 0 0 14px; }
@keyframes lpStepIn { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }

/* navigazione + secure line (iniettati dal JS) */
.lp-formnav { display: flex; gap: 10px; margin-top: 20px; }
.lp-formnav__next { flex: 1; }
.lp-form__secure { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 12px; font-size: 12px; color: var(--et-muted); font-weight: 500; }

/* etichette interne degli step */
.lp-step .label { display: block; font-size: 13px; font-weight: 700; color: var(--et-dark); margin-bottom: 8px; }
.lp-step .cgt-cf-chips,
.lp-step .cgt-cf-text,
.lp-step .cgt-cf-nome,
.lp-step .cgt-cf-surnome,
.lp-step .cgt-cf-email,
.lp-step .cgt-cf-tel,
.lp-step .cgt-cf-privacy { display: block; }
.lp-step .cgt-cf-nome,
.lp-step .cgt-cf-surnome,
.lp-step .cgt-cf-email,
.lp-step .cgt-cf-tel { margin-top: 10px; }

/* chip (radio CF7 trasformati dal JS) */
.lp-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.lp-chip { position: relative; display: inline-flex; align-items: center;
  padding: 11px 15px; border-radius: var(--et-radius-pill); border: 1.5px solid var(--et-border);
  background: var(--et-white); color: var(--et-dark); font-family: var(--et-font-ui);
  font-weight: 600; font-size: 14px; line-height: 1.1; cursor: pointer; transition: all var(--et-dur-micro); }
.lp-chip:hover { border-color: var(--et-accent); }
.lp-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.lp-chip.is-selected { border-color: var(--et-accent); background: var(--et-accent-light); color: var(--et-accent-hover); }

/* ---------------------------------------------------------------------------
 * Voci [radio] rese come CARD invece che come chip (nata con Hawaii, 24 ago
 * 2026). Si attiva sola quando il modulo CF7 espone data-lp-options: serve
 * quando le opzioni non sono etichette brevi ma prodotti da confrontare
 * (titolo + dettaglio + prezzo), dove una fila di pillole non basta.
 * ------------------------------------------------------------------------- */
.lp-chips--options { flex-direction: column; flex-wrap: nowrap; gap: 9px; }
.lp-chips--options .wpcf7-list-item { margin: 0; display: block; }
.lp-option { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  width: 100%; padding: 14px 16px; border-radius: var(--et-radius-md); text-align: left;
  font-weight: 400; line-height: 1.3; }
.lp-option__main { display: flex; align-items: flex-start; gap: 11px; min-width: 0; }
.lp-option__main > i { font-size: 20px; flex-shrink: 0; margin-top: 1px; }
.lp-option__text { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.lp-option__title { font-weight: 700; font-size: 14.5px; line-height: 1.2; }
.lp-option__sub { font-size: 12px; font-weight: 500; line-height: 1.3; opacity: .72; }
.lp-option__radio { font-size: 19px; flex-shrink: 0; color: var(--et-border); transition: color var(--et-dur-micro); }
.lp-option.is-selected .lp-option__radio { color: var(--et-accent); }

/* Step 1 "Tipo di viaggio": griglia fissa 3 (riga 1) + 2 celle piu' larghe (riga 2),
   SOLO da desktop (>880px). Su mobile i chip restano flex-wrap e vanno a capo da soli.
   Griglia a 6 colonne (minmax(0,…) evita che il contenuto forzi la larghezza e sfori):
   riga 1 = 3 chip da 2 col; riga 2 = 2 chip da 3 col. */
@media (min-width: 881px) {
  .lp-step[data-step="1"] .lp-chips { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 9px; }
  .lp-step[data-step="1"] .lp-chips .wpcf7-list-item { margin: 0; grid-column: span 2; display: flex; }
  .lp-step[data-step="1"] .lp-chips .wpcf7-list-item:nth-child(4),
  .lp-step[data-step="1"] .lp-chips .wpcf7-list-item:nth-child(5) { grid-column: span 3; }
  .lp-step[data-step="1"] .lp-chip { width: 100%; justify-content: center; text-align: center; padding-left: 12px; padding-right: 12px; }
  /* Le card-opzione non entrano nella griglia: restano una per riga. */
  .lp-step[data-step="1"] .lp-chips--options { display: flex; }
  .lp-step[data-step="1"] .lp-chips--options .wpcf7-list-item,
  .lp-step[data-step="1"] .lp-chips--options .wpcf7-list-item:nth-child(4),
  .lp-step[data-step="1"] .lp-chips--options .wpcf7-list-item:nth-child(5) { grid-column: auto; display: block; }
  .lp-step[data-step="1"] .lp-option { justify-content: space-between; text-align: left; padding-left: 16px; padding-right: 16px; }
}

/* stepper +/- (number CF7 + bottoni iniettati dal JS) */
/* flex-wrap: con 2 stepper (Adulti/Bambini, Dominicana/Brasile) restano affiancati
   com'era; con un 3° (Accompagnatore, Viaggi senza barriere) va a capo su una riga
   propria invece di stringersi ed entrare in overlap con i controlli +/-.
   19 ago 2026 (Alessandro, screenshot da mobile): su schermi stretti i due stepper
   sbordavano dal form tagliando il "+" di Bambini, perche' in layout a RIGA la
   larghezza minima reale di ogni box (etichetta + sub + controlli +/-) e' ~200px e
   due non ci stanno. Primo tentativo: uno per riga sotto 560px — scartato, allungava
   troppo il form. Soluzione adottata: sotto 560px i box restano AFFIANCATI ma
   diventano verticali (etichetta sopra, comandi - valore + sotto, a tutta larghezza
   del box): cosi' la larghezza minima scende a ~126px (98px di comandi + padding) e
   due box stanno in meno di 280px. Il layout a riga resta invariato da 561px in su. */
.lp-steppers { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 16px; }
.lp-stepper { flex: 1 1 150px; min-width: 150px; border: 1px solid var(--et-border); border-radius: var(--et-radius-md); padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
/* Stepper verticali (etichetta sopra, comandi - valore + sotto a tutta larghezza)
   quando lo spazio non basta per il layout a riga, che ne chiede ~411px.
   La @container guarda la larghezza del FORM: prende sia il mobile sia il form
   dell'hero su desktop (~364px utili, dove il testo "dai 12 anni in su" andava a
   capo su 3 righe — segnalato da Alessandro il 19 ago 2026), e lascia invariato il
   form finale (~580px) che in riga sta benissimo.
   La @media resta come rete di sicurezza per browser senza container query. */
@media (max-width: 560px) {
  .lp-stepper { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 10px; min-width: 132px; }
  .lp-stepper__controls { width: 100%; justify-content: space-between; }
}
@container (max-width: 430px) {
  .lp-stepper { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 10px; min-width: 132px; }
  .lp-stepper__controls { width: 100%; justify-content: space-between; }
}
.lp-stepper__label { font-family: var(--et-font-ui); font-weight: 700; font-size: 14px; color: var(--et-dark); }
.lp-stepper__sub { font-size: 11px; color: var(--et-muted); }
.lp-stepper__controls { display: flex; align-items: center; gap: 9px; }
.lp-stepper__btn { width: 32px; height: 32px; border-radius: var(--et-radius-pill); border: 1.5px solid var(--et-border); background: var(--et-white); color: var(--et-accent); font-size: 18px; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 1; }
.lp-stepper__btn:hover { border-color: var(--et-accent); }
.lp-stepper__val { min-width: 16px; text-align: center; font-family: var(--et-font-ui); font-weight: 700; font-size: 16px; color: var(--et-dark); }
.lp-stepper input[type="number"] { width: 0; height: 0; padding: 0; border: 0; opacity: 0; position: absolute; pointer-events: none; }

/* input / textarea (mappa il markup CF7 sulle classi .lp-field) */
.lp-field,
.lp-step input[type="text"],
.lp-step input[type="email"],
.lp-step input[type="tel"],
.lp-step textarea,
.lp-step .wpcf7-form-control.wpcf7-text,
.lp-step .wpcf7-form-control.wpcf7-email,
.lp-step .wpcf7-form-control.wpcf7-tel {
  width: 100%; padding: 13px 14px; border: 1px solid var(--et-border); border-radius: var(--et-radius-input);
  font-family: var(--et-font-ui); font-size: 15px; color: var(--et-dark); outline: none;
  transition: border-color var(--et-dur-micro), box-shadow var(--et-dur-micro); }
.lp-field:focus,
.lp-step input:focus,
.lp-step textarea:focus { border-color: var(--et-accent); box-shadow: var(--et-focus-ring); }
.lp-step textarea { border-radius: var(--et-radius-md); line-height: 1.5; resize: vertical; min-height: 120px; }

/* International Telephone Input (plugin CF7 — libreria intl-tel-input v12:
   il wrapper e' .intl-tel-input, NON .iti). Forzato a larghezza piena e la
   tendina paesi vincolata a non sforare la colonna. */
.lp-step .intl-tel-input,
.lp-step .iti { display: block; width: 100%; max-width: 100%; }
.lp-step .intl-tel-input input[type="tel"],
.lp-step .iti input { width: 100%; box-sizing: border-box; }
.lp-step .intl-tel-input .country-list { max-width: calc(100vw - 56px); box-sizing: border-box; }

/* privacy */
.lp-step .cgt-cf-privacy { display: flex; align-items: flex-start; gap: 9px; margin-top: 6px; font-size: 11.5px; line-height: 1.45; color: var(--et-text-2); }
.lp-step .cgt-cf-privacy a { color: var(--et-accent-hover); font-weight: 600; }
.lp-step .cgt-cf-privacy input[type="checkbox"] { margin-top: 2px; width: 17px; height: 17px; accent-color: var(--et-accent); flex-shrink: 0; }

/* il submit CF7 stilizzato come CTA rettangolare (gestito anche dal JS) */
.lp-step input[type="submit"],
.lp-step .wpcf7-submit { width: 100%; padding: 15px 20px; border: 0; border-radius: var(--et-radius-input);
  background: var(--et-accent); color: var(--et-white); font-family: var(--et-font-ui);
  font-weight: 700; font-size: 15px; cursor: pointer; transition: background var(--et-dur); }
.lp-step .wpcf7-submit:hover { background: var(--et-accent-hover); }

/* messaggi/response CF7 */
.lp-form .wpcf7-response-output { margin: 14px 0 0 !important; border-radius: var(--et-radius-input); font-size: 13.5px; }
.lp-form .wpcf7-not-valid-tip { font-size: 12px; color: #d33; margin-top: 4px; display: block; }
.lp-form .wpcf7-spinner { margin: 10px auto 0; display: block; }

/* striscia consulente dentro/sotto il form */
.lp-consultant-strip { display: flex; align-items: center; gap: 13px; padding: 12px 14px; border-radius: var(--et-radius-card); background: var(--et-accent-light); border: 1px solid var(--et-accent-border); margin-top: 16px; }
.lp-consultant-strip__avatar { width: 46px; height: 46px; border-radius: var(--et-radius-pill); flex-shrink: 0; background-size: cover; background-position: center 38%; background-color: var(--et-accent-tile); box-shadow: 0 2px 8px rgba(8,16,30,.16); }
.lp-consultant-strip__title { font-size: 13.5px; font-weight: 700; line-height: 1.25; color: var(--et-dark); }
.lp-consultant-strip__meta { font-size: 12px; color: var(--et-text-2); margin-top: 2px; }

/* loader CF7/Cogito (resta gestito da CF7; nascosto a riposo) */
.cgt-loader-container { display: none; }

/* ============================================================================
 * IL SOGNO / ESPERIENZE / SEGMENTI — carosello (track)
 * ========================================================================== */
.lp-track-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.lp-track-arrows { display: flex; gap: 10px; }

/* "Il sogno": scroll row su desktop e mobile, con frecce su desktop */
.lp-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
.lp-dream-card { position: relative; flex: 0 0 clamp(260px,32vw,380px); aspect-ratio: 4/5; border-radius: var(--et-radius-lg); overflow: hidden; scroll-snap-align: start; cursor: pointer; }
.lp-dream-card__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.lp-card-overlay { position: absolute; inset: 0; background: var(--et-overlay-card); }
.lp-dream-card__cap { position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 1; color: var(--et-white); }
.lp-dream-card__name { font-family: var(--et-font-ui); font-weight: 700; font-size: 22px; line-height: 1.15; }
.lp-dream-card__note { font-size: 13px; color: rgba(255,255,255,.86); margin-top: 4px; }

/* griglia card → carosello su mobile (esperienze, segmenti, servizi, pillar) */
.lp-grid { display: grid; gap: 18px; }
.lp-grid--pillars { grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); margin-top: 48px; }
.lp-grid--compare { grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); margin-top: 32px; }
.lp-grid--services { grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap: 16px; margin-top: 40px; }
.lp-grid--exp { grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); gap: 20px; margin-top: 40px; }
.lp-grid--segments { grid-template-columns: repeat(auto-fit, minmax(290px,1fr)); gap: 20px; margin-top: 44px; }

/* pillar (perché ET, come funziona) */
.lp-pillar { position: relative; background: var(--et-white); border: 1px solid var(--et-accent-border); border-radius: var(--et-radius-lg); padding: 28px 24px; box-shadow: var(--et-shadow-card); }
.lp-pillar__num { position: absolute; top: 22px; right: 24px; font-family: var(--et-font-serif); font-weight: 600; font-size: 22px; color: var(--et-accent-border); line-height: 1; }
.lp-icon-tile { width: 52px; height: 52px; border-radius: var(--et-radius-md); background: var(--et-accent-tile); color: var(--et-accent); display: flex; align-items: center; justify-content: center; font-size: 26px; margin-bottom: 18px; }
.lp-pillar__title { font-family: var(--et-font-ui); font-weight: 700; font-size: 18px; line-height: 1.25; color: var(--et-dark); }
.lp-pillar__text { font-size: 14.5px; line-height: 1.5; color: var(--et-text-2); margin: 8px 0 0; }

/* pillar — variante "minimal" (stile_liste, Come funziona): niente card, numero + lineetta */
.lp-grid--minimal .lp-pillar { background: none; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.lp-grid--minimal .lp-pillar:hover { box-shadow: none; transform: none; }
.lp-grid--minimal .lp-pillar__num { position: static; display: inline-flex; align-items: center; gap: 12px; font-size: clamp(40px,4.6vw,58px); color: var(--et-accent); margin-bottom: 14px; }
.lp-grid--minimal .lp-pillar__num::after { content: ''; width: 44px; height: 1px; background: var(--et-border); }

/* confronto portali vs ET */
.lp-compare__head-intro { margin: 48px 0 32px; }
.lp-compare-them { background: var(--et-white); border: 1px solid var(--et-border-2); border-radius: var(--et-radius-lg); padding: 28px 28px 24px; }
.lp-compare-us { background: var(--et-dark); border-radius: var(--et-radius-lg); padding: 28px 28px 24px; color: var(--et-white); }
.lp-compare__head { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 14px; letter-spacing: .04em; margin-bottom: 18px; }
.lp-compare-them .lp-compare__head { color: var(--et-muted); }
.lp-compare-them .lp-compare__head i { font-size: 20px; }
.lp-compare-us .lp-compare__head img { height: 20px; width: auto; }
.lp-compare__row { display: flex; align-items: flex-start; gap: 11px; padding: 9px 0; font-size: 15px; border-top: 1px solid var(--et-hairline); color: var(--et-text-2); }
.lp-compare__row i { font-size: 18px; margin-top: 1px; flex-shrink: 0; }
.lp-compare-them .lp-compare__row i { color: #C4C4C4; }
.lp-compare-us .lp-compare__row { color: rgba(255,255,255,.92); border-top-color: rgba(255,255,255,.1); }
.lp-compare-us .lp-compare__row i { color: var(--et-accent); }

/* fascia consulente */
.lp-band { margin-top: 32px; display: flex; align-items: center; gap: clamp(20px,3vw,40px); flex-wrap: wrap;
  background: var(--et-white); border: 1px solid var(--et-accent-border); border-radius: var(--et-radius-2xl);
  padding: clamp(22px,3vw,34px) clamp(24px,3.4vw,44px); box-shadow: var(--et-shadow-band); }
.lp-band__photo-wrap { position: relative; flex-shrink: 0; }
.lp-band__photo { width: clamp(96px,11vw,128px); height: clamp(96px,11vw,128px); border-radius: var(--et-radius-pill); background-size: cover; background-position: center 38%; background-color: var(--et-accent-tile); box-shadow: 0 8px 22px rgba(8,16,30,.16); }
.lp-band__badge { position: absolute; bottom: 4px; right: 4px; width: 34px; height: 34px; border-radius: var(--et-radius-pill); background: var(--et-accent); border: 3px solid var(--et-white); display: flex; align-items: center; justify-content: center; color: var(--et-white); font-size: 18px; }
.lp-band__body { flex: 1 1 360px; min-width: 260px; }
.lp-band__stars { display: flex; gap: 3px; margin-bottom: 6px; }
.lp-band__stars i { font-size: 14px; color: var(--et-star); }
.lp-band__eyebrow { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--et-accent); margin-bottom: 8px; }
.lp-band__name { font-family: var(--et-font-serif); font-weight: 600; font-size: clamp(24px,2.8vw,30px); line-height: 1.15; letter-spacing: -.01em; color: var(--et-dark); }
.lp-band__role { font-size: 15px; font-weight: 600; color: var(--et-text-2); margin-top: 4px; }
.lp-band__quote { font-size: clamp(15px,1.5vw,17px); line-height: 1.55; color: var(--et-body); margin: 12px 0 0; max-width: 560px; }

/* fascia consulente — variante "esteso" (foto team grande) */
.lp-band--esteso { align-items: stretch; }
.lp-band__team-photo-wrap { position: relative; flex: 1 1 320px; min-width: 260px; }
.lp-band__team-photo { width: 100%; height: 100%; min-height: 320px; border-radius: var(--et-radius-lg); background-size: cover; background-position: center; background-color: var(--et-accent-tile); }
.lp-band__team-badge { position: absolute; left: 14px; bottom: 14px; padding: 6px 11px; border-radius: var(--et-radius-pill); background: rgba(255,255,255,.94); font-size: 11.5px; font-weight: 700; color: var(--et-dark); z-index: 1; }

.lp-cta-center { text-align: center; margin-top: 40px; }

/* servizi "tutto incluso" */
.lp-service { display: flex; align-items: flex-start; gap: 16px; padding: 24px; background: var(--et-gray-bg); border-radius: var(--et-radius-card); }
.lp-service__icon { width: 46px; height: 46px; flex-shrink: 0; border-radius: var(--et-radius-input); background: var(--et-white); color: var(--et-accent); display: flex; align-items: center; justify-content: center; box-shadow: var(--et-shadow-card-2); font-size: 24px; }
.lp-service__title { font-family: var(--et-font-ui); font-weight: 700; font-size: 16.5px; color: var(--et-dark); }
.lp-service__text { font-size: 13.5px; line-height: 1.45; color: var(--et-text-2); margin: 5px 0 0; }

/* servizi — variante "minimal" (stile_liste, Tutto incluso): niente box grigio, filetto sotto, 3 colonne */
.lp-grid--services.lp-grid--minimal { grid-template-columns: repeat(3,1fr); }
.lp-grid--minimal .lp-service { background: none; border-radius: 0; padding: 0 0 20px; border-bottom: 1px solid var(--et-hairline); }
/* "Cosa ottieni" (benefici): card bianche (non grigie) — la sezione ha già sfondo grigio, 2 colonne (4 voci) */
.lp-grid--benefits { grid-template-columns: repeat(2,1fr); }
.lp-grid--benefits .lp-service { background: var(--et-white); }

/* esperienze (card cliccabile = link all'intera scheda) */
.lp-exp { display: block; text-decoration: none; color: inherit; background: var(--et-white); border-radius: var(--et-radius-lg); overflow: hidden; box-shadow: var(--et-shadow-card-2); cursor: pointer; }
.lp-exp:hover { color: inherit; }
.lp-exp__media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.lp-exp__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.lp-exp__tag { position: absolute; top: 13px; left: 13px; padding: 6px 11px; border-radius: var(--et-radius-pill); background: rgba(255,255,255,.94); font-size: 11.5px; font-weight: 700; color: var(--et-dark); display: inline-flex; align-items: center; gap: 5px; z-index: 1; }
.lp-exp__tag i { color: var(--et-accent); font-size: 14px; }
.lp-exp__body { padding: 18px 20px 22px; }
.lp-exp__title { font-family: var(--et-font-ui); font-weight: 700; font-size: 18px; line-height: 1.2; color: var(--et-dark); }
.lp-exp__text { font-size: 13.5px; line-height: 1.45; color: var(--et-text-2); margin: 7px 0 0; }

/* segmenti (che viaggio sogni) */
.lp-segment { position: relative; border-radius: var(--et-radius-xl); overflow: hidden; min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end; }
.lp-segment__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.lp-segment__overlay { position: absolute; inset: 0; background: var(--et-overlay-segment); }
.lp-segment__body { position: relative; z-index: 1; padding: 28px; color: var(--et-white); }
.lp-segment__kicker { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: var(--et-radius-pill); background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(6px); font-size: 12px; font-weight: 700; letter-spacing: .06em; margin-bottom: 14px; }
.lp-segment__kicker i { font-size: 15px; }
.lp-segment__title { font-family: var(--et-font-ui); font-weight: 700; font-size: 24px; line-height: 1.12; }
.lp-segment__text { font-size: 14.5px; line-height: 1.5; color: rgba(255,255,255,.9); margin: 10px 0 18px; }
.lp-segment__link { color: var(--et-white); font-weight: 700; font-size: 14.5px; position: relative; z-index: 2; }
.lp-segment__link i { font-size: 15px; vertical-align: -2px; }
/* stretched link: l'intera card del segmento è cliccabile, la CTA resta visibile */
.lp-segment__link::after { content: ""; position: absolute; inset: -2000px 0 0 0; z-index: 1; }

/* ============================================================================
 * AUTENTICA (sezione scura)
 * ========================================================================== */
.lp-authentic { display: flex; flex-wrap: wrap; gap: clamp(32px,5vw,72px); align-items: center; }
.lp-authentic__text { flex: 1 1 380px; min-width: 280px; }
.lp-authentic__text .lp-lead { color: rgba(255,255,255,.78); margin-bottom: 28px; max-width: 480px; }
.lp-authentic__list { display: flex; flex-direction: column; }
/* align-items: flex-start (era center) dal 25 ago 2026: con la sezione riscritta
   per le Hawaii le note sono diventate paragrafi di 3-4 righe, e l'icona
   centrata verticalmente sembrava staccata dal titolo. Sulle note di una riga
   la differenza e' di pochi px (compensata dal margin-top dell'icona). */
/* Etichetta sopra la trust-strip dell'hero (opzionale, nata con Hawaii il
   26 ago 2026: "La quota comprende:"). Senza il campo non compare nulla. */
.lp-trust__label { font-size: 13.5px; font-weight: 700; color: rgba(255,255,255,.92);
  margin: 22px 0 -14px; letter-spacing: .01em; }

.lp-authentic__item { display: flex; align-items: flex-start; gap: 14px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.12); }
.lp-authentic__item i { font-size: 22px; color: var(--et-accent-soft); flex-shrink: 0; margin-top: 2px; }
.lp-authentic__item-title { font-family: var(--et-font-ui); font-weight: 700; font-size: 16px; color: var(--et-white); }
.lp-authentic__item-note { font-size: 13.5px; color: rgba(255,255,255,.62); margin-top: 2px; }
.lp-authentic__photos { flex: 1 1 340px; min-width: 0; max-width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; box-sizing: border-box; }
.lp-authentic__photo { aspect-ratio: 3/4; border-radius: var(--et-radius-card); background-size: cover; background-position: center; background-color: #2a2a2a; }
.lp-authentic__photo--2 { margin-top: 32px; }

/* ============================================================================
 * SOCIAL PROOF (Trustpilot reale)
 * ========================================================================== */
.lp-tp-head { text-align: center; margin-bottom: 40px; }
.lp-tp-rating { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; }
.lp-tp-rating__label { font-weight: 700; font-size: 17px; color: var(--et-dark); }
.lp-tp-stars { display: flex; gap: 3px; }
.lp-tp-star { width: 26px; height: 26px; background: var(--et-trust-green); display: flex; align-items: center; justify-content: center; color: var(--et-white); }
.lp-tp-star i { font-size: 15px; }
.lp-tp-rating__src { font-size: 15px; color: var(--et-text-2); }
.lp-tp-rating__src b { color: var(--et-trust-green); }
.lp-tp-tagline { font-family: var(--et-font-ui); font-weight: 600; font-size: clamp(24px,3vw,34px); letter-spacing: -.01em; margin-top: 18px; color: var(--et-dark); }
.lp-tp-widget { max-width: 900px; margin: 0 auto; }
.lp-tp-slider { margin-top: 40px; }   /* piu' spazio tra il titolo e lo slider */

/* Badge Trustpilot (strisce): Horizontal su desktop, Micro Star su mobile.
   Larghezza concreta: il widget TP collassa a sole stelle se misura pochi px,
   quindi diamo al wrapper width:100% con un max-width reale (no width:auto). */
.lp-tp-strip { width: 100%; max-width: 520px; margin-top: 18px; text-align: left; }
.lp-tp-desktop { display: block; }
.lp-tp-mobile { display: none; }

/* ============================================================================
 * COMMUNITY
 * ========================================================================== */
/* Fascia orizzontale (no overflow:hidden, altrimenti rotazione/scotch tagliati). */
.lp-community { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(28px,4vw,52px);
  background: var(--et-accent-light); border: 1px solid var(--et-accent-border); border-radius: var(--et-radius-2xl);
  padding: clamp(24px,3vw,44px) clamp(20px,2.6vw,36px); }
.lp-community__media { flex: 1 1 360px; min-width: 0; display: flex; justify-content: center; }
.lp-community__body { flex: 1 1 420px; min-width: 300px; }
.lp-community__stats { display: flex; flex-wrap: wrap; gap: clamp(24px,4vw,48px); margin-top: 28px; }
.lp-stat__num { font-family: var(--et-font-ui); font-weight: 700; font-size: clamp(30px,3.6vw,42px); line-height: 1; letter-spacing: -.02em; color: var(--et-accent); }
.lp-stat__label { font-size: 13.5px; font-weight: 600; color: var(--et-text-2); margin-top: 6px; }

/* Foto "polaroid": rompe il pattern delle foto-destinazione. */
.lp-polaroid { position: relative; width: 100%; max-width: 440px; margin: 0;
  background: #fff; padding: 12px 12px 26px; border-radius: 3px; transform: rotate(-2.2deg);
  box-shadow: 0 14px 34px rgba(27,27,27,.18), 0 3px 10px rgba(27,27,27,.10); }
.lp-polaroid__photo { position: relative; aspect-ratio: 4/3; border-radius: 2px; overflow: hidden;
  background: #0a4a6b center/cover no-repeat; }
.lp-polaroid__photo::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(8,16,30,.42), transparent 30%); }
.lp-polaroid__logo { position: absolute; top: 14px; left: 14px; z-index: 2; height: 22px; width: auto;
  filter: drop-shadow(0 1px 2px rgba(8,16,30,.35)); }
.lp-polaroid__caption { margin: 10px 0 0; text-align: center; font-family: var(--et-font-ui);
  font-weight: 600; font-size: 13.5px; color: var(--et-text-2); }
.lp-polaroid__tape { position: absolute; top: -12px; z-index: 3; width: 100px; height: 30px;
  background: linear-gradient(120deg, rgba(230,239,247,.94), rgba(193,214,231,.86));
  border-left: 1px solid rgba(255,255,255,.7); border-right: 1px solid rgba(150,175,196,.5);
  box-shadow: 0 2px 6px rgba(27,27,27,.16); }
.lp-polaroid__tape--l { left: 18px; transform: rotate(-6deg); }
.lp-polaroid__tape--r { right: 18px; transform: rotate(5deg); }

/* ============================================================================
 * URGENZA
 * ========================================================================== */
.lp-urgency { position: relative; border-radius: var(--et-radius-2xl); overflow: hidden; padding: clamp(40px,5vw,64px); background-size: cover; background-position: center; background-color: #0a4a6b; color: var(--et-white); }
.lp-urgency__overlay { position: absolute; inset: 0; background: var(--et-overlay-urgency); }
.lp-urgency__inner { position: relative; z-index: 1; max-width: 680px; }
.lp-urgency__badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: var(--et-radius-pill); background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 18px; }
.lp-urgency__badge i { font-size: 15px; }
.lp-urgency .lp-h2 { color: var(--et-white); margin-top: 0; }
.lp-urgency__text { font-size: var(--et-body-size); line-height: 1.55; color: rgba(255,255,255,.9); margin: 16px 0 28px; max-width: 560px; }

/* ============================================================================
 * FAQ
 * ========================================================================== */
.lp-faq-list { display: flex; flex-direction: column; gap: 12px; margin-top: 40px; }
.lp-faq { background: var(--et-white); border: 1px solid var(--et-border-2); border-radius: var(--et-radius-card); padding: 4px 22px; transition: border-color var(--et-dur); }
.lp-faq[open] { border-color: var(--et-accent-faq-open); }
.lp-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; font-family: var(--et-font-ui); font-weight: 700; font-size: 16.5px; color: var(--et-dark); }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq__chev { transition: transform 240ms var(--et-ease); color: var(--et-accent); flex-shrink: 0; font-size: 22px; }
.lp-faq[open] .lp-faq__chev { transform: rotate(180deg); }
.lp-faq__a { font-size: 14.5px; line-height: 1.6; color: var(--et-text-2); margin: 0 0 18px; padding-right: 30px; }

/* ============================================================================
 * FORM FINALE (scheda consulente + form)
 * ========================================================================== */
.lp-final { display: flex; flex-wrap: wrap; gap: clamp(32px,4vw,56px); align-items: stretch; }
.lp-final__intro { flex: 1 1 380px; min-width: 290px; display: flex; flex-direction: column; justify-content: center; }
.lp-final__form { flex: 1 1 400px; min-width: 290px; scroll-margin-top: 16px; }
.lp-consultant-card { display: flex; align-items: center; gap: 18px; padding: 20px; background: var(--et-accent-light); border-radius: var(--et-radius-lg); max-width: 440px; margin-top: 8px; }
.lp-consultant-card__photo { width: 76px; height: 76px; border-radius: var(--et-radius-pill); flex-shrink: 0; background-size: cover; background-position: center 38%; background-color: var(--et-accent-tile); box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.lp-consultant-card__stars { display: flex; gap: 3px; margin-bottom: 4px; }
.lp-consultant-card__stars i { font-size: 14px; color: var(--et-star); }
.lp-consultant-card__eyebrow { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: var(--et-accent); }
.lp-consultant-card__name { font-family: var(--et-font-ui); font-weight: 700; font-size: 20px; color: var(--et-dark); margin-top: 2px; }
.lp-consultant-card__meta { font-size: 13.5px; color: var(--et-text-2); margin-top: 2px; }

/* ============================================================================
 * FOOTER
 * ========================================================================== */
.lp-footer { background: var(--et-dark); color: var(--et-white); padding: clamp(44px,5vw,64px) var(--et-pad-x) 32px; border-radius: var(--et-radius-footer) var(--et-radius-footer) 0 0; }
.lp-footer__inner { max-width: var(--et-maxw-md); margin: 0 auto; }
.lp-footer__top { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: center; padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.12); }
.lp-footer__logo { height: 28px; width: auto; }
.lp-footer__legal { font-size: 11.5px; line-height: 1.55; color: rgba(255,255,255,.55); text-align: right; max-width: 380px; }
.lp-footer__legal strong { color: rgba(255,255,255,.78); font-weight: 600; }
.lp-footer__bottom { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; padding-top: 22px; font-size: 12.5px; color: rgba(255,255,255,.5); }
.lp-footer__links { display: flex; gap: 20px; }
.lp-footer__links a { color: rgba(255,255,255,.6); text-decoration: none; }
.lp-footer__links a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ============================================================================
 * STICKY CTA (solo mobile)
 * ========================================================================== */
.lp-sticky { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  align-items: center; gap: 12px; padding: 12px 16px; background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px); border-top: 1px solid var(--et-border-2); box-shadow: var(--et-shadow-sticky); }
.lp-sticky__text { flex: 1; min-width: 0; }
.lp-sticky__title { font-family: var(--et-font-ui); font-weight: 700; font-size: 14px; color: var(--et-dark); line-height: 1.1; }
.lp-sticky__sub { font-size: 11.5px; color: var(--et-muted); }
.lp-sticky .lp-cta { flex-shrink: 0; padding: 13px 20px; font-size: 14.5px; }

/* ============================================================================
 * QUANDO ANDARE — heatmap 12 mesi (sezione guardata, nata col Kenya)
 * ========================================================================== */
.lp-season-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 28px; }
.lp-season-badge { display: inline-flex; align-items: center; gap: 12px; padding: 14px 20px; border-radius: 16px;
  background: var(--et-white); border: 1px solid var(--et-accent-faq-open); box-shadow: 0 4px 12px rgba(0,156,255,.08); }
.lp-season-badge i { font-size: 26px; color: var(--et-accent); }
.lp-season-badge__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--et-muted); }
.lp-season-badge__label { font-family: var(--et-font-ui); font-weight: 700; font-size: 17px; color: var(--et-dark); }
.lp-season-card { background: var(--et-white); border: 1px solid var(--et-accent-border); border-radius: var(--et-radius-xl);
  padding: clamp(22px, 3vw, 34px); box-shadow: 0 10px 30px rgba(0,156,255,.06); }
.lp-season-scroll { overflow-x: auto; }
.lp-season-grid { display: flex; flex-direction: column; gap: 10px; min-width: 520px; }
.lp-season-row { display: flex; gap: 12px; align-items: center; }
.lp-season-row__label { width: clamp(130px, 15vw, 180px); flex-shrink: 0; display: flex; align-items: center; gap: 9px;
  font-family: var(--et-font-ui); font-weight: 700; font-size: 14px; color: var(--et-dark); }
.lp-season-row__label i { font-size: 19px; color: var(--et-accent); flex-shrink: 0; }
.lp-season-cells { flex: 1; display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; }
.lp-season-month { text-align: center; font-size: 12px; font-weight: 600; letter-spacing: .02em; color: var(--et-muted); }
.lp-season-month.is-top { font-weight: 800; color: var(--et-accent); }
.lp-season-cell { height: 26px; border-radius: 7px; transition: background var(--et-dur); }
.lp-season-cell--0 { background: #EDEFF2; }
.lp-season-cell--1 { background: #CFE9FF; }
.lp-season-cell--2 { background: #6EC5FF; }
.lp-season-cell--3 { background: var(--et-accent); }
.lp-season-legend { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 22px; padding-top: 20px; border-top: 1px solid #EEF2F6; }
.lp-season-legend__item { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--et-text-2); }
.lp-season-swatch { width: 16px; height: 16px; border-radius: 5px; flex-shrink: 0; }

/* ============================================================================
 * MAPPA ITINERARIO — pin + pannello (sezione guardata, nata col Kenya)
 * ========================================================================== */
@keyframes lpRouteFlow { to { stroke-dashoffset: -36; } }
.lp-map__route-flow { animation: lpRouteFlow 1s linear infinite; }
.lp-map { display: flex; gap: clamp(28px, 4vw, 56px); flex-wrap: wrap; margin-top: 36px; align-items: center; }
.lp-map__stage-wrap { flex: 1 1 340px; min-width: 280px; display: flex; justify-content: center; }
.lp-map__stage { position: relative; width: 100%; max-width: 400px; aspect-ratio: 68/82; }
.lp-map__glow { position: absolute; border-radius: var(--et-radius-pill); filter: blur(3px); }
.lp-map__glow--sea { right: -8%; bottom: 0; width: 56%; height: 46%; background: radial-gradient(circle at 60% 40%, rgba(18,165,160,.22), rgba(18,165,160,0) 70%); }
.lp-map__glow--land { left: -6%; top: 8%; width: 52%; height: 40%; background: radial-gradient(circle at 40% 50%, rgba(200,116,60,.16), rgba(200,116,60,0) 70%); }
.lp-map__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.lp-map__pin { position: absolute; width: 32px; height: 32px; margin: -16px 0 0 -16px; border-radius: var(--et-radius-pill);
  border: 2px solid var(--et-white); color: var(--et-white); cursor: pointer; display: flex; align-items: center; justify-content: center;
  font-family: var(--et-font-ui); font-weight: 800; font-size: 15px; line-height: 1; padding: 0; z-index: 5;
  transition: width 200ms var(--et-ease), height 200ms var(--et-ease), margin 200ms var(--et-ease), box-shadow 200ms;
  box-shadow: 0 3px 10px rgba(0,0,0,.24); }
.lp-map__pin--extra { width: 26px; height: 26px; margin: -13px 0 0 -13px; font-size: 13px; z-index: 4; }
.lp-map__pin--extra i { font-size: 15px; }
.lp-map__pin.is-selected { width: 40px; height: 40px; margin: -20px 0 0 -20px; z-index: 8;
  box-shadow: 0 0 0 6px var(--lp-pin-ring, rgba(0,156,255,.30)), 0 8px 18px rgba(0,0,0,.28); }
.lp-map__pin--extra.is-selected { width: 32px; height: 32px; margin: -16px 0 0 -16px; }
/* Chip col nome della tappa selezionata. Di default e' centrata sotto il pin;
   per i pin vicini ai bordi il PHP passa `--lp-label-tx/ty` e la ancora al lato
   (o la ribalta sopra il pin) cosi' non esce mai dallo stage. */
.lp-map__pin-label { position: absolute; transform: translate(var(--lp-label-tx, -50%), var(--lp-label-ty, 34px)); z-index: 9; pointer-events: none; white-space: nowrap;
  padding: 5px 11px; border-radius: var(--et-radius-pill); background: var(--et-dark); color: var(--et-white);
  font-family: var(--et-font-ui); font-weight: 700; font-size: 12px; box-shadow: 0 6px 16px rgba(0,0,0,.28); }
.lp-map__panel-wrap { flex: 1 1 340px; min-width: 290px; }
.lp-map__panel { background: var(--et-white); border: 1px solid #EAE3D5; border-radius: var(--et-radius-xl);
  padding: clamp(24px, 3vw, 32px); box-shadow: 0 12px 34px rgba(27,27,27,.08); }
.lp-map__chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lp-map__kind { display: inline-flex; align-items: center; gap: 6px; padding: 6px 13px; border-radius: var(--et-radius-pill);
  font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--et-white); background: var(--et-accent); }
.lp-map__bigfive { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--et-radius-pill);
  background: #FAF6EF; border: 1px solid #EEE5D6; color: #C8743C; font-size: 11.5px; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; white-space: nowrap; }
.lp-map__bigfive i { font-size: 13px; }
.lp-map__titlerow { display: flex; align-items: center; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.lp-map__name { font-family: var(--et-font-ui); font-weight: 700; font-size: clamp(24px, 3vw, 32px); line-height: 1.1; letter-spacing: -.01em; color: var(--et-dark); margin: 0; }
.lp-map__nights { padding: 5px 12px; border-radius: var(--et-radius-pill); background: var(--et-gray-bg); color: var(--et-text-2); font-size: 13px; font-weight: 700; }
.lp-map__note { font-size: 15.5px; line-height: 1.55; color: #555; margin: 12px 0 0; }
.lp-map__tags-label { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--et-muted); margin: 22px 0 10px; }
.lp-map__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.lp-map__tags--grid { display: grid; grid-template-columns: repeat(3, max-content); justify-items: start; }
.lp-map__tag { display: inline-flex; flex-direction: column; gap: 2px; padding: 8px 13px; border-radius: var(--et-radius-md); background: #FAF6EF; border: 1px solid #EEE5D6; }
.lp-map__tag-name { display: inline-flex; align-items: center; gap: 6px; color: var(--et-dark); font-size: 13px; font-weight: 700; }
.lp-map__tag-name i { font-size: 14px; }
.lp-map__tag-chance { font-size: 10.5px; font-weight: 600; color: #B08A5E; padding-left: 20px; }
.lp-map__footer { margin-top: 24px; padding-top: 20px; border-top: 1px solid #EFEAE0; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.lp-map__footer-note { font-size: 13px; color: var(--et-text-2); }
.lp-map__footer-note b { color: var(--et-dark); font-weight: 700; }
.lp-map__cta { padding: 12px 20px; font-size: 14px; }

/* ============================================================================
 * UNA GIORNATA — carosello con scenografia reattiva (guardata; nata col Kenya
 * come scena sticky, RIFATTA a carosello col design Maldive TO del 18 ago 2026
 * — standard per tutte le landing). Colori base = tema savana; override tema
 * oceano più sotto (.lp-day--oceano).
 * ========================================================================== */
.lp-day { position: relative; overflow: hidden; padding: clamp(150px, 16vw, 190px) 0 clamp(48px, 6vw, 72px); background: #E2895A; }
.lp-day__sky { position: absolute; inset: 0; transition: background 700ms ease; }
.lp-day__stars { position: absolute; inset: 0; opacity: 0; transition: opacity 700ms; pointer-events: none;
  background-repeat: no-repeat; background-image:
    radial-gradient(1.6px 1.6px at 8% 18%, #fff, transparent),
    radial-gradient(1.4px 1.4px at 20% 8%, #fff, transparent),
    radial-gradient(1.2px 1.2px at 33% 22%, rgba(255,255,255,.8), transparent),
    radial-gradient(1.7px 1.7px at 46% 12%, #fff, transparent),
    radial-gradient(1.3px 1.3px at 58% 26%, rgba(255,255,255,.85), transparent),
    radial-gradient(1.5px 1.5px at 70% 10%, #fff, transparent),
    radial-gradient(1.2px 1.2px at 82% 24%, rgba(255,255,255,.8), transparent),
    radial-gradient(1.6px 1.6px at 92% 14%, #fff, transparent),
    radial-gradient(1.3px 1.3px at 15% 40%, rgba(255,255,255,.7), transparent),
    radial-gradient(1.5px 1.5px at 64% 44%, rgba(255,255,255,.75), transparent),
    radial-gradient(1.2px 1.2px at 38% 52%, rgba(255,255,255,.7), transparent),
    radial-gradient(1.4px 1.4px at 88% 46%, rgba(255,255,255,.7), transparent); }
.lp-day__astro { position: absolute; left: 0; right: 0; top: 0; height: 132px; pointer-events: none; z-index: 1; }
.lp-day__sun { position: absolute; width: 74px; height: 74px; border-radius: var(--et-radius-pill); left: 6%; top: 62%;
  transform: translate(-50%, -50%); opacity: 1; transition: opacity 600ms;
  background: radial-gradient(circle at 50% 50%, #FFF6D8, #FFD36B 58%, rgba(255,200,90,0) 72%);
  box-shadow: 0 0 64px 24px rgba(255,205,100,.42); }
.lp-day__moon { position: absolute; width: 50px; height: 50px; border-radius: var(--et-radius-pill); left: 6%; top: 62%;
  transform: translate(-50%, -50%); opacity: 0; transition: opacity 600ms;
  background: radial-gradient(circle at 38% 36%, #F6F8FF, #C7D2F0 72%);
  box-shadow: 0 0 40px 12px rgba(200,214,255,.34); }
.lp-day__horizon { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: auto; z-index: 2; pointer-events: none; }
.lp-day__content { position: relative; z-index: 3; }
.lp-day__head { max-width: var(--et-maxw); margin: 0 auto; padding: 0 var(--et-pad-x); }
.lp-day__eyebrow { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #E8894E; transition: color 500ms; }
.lp-day__eyebrow i { font-size: 16px; }
.lp-day__h2 { font-family: var(--et-font-ui); font-weight: 600; font-size: clamp(28px, 4vw, 46px); line-height: 1.08;
  letter-spacing: -.02em; margin: 12px 0 0; color: rgba(27,27,27,.92); transition: color 500ms; text-wrap: balance; max-width: 620px; }
.lp-day__sub { font-size: clamp(15px, 1.5vw, 18px); line-height: 1.5; color: rgba(27,27,27,.62); transition: color 500ms; margin: 12px 0 0; max-width: 480px; }
.lp-day__tabs { display: flex; align-items: flex-end; gap: 10px; margin-top: clamp(24px, 3vw, 32px); max-width: 560px; }
.lp-day__tab { flex: 1; min-width: 0; background: transparent; border: 0; padding: 0; cursor: pointer; text-align: left;
  font-family: var(--et-font-ui); display: flex; flex-direction: column; gap: 7px; }
.lp-day__tab-label { font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--et-dark);
  opacity: .34; transition: opacity 300ms, color 500ms; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lp-day__tab-bar { height: 4px; border-radius: var(--et-radius-pill); background: rgba(27,27,27,.18); transition: background 300ms; }
.lp-day__tab-bar.is-on { background: var(--et-accent); }
.lp-day__rail { position: relative; display: flex; gap: 18px; overflow-x: auto; scroll-behavior: smooth;
  padding: clamp(20px, 2.6vw, 28px) var(--et-pad-x) 8px; -webkit-overflow-scrolling: touch; }
.lp-day__card { flex: 0 0 clamp(280px, 30vw, 360px); background: var(--et-white); border-radius: var(--et-radius-lg); overflow: hidden; box-shadow: 0 22px 50px rgba(0,0,0,.24); }
.lp-day__card-media { position: relative; height: 200px; background-color: #C8743C; background-size: cover; background-position: center; }
.lp-day__card-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.66) 100%); }
.lp-day__card-time { position: absolute; left: 24px; bottom: 14px; z-index: 1; }
.lp-day__card-label { font-size: 10.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.lp-day__card-clock { font-family: var(--et-font-ui); font-weight: 800; font-size: 34px; line-height: 1; letter-spacing: -.01em; color: var(--et-white); margin-top: 2px; }
.lp-day__card-body { padding: 20px 24px 24px; }
.lp-day__kicker { color: #C8743C; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lp-day__title { font-family: var(--et-font-ui); font-weight: 700; font-size: 23px; line-height: 1.15; color: var(--et-dark); margin-top: 8px; }
.lp-day__body { font-size: 15px; line-height: 1.55; color: #555; margin: 9px 0 0; }
.lp-day__spacer { flex: 0 0 0px; }

/* ============================================================================
 * RESPONSIVE — mobile (vista primaria). Breakpoint 880px.
 * ========================================================================== */
@media (max-width: 880px) {
  .lp-sticky { display: flex; }
  body.etr-landing { padding-bottom: var(--et-sticky-h); }

  .lp-section { padding: var(--et-mobile-gap) var(--et-mobile-pad); }
  .lp-section--flush-bottom + .lp-section--tint,
  .lp-section--flush-bottom + .lp-section--gray,
  .lp-section--flush-bottom + .lp-section--dark { margin-top: var(--et-mobile-gap); }

  /* HERO: colonna unica; il form sparisce, compaiono CTA + striscia consulente */
  .lp-hero { min-height: 0; }
  .lp-hero__col-form { display: none; }
  .lp-hero__bg--desktop { display: none; }
  .lp-hero__bg--mobile { display: block; }
  /* la sfumatura verticale ha una zona centrale trasparente (pensata per il
     desktop): su mobile, dove sottotitolo/nota prezzo cadono spesso in quella
     fascia, scuriamo di più per restare leggibili su qualsiasi foto
     (rinforzata il 18 ago 2026: su foto laguna molto chiare non bastava). */
  .lp-hero__overlay-2 { background: linear-gradient(180deg, rgba(8,16,30,.4) 0%, rgba(8,16,30,.28) 30%, rgba(8,16,30,.32) 65%, rgba(8,16,30,.5) 100%); }
  /* Subheadline più leggibile da mobile: semibold + ombra più marcata. */
  .lp-hero__sub { font-weight: 600; text-shadow: 0 1px 4px rgba(0,0,0,.55), 0 2px 16px rgba(0,0,0,.5); } /* 19 ago 2026: provato 700, riportato a 600 su richiesta di Alessandro (deve pesare come sulla landing Maldive TO) */
  /* Chip prezzo: il suffisso ("a persona · volo + isola...") va a capo sotto
     l'importo, non inline sulla stessa riga. */
  .lp-price { flex-wrap: wrap; gap: 2px 10px; }
  .lp-price__suffix { flex-basis: 100%; }
  .lp-hero__mobile-cta { display: inline-flex; }
  .lp-hero__mobile-consultant { display: flex; }
  .lp-hero .lp-h1 { font-size: 36px; }
  .lp-hero__header { padding: 18px var(--et-mobile-pad); }
  .lp-hero__body { padding: 24px var(--et-mobile-pad) 32px; }

  /* griglie → caroselli swipe */
  .lp-grid--exp,
  .lp-grid--segments {
    display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory;
    gap: 14px; margin-top: 24px; padding-bottom: 6px;
    -ms-overflow-style: none; scrollbar-width: none;
  }
  .lp-grid--exp::-webkit-scrollbar,
  .lp-grid--segments::-webkit-scrollbar { display: none; }
  .lp-grid--exp > * { flex: 0 0 76%; scroll-snap-align: start; }
  .lp-grid--segments > * { flex: 0 0 80%; scroll-snap-align: start; }
  .lp-segment { min-height: 380px; }

  /* pillar e servizi: colonna unica, icona affiancata al titolo, testo a riga intera sotto
     (flex-wrap: icona+titolo condividono la prima riga, lp-pillar__text forza sempre
     una riga propria con flex-basis:100% — evita che titolo e testo si dividano in
     due colonne strette e illeggibili). */
  .lp-grid--pillars { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
  .lp-grid--services { display: flex; flex-direction: column; gap: 12px; }
  .lp-pillar { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; padding: 20px; border-radius: var(--et-radius-card); }
  .lp-icon-tile { margin-bottom: 0; width: 48px; height: 48px; flex-shrink: 0; }
  .lp-pillar__title { flex: 1; min-width: 0; }
  .lp-pillar__text { flex: 1 0 100%; margin-top: 8px; }

  /* pillar "minimal": numero e icona affiancati sulla prima riga, titolo e testo a riga
     intera sotto (stessa logica flex-wrap del caso "card" sopra). */
  .lp-grid--minimal .lp-pillar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 0; }
  .lp-grid--minimal .lp-pillar__num { margin-bottom: 0; }
  .lp-grid--minimal .lp-icon-tile { margin-bottom: 0; }
  .lp-grid--minimal .lp-pillar__title { flex: 1 0 100%; margin-top: 2px; }
  .lp-grid--minimal .lp-pillar__text { flex: 1 0 100%; margin-top: 8px; }

  /* confronto: impilato, prima i portali poi ET (markup già in quest'ordine) */
  .lp-grid--compare { display: flex; flex-direction: column; gap: 14px; }

  /* frecce "Il sogno" nascoste su mobile (swipe) */
  .lp-track-arrows { display: none; }
  .lp-track-head { margin-bottom: 18px; }

  /* autentica: foto sopra, testo sotto */
  .lp-authentic { flex-direction: column-reverse; gap: 20px; }
  .lp-authentic__photos { width: 100%; }

  /* community: polaroid sopra (centrata, più piccola), testo sotto.
     flex:none azzera il flex-basis desktop (che in colonna diventerebbe altezza). */
  .lp-community { flex-direction: column; padding: 26px 14px; border-radius: var(--et-radius-xl); }
  .lp-community__media,
  .lp-community__body { flex: none; }
  .lp-community__media { padding-bottom: 22px; }
  .lp-polaroid { max-width: 440px; padding: 10px 10px 22px; }
  .lp-polaroid__logo { height: 19px; }
  .lp-polaroid__tape { width: 85px; height: 27px; }
  .lp-community__stats { gap: 22px; margin-top: 24px; }

  /* fascia consulente "esteso": foto team sopra, testo sotto.
     flex:none azzera il flex-basis 360px desktop del body (che in colonna
     diventerebbe altezza forzata -> spazio bianco sotto il testo). */
  .lp-band--esteso { flex-direction: column; }
  .lp-band--esteso .lp-band__team-photo-wrap { width: 100%; flex-basis: auto; }
  .lp-band--esteso .lp-band__team-photo { height: auto; aspect-ratio: 4/3; min-height: 260px; }
  .lp-band--esteso .lp-band__body { flex: none; }

  /* form finale: scheda sopra, form sotto; colonne libere di restringersi (no overflow) */
  .lp-final { flex-direction: column; }
  .lp-final__intro,
  .lp-final__form { min-width: 0; max-width: 100%; }
  .lp-consultant-card { max-width: 100%; }

  /* badge Trustpilot: Micro Combo su mobile, Horizontal nascosto */
  .lp-tp-desktop { display: none; }
  .lp-tp-mobile { display: block; }

  /* FAQ: spazio sotto il titolo come da mockup mobile */
  .lp-faq-list { margin-top: 28px; }

  /* QUANDO ANDARE: heatmap scrollabile in orizzontale, badge sotto il testo */
  .lp-season-head { margin-bottom: 18px; }
  .lp-season-card { padding: 20px 18px; }
  .lp-season-grid { min-width: 460px; gap: 9px; }
  .lp-season-row { gap: 10px; }
  .lp-season-row__label { width: 88px; font-size: 12.5px; gap: 7px; }
  .lp-season-row__label i { font-size: 16px; }
  .lp-season-cells { gap: 5px; }
  .lp-season-month { font-size: 11px; }
  .lp-season-legend { gap: 12px 16px; margin-top: 18px; padding-top: 16px; }
  .lp-season-legend__item { font-size: 12.5px; }

  /* MAPPA: mappa piu' piccola centrata, pannello sotto */
  .lp-map { gap: 24px; margin-top: 26px; }
  .lp-map__stage { max-width: 270px; }
  .lp-map__panel { padding: 22px; }
  .lp-map__name { font-size: 24px; }
  .lp-map__tags--grid { grid-template-columns: repeat(2, max-content); }

  /* UNA GIORNATA (carosello): card al 78% con snap; titolo e sottotitolo
     VISIBILI anche da mobile (nella vecchia scena sticky erano nascosti) */
  .lp-day { padding: 120px 0 84px; }
  .lp-day__astro { height: 108px; }
  .lp-day__sun { width: 62px; height: 62px; }
  .lp-day__moon { width: 44px; height: 44px; }
  .lp-day__head { padding: 0 var(--et-mobile-pad); }
  .lp-day__h2 { font-size: 28px; line-height: 1.1; margin-top: 10px; }
  .lp-day__sub { font-size: 15px; }
  .lp-day__tabs { gap: 7px; margin-top: 22px; max-width: none; }
  .lp-day__tab-label { font-size: 9px; letter-spacing: .06em; }
  .lp-day__rail { gap: 14px; scroll-snap-type: x mandatory; padding: 20px var(--et-mobile-pad) 8px; }
  .lp-day__card { flex-basis: 78%; scroll-snap-align: start; }
  .lp-day__card-media { height: 176px; }
  .lp-day__card-time { left: 20px; }
  .lp-day__card-clock { font-size: 30px; }
  .lp-day__card-body { padding: 18px 20px 20px; }
  .lp-day__title { font-size: 20px; }
  .lp-day__body { font-size: 14px; }
  .lp-day__spacer { flex-basis: max(0px, calc(100% - 78% - 14px)); }

  /* FOOTER: logo e blocco legale in colonna, tutto allineato a sinistra */
  .lp-footer__top { flex-direction: column; align-items: flex-start; gap: 18px; }
  .lp-footer__legal { text-align: left; max-width: none; }
}

/* riduzione movimento */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .lp-step, .lp-lift, .lp-imglift { animation: none !important; transition: none !important; }
  .lp-map__route-flow { animation: none !important; }
  .lp-day__sun, .lp-day__moon, .lp-day__sky, .lp-day__stars { transition: none !important; }
  .lp-day__rail { scroll-behavior: auto !important; }
}

/* ============================================================================
 * MAPPA — variante "mare"/arcipelago (estensione, nata con Maldive TO)
 * ========================================================================== */
.lp-map__lagoon { position: absolute; inset: 0; border-radius: var(--et-radius-xl); overflow: hidden;
  background: linear-gradient(180deg, #EAF7FB 0%, #DCF0F6 100%); }
.lp-map__lagoon::before { content: ""; position: absolute; left: -10%; top: 8%; width: 70%; height: 34%;
  border-radius: var(--et-radius-pill); background: radial-gradient(circle at 50% 50%, rgba(18,165,160,.16), rgba(18,165,160,0) 70%); }
.lp-map__lagoon::after { content: ""; position: absolute; right: -14%; bottom: 14%; width: 74%; height: 30%;
  border-radius: var(--et-radius-pill); background: radial-gradient(circle at 50% 50%, rgba(0,156,255,.14), rgba(0,156,255,0) 70%); }
.lp-map--sea .lp-map__stage { aspect-ratio: 5/7; max-width: 360px; }
.lp-map--sea .lp-map__panel { border-color: #DCEFF4; }
.lp-map--sea .lp-map__tag { background: var(--et-accent-light); border-color: #DCEEF9; }
.lp-map--sea .lp-map__footer { border-top-color: #EEF4F6; }
.lp-map__pin--icon { font-size: 0; }
.lp-map__pin--icon i { font-size: 15px; }
.lp-map__sub { font-size: 13.5px; font-weight: 600; color: var(--et-muted); }
.lp-map__transfer { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--et-radius-pill);
  background: #EAF7FB; border: 1px solid #CDE9F1; color: #0E7A83; font-size: 11.5px; font-weight: 800;
  letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.lp-map__transfer i { font-size: 13px; }
.lp-map__meters { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
.lp-map__meter { display: flex; align-items: center; gap: 14px; }
.lp-map__meter-label { width: 132px; flex-shrink: 0; font-size: 13px; font-weight: 700; color: var(--et-dark);
  display: inline-flex; align-items: center; gap: 7px; }
.lp-map__meter-label i { font-size: 16px; color: #12A5A0; }
.lp-map__meter-bars { flex: 1; display: flex; gap: 5px; }
.lp-map__meter-bar { flex: 1; height: 7px; border-radius: var(--et-radius-pill); background: #E4EDEF; }
.lp-map__meter-bar.is-on { background: #12A5A0; }
.lp-map__meter-value { font-size: 12px; font-weight: 600; color: var(--et-text-2); width: 78px; text-align: right; }

/* ============================================================================
 * UNA GIORNATA — tema "oceano" (estensione, nata con Maldive TO)
 * ========================================================================== */
.lp-day--oceano { background: #F7B98C; }
.lp-day--oceano .lp-day__eyebrow { color: #0E7A83; }
.lp-day--oceano .lp-day__kicker { color: #0E7A83; }
.lp-day--oceano .lp-day__card-media { background-color: #0a5f7a; }

/* ============================================================================
 * GLI ISPETTORI — foto sfalsate + numeri + lista verifiche (nata con Maldive TO)
 * ========================================================================== */
.lp-inspect { display: flex; gap: clamp(32px, 5vw, 64px); flex-wrap: wrap; margin-top: 44px; align-items: flex-start; }
.lp-inspect__media { flex: 0 1 380px; min-width: 260px; max-width: 420px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px; align-content: start; }
.lp-inspect__photo { aspect-ratio: 3/4; border-radius: var(--et-radius-lg); background-color: #0a5f7a; background-size: cover; background-position: center; }
.lp-inspect__photo--2 { margin-top: 34px; }
.lp-inspect__stats { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 22px; padding: 22px 24px;
  background: var(--et-accent-light); border: 1px solid var(--et-accent-border); border-radius: var(--et-radius-lg); }
.lp-inspect__stat-num { font-family: var(--et-font-ui); font-weight: 700; font-size: clamp(24px, 3vw, 32px);
  line-height: 1; letter-spacing: -.02em; color: var(--et-accent); }
.lp-inspect__stat-label { font-size: 12.5px; font-weight: 600; color: var(--et-text-2); margin-top: 5px; }
.lp-inspect__main { flex: 1 1 420px; min-width: 300px; }
.lp-inspect__list { display: flex; flex-direction: column; }
.lp-inspect__item { display: flex; align-items: flex-start; gap: 16px; padding: 18px 0; border-top: 1px solid #ECECEC; }
.lp-inspect__item-icon { width: 38px; height: 38px; flex-shrink: 0; border-radius: var(--et-radius-md);
  background: var(--et-accent-tile); color: var(--et-accent); display: flex; align-items: center; justify-content: center; }
.lp-inspect__item-icon i { font-size: 20px; }
.lp-inspect__item-title { font-family: var(--et-font-ui); font-weight: 700; font-size: 17px; line-height: 1.25; color: var(--et-dark); }
.lp-inspect__item-text { font-size: 14.5px; line-height: 1.5; color: var(--et-text-2); margin: 5px 0 0; }
.lp-inspect__closing { font-size: clamp(16px, 1.6vw, 18px); line-height: 1.55; color: var(--et-dark);
  margin: 26px 0 0; padding: 20px 22px; background: var(--et-gray-bg); border-radius: var(--et-radius-lg); }
.lp-inspect__closing b { font-weight: 700; }

/* ============================================================================
 * QUELLO CHE NON TI DICONO — card errori su fondo scuro (nata con Maldive TO)
 * ========================================================================== */
.lp-errors__lead { color: rgba(255,255,255,.78); }
.lp-errors { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; margin-top: 44px; }
.lp-error-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: var(--et-radius-lg); padding: 24px; }
.lp-error-card > i { font-size: 26px; color: var(--et-accent-soft); }
.lp-error-card__title { font-family: var(--et-font-ui); font-weight: 700; font-size: 17px; line-height: 1.25; color: var(--et-white); margin-top: 14px; }
.lp-error-card__text { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,.66); margin: 7px 0 0; }
.lp-errors__band { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; justify-content: space-between;
  margin-top: 40px; padding: 26px 30px; background: rgba(0,156,255,.12); border: 1px solid rgba(0,156,255,.3); border-radius: var(--et-radius-xl); }
.lp-errors__band-text { font-size: clamp(16px, 1.6vw, 19px); line-height: 1.5; color: var(--et-white); margin: 0; max-width: 640px; }
.lp-errors__cta { flex-shrink: 0; padding: 15px 26px; font-size: 15.5px; }

/* ============================================================================
 * MODI DI VIVERLA — chip + card interattiva (nata con Maldive TO)
 * ========================================================================== */
.lp-modes { margin-top: 32px; }
.lp-modes__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.lp-modes__chip { display: inline-flex; align-items: center; gap: 9px; padding: 12px 18px; border-radius: var(--et-radius-pill);
  border: 1.5px solid var(--et-border); background: transparent; color: var(--et-dark);
  font-family: var(--et-font-ui); font-weight: 700; font-size: 14.5px; cursor: pointer; transition: all 180ms; }
.lp-modes__chip i { font-size: 18px; }
.lp-modes__chip:hover { border-color: var(--et-accent); }
.lp-modes__chip.is-selected { border-color: var(--et-accent); background: var(--et-white); color: var(--et-accent-hover);
  box-shadow: 0 6px 18px rgba(0,156,255,.14); }
.lp-modes__card { display: flex; flex-wrap: wrap; margin-top: 24px; background: var(--et-white);
  border-radius: var(--et-radius-xl); overflow: hidden; box-shadow: 0 14px 40px rgba(27,27,27,.09); }
.lp-modes__media { flex: 1 1 300px; min-width: 260px; min-height: 320px; position: relative; }
.lp-modes__img { position: absolute; inset: 0; background-color: #0a5f7a; background-size: cover; background-position: center;
  transition: background-image 320ms; }
.lp-modes__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,16,30,.34) 0%, rgba(8,16,30,0) 45%, rgba(8,16,30,.5) 100%); }
.lp-modes__where { position: absolute; left: 26px; bottom: 24px; color: var(--et-white); }
.lp-modes__where-label { font-size: 11.5px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.82); }
.lp-modes__where-value { font-family: var(--et-font-ui); font-weight: 700; font-size: 20px; margin-top: 4px; }
.lp-modes__body { flex: 1 1 380px; min-width: 290px; padding: clamp(26px, 3vw, 40px); }
.lp-modes__badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: var(--et-radius-pill);
  background: var(--et-accent-light); border: 1px solid #DCEEF9; color: var(--et-accent-hover);
  font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.lp-modes__badge i { font-size: 15px; }
.lp-modes__title { font-family: var(--et-font-ui); font-weight: 700; font-size: clamp(22px, 2.8vw, 30px); line-height: 1.15;
  letter-spacing: -.01em; color: var(--et-dark); margin: 16px 0 0; }
.lp-modes__text { font-size: 15.5px; line-height: 1.55; color: #555; margin: 12px 0 0; }
.lp-modes__criteria-label { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: var(--et-muted); margin: 26px 0 12px; }
.lp-modes__criteria { display: flex; flex-direction: column; gap: 2px; }
.lp-modes__criterion { display: flex; align-items: flex-start; gap: 11px; padding: 11px 0; font-size: 15px; line-height: 1.45;
  color: var(--et-dark); border-top: 1px solid var(--et-hairline); }
.lp-modes__criterion i { font-size: 18px; color: var(--et-accent); flex-shrink: 0; margin-top: 1px; }

/* Responsive delle sezioni nate con Maldive TO (stesso breakpoint 880px) */
/* ============================================================================
 * LE FORMULE — carte d'imbarco (nata con Mar Rosso)
 * Modulo firma: ogni formula e' un biglietto (intestazione con badge e sigle
 * rotta, corpo con le tappe, strappo tratteggiato, talloncino con la barra
 * proporzionale del "mix" di notti e il codice a barre).
 * ========================================================================== */
.lp-passes { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; margin-top: 44px; }
.lp-pass { position: relative; display: flex; flex-direction: column; background: var(--et-white);
  border-radius: var(--et-radius-card); box-shadow: 0 12px 32px rgba(90,70,30,.14); }

.lp-pass__head { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 15px clamp(20px, 2.2vw, 26px); background: var(--et-sand-head);
  border-bottom: 1px solid var(--et-sand-hairline); border-radius: var(--et-radius-card) var(--et-radius-card) 0 0; }
.lp-pass__badge { display: inline-flex; align-items: center; padding: 6px 13px; border-radius: var(--et-radius-pill);
  font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--et-white); }
.lp-pass__kicker { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase; color: var(--et-sand-muted); }
.lp-pass__kicker i { font-size: 16px; color: var(--et-sand-accent); }

.lp-pass__body { padding: clamp(22px, 2.4vw, 28px) clamp(20px, 2.2vw, 26px) clamp(20px, 2.2vw, 24px); }
.lp-pass__route-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
/* La rotta deve stare DENTRO la carta comunque sia composta (fino a 5-6 tappe
   con nome citta'): i filetti tratteggiati assorbono lo spazio in avanzo e lo
   cedono per primi, poi sono le tappe a stringersi e le etichette vanno a capo.
   `overflow: hidden` e' solo la rete di sicurezza finale. */
/* `flex-basis: 100%` = la rotta prende sempre una riga intera, cosi' il badge
   della durata va SEMPRE a capo sotto (prima, con poche tappe, ci stava
   affiancato e le tre carte non erano allineate fra loro). Di conseguenza i
   filetti tratteggiati si distendono per tutta la larghezza della carta anche
   quando le tappe sono poche. */
.lp-pass__route { display: flex; align-items: flex-start; flex: 1 1 100%; min-width: 0; overflow: hidden; }
/* Niente `min-width: 0` sulle tappe: col min-width automatico dei flex item la
   tappa non scende sotto la parola piu' lunga, quindi "Los Angeles" va a capo
   ma "Rientro" non si spezza mai a meta'. */
.lp-pass__sep { flex: 1 1 8px; min-width: 8px; align-self: flex-start;
  margin: 8px 7px 0; border-top: 1px dashed var(--et-sand-dash-2); }
.lp-pass__code { font-family: var(--et-font-ui); font-weight: 800; font-size: 17px; letter-spacing: .06em; line-height: 1; color: var(--et-dark); }
.lp-pass__place { font-size: 10.5px; font-weight: 700; letter-spacing: .04em; color: var(--et-sand-muted); margin-top: 5px;
  line-height: 1.25; }
.lp-pass__days { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--et-text-2); }
.lp-pass__days i { font-size: 16px; color: var(--et-sand-accent); }

.lp-pass__title { font-family: var(--et-font-ui); font-weight: 700; font-size: clamp(21px, 2.4vw, 26px);
  line-height: 1.14; letter-spacing: -.01em; color: var(--et-dark); margin: 18px 0 0; }
.lp-pass__text { font-size: 15px; line-height: 1.55; color: #555; margin: 10px 0 0; }
.lp-pass__label { font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: var(--et-sand-muted); margin: 26px 0 10px; }
.lp-pass__steps { display: flex; flex-direction: column; }
.lp-pass__step { display: flex; align-items: flex-start; gap: 11px; padding: 10px 0; font-size: 14.5px;
  line-height: 1.4; color: var(--et-dark); border-top: 1px solid var(--et-sand-hairline); }
.lp-pass__step i { font-size: 18px; color: var(--et-sand-accent); flex-shrink: 0; margin-top: 1px; }

/* Strappo: filetto tratteggiato + due tacche del colore della sezione. */
.lp-pass__tear { position: relative; height: 0; border-top: 2px dashed var(--et-sand-dash); margin-top: auto; }
.lp-pass__tear span { position: absolute; top: -11px; width: 22px; height: 22px;
  border-radius: var(--et-radius-pill); background: var(--et-sand-bg); }
.lp-pass__tear span:first-child { left: -11px; }
.lp-pass__tear span:last-child { right: -11px; }

.lp-pass__stub { padding: clamp(20px, 2.2vw, 24px) clamp(20px, 2.2vw, 26px); }
.lp-pass__mixbar { display: flex; gap: 4px; height: 12px; border-radius: var(--et-radius-pill); overflow: hidden; }
.lp-pass__mixlegend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; }
.lp-pass__mixitem { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; color: var(--et-sand-text); }
.lp-pass__dot { width: 10px; height: 10px; border-radius: var(--et-radius-pill); flex-shrink: 0; }
.lp-pass__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 20px; }
.lp-pass__forwho { display: flex; align-items: flex-start; gap: 9px; font-size: 13.5px; font-weight: 600;
  color: var(--et-text-2); line-height: 1.35; }
.lp-pass__forwho i { font-size: 19px; color: var(--et-accent); flex-shrink: 0; }
.lp-pass__barcode { flex-shrink: 0; width: 76px; height: 34px; opacity: .8;
  background-image: repeating-linear-gradient(90deg, #1B1B1B 0 2px, #fff 2px 4px, #1B1B1B 4px 5px, #fff 5px 8px, #1B1B1B 8px 11px, #fff 11px 13px); }

.lp-passes__band { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; justify-content: space-between;
  margin-top: 34px; padding: 24px 30px; background: var(--et-white); border: 1px solid var(--et-sand-border);
  border-radius: var(--et-radius-xl); }
.lp-passes__band-text { font-size: clamp(15px, 1.5vw, 18px); line-height: 1.5; color: var(--et-sand-text); margin: 0; max-width: 660px; }
.lp-passes__cta { flex-shrink: 0; padding: 15px 26px; font-size: 15.5px; }

/* ============================================================================
 * UNA GIORNATA — tema "nilo" (estensione, nata con Mar Rosso)
 * ========================================================================== */
.lp-day--nilo { background: #F2B183; }
.lp-day--nilo .lp-day__eyebrow { color: #8A6420; }
.lp-day--nilo .lp-day__kicker { color: #8A6420; }
.lp-day--nilo .lp-day__card-media { background-color: #8a6134; }

@media (max-width: 880px) {
  /* Formule: carte in colonna singola, talloncino piu' compatto. */
  .lp-passes { grid-template-columns: 1fr; gap: 14px; margin-top: 26px; }
  .lp-pass__head { padding: 13px 20px; }
  .lp-pass__kicker { font-size: 10px; }
  .lp-pass__body { padding: 20px; }
  .lp-pass__code { font-size: 15px; }
  .lp-pass__place { font-size: 10px; }
  .lp-pass__sep { margin: 7px 5px 0; flex-basis: 6px; min-width: 6px; }
  .lp-pass__title { font-size: 21px; margin-top: 16px; }
  .lp-pass__text { font-size: 14.5px; }
  .lp-pass__label { font-size: 11px; margin: 20px 0 6px; }
  .lp-pass__step { font-size: 14px; gap: 10px; }
  .lp-pass__tear span { top: -10px; width: 20px; height: 20px; }
  .lp-pass__tear span:first-child { left: -10px; }
  .lp-pass__tear span:last-child { right: -10px; }
  .lp-pass__stub { padding: 18px 20px 20px; }
  .lp-pass__mixbar { height: 11px; }
  .lp-pass__mixlegend { gap: 7px 14px; margin-top: 10px; }
  .lp-pass__mixitem { font-size: 11.5px; }
  .lp-pass__foot { margin-top: 16px; }
  .lp-pass__forwho { font-size: 13px; }
  .lp-pass__barcode { width: 66px; height: 30px; }
  .lp-passes__band { margin-top: 20px; padding: 22px; }
  .lp-passes__band-text { font-size: 15px; }
  .lp-passes__cta { flex: 1 1 100%; justify-content: center; }

  .lp-map--sea .lp-map__stage { max-width: 250px; }
  .lp-map__meter { gap: 10px; }
  .lp-map__meter-label { width: 112px; font-size: 12.5px; gap: 6px; }
  .lp-map__meter-label i { font-size: 15px; }
  .lp-map__meter-bars { gap: 4px; }
  .lp-map__meter-value { width: 62px; font-size: 11px; }

  .lp-inspect { gap: 22px; margin-top: 22px; }
  /* Contenimento: la griglia foto/numeri non deve MAI superare il contenitore
     (su iOS il .lp taglia l'overflow laterale: foto e box numeri "tagliati"). */
  .lp-inspect__media { flex-basis: 100%; width: 100%; max-width: 100%; min-width: 0; gap: 10px; }
  .lp-inspect__photo--2 { margin-top: 24px; }
  .lp-inspect__stats { gap: 18px; padding: 20px; min-width: 0; }
  .lp-inspect__item { gap: 14px; padding: 16px 0; }
  .lp-inspect__item-icon { width: 36px; height: 36px; }
  .lp-inspect__item-icon i { font-size: 19px; }
  .lp-inspect__item-title { font-size: 16px; }
  .lp-inspect__item-text { font-size: 14px; }
  .lp-inspect__closing { padding: 18px 20px; font-size: 15px; }

  /* Card errori da mobile: icona e titolo sulla STESSA riga, testo sotto a
     tutta larghezza (mai il testo affiancato all'icona in 2 colonne). */
  .lp-errors { gap: 12px; margin-top: 24px; }
  .lp-error-card { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; padding: 18px; }
  .lp-error-card > i { font-size: 24px; flex-shrink: 0; }
  .lp-error-card__title { margin-top: 0; font-size: 16px; flex: 1; min-width: 0; }
  .lp-error-card__text { flex-basis: 100%; margin-top: 8px; }
  .lp-errors__band { margin-top: 22px; padding: 22px; }
  .lp-errors__cta { flex: 1 1 100%; justify-content: center; }

  .lp-modes { margin-top: 20px; }
  .lp-modes__chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; margin-right: calc(var(--et-mobile-pad) * -1); padding-right: var(--et-mobile-pad); }
  .lp-modes__chip { flex-shrink: 0; padding: 11px 15px; font-size: 14px; }
  .lp-modes__media { min-height: 200px; flex-basis: 100%; }
  .lp-modes__where { left: 20px; bottom: 16px; }
  .lp-modes__where-value { font-size: 18px; }
  .lp-modes__body { padding: 22px 20px 24px; }
  .lp-modes__title { font-size: 22px; }
  .lp-modes__text { font-size: 14.5px; }
}

/* ============================================================================
 * UNA GIORNATA — tema "west" (estensione, nata con Stati Uniti)
 * Mesa, saguaro e strada: accento terracotta, media di fondo roccia rossa.
 * ========================================================================== */
.lp-day--west { background: #EFA46F; }
.lp-day--west .lp-day__eyebrow { color: #8A4A1E; }
.lp-day--west .lp-day__kicker { color: #A65A2A; }
.lp-day--west .lp-day__card-media { background-color: #7A4A2E; }

/* ============================================================================
 * MAPPA — stile "itinerari" (estensione, nata con Stati Uniti)
 * Stage orizzontale su cielo chiaro: ogni pin e' un ITINERARIO e disegna il
 * proprio percorso con i pallini delle tappe. Accento terracotta, tag ciano.
 * ========================================================================== */
.lp-map--itinerari .lp-map__stage-wrap { flex: 1 1 520px; }
.lp-map--itinerari .lp-map__stage { max-width: 660px; aspect-ratio: var(--lp-map-ar, 975/610);
  border-radius: var(--et-radius-xl); background: linear-gradient(180deg, #EAF6FB 0%, #DCEEF6 100%); }
.lp-map--itinerari .lp-map__glow--sea { left: -6%; top: 14%; right: auto; bottom: auto; width: 46%; height: 44%;
  background: radial-gradient(circle at 50% 50%, rgba(18,165,160,.14), rgba(18,165,160,0) 70%); }
.lp-map--itinerari .lp-map__glow--land { right: -8%; bottom: 6%; left: auto; top: auto; width: 48%; height: 40%;
  background: radial-gradient(circle at 50% 50%, rgba(0,156,255,.13), rgba(0,156,255,0) 70%); }
.lp-map--itinerari .lp-map__panel { border-color: #E3EAEF; }
.lp-map--itinerari .lp-map__footer { border-top-color: #EEF4F6; }
.lp-map--itinerari .lp-map__tag { background: var(--et-accent-light); border-color: #DCEEF9; }
.lp-map--itinerari .lp-map__meter-label { width: 150px; }
.lp-map--itinerari .lp-map__meter-label i { color: #E2703A; }
.lp-map--itinerari .lp-map__meter-bar { background: #EFE6DC; }
.lp-map--itinerari .lp-map__meter-bar.is-on { background: #E2703A; }
.lp-map--itinerari .lp-map__transfer { background: #FBF2E7; border-color: #EEDFC8; color: #8A6237; }

/* ============================================================================
 * TOUR DI GRUPPO (sezione nuova, nata con Stati Uniti)
 * ========================================================================== */
.lp-tours__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.lp-tours__badge { display: inline-flex; align-items: center; gap: 12px; padding: 14px 20px;
  border-radius: var(--et-radius-md); background: var(--et-accent-light); border: 1px solid var(--et-accent-faq-open); }
.lp-tours__badge > i { font-size: 26px; color: var(--et-accent); }
.lp-tours__badge-kicker { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--et-muted); }
.lp-tours__badge-text { font-family: var(--et-font-ui); font-weight: 700; font-size: 17px; color: var(--et-dark); }

.lp-grid--tours { grid-template-columns: repeat(auto-fit, minmax(290px,1fr)); gap: 20px; margin-top: 36px; }
.lp-tour { display: flex; flex-direction: column; background: var(--et-white); border: 1px solid var(--et-border-2);
  border-radius: var(--et-radius-xl); overflow: hidden; box-shadow: 0 4px 14px rgba(27,27,27,.06); }
.lp-tour__media { position: relative; height: 184px; overflow: hidden; }
.lp-tour__bg { position: absolute; inset: 0; background: #7A4A2E center/cover no-repeat; }
.lp-tour__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.55) 100%); }
.lp-tour__days { position: absolute; left: 16px; top: 16px; padding: 6px 12px; border-radius: var(--et-radius-pill);
  background: rgba(255,255,255,.94); color: var(--et-dark); font-size: 11.5px; font-weight: 800; letter-spacing: .04em; }
.lp-tour__body { display: flex; flex-direction: column; flex: 1; padding: 22px 22px 24px; }
.lp-tour__title { font-family: var(--et-font-ui); font-weight: 700; font-size: 20px; line-height: 1.2; color: var(--et-dark); }
.lp-tour__route { font-size: 13.5px; font-weight: 600; color: var(--et-muted); margin-top: 5px; }
.lp-tour__text { font-size: 14.5px; line-height: 1.5; color: var(--et-text-2); margin: 12px 0 0; }
.lp-tour__label { font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: var(--et-muted); margin: 18px 0 9px; }
.lp-tour__dates { display: flex; flex-wrap: wrap; gap: 7px; }
.lp-tour__date { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: var(--et-radius-pill);
  background: var(--et-gray-bg); color: var(--et-dark); font-size: 12.5px; font-weight: 700; }
.lp-tour__date i { font-size: 14px; color: var(--et-accent); }
.lp-tour__guide { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 16px;
  border-top: 1px solid var(--et-hairline); font-size: 13px; font-weight: 600; color: var(--et-text-2); }
.lp-tour__guide i { font-size: 18px; color: var(--et-accent); flex-shrink: 0; }
.lp-tours__band { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  margin-top: 28px; padding: 24px 28px; background: var(--et-gray-bg); border-radius: var(--et-radius-xl); }
.lp-tours__band-text { font-size: clamp(15px, 1.5vw, 17.5px); line-height: 1.5; color: var(--et-dark); margin: 0; max-width: 640px; }
.lp-tours__band .lp-cta { flex-shrink: 0; padding: 15px 26px; font-size: 15.5px; }

@media (max-width: 880px) {
  /* Mappa "itinerari": lo stage orizzontale prende tutta la riga. */
  .lp-map--itinerari .lp-map__stage { max-width: 100%; }
  .lp-map--itinerari .lp-map__meter-label { width: 112px; }

  .lp-tours__head { gap: 18px; }
  .lp-tours__badge { padding: 12px 16px; }
  .lp-grid--tours { grid-template-columns: 1fr; gap: 14px; margin-top: 24px; }
  .lp-tour__media { height: 168px; }
  .lp-tour__body { padding: 20px; }
  .lp-tour__title { font-size: 19px; }
  .lp-tour__text { font-size: 14px; }
  .lp-tours__band { margin-top: 20px; padding: 22px; }
  .lp-tours__band-text { font-size: 15px; }
  .lp-tours__band .lp-cta { flex: 1 1 100%; justify-content: center; }
}

/* ============================================================================
 * HAWAII (24 ago 2026) — tre sezioni nuove + stile mappa "arcipelago"
 * Il bivio del prodotto: "Due strade" (due carte a confronto), "Proposte
 * pronte" (una carta per formula, con prezzo e CTA propria) e "Su misura"
 * (sezione scura con la scheda del viaggio). Tutte e tre guardate e spente di
 * default: le landing esistenti non cambiano di un pixel.
 * ========================================================================== */

/* ---- DUE STRADE ---------------------------------------------------------- */
.lp-grid--paths { grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 20px; margin-top: 40px; }
.lp-path { border-radius: var(--et-radius-2xl); padding: clamp(26px, 3vw, 36px); }
.lp-path--a { background: var(--et-white); border: 1.5px solid var(--et-accent-faq-open);
  box-shadow: 0 10px 30px rgba(0,156,255,.08); }
.lp-path--b { background: var(--et-dark); border: 1.5px solid var(--et-dark); color: var(--et-white);
  box-shadow: 0 14px 36px rgba(27,27,27,.18); }
.lp-path__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lp-path__badge { display: inline-flex; align-items: center; gap: 8px; padding: 7px 15px;
  border-radius: var(--et-radius-pill); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.lp-path__badge i { font-size: 15px; }
.lp-path--a .lp-path__badge { background: var(--et-accent); color: var(--et-white); }
.lp-path--b .lp-path__badge { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); color: var(--et-white); }
.lp-path__nota { font-size: 12.5px; font-weight: 700; }
.lp-path--a .lp-path__nota { color: var(--et-muted); }
.lp-path--b .lp-path__nota { color: rgba(255,255,255,.5); }
.lp-path__quote { font-family: var(--et-font-serif); font-style: italic; font-weight: 500;
  font-size: clamp(21px, 2.4vw, 27px); line-height: 1.25; margin: 20px 0 0; }
.lp-path--a .lp-path__quote { color: var(--et-dark); }
.lp-path--b .lp-path__quote { color: var(--et-white); }
.lp-path__text { font-size: 15.5px; line-height: 1.55; margin: 14px 0 0; }
.lp-path--a .lp-path__text { color: #555; }
.lp-path--b .lp-path__text { color: rgba(255,255,255,.76); }
.lp-path__list { display: flex; flex-direction: column; gap: 2px; margin-top: 22px; }
.lp-path__item { display: flex; align-items: flex-start; gap: 11px; padding: 11px 0;
  font-size: 14.5px; line-height: 1.45; }
.lp-path__item i { font-size: 19px; flex-shrink: 0; margin-top: 1px; }
.lp-path--a .lp-path__item { color: var(--et-dark); border-top: 1px solid var(--et-hairline); }
.lp-path--a .lp-path__item i { color: var(--et-accent); }
.lp-path--b .lp-path__item { color: rgba(255,255,255,.92); border-top: 1px solid rgba(255,255,255,.12); }
.lp-path--b .lp-path__item i { color: var(--et-accent-soft); }
.lp-path__cta { margin-top: 24px; padding: 14px 24px; border-radius: var(--et-radius-pill); font-size: 15px; }
.lp-path--b .lp-path__cta { background: var(--et-white); color: var(--et-dark); border: 1.5px solid var(--et-white); }
.lp-path--b .lp-path__cta:hover { background: #EDEDED; color: var(--et-dark); }
.lp-paths__band { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 22px;
  padding: 22px 26px; background: var(--et-white); border: 1px solid var(--et-accent-border);
  border-radius: var(--et-radius-lg); }
.lp-paths__band > i { font-size: 30px; color: var(--et-accent); flex-shrink: 0; }
.lp-paths__band-text { font-size: clamp(15px, 1.5vw, 17.5px); line-height: 1.5; color: var(--et-dark);
  margin: 0; max-width: 820px; }

/* ---- PROPOSTE PRONTE ----------------------------------------------------- */
.lp-packs__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.lp-packs__badge { display: inline-flex; align-items: center; gap: 12px; padding: 14px 20px;
  border-radius: var(--et-radius-md); background: var(--et-accent-light); border: 1px solid var(--et-accent-faq-open); }
.lp-packs__badge > i { font-size: 26px; color: var(--et-accent); }
.lp-packs__badge-kicker { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--et-muted); }
.lp-packs__badge-text { font-family: var(--et-font-ui); font-weight: 700; font-size: 15.5px; color: var(--et-dark); }

.lp-grid--packs { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; margin-top: 40px; }
.lp-pack { display: flex; flex-direction: column; background: var(--et-white); border: 1px solid var(--et-border-2);
  border-radius: var(--et-radius-xl); overflow: hidden; box-shadow: 0 6px 18px rgba(27,27,27,.06); }
.lp-pack__media { position: relative; height: 226px; overflow: hidden; }
.lp-pack__bg { position: absolute; inset: 0; background: #0d5b5e center/cover no-repeat; }
.lp-pack__shade { position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,16,30,.42) 0%, rgba(8,16,30,0) 38%, rgba(8,16,30,.72) 100%); }
.lp-pack__badge { position: absolute; top: 16px; left: 18px; display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 13px; border-radius: var(--et-radius-pill); background: rgba(255,255,255,.92);
  color: var(--et-accent-hover); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lp-pack__badge i { font-size: 14px; }
.lp-pack__over { position: absolute; left: 20px; right: 20px; bottom: 16px; color: var(--et-white); }
.lp-pack__angle { font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.82); }
.lp-pack__nights { font-family: var(--et-font-ui); font-weight: 800; font-size: 20px; line-height: 1.1; margin-top: 5px; }
.lp-pack__body { display: flex; flex-direction: column; flex: 1; padding: clamp(22px, 2.4vw, 28px); }
.lp-pack__title { font-family: var(--et-font-ui); font-weight: 700; font-size: clamp(21px, 2.4vw, 26px);
  line-height: 1.15; letter-spacing: -.01em; color: var(--et-dark); margin: 0; }
.lp-pack__concept { font-family: var(--et-font-serif); font-style: italic; font-weight: 500; font-size: 16.5px;
  line-height: 1.35; color: var(--et-accent-hover); margin: 10px 0 0; }
.lp-pack__text { font-size: 14.5px; line-height: 1.55; color: #555; margin: 12px 0 0; }
.lp-pack__label { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: var(--et-muted); margin: 20px 0 9px; }
.lp-pack__bars { display: flex; gap: 4px; }
.lp-pack__bar { height: 8px; border-radius: var(--et-radius-pill); }
.lp-pack__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 9px; }
.lp-pack__leg { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: var(--et-text-2); }
.lp-pack__dot { width: 9px; height: 9px; border-radius: var(--et-radius-pill); flex-shrink: 0; }
.lp-pack__points { display: flex; flex-direction: column; gap: 2px; margin-top: 20px; }
.lp-pack__point { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; font-size: 14px;
  line-height: 1.45; color: var(--et-dark); border-top: 1px solid var(--et-hairline); }
.lp-pack__point i { font-size: 17px; color: var(--et-accent); flex-shrink: 0; margin-top: 1px; }
.lp-pack__foot { margin-top: auto; padding-top: 22px; }
.lp-pack__pricerow { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.lp-pack__pricelabel { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--et-muted); }
.lp-pack__price { font-family: var(--et-font-ui); font-weight: 700; font-size: 28px; letter-spacing: -.02em; color: var(--et-dark); }
.lp-pack__price span { font-size: 12.5px; font-weight: 600; color: var(--et-text-2); letter-spacing: 0; }
.lp-pack__dates { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px;
  border-radius: var(--et-radius-pill); background: var(--et-gray-bg); color: var(--et-text-2);
  font-size: 11.5px; font-weight: 700; }
.lp-pack__dates i { font-size: 14px; }
.lp-pack__cta { width: 100%; margin-top: 16px; padding: 15px 20px; border-radius: var(--et-radius-pill); font-size: 15px; }
.lp-pack__note { text-align: center; font-size: 11.5px; color: var(--et-muted); margin-top: 9px; }

/* ---- SU MISURA (sezione scura) ------------------------------------------- */
.lp-tailor__head { max-width: 820px; }
.lp-tailor__lead { color: rgba(255,255,255,.78); }
.lp-tailor { display: flex; flex-wrap: wrap; gap: clamp(24px, 3.4vw, 44px); margin-top: 44px; align-items: stretch; }
.lp-tailor__sheet { flex: 1 1 460px; min-width: 300px; background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14); border-radius: var(--et-radius-2xl); padding: clamp(24px, 3vw, 34px); }
.lp-tailor__sheet-head { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.14); }
.lp-tailor__sheet-label { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase; color: var(--et-accent-soft); }
.lp-tailor__sheet-label i { font-size: 17px; }
.lp-tailor__sheet-nota { font-size: 11.5px; font-weight: 700; color: rgba(255,255,255,.5); }
.lp-tailor__row { display: flex; align-items: flex-start; gap: 16px; padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.08); }
.lp-tailor__row > i { font-size: 22px; color: var(--et-accent-soft); flex-shrink: 0; margin-top: 2px; }
.lp-tailor__rowbody { flex: 1 1 auto; min-width: 0; }
.lp-tailor__rowlabel { font-family: var(--et-font-ui); font-weight: 700; font-size: 16.5px; color: var(--et-white); }
.lp-tailor__rownota { font-size: 13.5px; line-height: 1.45; color: rgba(255,255,255,.6); margin-top: 3px; }
.lp-tailor__pill { flex-shrink: 0; padding: 6px 12px; border-radius: var(--et-radius-pill);
  background: rgba(0,156,255,.16); border: 1px solid rgba(0,156,255,.32); color: #9ad6ff;
  font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.lp-tailor__side { flex: 1 1 340px; min-width: 280px; display: flex; flex-direction: column; gap: 20px; }
.lp-tailor__photo { position: relative; flex: 1 1 200px; min-height: 200px;
  border-radius: var(--et-radius-2xl); overflow: hidden; }
.lp-tailor__photo-bg { position: absolute; inset: 0; background: #123 center/cover no-repeat; }
.lp-tailor__photo-shade { position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8,16,30,.10) 0%, rgba(8,16,30,.72) 100%); }
.lp-tailor__photo-body { position: absolute; left: 24px; right: 24px; bottom: 20px; }
.lp-tailor__quote { font-family: var(--et-font-serif); font-style: italic; font-weight: 500; font-size: 19px;
  line-height: 1.3; color: var(--et-white); margin: 0; }
.lp-tailor__sign { font-size: 12.5px; font-weight: 700; color: rgba(255,255,255,.72); margin-top: 8px; }
.lp-tailor__value { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--et-radius-2xl); padding: clamp(22px, 2.6vw, 30px); }
.lp-tailor__value-label { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  color: var(--et-accent-soft); margin-bottom: 14px; }
.lp-tailor__value-item { display: flex; align-items: flex-start; gap: 11px; padding: 11px 0; font-size: 14.5px;
  line-height: 1.45; color: rgba(255,255,255,.9); border-top: 1px solid rgba(255,255,255,.1); }
.lp-tailor__value-item i { font-size: 19px; color: var(--et-accent-soft); flex-shrink: 0; margin-top: 1px; }
.lp-tailor__value-item b { font-weight: 700; color: var(--et-white); }
.lp-tailor__cta { width: 100%; margin-top: 22px; padding: 15px 24px; border-radius: var(--et-radius-pill); font-size: 15.5px; }
.lp-tailor__cta-nota { text-align: center; font-size: 12px; color: rgba(255,255,255,.55); margin-top: 10px; }

/* ---- MAPPA, stile "arcipelago" ------------------------------------------- */
/* Stage orizzontale come "itinerari", ma sul mare: isole color sabbia su
   laguna pallida, accento verde acqua (i metri sono gia' teal di default) e
   rotta animata dall'hub (prima tappa) all'isola scelta, come nel "mare". */
.lp-map--arcipelago .lp-map__stage-wrap { flex: 1 1 460px; }
.lp-map--arcipelago .lp-map__stage { max-width: 660px; aspect-ratio: var(--lp-map-ar, 820/534);
  border-radius: var(--et-radius-xl); background: linear-gradient(170deg, #E9F6FA 0%, #D5EEF4 100%); }
.lp-map--arcipelago .lp-map__glow--sea { left: 6%; top: 2%; right: auto; bottom: auto; width: 44%; height: 40%;
  background: radial-gradient(circle at 50% 50%, rgba(18,165,160,.16), rgba(18,165,160,0) 70%); }
.lp-map--arcipelago .lp-map__glow--land { right: -4%; bottom: 2%; left: auto; top: auto; width: 52%; height: 46%;
  background: radial-gradient(circle at 50% 50%, rgba(0,156,255,.14), rgba(0,156,255,0) 70%); }
.lp-map--arcipelago .lp-map__panel { border-color: #DCEFF4; }
.lp-map--arcipelago .lp-map__footer { border-top-color: #EEF4F6; }
.lp-map--arcipelago .lp-map__tag { background: var(--et-accent-light); border-color: #DCEEF9; }
.lp-map--arcipelago .lp-map__meter-label { width: 124px; }
.lp-map--arcipelago .lp-map__nights { background: var(--et-accent-light); border: 1px solid #DCEEF9;
  color: var(--et-accent-hover); font-size: 11.5px; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; white-space: nowrap; }

@media (max-width: 880px) {
  .lp-grid--paths { grid-template-columns: 1fr; gap: 14px; margin-top: 26px; }
  .lp-path { padding: 24px 22px; }
  .lp-path__quote { font-size: 21px; margin-top: 16px; }
  .lp-path__text { font-size: 15px; }
  .lp-path__cta { width: 100%; justify-content: center; }
  .lp-paths__band { margin-top: 16px; padding: 20px 22px; gap: 12px; }
  .lp-paths__band-text { font-size: 15px; }

  .lp-packs__head { gap: 18px; }
  .lp-packs__badge { padding: 12px 16px; }
  .lp-grid--packs { grid-template-columns: 1fr; gap: 16px; margin-top: 26px; }
  .lp-pack__media { height: 196px; }
  .lp-pack__body { padding: 22px 20px 24px; }
  .lp-pack__text { font-size: 14px; }

  .lp-tailor { gap: 16px; margin-top: 28px; }
  .lp-tailor__sheet, .lp-tailor__value { padding: 22px 20px; }
  .lp-tailor__rowlabel { font-size: 15.5px; }
  .lp-tailor__row { gap: 12px; flex-wrap: wrap; }
  .lp-tailor__pill { margin-left: 34px; }
  .lp-tailor__photo { min-height: 220px; }
  .lp-tailor__photo-body { left: 20px; right: 20px; }
  .lp-tailor__quote { font-size: 17.5px; }

  .lp-map--arcipelago .lp-map__stage { max-width: 100%; }
  .lp-map--arcipelago .lp-map__meter-label { width: 112px; }
}
