.scanmap-ai-hero {
  position: relative;
  min-height: calc(100vh - var(--scanmap-top-h, 76px));
  overflow: hidden;
  padding: clamp(22px, 5vw, 52px) clamp(16px, 5vw, 64px);
  display: flex;
  align-items: center;
  isolation: isolate;
  background: #dfeef7;
}

.scanmap-campania-map {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 35% 20%, rgba(11,94,215,.25), transparent 26%),
    radial-gradient(circle at 75% 65%, rgba(24,199,164,.35), transparent 28%),
    linear-gradient(135deg, #cfefff, #eaf7ff);
}

.scanmap-map-frost {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 10% 75%, rgba(15, 213, 177, .40), transparent 30%),
    radial-gradient(circle at 95% 35%, rgba(61, 242, 153, .34), transparent 24%),
    linear-gradient(90deg, rgba(255,255,255,.72), rgba(255,255,255,.38));
  backdrop-filter: blur(2px);
}

.scanmap-ai-card {
  width: min(100%, 660px);
  border-radius: 34px;
  padding: clamp(20px, 4vw, 36px);
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 28px 90px rgba(3, 18, 48, .25);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.scanmap-tourism-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(255,255,255,.82);
  box-shadow: 0 10px 28px rgba(7,27,85,.10);
  color: #0a3a78;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: .01em;
  margin-bottom: 30px;
}

.scanmap-rotating-title {
  margin: 0 0 24px;
  color: #071b55;
  font-size: clamp(44px, 7vw, 68px);
  line-height: .98;
  letter-spacing: -3px;
  font-weight: 950;
}

.scanmap-rotating-title span {
  display: block;
  transition: opacity .24s ease, transform .24s ease;
}

.scanmap-rotating-title.is-changing span {
  opacity: 0;
  transform: translateY(8px);
}

.hero-title-accent {
  color: #0b5ed7;
}

.scanmap-hero-lead {
  margin: 0 0 30px;
  max-width: 600px;
  color: #071b55;
  font-size: clamp(17px, 2.1vw, 21px);
  line-height: 1.55;
  font-weight: 800;
  transition: opacity .24s ease, transform .24s ease;
}

.scanmap-hero-lead.is-changing {
  opacity: 0;
  transform: translateY(8px);
}

.scanmap-assistant-panel,
.scanmap-location-panel {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border-radius: 30px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.82);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.68), 0 14px 38px rgba(7,27,85,.12);
}

.scanmap-assistant-panel {
  margin-bottom: 18px;
}

.assistant-avatar {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 10px 24px rgba(7,27,85,.12);
}

.assistant-avatar img {
  width: 66px;
  height: 66px;
  object-fit: contain;
}

.assistant-copy h2,
.scanmap-location-panel h2 {
  margin: 0 0 4px;
  color: #071b55;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 950;
}

.assistant-copy p,
.scanmap-location-panel p {
  margin: 0;
  color: #12315d;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

.assistant-ask {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 64px 72px;
  gap: 12px;
  align-items: center;
}

.assistant-ask input {
  min-height: 58px;
  border: 0;
  outline: none;
  border-radius: 22px;
  padding: 0 22px;
  background: rgba(255,255,255,.78);
  color: #071b55;
  font-size: 16px;
  font-weight: 850;
}

.mic-btn,
.send-btn {
  min-height: 58px;
  border: 0;
  border-radius: 22px;
  color: #06184c;
  font-size: 24px;
  font-weight: 950;
  display: grid;
  place-items: center;
}

.mic-btn {
  background: #18c7a5;
}

.send-btn {
  background: #0b7cff;
  color: #fff;
}

.pin-icon {
  width: 72px;
  height: 72px;
  border-radius: 24px;
  background: #19c7a4;
  display: grid;
  place-items: center;
  font-size: 34px;
}

.wide-near-btn {
  grid-column: 1 / -1;
  min-height: 66px;
  border-radius: 22px;
  font-size: 22px;
  background: #19c7a4 !important;
  box-shadow: 0 14px 34px rgba(25,199,164,.24) !important;
}

.scanmap-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  margin-top: 18px;
}

.scanmap-quick-grid button {
  min-height: 64px;
  border: 1px solid rgba(255,255,255,.80);
  border-radius: 22px;
  background: rgba(255,255,255,.62);
  color: #071b55;
  font-size: 17px;
  font-weight: 950;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 12px 28px rgba(7,27,85,.08);
}

