/* Bottone "Cerca sulla mappa" */
a.ai-cerca-sulla-mappa,
.ai-cerca-sulla-mappa {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  min-height: 48px !important;
  border-radius: 8px !important;
  border: 2px solid #0f9b8e !important;
  background: #fff !important;
  color: #0f9b8e !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none !important;
  position: relative !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
}

a.ai-cerca-sulla-mappa:hover,
.ai-cerca-sulla-mappa:hover {
  background: #0f9b8e !important;
  color: #fff !important;
}

.ai-home-action-bar.is-hidden-immobili {
  display: none !important;
}

.ai-home-cerca-hidden {
  display: none !important;
}

.ai-home-azzera {
  white-space: nowrap !important;
}

/* ========== DESKTOP ========== */
@media (min-width: 768px) {
  .ai-home-action-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 12px !important;
    margin-top: 16px !important;
    box-sizing: border-box !important;
  }

  .ai-home-action-left {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  .ai-home-action-center {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .ai-home-action-right {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }

  .ai-home-action-bar .ai-home-equal-btn,
  .ai-home-action-bar .ai-cerca-sulla-mappa,
  .ai-home-action-bar .ai-home-equal-btn .elementor-button {
    min-height: 48px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .ai-home-action-right .ai-cerca-sulla-mappa,
  .ai-home-action-right .ai-home-equal-btn,
  .ai-home-action-right .ai-home-equal-btn .elementor-button {
    min-width: 160px !important;
    flex: 0 0 auto;
  }

  .ai-home-action-left .ai-home-equal-btn,
  .ai-home-action-left .ai-home-equal-btn .elementor-button {
    min-width: 180px !important;
  }
}

/* ========== MOBILE ========== */
@media (max-width: 767px) {
  /* “Coso azzurro” home: centra + niente overflow a destra */
  html,
  body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  .ai-home-hero-shell,
  .elementor-element-5c9a552,
  .elementor-element-2320164 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .ai-home-hero-shell > .elementor-container,
  .elementor-element-5c9a552 > .elementor-container,
  .elementor-element-2320164 > .elementor-widget-wrap,
  .ai-home-hero-shell .elementor-widget-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  /* card bianca ricerca: piena larghezza utile, centrata */
  .ai-home-hero-shell .container,
  .elementor-element-5c9a552 .container,
  .elementor-element-2320164 .container,
  .form-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .ai-home-hero-shell .tabs,
  .elementor-element-5c9a552 .tabs,
  .elementor-element-2320164 .tabs {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .ai-home-action-bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    margin-top: 12px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    grid-template-columns: none !important;
  }

  .ai-home-action-left,
  .ai-home-action-center,
  .ai-home-action-right {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 10px !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .ai-home-action-left {
    order: 1;
  }

  .ai-home-action-center {
    order: 2;
  }

  .ai-home-action-right {
    order: 3;
  }

  /* tutti i CTA full-width, anche orphan Cerca se move fallisce */
  .ai-home-action-bar .ai-home-equal-btn,
  .ai-home-action-bar a.ai-cerca-sulla-mappa,
  .ai-home-action-bar .ai-cerca-sulla-mappa,
  .ai-home-action-bar .ai-home-equal-btn.elementor-button,
  .ai-home-action-bar .ai-home-equal-btn .elementor-button,
  .ai-home-action-bar .elementor-widget-button,
  .ai-home-action-bar .elementor-button-wrapper,
  .ai-home-action-bar .elementor-button-wrapper .elementor-button,
  .ai-home-action-bar .elementor-button-content-wrapper,
  .ai-home-cerca-orphan,
  .ai-home-cerca-orphan .elementor-button,
  .ai-home-cerca-orphan.elementor-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    flex: 0 0 auto !important;
    white-space: normal !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    line-height: 1.25 !important;
  }

  .ai-home-action-bar a.ai-cerca-sulla-mappa,
  .ai-home-action-bar .ai-cerca-sulla-mappa {
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.25 !important;
  }

  .ai-home-action-bar .ai-home-azzera,
  .ai-home-action-bar .ai-home-azzera a {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* se Cerca resta fuori barra (orphan), forza full-width comunque */
  .ai-home-cerca-orphan {
    display: flex !important;
    width: 100% !important;
  }
}
