.elementor-kit-45{--e-global-color-primary:#234B5E;--e-global-color-secondary:#15333F;--e-global-color-text:#2F6379;--e-global-color-accent:#C9A227;--e-global-color-1729040:#A8841C;--e-global-color-4646d81:#0F1B2D;--e-global-color-92bfb83:#5B6B82;--e-global-color-a0abdf8:#F5F7FA;--e-global-color-31d2b83:#E3E8EF;--e-global-color-1e554d1:#FFFFFF;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-size:17px;--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Georgia";--e-global-typography-accent-font-weight:400;--e-global-typography-accent-font-style:italic;color:var( --e-global-color-4646d81 );font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;}.elementor-kit-45 button,.elementor-kit-45 input[type="button"],.elementor-kit-45 input[type="submit"],.elementor-kit-45 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Inter", Sans-serif;font-size:15px;font-weight:600;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FFFFFF00;border-radius:8px 8px 8px 8px;padding:12px 22px 12px 22px;}.elementor-kit-45 button:hover,.elementor-kit-45 button:focus,.elementor-kit-45 input[type="button"]:hover,.elementor-kit-45 input[type="button"]:focus,.elementor-kit-45 input[type="submit"]:hover,.elementor-kit-45 input[type="submit"]:focus,.elementor-kit-45 .elementor-button:hover,.elementor-kit-45 .elementor-button:focus{background-color:var( --e-global-color-accent );color:#FFFFFF;border-style:none;}.elementor-kit-45 e-page-transition{background-color:#FFBC7D;}.elementor-kit-45 a{color:var( --e-global-color-accent );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-45 a:hover{color:var( --e-global-color-accent );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-45 h1{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:48px;font-weight:800;}.elementor-kit-45 h2{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:34px;font-weight:800;}.elementor-kit-45 h3{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:22px;font-weight:700;}.elementor-kit-45 h4{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:18px;font-weight:700;}.elementor-kit-45 h5{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:16px;font-weight:700;}.elementor-kit-45 h6{color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;}.elementor-kit-45 label{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-45 input:not([type="button"]):not([type="submit"]),.elementor-kit-45 textarea,.elementor-kit-45 .elementor-field-textual{font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-4646d81 );background-color:var( --e-global-color-a0abdf8 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-31d2b83 );border-radius:8px 8px 8px 8px;padding:11px 14px 11px 14px;}.elementor-kit-45 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-45 textarea:focus,.elementor-kit-45 .elementor-field-textual:focus{color:var( --e-global-color-4646d81 );background-color:var( --e-global-color-1e554d1 );box-shadow:0px 0px 0px 3px rgba(201.00000000000003, 162.00000000000003, 39, 0.15);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:8px 8px 8px 8px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-45 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-45 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-45 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-45 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-45 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-45 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =============================================================
   LUCANA TOUR — CSS GLOBALE
   Indice:
   1) Variabili
   2) Reset & body
   3) Tipografia & utility (em, eyebrow, label, puls)
   4) Sezioni & layout (hero-dark, dark, dark-glow, topbar)
   5) Card generica
   6) Bottoni — base (atomic + classici)
      6.1 Default (giallo)
      6.2 Variante WHITE      (su sfondi scuri)
      6.3 Variante OUTLINE    (su sfondi chiari, bordo navy)
      6.4 Variante GHOST      (su sfondi chiari, trasparente)
      6.5 Dimensioni (sm, lg)
   7) Card mezzo + foto uniformi
   8) Pill / Badge
   9) Sistema icone (lt-ic)
   10) Contatti (lt-contact-row, lt-contact-text)
   11) FAQ Nested Accordion
   12) JetFormBuilder
   13) Menu nel footer
   14) Stats
   15) Itinerario single
   ============================================================= */


/* =====================================================
   1) VARIABILI
   ===================================================== */
:root {
  --lt-navy:        #234B5E;
  --lt-navy-d:      #15333F;
  --lt-navy-l:      #2F6379;
  --lt-yellow:      #C9A227;
  --lt-yellow-d:    #A8841C;
  --lt-yellow-soft: #e8d488;
  --lt-bg:          #F5F7FA;
  --lt-border:      #E3E8EF;
  --lt-ink:         #0F1B2D;
  --lt-muted:       #5B6B82;
}


/* =====================================================
   2) RESET & BODY
   ===================================================== */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* =====================================================
   3) TIPOGRAFIA & UTILITY
   ===================================================== */

/* Em corsivo dei claim */
h1 em, h2 em, h3 em {
  font-style: italic;
  color: var(--lt-yellow);
  font-family: Georgia, serif;
  font-weight: 400;
}

/* Eyebrow (etichetta sopra i titoli) */
.lt-eyebrow {
  display: inline-block;
  color: var(--lt-yellow);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 12px;
  margin-bottom: 10px;
}

/* Label nei hero scuri */
.lt-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(201, 162, 39, 0.18);
  color: var(--lt-yellow-soft);
  border: 1px solid rgba(201, 162, 39, 0.35);
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* Pallino lampeggiante */
.lt-puls {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lt-yellow);
  animation: lt-puls 2s infinite;
  display: inline-block;
}
@keyframes lt-puls {
  0%   { box-shadow: 0 0 0 0 rgba(201, 162, 39, 0.7); }
  70%  { box-shadow: 0 0 0 10px rgba(201, 162, 39, 0); }
  100% { box-shadow: 0 0 0 0 rgba(201, 162, 39, 0); }
}


/* =====================================================
   4) SEZIONI & LAYOUT
   ===================================================== */
   
   
[id] {
  scroll-margin-top: 40px;  /* desktop */
}

@media (max-width: 1024px) {
  [id] {
    scroll-margin-top: 40px;  /* tablet */
  }
}

@media (max-width: 767px) {
  [id] {
    scroll-margin-top: 40px;  /* mobile */
  }
}   

/* Hero scuro con glow giallo decorativo (top right) */
.lt-hero-dark {
  background: linear-gradient(135deg, var(--lt-navy) 0%, var(--lt-navy-l) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.lt-hero-dark::before {
  content: "";
  position: absolute;
  right: -150px;
  top: -150px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 162, 39, 0.2), transparent 65%);
  pointer-events: none;
}

/* =====================================================
   4b) SEZIONE SCURA VERDE — "Con operatore" / verde
   ===================================================== */