.scanmap-quick-grid button:hover {
  transform: translateY(-1px);
}

@media(max-width: 760px) {
  .scanmap-ai-hero {
    padding: 28px 12px;
    align-items: flex-start;
  }

  .scanmap-ai-card {
    border-radius: 30px;
    padding: 22px;
  }

  .scanmap-tourism-pill {
    font-size: 13px;
    padding: 10px 15px;
    margin-bottom: 24px;
  }

  .scanmap-rotating-title {
    font-size: clamp(39px, 11vw, 52px);
    letter-spacing: -2.2px;
  }

  .scanmap-hero-lead {
    font-size: 16px;
  }

  .scanmap-assistant-panel,
  .scanmap-location-panel {
    grid-template-columns: 58px 1fr;
    padding: 14px;
    border-radius: 26px;
  }

  .assistant-avatar,
  .pin-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
  }

  .assistant-avatar img {
    width: 54px;
    height: 54px;
  }

  .assistant-copy h2,
  .scanmap-location-panel h2 {
    font-size: 17px;
  }

  .assistant-copy p,
  .scanmap-location-panel p {
    font-size: 13px;
  }

  .assistant-ask {
    grid-template-columns: 1fr 54px 58px;
    gap: 8px;
  }

  .assistant-ask input,
  .mic-btn,
  .send-btn {
    min-height: 54px;
    border-radius: 18px;
  }

  .scanmap-quick-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .scanmap-quick-grid button {
    min-height: 58px;
    font-size: 14px;
    border-radius: 18px;
  }
}

/* Effetto zoom mondo → Campania */
.scanmap-campania-map {
  background: #061527;
}

.scanmap-campania-map .mapboxgl-canvas,
.scanmap-campania-map .leaflet-container {
  width: 100% !important;
  height: 100% !important;
}

.scanmap-campania-map .leaflet-tile-pane {
  filter: saturate(1.08) contrast(1.02);
}

.scanmap-campania-map .leaflet-control-container,
.scanmap-campania-map .mapboxgl-control-container {
  display: none !important;
}

.campania-map-marker {
  width: 28px;
  height: 28px;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg) scale(.2);
  background: var(--marker-color, #e63946);
  border: 3px solid #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.30);
  opacity: 0;
  animation: campaniaMarkerIn .55s ease forwards;
}

.campania-map-marker::after {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  left: 7px;
  top: 7px;
}

.leaflet-campania-marker {
  position: relative;
}

@keyframes campaniaMarkerIn {
  from {
    opacity: 0;
    transform: rotate(-45deg) scale(.2) translateY(12px);
  }
  to {
    opacity: 1;
    transform: rotate(-45deg) scale(1) translateY(0);
  }
}

/* Mapbox globe reale copiato come logica dalla landing attuale */
.scanmap-campania-map {
  background:#dcefff;
  filter:saturate(1.45) contrast(1.18) brightness(.88);
}

.scanmap-campania-map .mapboxgl-ctrl-bottom-left,
.scanmap-campania-map .mapboxgl-ctrl-bottom-right,
.scanmap-campania-map .mapboxgl-control-container {
  display:none!important;
}

.scanmap-campania-map .mapboxgl-canvas {
  width:100%!important;
  height:100%!important;
}

@keyframes campaniaMarkerIn {
  from {
    opacity:0;
    transform:rotate(-45deg) scale(.35) translateY(14px);
  }
  to {
    opacity:1;
    transform:rotate(-45deg) scale(1) translateY(0);
  }
}

/* =========================================================
   Sfondo Mapbox fisso come landing attuale map2
   ========================================================= */

.scanmap-globe-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: #dcefff;
  filter: saturate(1.45) contrast(1.18) brightness(.88);
  pointer-events: none;
}

.scanmap-globe-bg .mapboxgl-ctrl-bottom-left,
.scanmap-globe-bg .mapboxgl-ctrl-bottom-right,
.scanmap-globe-bg .mapboxgl-control-container {
  display: none !important;
}

.scanmap-globe-bg .mapboxgl-canvas {
  width: 100% !important;
  height: 100% !important;
}

.scanmap-globe-ambient {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.16), transparent 24%),
    radial-gradient(circle at 82% 38%, rgba(11,99,216,.30), transparent 34%),
    radial-gradient(circle at 18% 72%, rgba(18,185,143,.22), transparent 32%),
    linear-gradient(180deg, rgba(2,12,31,.34) 0%, rgba(2,18,42,.17) 36%, rgba(255,255,255,.24) 68%, rgba(255,255,255,.82) 100%);
}

/* La pagina e le sezioni devono stare sopra lo sfondo */
.scanmap-topbar,
main,
.footer,
.toast {
  position: relative;
  z-index: 5;
}

/* La hero non deve coprire la mappa con un fondo pieno */
.scanmap-ai-hero {
  background: transparent !important;
  isolation: auto !important;
}

.scanmap-map-frost,
.scanmap-campania-map {
  display: none !important;
}

/* Schede successive più leggibili sopra il map background */
.section,
.ai-box,
.business-box,
.affiliate-box,
.footer {
  position: relative;
  z-index: 5;
}

@keyframes campaniaMarkerIn {
  from {
    opacity: 0;
    transform: rotate(-45deg) scale(.35) translateY(14px);
  }
  to {
    opacity: 1;
    transform: rotate(-45deg) scale(1) translateY(0);
  }
}

/* =========================================================
   FIX 2026-06-26: navbar senza fascia vuota + globo Mapbox
   ========================================================= */

html,
body {
  margin: 0 !important;
}

body.scanmap-bozza-body {
  padding-top: var(--scanmap-top-h, 76px) !important;
  background: transparent !important;
}

/* La navbar deve restare fissa in alto: corregge la fascia vuota */
.scanmap-topbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 250001 !important;
}

/* Sfondo Mapbox, non statico: contenitore fisso, animazione gestita da JS */
.scanmap-globe-bg {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: #dcefff !important;
  filter: saturate(1.45) contrast(1.18) brightness(.88);
  pointer-events: none !important;
}

.scanmap-globe-bg .mapboxgl-canvas {
  width: 100% !important;
  height: 100% !important;
}

.scanmap-globe-bg .mapboxgl-ctrl-bottom-left,
.scanmap-globe-bg .mapboxgl-ctrl-bottom-right,
.scanmap-globe-bg .mapboxgl-control-container {
  display: none !important;
}

.scanmap-globe-ambient {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 50% 10%, rgba(255,255,255,.10), transparent 24%),
    radial-gradient(circle at 82% 38%, rgba(11,99,216,.18), transparent 34%),
    radial-gradient(circle at 18% 72%, rgba(18,185,143,.12), transparent 32%),
    linear-gradient(180deg, rgba(2,12,31,.22) 0%, rgba(2,18,42,.10) 36%, rgba(255,255,255,.16) 68%, rgba(255,255,255,.70) 100%);
}

/* La hero e il contenuto devono stare sopra la mappa */
main,
.scanmap-ai-hero,
.section,
.ai-box,
.business-box,
.affiliate-box,
.footer,
.toast {
  position: relative !important;
  z-index: 5 !important;
}

.scanmap-ai-hero {
  background: transparent !important;
  isolation: auto !important;
}

.scanmap-campania-map,
.scanmap-map-frost {
  display: none !important;
}

@keyframes campaniaMarkerIn {
  from {
    opacity: 0;
    transform: rotate(-45deg) scale(.35) translateY(14px);
  }
  to {
    opacity: 1;
    transform: rotate(-45deg) scale(1) translateY(0);
  }
}

/* =========================================================
   Glass effect più trasparente - valorizza lo sfondo Mapbox
   ========================================================= */

.scanmap-ai-card {
  background: rgba(255,255,255,.48) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.56),
    0 24px 80px rgba(3,18,48,.20) !important;
}

.scanmap-tourism-pill,
.scanmap-assistant-panel,
.scanmap-location-panel,
.scanmap-quick-grid button {
  background: rgba(255,255,255,.44) !important;
  border: 1px solid rgba(255,255,255,.66) !important;
  backdrop-filter: blur(14px) saturate(1.14) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.14) !important;
}

.assistant-ask input {
  background: rgba(255,255,255,.50) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* Card sezioni successive */
.zone-card,
.category,
.event-card,
.info-card,
.form-card,
.listing-preview {
  background: rgba(255,255,255,.58) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  backdrop-filter: blur(16px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.12) !important;
  box-shadow: 0 16px 44px rgba(3,18,48,.13) !important;
}

/* Blocchi grandi finali */
.ai-box,
.business-box,
.affiliate-box {
  background: rgba(255,255,255,.50) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.15) !important;
  box-shadow: 0 18px 52px rgba(3,18,48,.14) !important;
}