.lt-dark-green {
  background: linear-gradient(135deg, #0f3527 0%, #1c5a3f 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}

/* Eyebrow verde chiaro (invece di giallo) */
.lt-dark-green .lt-eyebrow {
  color: #a8e2bd;
}

/* Titoli bianchi, em in verde acqua chiaro */
.lt-dark-green h1,
.lt-dark-green h2,
.lt-dark-green h3,
.lt-dark-green h4 {
  color: #fff;
}
.lt-dark-green h1 em,
.lt-dark-green h2 em,
.lt-dark-green h3 em {
  color: #a8e2bd;   /* verde menta chiaro, mantiene il corsivo del claim */
}

/* Paragrafi e testi in verde-grigio leggibile */
.lt-dark-green p {
  color: #cfe3d7;
}

/* Lista benefici con icona ? a sinistra */
.lt-dark-green .lt-ben-list,
.lt-ben-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: grid;
  gap: 14px;
}
.lt-ben-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  font-size: 15px;
  color: #e2ecdf;
}
.lt-ben-list li b {
  color: #fff;
  display: block;
  font-weight: 700;
  margin-bottom: 2px;
}
.lt-ben-list li span {
  color: #c4d3e6;
  font-size: 14px;
  display: block;
}

/* Glow decorativo opzionale (basso destro) */
.lt-dark-green.lt-dark-glow {
  position: relative;
}
.lt-dark-green.lt-dark-glow::before {
  content: "";
  position: absolute;
  right: -150px;
  bottom: -150px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 162, 39, 0.22), transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.lt-dark-green.lt-dark-glow > * {
  position: relative;
  z-index: 1;
}