/* Alleggerisce i fondi pieni delle sezioni per far vedere la mappa */
.section {
  background: transparent !important;
}

/* Mantiene leggibilità testi sopra sfondo dinamico */
.scanmap-ai-card,
.zone-card,
.category,
.event-card,
.ai-box,
.business-box,
.affiliate-box,
.info-card,
.form-card {
  color: #06184c !important;
}

/* Footer leggermente trasparente ma ancora leggibile */
.footer {
  background: linear-gradient(
    135deg,
    rgba(6,24,76,.92),
    rgba(6,76,183,.84)
  ) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

/* Mobile: un po' meno trasparente per leggibilità */
@media(max-width: 760px) {
  .scanmap-ai-card {
    background: rgba(255,255,255,.56) !important;
  }

  .scanmap-assistant-panel,
  .scanmap-location-panel,
  .scanmap-quick-grid button,
  .zone-card,
  .category,
  .event-card,
  .ai-box,
  .business-box,
  .affiliate-box {
    background: rgba(255,255,255,.62) !important;
  }
}

/* =========================================================
   Scheda prioritaria: scegli zona / usa posizione
   ========================================================= */

.hero-zone-choice-panel {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 16px;
  align-items: center;
  padding: 18px;
  margin: 0 0 18px;
  border-radius: 30px;
  background: rgba(255,255,255,.46);
  border: 1px solid rgba(255,255,255,.70);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.60),
    0 16px 42px rgba(3,18,48,.14);
  backdrop-filter: blur(16px) saturate(1.14);
  -webkit-backdrop-filter: blur(16px) saturate(1.14);
}