/* Sezione scura piatta (CTA finali, form section) */
.lt-dark {
  background: linear-gradient(135deg, var(--lt-navy) 0%, var(--lt-navy-l) 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.lt-dark .lt-eyebrow            { color: var(--lt-yellow-soft); }
.lt-dark h1, .lt-dark h2,
.lt-dark h3, .lt-dark h4        { color: #fff; }
.lt-dark h2 em                  { color: var(--lt-yellow); }
.lt-dark p                      { color: #d6dfeb; }

/* Variante con piccolo glow in basso a sinistra */
.lt-dark.lt-dark-glow           { position: relative; }
.lt-dark.lt-dark-glow::before {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -150px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 162, 39, 0.15), transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.lt-dark.lt-dark-glow > * {
  position: relative;
  z-index: 1;
}

/* Topbar */
.lt-topbar {
  background: var(--lt-navy-d);
  color: #cfd8e4;
  font-size: 13px;
  padding: 9px 0;
}
.lt-topbar a       { color: inherit; text-decoration: none; }
.lt-topbar a:hover { color: var(--lt-yellow); }

/* Titolo logo cliccabile — il link eredita lo stile del titolo */
.lt-logo-title a,
.lt-logo-title .elementor-heading-title a{
  color:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  font-family:inherit !important;
  letter-spacing:inherit !important;
  text-decoration:none !important;
}
.lt-logo-title a:hover{
  color:inherit !important;
  text-decoration:none !important;
}

/* =====================================================
   5) CARD GENERICA
   ===================================================== */
.lt-card {
  background: #fff;
  border: 1px solid var(--lt-border);
  border-radius: 12px;
  transition: 0.2s;
}
.lt-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(35, 75, 94, 0.14);
  border-color: transparent;
}


/* =====================================================
   6) BOTTONI
   ===================================================== */

/* ----------------------------------------------------- */
/* 6.0 — Base (sia atomic V4 sia classici)               */
/* ----------------------------------------------------- */
.elementor .e-button-base,
.elementor .e-button,
.elementor-button-wrapper .elementor-button,
.elementor .elementor-button {
  background-color: var(--lt-yellow) !important;
  color: #ffffff !important;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 15px !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  padding: 12px 22px !important;
  border-style: solid !important;
  border-width: 2px !important;
  border-color: transparent !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: background-color 0.15s, box-shadow 0.15s, border-color 0.15s, color 0.15s !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

/* Hover/focus/active default (giallo scuro) */
.elementor .e-button-base:hover,
.elementor .e-button-base:focus,
.elementor .e-button-base:active,
.elementor .e-button:hover,
.elementor .e-button:focus,
.elementor .e-button:active,
.elementor-button-wrapper .elementor-button:hover,
.elementor-button-wrapper .elementor-button:focus,
.elementor-button-wrapper .elementor-button:active,
.elementor .elementor-button:hover,
.elementor .elementor-button:focus,
.elementor .elementor-button:active {
  background-color: var(--lt-yellow-d) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  text-decoration: none !important;
  transform: none !important;
  scale: none !important;
  box-shadow: 0 6px 14px rgba(201, 162, 39, 0.35) !important;
}

/* Testo interno e icone — neutralizzano stili ereditati */
.elementor-button .elementor-button-text,
.elementor-button:hover .elementor-button-text {
  font-size: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  color: inherit !important;
}
.elementor-button .elementor-button-icon svg,
.elementor-button .elementor-button-icon i {
  font-size: 16px !important;
}


/* ----------------------------------------------------- */
/* 6.2 — VARIANTE WHITE (per sfondi SCURI)               */
/* Bianco pieno con testo navy, no bordo                 */
/* Uso: hero blu, form section, CTA scuri                */
/* ----------------------------------------------------- */
.lt-btn-white .elementor-button,
.lt-btn-white .e-button,
.lt-btn-white .e-button-base,
.elementor-widget-button.lt-btn-white .elementor-button,
.elementor-button.lt-btn-white {
  background-color: #ffffff !important;
  color: var(--lt-navy) !important;
  border-color: transparent !important;
}
.lt-btn-white .elementor-button:hover,
.lt-btn-white .elementor-button:focus,
.lt-btn-white .elementor-button:active,
.lt-btn-white .elementor-button:visited,
.lt-btn-white .e-button:hover,
.lt-btn-white .e-button-base:hover,
.elementor-widget-button.lt-btn-white .elementor-button:hover,
.elementor-button.lt-btn-white:hover,
.elementor-button.lt-btn-white:focus,
.elementor-button.lt-btn-white:active {
  background-color: var(--lt-bg) !important;
  color: var(--lt-navy) !important;
  border-color: transparent !important;
  box-shadow: 0 6px 14px rgba(35, 75, 94, 0.15) !important;
}


/* ----------------------------------------------------- */
/* 6.3 — VARIANTE OUTLINE (per sfondi CHIARI)            */
/* Sfondo bianco + bordo navy ? hover navy pieno         */
/* Uso: bottone nell'header, sezioni a sfondo bianco     */
/* ----------------------------------------------------- */
.lt-btn-outline .elementor-button,
.lt-btn-outline .e-button,
.lt-btn-outline .e-button-base,
.elementor-widget-button.lt-btn-outline .elementor-button,
.elementor-button.lt-btn-outline {
  background-color: #ffffff !important;
  color: var(--lt-navy) !important;
  border-color: var(--lt-navy) !important;
}
.lt-btn-outline .elementor-button:hover,
.lt-btn-outline .elementor-button:focus,
.lt-btn-outline .elementor-button:active,
.lt-btn-outline .elementor-button:visited,
.lt-btn-outline .e-button:hover,
.lt-btn-outline .e-button-base:hover,
.elementor-widget-button.lt-btn-outline .elementor-button:hover,
.elementor-button.lt-btn-outline:hover,
.elementor-button.lt-btn-outline:focus,
.elementor-button.lt-btn-outline:active {
  background-color: var(--lt-navy) !important;
  color: #ffffff !important;
  border-color: var(--lt-navy) !important;
  box-shadow: 0 6px 14px rgba(35, 75, 94, 0.25) !important;
}


/* ----------------------------------------------------- */
/* 6.4 — VARIANTE GHOST (per sfondi CHIARI)              */
/* Trasparente con bordo navy ? hover navy pieno         */
/* ----------------------------------------------------- */
.lt-btn-ghost .elementor-button,
.lt-btn-ghost .e-button,
.lt-btn-ghost .e-button-base,
.elementor-widget-button.lt-btn-ghost .elementor-button,
.elementor-button.lt-btn-ghost {
  background-color: transparent !important;
  color: var(--lt-navy) !important;
  border-color: var(--lt-navy) !important;
}
.lt-btn-ghost .elementor-button:hover,
.lt-btn-ghost .elementor-button:focus,
.lt-btn-ghost .elementor-button:active,
.lt-btn-ghost .elementor-button:visited,
.lt-btn-ghost .e-button:hover,
.lt-btn-ghost .e-button-base:hover,
.elementor-widget-button.lt-btn-ghost .elementor-button:hover,
.elementor-button.lt-btn-ghost:hover,
.elementor-button.lt-btn-ghost:focus,
.elementor-button.lt-btn-ghost:active {
  background-color: var(--lt-navy) !important;
  color: #ffffff !important;
  border-color: var(--lt-navy) !important;
}


/* ----------------------------------------------------- */
/* 6.5 — DIMENSIONI                                      */
/* ----------------------------------------------------- */
.lt-btn-lg .elementor-button,
.lt-btn-lg .e-button,
.lt-btn-lg .e-button-base,
.elementor-button.lt-btn-lg {
  padding: 14px 28px !important;
  font-size: 16px !important;
}
.lt-btn-lg .elementor-button:hover,
.elementor-button.lt-btn-lg:hover {
  font-size: 16px !important;
}

.lt-btn-sm .elementor-button,
.lt-btn-sm .e-button,
.lt-btn-sm .e-button-base,
.elementor-button.lt-btn-sm {
  padding: 8px 14px !important;
  font-size: 13px !important;
}
.lt-btn-sm .elementor-button:hover,
.elementor-button.lt-btn-sm:hover {
  font-size: 13px !important;
}


/* =====================================================
   7) CARD MEZZO
   ===================================================== */
.lt-mezzo {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden;
}
.lt-mezzo-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.lt-mezzo-foot {
  margin-top: auto !important;
}

/* Container foto: altezza fissa, immagine in cover */
.lt-mezzo-thumb {
  position: relative;
  height: 220px;
  overflow: hidden;
  background: var(--lt-bg);
}
.lt-mezzo-thumb > .e-con-inner,
.lt-mezzo-thumb .elementor-widget-image,
.lt-mezzo-thumb .elementor-widget-image > .elementor-widget-container {
  width: 100%;
  height: 100%;
}
.lt-mezzo-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
  transition: transform 0.4s ease;
}
.lt-mezzo:hover .lt-mezzo-thumb img {
  transform: scale(1.04);
}

/* Badge sopra la foto */
.lt-mezzo-badge {
  position: absolute !important;
  top: 12px;
  left: 12px;
  z-index: 3;
}

/* Specs table */
.lt-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 14px;
  font-size: 13px;
}
.lt-specs .k { color: var(--lt-muted); }
.lt-specs .v { color: var(--lt-ink); font-weight: 600; text-align: right; }


/* =====================================================
   8) PILL / BADGE
   ===================================================== */
.lt-pill {
  display: inline-block;
  background: #fff;
  color: var(--lt-navy);
  font-size: 11px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.lt-pill.lt-pill-yellow,
.lt-pill-yellow {
  background: var(--lt-yellow) !important;
  color: #fff !important;
  border: 0 !important;
}
.lt-pill-yellow * { color: #fff !important; }

.lt-pill.lt-pill-navy,
.lt-pill-navy {
  background: var(--lt-navy) !important;
  color: #fff !important;
  border: 0 !important;
}
.lt-pill-navy * { color: #fff !important; }


/* =====================================================
   9) SISTEMA ICONE (lt-ic)
   Combinare classi base + dimensione + variante.
   Es: lt-ic lt-ic-lg lt-ic-navy
   ===================================================== */

/* Base */
.elementor-widget.lt-ic,
.lt-ic {
  --ic-size: 18px;
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background: transparent;
  border: 0;
}

.elementor-widget.lt-ic .elementor-icon-wrapper,
.elementor-widget.lt-ic .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
.elementor-widget.lt-ic .elementor-icon {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
}

.elementor-widget.lt-ic svg,
.elementor-widget.lt-ic i,
.lt-ic svg, .lt-ic i {
  width: var(--ic-size) !important;
  height: var(--ic-size) !important;
  font-size: var(--ic-size) !important;
  fill: currentColor !important;
  color: inherit !important;
}

/* Dimensioni */
.lt-ic-sm { width: 32px !important; height: 32px !important; flex-basis: 32px !important; --ic-size: 14px; border-radius: 8px !important; }
.lt-ic-md { width: 40px !important; height: 40px !important; flex-basis: 40px !important; --ic-size: 18px; border-radius: 10px !important; }
.lt-ic-lg { width: 44px !important; height: 44px !important; flex-basis: 44px !important; --ic-size: 20px; border-radius: 10px !important; }
.lt-ic-xl { width: 56px !important; height: 56px !important; flex-basis: 56px !important; --ic-size: 26px; border-radius: 14px !important; }

/* Forma */
.lt-ic-circle { border-radius: 50% !important; }

/* Varianti colore */
.lt-ic-navy   { background: var(--lt-navy) !important; color: #fff !important; }
.lt-ic-yellow { background: var(--lt-yellow) !important; color: #fff !important; }
.lt-ic-green  { background: linear-gradient(135deg, #2F7D4F, #4bb374) !important; color: #fff !important; }
.lt-ic-flat   { background: transparent !important; border: 0 !important; color: var(--lt-yellow) !important; }

.lt-ic-yellow-soft,
.elementor-widget.lt-ic-yellow-soft {
  background: rgba(201, 162, 39, 0.28) !important;
  border: 1.5px solid rgba(201, 162, 39, 0.55) !important;
  color: #f0d97a !important;
}
.lt-ic-yellow-soft svg, .lt-ic-yellow-soft i,
.elementor-widget.lt-ic-yellow-soft svg,
.elementor-widget.lt-ic-yellow-soft i {
  fill: #f0d97a !important;
  color: #f0d97a !important;
}

.lt-ic-white-soft {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}

/* Logo circolare in header/footer */
.lt-logo-mark {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
}


/* =====================================================
   10) CONTATTI (lt-contact-text)
   ===================================================== */
.lt-contact-text,
.lt-contact-text p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}
.lt-contact-text b,
.lt-contact-text strong {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  display: block !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.lt-contact-text span {
  color: #d6dfeb !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  display: block !important;
  line-height: 1.3 !important;
  margin-top: 2px !important;
}
.lt-contact-text a {
  color: inherit !important;
  text-decoration: none !important;
}
.lt-contact-text a:hover {
  color: var(--lt-yellow) !important;
}


/* =====================================================
   11) FAQ — Nested Accordion Elementor
   ===================================================== */
.elementor-widget-n-accordion .e-n-accordion {
  border: 0 !important;
  background: transparent !important;
}

.elementor-widget-n-accordion .e-n-accordion-item {
  background: #fff;
  border: 1px solid var(--lt-border) !important;
  border-radius: 12px !important;
  margin-bottom: 12px !important;
  overflow: hidden;
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.elementor-widget-n-accordion .e-n-accordion-item[open] {
  border-color: var(--lt-yellow) !important;
  box-shadow: 0 4px 18px rgba(35, 75, 94, 0.08);
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
  padding: 18px 22px !important;
  cursor: pointer;
  background: transparent !important;
  display: flex;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center;
  text-align: left !important;
  gap: 16px;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-header {
  flex: 1 1 auto !important;
  order: 1 !important;
  text-align: left !important;
}
.elementor-widget-n-accordion .e-n-accordion-item-title-text {
  font-family: "Inter", sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: var(--lt-navy) !important;
  line-height: 1.4;
  text-align: left !important;
  width: 100%;
}
.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
  order: 2 !important;
  margin-left: 16px !important;
  flex-shrink: 0;
  color: var(--lt-yellow) !important;
}
.elementor-widget-n-accordion .e-n-accordion-item-title-icon svg {
  width: 16px;
  height: 16px;
  fill: var(--lt-yellow) !important;
}

.elementor-widget-n-accordion .e-n-accordion-item > .e-con {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.elementor-widget-n-accordion .e-n-accordion-item[open] > .e-con {
  padding: 0 22px 20px !important;
}
.elementor-widget-n-accordion .jet-listing-dynamic-field__content,
.elementor-widget-n-accordion .jet-listing-dynamic-field__content p {
  color: var(--lt-muted) !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 0 10px;
}
.elementor-widget-n-accordion .jet-listing-dynamic-field__content p:last-child {
  margin: 0;
}

.elementor-widget-n-accordion .e-n-accordion-item-title:focus-visible {
  outline: 2px solid var(--lt-yellow);
  outline-offset: -2px;
  border-radius: 12px;
}


/* =====================================================
   12) JET FORM BUILDER
   ===================================================== */
.elementor-widget-jet-form-builder-form .jet-form-builder {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
}
.jet-form-builder-row {
  margin: 0 !important;
  padding: 0 !important;
}

/* Label */
.jet-form-builder__label { margin-bottom: 6px !important; }
.jet-form-builder__label-text {
  font-family: "Inter", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #ffffff !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}
.jet-form-builder__field-wrap {
  margin: 0 !important;
  padding: 0 !important;
}

/* Input/select/textarea */
.jet-form-builder__field,
.jet-form-builder input.text-field,
.jet-form-builder input[type="text"],
.jet-form-builder input[type="email"],
.jet-form-builder input[type="tel"],
.jet-form-builder input[type="number"],
.jet-form-builder input[type="date"],
.jet-form-builder select,
.jet-form-builder textarea {
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid var(--lt-border) !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 15px !important;
  color: var(--lt-ink) !important;
  line-height: 1.4 !important;
  outline: 0 !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
  box-shadow: none !important;
}
.jet-form-builder__field:focus,
.jet-form-builder input:focus,
.jet-form-builder select:focus,
.jet-form-builder textarea:focus {
  border-color: var(--lt-yellow) !important;
  box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15) !important;
  background: #ffffff !important;
}
.jet-form-builder input::placeholder,
.jet-form-builder textarea::placeholder {
  color: var(--lt-muted) !important;
  opacity: 1;
}

/* WYSIWYG (note) — wrapper esterno tiene il bordo, interno azzerato */
.jet-form-builder .jet-form-builder__field.wysiwyg-field {
  background: #ffffff !important;
  border: 1px solid var(--lt-border) !important;
  border-radius: 8px !important;
  padding: 0 !important;
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}
.jet-form-builder .wysiwyg-field .wp-editor-wrap,
.jet-form-builder .wysiwyg-field .wp-editor-container,
.jet-form-builder .wysiwyg-field #wp-wp_editor_message-editor-container {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.jet-form-builder .wysiwyg-field .wp-editor-area,
.jet-form-builder .wysiwyg-field textarea {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 12px 14px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 15px !important;
  color: var(--lt-ink) !important;
  line-height: 1.5 !important;
  resize: vertical !important;
  outline: 0 !important;
  width: 100% !important;
  min-height: 100px !important;
}
.jet-form-builder .jet-form-builder__field.wysiwyg-field:focus-within {
  border-color: var(--lt-yellow) !important;
  box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15) !important;
}

/* Riga 2 colonne (wp-block-columns dentro form) */
.jet-form-builder .wp-block-columns {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  margin: 0 !important;
}
.jet-form-builder .wp-block-column {
  padding: 0 !important;
  margin: 0 !important;
  flex: none !important;
}

/* Bottone submit (centrato e giallo) */
.jet-form-builder .jet-form-builder__action-button-wrapper,
.jet-form-builder .jet-form-builder__submit-wrap {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}
.jet-form-builder .jet-form-builder__action-button,
.jet-form-builder .jet-form-builder__submit {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background: var(--lt-yellow) !important;
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  padding: 14px 28px !important;
  border: 2px solid transparent !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color 0.15s, box-shadow 0.15s !important;
  margin-top: 8px !important;
}
.jet-form-builder .jet-form-builder__action-button:hover,
.jet-form-builder .jet-form-builder__submit:hover {
  background: var(--lt-yellow-d) !important;
  box-shadow: 0 6px 14px rgba(201, 162, 39, 0.35) !important;
  transform: none !important;
}

/* Messaggi success/error */
.jet-form-builder-message {
  margin-top: 14px !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: "Inter", sans-serif !important;
}
.jet-form-builder-message--success {
  background: #d4edda !important; color: #155724 !important; border: 1px solid #c3e6cb !important;
}
.jet-form-builder-message--error {
  background: #f8d7da !important; color: #721c24 !important; border: 1px solid #f5c6cb !important;
}

/* Disclaimer/privacy sotto bottone */
.jet-form-builder .jet-form-builder__desc {
  font-size: 12px !important;
  color: #d6dfeb !important;
  margin-top: 6px !important;
}

/* ====================================================
   VARIANTE "CARD BIANCA" del form
   Aggiungi .lt-form-card al container del form
   ==================================================== */
.lt-form-card {
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}
.lt-form-card .jet-form-builder__label-text { color: var(--lt-navy) !important; }
.lt-form-card .jet-form-builder input,
.lt-form-card .jet-form-builder select,
.lt-form-card .jet-form-builder textarea,
.lt-form-card .jet-form-builder .wp-editor-area,
.lt-form-card .jet-form-builder__field.wysiwyg-field {
  background: var(--lt-bg) !important;
}
.lt-form-card .jet-form-builder input:focus,
.lt-form-card .jet-form-builder select:focus,
.lt-form-card .jet-form-builder textarea:focus,
.lt-form-card .jet-form-builder__field.wysiwyg-field:focus-within {
  background: #ffffff !important;
}
.lt-form-card .jet-form-builder__desc { color: var(--lt-muted) !important; }

/* Heading + sottotitolo card form */
.lt-form-title {
  font-family: "Inter", sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  color: var(--lt-navy) !important;
  line-height: 1.2 !important;
  margin: 0 0 6px !important;
}
.lt-form-sub,
.lt-form-sub p {
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--lt-muted) !important;
  line-height: 1.5 !important;
  margin: 0 0 22px !important;
}

/* Responsive */
@media (max-width: 767px) {
  .jet-form-builder .wp-block-columns {
    grid-template-columns: 1fr !important;
  }
}


/* =====================================================
   13) MENU WORDPRESS NEL FOOTER
   ===================================================== */
.elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu,
footer .elementor-nav-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.elementor-location-footer .elementor-nav-menu li,
footer .elementor-nav-menu li {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.elementor-location-footer .elementor-nav-menu a,
footer .elementor-nav-menu a {
  color: #aebbcc !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  transition: color 0.15s !important;
  font-style: normal !important;
}
.elementor-location-footer .elementor-nav-menu a:hover,
.elementor-location-footer .elementor-nav-menu a:focus,
footer .elementor-nav-menu a:hover,
.elementor-location-footer .elementor-nav-menu a.elementor-item-active,
footer .elementor-nav-menu a.elementor-item-active {
  color: var(--lt-yellow) !important;
  background: transparent !important;
  font-size: 14px !important;
  font-style: normal !important;
}
.elementor-location-footer .e--pointer-underline .elementor-item:before,
.elementor-location-footer .e--pointer-underline .elementor-item:after,
footer .elementor-nav-menu .elementor-item:before,
footer .elementor-nav-menu .elementor-item:after {
  display: none !important;
}


/* =====================================================
   14) STATS (numeri grandi nei hero)
   ===================================================== */
.lt-stats {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.lt-stats div b {
  color: #fff;
  font-size: 26px;
  font-weight: 800;
  display: block;
  letter-spacing: -0.02em;
  line-height: 1;
}
.lt-stats div span {
  color: #a8b5c7;
  font-size: 13px;
  display: block;
  margin-top: 4px;
}
footer.elementor-location-footer {
  border-top: 1px solid rgba(201, 162, 39, 0.3);
}


/* ===== 15. ITINERARIO SINGLE ===== */

/* Cover hero — la sezione Elementor ha già background image + overlay */
.lt-cover{position:relative;min-height:520px}
.lt-cover .elementor-container{position:relative;z-index:2}
.lt-cover h1{font-size:56px;line-height:1.05;letter-spacing:-.025em;font-weight:800;color:#fff;max-width:840px;margin:0 0 16px}
.lt-cover h1 em{font-style:italic;color:var(--lt-yellow);font-family:Georgia,serif;font-weight:400}

/* Meta bar sticky sotto cover */
.lt-meta-bar{background:#fff;border-bottom:1px solid var(--lt-border);padding:24px 0;position:sticky;top:84px;z-index:40;box-shadow:0 2px 6px rgba(35,75,94,.04)}
.lt-meta-bar-inner{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:18px;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px}
.lt-meta-it{display:flex;flex-direction:column;gap:2px}
.lt-meta-it .lbl{font-size:11px;color:var(--lt-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.lt-meta-it .val{font-size:18px;font-weight:700;color:var(--lt-navy);display:flex;align-items:center;gap:8px}

/* Lead box */
.lt-lead-box{background:var(--lt-bg);border-left:4px solid var(--lt-yellow);padding:24px 28px;border-radius:0 12px 12px 0;margin-bottom:32px}
.lt-lead-box p{font-size:18px;color:var(--lt-ink);line-height:1.6;margin:0;font-style:italic}

/* ---------- TAPPE TIMELINE ---------- */

/* Card esterna */
.lt-tappa,
.elementor-element.lt-tappa{
  display:flex !important;
  flex-direction:column !important;
  gap:10px;
  background:#fff;
  border:1px solid var(--lt-border);
  border-radius:12px;
  padding:20px 24px;
  transition:.2s;
  margin-bottom:18px;
}
.lt-tappa:hover{border-color:var(--lt-yellow);box-shadow:0 4px 18px rgba(35,75,94,.08)}

/* Riga 1: numero + titolo */
.lt-tappa-head,
.elementor-element.lt-tappa-head{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  gap:16px;
}

/* Cerchio numero — forza dimensioni anche sul widget Dynamic Field */
.lt-tappa-num,
.elementor-element.lt-tappa-num{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  flex:0 0 48px !important;
  border-radius:50% !important;
  background:var(--lt-navy) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden;
}
/* Tutti i wrapper interni del Dynamic Field devono riempire il cerchio e centrare il numero */
.lt-tappa-head .lt-tappa-num .elementor-widget-container,
.lt-tappa-head .lt-tappa-num .jet-listing,
.lt-tappa-head .lt-tappa-num .jet-listing-dynamic-field,
.lt-tappa-head .lt-tappa-num .jet-listing-dynamic-field__inline-wrap,
.lt-tappa-head .lt-tappa-num .jet-listing-dynamic-field__content{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  background:transparent !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:800 !important;
  line-height:1 !important;
  padding:0 !important;
  margin:0 !important;
}

/* Titolo nella head (Dynamic Field con tag H3) */
.lt-tappa-head h3,
.lt-tappa-head .elementor-widget-jet-listing-dynamic-field:not(.lt-tappa-num) .jet-listing-dynamic-field__content{
  margin:0 !important;
  font-size:18px !important;
  color:var(--lt-navy) !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}

/* Riga 2: meta posizione + durata (icone FontAwesome + testi) */
.lt-tappa-meta,
.elementor-element.lt-tappa-meta{
  display:flex !important;
  flex-direction:row !important;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
  font-size:13px;
  color:var(--lt-muted);
}
/* Icone dentro la meta-row → gialle e piccole */
.lt-tappa-meta .elementor-icon{
  color:var(--lt-yellow) !important;
  font-size:14px !important;
}
.lt-tappa-meta .elementor-icon i,
.lt-tappa-meta .elementor-icon svg{
  color:var(--lt-yellow) !important;
  fill:var(--lt-yellow) !important;
  width:14px !important;
  height:14px !important;
  font-size:14px !important;
}
/* Testo dei Dynamic Field nella meta */
.lt-tappa-meta .jet-listing-dynamic-field__content{
  color:var(--lt-muted) !important;
  font-size:13px !important;
  line-height:1.4 !important;
  margin:0 8px 0 0 !important;
}
/* Riduci/azzera lo spacer tra le due coppie icona+testo */
.lt-tappa-meta .elementor-widget-spacer{
  width:auto !important;
}
.lt-tappa-meta .elementor-widget-spacer .elementor-spacer-inner{
  width:16px !important;
  height:auto !important;
}

/* Riga 3: descrizione (Dynamic Field → renderizza un div, non un <p>) */
.lt-tappa > .e-con-inner > .elementor-widget-jet-listing-dynamic-field:last-child .jet-listing-dynamic-field__content,
.lt-tappa > .elementor-widget-jet-listing-dynamic-field:last-child .jet-listing-dynamic-field__content,
.lt-tappa p{
  margin:0 !important;
  color:var(--lt-ink) !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

/* ---------- MAPPA ---------- */
.lt-mappa{border-radius:14px;overflow:hidden;border:1px solid var(--lt-border);margin:24px 0 36px}
.lt-mappa iframe{display:block;width:100%;height:420px;border:0}
.lt-mappa-consent{position:relative;min-height:420px;background:linear-gradient(135deg,#cfe3d7,#a8c4d6);display:flex;align-items:center;justify-content:center}
.lt-mappa-overlay{padding:30px;text-align:center;max-width:440px}
.lt-mappa-overlay strong{display:block;font-size:18px;color:var(--lt-navy);margin-bottom:8px}
.lt-mappa-overlay p{font-size:14px;color:var(--lt-navy);margin:0 0 16px;line-height:1.5}
.lt-mappa-btn{background:var(--lt-yellow);color:#fff;border:0;padding:12px 22px;border-radius:8px;font-weight:600;cursor:pointer;font-family:inherit;font-size:15px}
.lt-mappa-btn:hover{background:var(--lt-yellow-d)}

/* ---------- TIPS ---------- */
.lt-tips{background:var(--lt-bg);border-radius:14px;padding:30px 32px;margin:32px 0}
.lt-tips h3{margin:0 0 16px;font-size:18px;color:var(--lt-navy);font-weight:800}
.lt-tips ul{margin:0;padding-left:22px;color:var(--lt-ink);font-size:15px;line-height:1.7;list-style:disc}
.lt-tips ul li{margin-bottom:8px}
.lt-tips ul li::marker{color:var(--lt-yellow);font-weight:800}

/* ---------- GALLERY ---------- */
.lt-gallery{margin:24px 0 36px}
.lt-gallery .elementor-image-gallery .gallery,
.lt-gallery .elementor-gallery,
.lt-gallery .jet-gallery,
.lt-gallery > div{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:14px !important;
}
.lt-gallery .gallery-item,
.lt-gallery .elementor-gallery-item,
.lt-gallery figure,
.lt-gallery .jet-gallery__item{
  margin:0 !important;
  width:100% !important;
  aspect-ratio:3/2;
  border-radius:10px;
  overflow:hidden;
  background:var(--lt-bg);
}
.lt-gallery img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
  transition:transform .4s ease;
}
.lt-gallery a:hover img,
.lt-gallery figure:hover img{transform:scale(1.05)}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .lt-cover{min-height:420px}
  .lt-cover h1{font-size:34px}
  .lt-meta-bar-inner{grid-template-columns:1fr 1fr}
  .lt-meta-bar-inner > *:last-child{grid-column:1/-1}
  .lt-gallery .elementor-image-gallery .gallery,
  .lt-gallery .elementor-gallery,
  .lt-gallery .jet-gallery,
  .lt-gallery > div{grid-template-columns:1fr 1fr !important}
}

/* ===== 16. CARD ITINERARIO (archivio) ===== */

/* --- Opzione A: riga meta semplice con separatori --- */
.lt-itin-meta,
.elementor-element.lt-itin-meta{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:13px;
  color:var(--lt-muted);
  margin:0;
}
/* Separatore "·" tra le voci (testi dei Dynamic Field) */
.lt-itin-meta .jet-listing-dynamic-field__content{
  position:relative;
  color:var(--lt-muted);
  font-size:15px;
  line-height:1.4;
}
/* Separatore "·" PRIMA di ogni dynamic field preceduto da un altro dynamic field */
.lt-itin-meta .elementor-widget-jet-listing-dynamic-field + .elementor-widget-jet-listing-dynamic-field .jet-listing-dynamic-field__content::before{
  content:"·";
  margin-right:8px;
  color:var(--lt-border);
  font-weight:700;
}

/* --- Opzione B: mini-pill (badge) per ogni voce --- */
.lt-itin-specs,
.elementor-element.lt-itin-specs{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
}
.lt-itin-specs .jet-listing-dynamic-field__content{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--lt-bg);
  border:1px solid var(--lt-border);
  border-radius:999px;
  padding:4px 12px;
  font-size:12px;
  font-weight:600;
  color:var(--lt-navy);
  line-height:1.2;
}
/* icone (se usi widget Icon prima di ogni dato) */
.lt-itin-specs .elementor-icon i,
.lt-itin-specs .elementor-icon svg{
  color:var(--lt-yellow) !important;
  fill:var(--lt-yellow) !important;
  width:13px !important;
  height:13px !important;
  font-size:13px !important;
}

/* Categoria sopra il titolo (eyebrow) */
.lt-itin-cat,
.elementor-element.lt-itin-cat{
  margin:0 0 6px !important;
}
.lt-itin-cat .jet-listing-dynamic-field__content,
.lt-itin-cat .jet-listing-dynamic-terms{
  color:var(--lt-yellow) !important;
  font-size:11px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.12em !important;
  line-height:1.2 !important;
}

/* ===== 17. HOMEPAGE ===== */

/* Hero: griglia testo + collage */
.lt-hero-home .e-con-inner,
.lt-hero-home > .elementor-container{
  display:grid !important;
  grid-template-columns:1fr 1.05fr !important;
  gap:56px !important;
  align-items:center !important;
}

/* Reassure line sotto i bottoni */
.lt-hero-reassure{color:#a8b5c7;font-size:13px;display:inline-flex;align-items:center;gap:6px}

/* ---- COLLAGE 5 tile ---- */
.lt-collage{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-template-rows:repeat(6,60px);
  gap:14px;
  position:relative;
}
.lt-collage .tile{
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.3);
  position:relative;
  transition:.3s;
}
.lt-collage .tile img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}
.lt-collage .tile:hover img{transform:scale(1.08)}
.lt-collage .tile .lbl{
  position:absolute;left:12px;bottom:12px;right:12px;
  color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;z-index:2;text-shadow:0 1px 8px rgba(0,0,0,.6);
}
.lt-collage .tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55) 100%);
  z-index:1;pointer-events:none;
}
.lt-collage .t1{grid-column:1 / span 4;grid-row:1 / span 4}
.lt-collage .t2{grid-column:5 / span 2;grid-row:1 / span 3}
.lt-collage .t3{grid-column:5 / span 2;grid-row:4 / span 3}
.lt-collage .t4{grid-column:1 / span 2;grid-row:5 / span 2}
.lt-collage .t5{grid-column:3 / span 2;grid-row:5 / span 2}

@media(max-width:900px){
  .lt-hero-home .e-con-inner,
  .lt-hero-home > .elementor-container{grid-template-columns:1fr !important;gap:36px !important}
  .lt-collage{grid-template-rows:repeat(6,42px)}
}

/* ===== 19. HOME — COME FUNZIONA ===== */
.lt-how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.lt-step{
  position:relative;
  padding:28px 24px 24px;
  background:#fff;
  border:1px solid var(--lt-border);
  border-radius:12px;
}
.lt-step .n{
  position:absolute;top:-18px;left:22px;
  width:40px;height:40px;border-radius:10px;
  background:var(--lt-yellow);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:17px;
  box-shadow:0 4px 10px rgba(201,162,39,.35);
}
.lt-step h4{margin:14px 0 6px;font-size:17px;color:var(--lt-navy);font-weight:700}
.lt-step p{margin:0;color:var(--lt-muted);font-size:14px}

/* Tablet: 2 colonne */
@media(max-width:1024px){
  .lt-how-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
}
/* Mobile: 1 colonna */
@media(max-width:767px){
  .lt-how-grid{grid-template-columns:1fr;gap:28px}
}

/* ===== 21. HOME — CTA STRIP ===== */
.lt-cta-strip{
  background:var(--lt-navy);
  color:#fff;
  text-align:center;
  padding:64px 24px;
  border-radius:12px;
  position:relative;
  overflow:hidden;
}
.lt-cta-strip::before{
  content:"";
  position:absolute;right:-100px;top:-100px;
  width:400px;height:400px;border-radius:50%;
  background:var(--lt-navy);
}
.lt-cta-strip > *{position:relative;z-index:1}
.lt-cta-strip h2{color:#fff !important;margin:0 0 10px;font-size:34px;font-weight:800;letter-spacing:-.02em}
.lt-cta-strip h2 em{font-style:italic;color:var(--lt-yellow);font-family:Georgia,serif;font-weight:400}
.lt-cta-strip p{color:#d6dfeb !important;margin:0 0 26px;font-size:17px}

@media(max-width:767px){
  .lt-cta-strip{padding:48px 20px}
  .lt-cta-strip h2{font-size:26px}
}

/* ===== 22. ARTICOLO SINGLE (Post nativi) ===== */

/* ---------- COVER ARTICOLO (stile itinerario) ---------- */
/* Riusa .lt-cover (sezione 15) per background image + min-height.
   Qui aggiungo solo gli elementi specifici dell'articolo sul cover. */

/* Pill categoria sul cover */
/* Pill categoria sul cover — colora SOLO l'etichetta, non il widget wrapper */
.lt-cover .lt-cat-pill{
  background:transparent !important;
  margin-bottom:18px;
}
.lt-cover .lt-cat-pill .jet-listing-dynamic-terms{
  display:inline-block;
  background:var(--lt-yellow);
  padding:5px 14px;
  border-radius:999px;
}
.lt-cover .lt-cat-pill .jet-listing-dynamic-terms,
.lt-cover .lt-cat-pill .jet-listing-dynamic-terms__link{
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:none !important;
}

/* Titolo sul cover (eredita .lt-cover h1 bianco già definito in sez.15) */
.lt-cover .lt-article-title{color:#fff !important;max-width:840px;margin:0 0 16px}
.lt-cover .lt-article-title em{font-style:italic;color:var(--lt-yellow);font-family:Georgia,serif;font-weight:400}

/* Meta riga (autore · data · lettura) in chiaro sul cover */
.lt-cover .lt-article-meta{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-size:14px;color:#e2ecef;
}
.lt-cover .lt-article-meta .sep{color:rgba(255,255,255,.4)}
.lt-cover .lt-article-meta .author-avatar{
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:13px;
}

/* ---------- SHARE BAR ---------- */
.lt-share-bar{padding:18px 0;border-bottom:1px solid var(--lt-border);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.lt-share-bar .reading-time{font-size:13px;color:var(--lt-muted)}

/* =====================================================
   CONTENUTO GUTENBERG — stile automatico
   Metti la classe .lt-article-content sul widget Post Content
   ===================================================== */
.lt-article-content{font-size:17px;line-height:1.8;color:var(--lt-ink)}
.lt-article-content p{margin:0 0 22px}
/* Lead automatico sul primo paragrafo (funziona sia con Dynamic Field sia con Post Content nativo) */
.lt-article-content .jet-listing-dynamic-field__content > p:first-of-type,
.lt-article-content .elementor-widget-container > p:first-of-type{
  font-size:20px;
  line-height:1.6;
  font-weight:500;
}

/* Titoli */
.lt-article-content h2{font-size:30px;color:var(--lt-navy);font-weight:800;letter-spacing:-.02em;margin:48px 0 18px;line-height:1.25}
.lt-article-content h2 em{font-style:italic;color:var(--lt-yellow);font-family:Georgia,serif;font-weight:400}
.lt-article-content h3{font-size:22px;color:var(--lt-navy);font-weight:700;margin:36px 0 14px}

/* Liste */
.lt-article-content ul,
.lt-article-content ol{font-size:17px;line-height:1.8;padding-left:24px;margin:0 0 22px}
.lt-article-content li{margin-bottom:8px}
.lt-article-content li::marker{color:var(--lt-yellow);font-weight:700}

/* Link e grassetti */
.lt-article-content a{color:var(--lt-yellow);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.lt-article-content a:hover{color:var(--lt-yellow-d)}
.lt-article-content strong{color:var(--lt-navy);font-weight:700}

/* IMMAGINI — angoli smussati automatici */
.lt-article-content img,
.lt-article-content .wp-block-image img,
.lt-article-content figure img{border-radius:12px;box-shadow:0 4px 18px rgba(35,75,94,.08);display:block}
.lt-article-content figure{margin:36px 0;text-align:center}
.lt-article-content figcaption{font-size:13px;color:var(--lt-muted);margin-top:10px;font-style:italic}

/* GALLERY nativa Gutenberg */
.lt-article-content .wp-block-gallery{display:grid;gap:14px;margin:36px 0}
.lt-article-content .wp-block-gallery.columns-2{grid-template-columns:repeat(2,1fr)}
.lt-article-content .wp-block-gallery.columns-3{grid-template-columns:repeat(3,1fr)}
.lt-article-content .wp-block-gallery .wp-block-image{margin:0}
.lt-article-content .wp-block-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:10px}

/* CITAZIONE → pull-quote */
.lt-article-content blockquote{
  border-left:4px solid var(--lt-yellow);
  background:var(--lt-bg);
  padding:24px 28px;
  border-radius:0 12px 12px 0;
  margin:36px 0;
  font-style:italic;
  font-size:20px;
  color:var(--lt-ink);
  line-height:1.5;
  font-weight:500;
}
.lt-article-content blockquote p{margin:0}
.lt-article-content blockquote cite{display:block;margin-top:10px;font-size:14px;color:var(--lt-muted);font-style:normal}

/* TABELLA comparativa */
.lt-article-content table{width:100%;border-collapse:collapse;margin:28px 0;font-size:15px}
.lt-article-content table th{background:var(--lt-navy);color:#fff;padding:14px 18px;text-align:left;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.lt-article-content table td{padding:14px 18px;border-bottom:1px solid var(--lt-border)}
.lt-article-content table tr:nth-child(even) td{background:var(--lt-bg)}

/* ---------- TAGS ---------- */
.lt-tags{padding:30px 0;border-top:1px solid var(--lt-border);border-bottom:1px solid var(--lt-border);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lt-tags .jet-listing-dynamic-terms a,
.lt-tags .lt-tag{background:var(--lt-bg);color:var(--lt-navy) !important;font-size:13px;padding:5px 12px;border-radius:999px;font-weight:600;transition:.15s;border:1px solid transparent;text-decoration:none}
.lt-tags .jet-listing-dynamic-terms a:hover,
.lt-tags .lt-tag:hover{background:var(--lt-yellow);color:#fff !important;border-color:var(--lt-yellow)}

/* ---------- AUTHOR BOX ---------- */
.lt-author-box{display:flex;gap:20px;align-items:center;padding:30px 0;border-bottom:1px solid var(--lt-border)}
.lt-author-box .avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--lt-yellow),var(--lt-yellow-d));color:#fff;font-weight:800;font-size:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lt-author-box h4{margin:0 0 4px;font-size:16px;color:var(--lt-navy);font-weight:700}
.lt-author-box p{margin:0;font-size:14px;color:var(--lt-muted);line-height:1.5}

@media(max-width:900px){
  .lt-article-title{font-size:32px}
  .lt-article-content{font-size:16px}
  .lt-article-content > p:first-of-type{font-size:17px}
  .lt-article-content .wp-block-gallery.columns-3{grid-template-columns:1fr 1fr}
}

/* ===== 23. PROCESS TIMELINE (step numerati orizzontali) ===== */
.lt-process{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin:40px 0;
}
.lt-process-step{
  position:relative;
  text-align:center;
  padding:0 16px;
}
/* Linea di collegamento tra un cerchio e il successivo */
.lt-process-step:not(:last-child)::after{
  content:"";
  position:absolute;
  top:28px;                      /* metà del cerchio (56/2) */
  left:calc(50% + 40px);         /* 28px raggio + 12px gap */
  width:calc(100% - 80px);       /* tolgo 40px per lato */
  height:2px;
  background:var(--lt-border);
  z-index:0;
}
/* Cerchio numero */
.lt-process-num{
  position:relative;
  z-index:1;
  width:56px;height:56px;
  border-radius:50%;
  background:var(--lt-navy);
  color:#fff;
  font-weight:800;
  font-size:22px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
}
.lt-process-step h4{margin:0 0 8px;font-size:18px;color:var(--lt-navy);font-weight:700}
.lt-process-step p{margin:0;color:var(--lt-muted);font-size:15px;line-height:1.5}

/* Tablet: 1 riga ma più stretto va comunque bene; mobile: colonna */
@media(max-width:768px){
  .lt-process{grid-template-columns:1fr;gap:32px}
  .lt-process-step:not(:last-child)::after{display:none}
}

/* ===== 24. WHATSAPP FLOATING BUTTON ===== */
.lt-wa{
  position:fixed; left:22px; bottom:22px; z-index:9990;
  display:inline-flex; align-items:center; gap:10px;
  background:#25D366;
  padding:12px 18px 12px 14px; border-radius:999px;
  box-shadow:0 6px 20px rgba(0,0,0,.25);
  text-decoration:none; font-family:"Inter",sans-serif;
  font-weight:600; font-size:15px;
  transition:transform .2s, box-shadow .2s;
}
.lt-wa,
.lt-wa:link,
.lt-wa:visited,
.lt-wa:hover,
.lt-wa:active{
  color:#fff !important;
}
.lt-wa .lt-wa-label{
  color:#fff !important;
  white-space:nowrap; position:relative; z-index:1;
}
.lt-wa:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(37,211,102,.45);
}
.lt-wa svg{
  width:26px; height:26px; flex-shrink:0;
  fill:#fff; position:relative; z-index:1;
}
.lt-wa::after{
  content:""; position:absolute; inset:0; border-radius:999px;
  box-shadow:0 0 0 0 rgba(37,211,102,.5);
  animation:lt-wa-pulse 2.4s infinite;
}
@keyframes lt-wa-pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}
  70%{box-shadow:0 0 0 14px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}
@media(max-width:767px){
  .lt-wa{padding:14px}
  .lt-wa .lt-wa-label{display:none}
  .lt-wa svg{width:28px; height:28px}
}

/* Link legali nel footer — sobri, giallo solo all'hover */
.lt-legal{
  font-size:13px;
  color:#7a8699;
}
.lt-legal a{
  color:#aebbcc !important;
  text-decoration:none !important;
  transition:color .15s;
}
.lt-legal a:hover{
  color:var(--lt-yellow) !important;
}/* End custom CSS */