.hero-zone-choice-icon {
  width: 74px;
  height: 74px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  font-size: 34px;
  background: linear-gradient(135deg, #0b7cff, #18c7a5);
  box-shadow: 0 14px 30px rgba(11,124,255,.22);
}

.hero-zone-choice-copy h2 {
  margin: 0 0 5px;
  color: #071b55;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 950;
}

.hero-zone-choice-copy p {
  margin: 0;
  color: #12315d;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

.hero-zone-choice-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.hero-zone-choice-actions .btn {
  min-height: 58px;
  border-radius: 20px;
  font-size: 17px;
  font-weight: 950;
}

.hero-zone-choice-actions .secondary {
  background: rgba(255,255,255,.58) !important;
  border: 2px solid rgba(11,94,215,.55) !important;
  color: #0b5ed7 !important;
  box-shadow: none !important;
}

.hero-zone-choice-status {
  grid-column: 1 / -1;
  margin: -2px 4px 0;
  min-height: 18px;
  color: #0b3b78;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 850;
}

@media(max-width: 760px) {
  .hero-zone-choice-panel {
    grid-template-columns: 58px 1fr;
    padding: 14px;
    border-radius: 26px;
    background: rgba(255,255,255,.58);
  }

  .hero-zone-choice-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    font-size: 28px;
  }

  .hero-zone-choice-copy h2 {
    font-size: 17px;
  }

  .hero-zone-choice-copy p {
    font-size: 13px;
  }

  .hero-zone-choice-actions {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .hero-zone-choice-actions .btn {
    min-height: 52px;
    border-radius: 18px;
    font-size: 15px;
  }
}

/* =========================================================
   Scheda prioritaria: scegli zona / usa posizione
   ========================================================= */

.hero-zone-choice-panel {
  display: grid;
  grid-template-columns: 74px 1fr;
  gap: 16px;
  align-items: center;
  padding: 18px;
  margin: 0 0 18px;
  border-radius: 30px;
  background: rgba(255,255,255,.46);
  border: 1px solid rgba(255,255,255,.70);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.60),
    0 16px 42px rgba(3,18,48,.14);
  backdrop-filter: blur(16px) saturate(1.14);
  -webkit-backdrop-filter: blur(16px) saturate(1.14);
}

.hero-zone-choice-icon {
  width: 74px;
  height: 74px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  font-size: 34px;
  background: linear-gradient(135deg, #0b7cff, #18c7a5);
  box-shadow: 0 14px 30px rgba(11,124,255,.22);
}

.hero-zone-choice-copy h2 {
  margin: 0 0 5px;
  color: #071b55;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 950;
}

.hero-zone-choice-copy p {
  margin: 0;
  color: #12315d;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 800;
}

.hero-zone-choice-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.hero-zone-choice-actions .btn {
  min-height: 58px;
  border-radius: 20px;
  font-size: 17px;
  font-weight: 950;
}

.hero-zone-choice-actions .secondary {
  background: rgba(255,255,255,.58) !important;
  border: 2px solid rgba(11,94,215,.55) !important;
  color: #0b5ed7 !important;
  box-shadow: none !important;
}

.hero-zone-choice-status {
  grid-column: 1 / -1;
  margin: -2px 4px 0;
  min-height: 18px;
  color: #0b3b78;
  font-size: 13px;
  line-height: 1.25;
  font-weight: 850;
}

@media(max-width: 760px) {
  .hero-zone-choice-panel {
    grid-template-columns: 58px 1fr;
    padding: 14px;
    border-radius: 26px;
    background: rgba(255,255,255,.58);
  }

  .hero-zone-choice-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    font-size: 28px;
  }

  .hero-zone-choice-copy h2 {
    font-size: 17px;
  }

  .hero-zone-choice-copy p {
    font-size: 13px;
  }

  .hero-zone-choice-actions {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .hero-zone-choice-actions .btn {
    min-height: 52px;
    border-radius: 18px;
    font-size: 15px;
  }
}

/* =========================================================
   Fix hero: una sola scheda scelta zona, niente blocchi laterali
   ========================================================= */

.scanmap-ai-card {
  width: min(100%, 650px) !important;
  max-width: 650px !important;
}

/* Se qualche residuo vecchio fosse ancora presente, non deve apparire */
.scanmap-assistant-panel,
.scanmap-location-panel,
.scanmap-quick-grid {
  display: none !important;
}

.hero-zone-choice-panel {
  width: 100% !important;
  margin-top: 22px !important;
  margin-bottom: 0 !important;
}

.hero-zone-choice-actions {
  width: 100% !important;
}

@media(max-width: 760px) {
  .scanmap-ai-card {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Fix duplicato scelta zona */
.scanmap-ai-card {
  width: min(100%, 650px) !important;
  max-width: 650px !important;
}

.hero-zone-choice-panel {
  width: 100% !important;
  margin-top: 24px !important;
  margin-bottom: 0 !important;
}

.scanmap-assistant-panel,
.scanmap-location-panel,
.scanmap-quick-grid {
  display: none !important;
}

@media(max-width: 760px) {
  .scanmap-ai-card {
    width: 100% !important;
    max-width: none !important;
  }
}

/* =========================================================
   Anteprima live mappa Salerno nella scheda ScanMAP
   ========================================================= */

.zone-map-preview {
  position: relative;
  width: 100%;
  height: 135px;
  border-radius: 13px;
  overflow: hidden;
  background:
    radial-gradient(circle at 40% 35%, rgba(11,94,215,.22), transparent 32%),
    linear-gradient(135deg, #dff4ff, #ffffff);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 10px 28px rgba(3,18,48,.10);
}

.zone-map-preview iframe {
  position: absolute;
  inset: 0;
  width: 420%;
  height: 420%;
  border: 0;
  transform: scale(.238);
  transform-origin: 0 0;
  pointer-events: none;
  filter: saturate(1.18) contrast(1.04) brightness(.98);
}

.zone-map-preview-overlay {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(6,24,76,.82);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}

.zone-map-preview-overlay span::before {
  content: "🗺️ ";
}

.zone-card.active .zone-map-preview {
  cursor: pointer;
}

@media(max-width: 760px) {
  .zone-map-preview {
    height: 160px;
  }
}

/* =========================================================
   Sezione ScanMAP attive: mostra solo le mappe realmente disponibili
   ========================================================= */

#zone .zone-grid-active-only {
  display: grid !important;
  grid-template-columns: minmax(280px, 520px) !important;
  justify-content: center !important;
  gap: 22px !important;
}

#zone .zone-grid-active-only .zone-card {
  width: 100% !important;
}

#zone .zone-grid-active-only .zone-map-preview,
#zone .zone-grid-active-only img {
  height: 210px !important;
}

@media(max-width: 760px) {
  #zone .zone-grid-active-only {
    grid-template-columns: 1fr !important;
  }

  #zone .zone-grid-active-only .zone-map-preview,
  #zone .zone-grid-active-only img {
    height: 170px !important;
  }
}

/* =========================================================
   Bottone itinerario nella scheda mappa attiva
   ========================================================= */

.active-map-itinerary-btn {
  width: 100% !important;
  margin-top: 10px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  text-align: center !important;
  background: rgba(255,255,255,.62) !important;
  color: #0b5ed7 !important;
  border: 2px solid rgba(11,94,215,.55) !important;
  box-shadow: 0 10px 24px rgba(11,94,215,.10) !important;
}

.active-map-itinerary-btn::before {
  content: "✨ ";
}

.active-map-itinerary-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.82) !important;
}

#zone .zone-grid-active-only .zone-card .btn + .active-map-itinerary-btn {
  display: flex !important;
}

@media(max-width: 760px) {
  .active-map-itinerary-btn {
    min-height: 48px !important;
    font-size: 14px !important;
  }
}

/* =========================================================
   Bottoni mappa attiva: itinerario + Assistente AI
   ========================================================= */

.active-map-itinerary-btn,
.active-map-ai-btn {
  width: 100% !important;
  margin-top: 10px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  text-align: center !important;
  background: rgba(255,255,255,.62) !important;
  color: #0b5ed7 !important;
  border: 2px solid rgba(11,94,215,.55) !important;
  box-shadow: 0 10px 24px rgba(11,94,215,.10) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.active-map-itinerary-btn::before {
  content: "✨ ";
}

.active-map-ai-btn::before {
  content: "🤖 ";
}

.active-map-itinerary-btn:hover,
.active-map-ai-btn:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.82) !important;
}

.active-map-ai-btn {
  background: rgba(11,94,215,.10) !important;
}

@media(max-width: 760px) {
  .active-map-itinerary-btn,
  .active-map-ai-btn {
    min-height: 48px !important;
    font-size: 14px !important;
  }
}

/* =========================================================
   Titolo scheda mappa attiva più visibile e centrato
   ========================================================= */

#zone .zone-card h3 {
  text-align: center !important;
  font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -1.5px !important;
  margin: 18px 0 12px !important;
  color: #06184c !important;
  text-shadow: 0 2px 10px rgba(255,255,255,.42) !important;
}

#zone .zone-card .status {
  display: flex !important;
  width: fit-content !important;
  margin: 0 auto 14px !important;
  justify-content: center !important;
}

#zone .zone-grid-active-only .zone-card {
  text-align: center !important;
  padding: 18px !important;
}

#zone .zone-grid-active-only .zone-card .btn,
#zone .zone-grid-active-only .zone-card .active-map-itinerary-btn,
#zone .zone-grid-active-only .zone-card .active-map-ai-btn {
  max-width: 420px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media(max-width: 760px) {
  #zone .zone-card h3 {
    font-size: 34px !important;
    margin-top: 16px !important;
  }
}

/* =========================================================
   Scheda iniziale hero centrata come la scheda mappa
   ========================================================= */

.scanmap-ai-hero {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.scanmap-ai-hero .scanmap-ai-card {
  margin-left: auto !important;
  margin-right: auto !important;
  justify-self: center !important;
  align-self: center !important;
  text-align: center !important;
}

.scanmap-ai-hero .scanmap-ai-card > * {
  margin-left: auto !important;
  margin-right: auto !important;
}

.scanmap-ai-hero #heroDynamicTitle,
.scanmap-ai-hero #heroDynamicLead {
  text-align: center !important;
}

.scanmap-ai-hero .hero-zone-choice-panel {
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
}

.scanmap-ai-hero .hero-zone-choice-copy {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.scanmap-ai-hero .hero-zone-choice-actions {
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

.scanmap-ai-hero .hero-zone-choice-actions .btn {
  justify-content: center !important;
  text-align: center !important;
}

@media(max-width: 760px) {
  .scanmap-ai-hero {
    align-items: flex-start !important;
  }

  .scanmap-ai-hero .scanmap-ai-card {
    width: calc(100% - 28px) !important;
    margin-top: 20px !important;
  }

  .scanmap-ai-hero .hero-zone-choice-actions {
    flex-direction: column !important;
  }

  .scanmap-ai-hero .hero-zone-choice-actions .btn {
    width: 100% !important;
  }
}

/* =========================================================
   Scheda Chiedi alla mappa: domande pertinenti alle mappe
   ========================================================= */

.ai-box .landing-ai-box-map-questions,
.landing-ai-box-map-questions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.ai-box .landing-ai-box-question,
.landing-ai-box-question {
  min-height: 52px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  box-shadow: 0 8px 22px rgba(3,18,48,.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  color: #06184c !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease !important;
}

.ai-box .landing-ai-box-question:hover,
.landing-ai-box-question:hover {
  transform: translateY(-2px) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 12px 28px rgba(3,18,48,.14) !important;
}

.landing-ai-box-question-icon {
  font-size: 18px !important;
  flex: 0 0 auto !important;
}

@media(max-width: 980px) {
  .ai-box .landing-ai-box-map-questions,
  .landing-ai-box-map-questions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width: 640px) {
  .ai-box .landing-ai-box-map-questions,
  .landing-ai-box-map-questions {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   Reset definitivo scheda Chiedi alla mappa
   ========================================================= */

.ai-box[data-ai-box-cleaned="1"] .landing-ai-box-map-questions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
  align-items: stretch !important;
}

.ai-box[data-ai-box-cleaned="1"] .landing-ai-box-question {
  min-height: 56px !important;
  padding: 12px 16px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.84) !important;
  border: 1px solid rgba(255,255,255,.9) !important;
  box-shadow: 0 8px 22px rgba(3,18,48,.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  color: #06184c !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;
  white-space: normal !important;
  overflow: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.ai-box[data-ai-box-cleaned="1"] .landing-ai-box-question:hover {
  background: rgba(255,255,255,.98) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(3,18,48,.14) !important;
}

.ai-box[data-ai-box-cleaned="1"] .landing-ai-box-question-icon {
  font-size: 18px !important;
  flex: 0 0 auto !important;
}

.ai-box[data-ai-box-cleaned="1"] .landing-ai-box-general {
  width: 100% !important;
  margin-top: 18px !important;
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  font-weight: 950 !important;
  text-align: center !important;
  text-decoration: none !important;
}

@media(max-width: 980px) {
  .ai-box[data-ai-box-cleaned="1"] .landing-ai-box-map-questions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width: 640px) {
  .ai-box[data-ai-box-cleaned="1"] .landing-ai-box-map-questions {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   Scheda Chiedi alla mappa: 6 domande, una per mappa
   ========================================================= */

.ai-box .quick-questions.landing-six-map-questions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.ai-box .landing-ai-map-question {
  min-height: 52px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(255,255,255,.84) !important;
  box-shadow: 0 8px 22px rgba(3,18,48,.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  color: #06184c !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease !important;
}

.ai-box .landing-ai-map-question:hover {
  transform: translateY(-2px) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 12px 28px rgba(3,18,48,.14) !important;
}

.ai-box .landing-ai-map-question-icon {
  font-size: 18px !important;
  flex: 0 0 auto !important;
}

.ai-box[data-six-map-questions="1"] .quick-questions button {
  display: none !important;
}

@media(max-width: 980px) {
  .ai-box .quick-questions.landing-six-map-questions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width: 640px) {
  .ai-box .quick-questions.landing-six-map-questions {
    grid-template-columns: 1fr !important;
  }
}


/* SCANMAP TOURISM LOGO PILL START */
.scanmap-tourism-pill.scanmap-tourism-logo-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 8px 22px !important;
  min-width: 218px !important;
  min-height: 54px !important;
  line-height: 1 !important;
  overflow: hidden !important;
}

.scanmap-tourism-pill.scanmap-tourism-logo-pill img.scanmap-tourism-logo-img {
  display: block !important;
  width: 190px !important;
  max-width: 100% !important;
  max-height: 45px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

@media (max-width: 640px) {
  .scanmap-tourism-pill.scanmap-tourism-logo-pill {
    min-width: 178px !important;
    min-height: 46px !important;
    padding: 7px 18px !important;
    margin-bottom: 24px !important;
  }

  .scanmap-tourism-pill.scanmap-tourism-logo-pill img.scanmap-tourism-logo-img {
    width: 160px !important;
    max-height: 38px !important;
  }
}
/* SCANMAP TOURISM LOGO PILL END */
