/* SOURCE: front-page.php.css */
.tia-home-job {
  margin-top: 34px;
  margin-bottom: 26px;
}

.tia-home-job__box {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 310px;
  align-items: center;
  gap: 22px;
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 30px 32px;
  border-radius: 32px;
  background: linear-gradient(135deg, #ffffff 0%, #f2fff8 100%);
  border: 1px solid rgba(19, 165, 104, 0.22);
  box-shadow: 0 18px 44px rgba(6, 22, 71, 0.12);
  color: #061647;
  box-sizing: border-box;
  text-align: left;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.tia-home-job__box::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -90px;
  width: 230px;
  height: 230px;
  border-radius: 999px;
  background: rgba(19, 165, 104, 0.10);
  pointer-events: none;
}

.tia-home-job__icon {
  width: 66px;
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  background: #e1f7ed;
  color: #13a568;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.tia-home-job__icon::before {
  content: "✓";
  font-size: 34px;
  font-weight: 900;
  color: #13a568;
}

.tia-home-job__content {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.tia-home-job__label {
  display: inline-flex;
  align-items: center;
  margin: 0 0 10px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(19, 165, 104, 0.10);
  color: #0d8d59;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tia-home-job__content h2 {
  margin: 0 0 10px;
  padding: 0;
  font-size: clamp(26px, 2.4vw, 38px);
  line-height: 1.08;
  font-weight: 900;
  color: #061647;
  letter-spacing: -0.035em;
}

.tia-home-job__content p {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  color: #4d5b7c;
  max-width: 650px;
}

.tia-home-job__actions {
  display: flex;
  flex-direction: column;
  gap: 11px;
  width: 100%;
  position: relative;
  z-index: 1;
}

.tia-home-job__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px;
  padding: 14px 16px;
  border-radius: 18px;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

.tia-home-job__btn--primary {
  background: #13a568;
  color: #ffffff !important;
  border: 2px solid #13a568;
  box-shadow: 0 10px 22px rgba(19, 165, 104, 0.28);
}

.tia-home-job__btn--secondary {
  background: #ffffff;
  color: #0d8d59 !important;
  border: 2px solid #18a869;
}

.tia-home-job__btn--primary:hover {
  color: #ffffff !important;
  background: #11945e;
  border-color: #11945e;
}

.tia-home-job__btn--secondary:hover {
  color: #0d8d59 !important;
  background: #f2fff8;
}

.tia-home-guides {
  padding-top: 74px;
  padding-bottom: 72px;
}

.tia-home-guides__head {
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.tia-home-guides__head .tia-eyebrow {
  margin-bottom: 12px;
}

.tia-home-guides__head h2 {
  margin: 0 0 14px;
  color: #071747;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 900;
}

.tia-home-guides__head p {
  max-width: 760px;
  margin: 0 auto;
  color: #526173;
  font-size: 18px;
  line-height: 1.65;
}

.tia-home-guides__cta {
  margin-top: 38px;
  display: flex;
  justify-content: center;
}

.tia-home-guides__cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 26px;
  border-radius: 999px;
  background: #071747;
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(7, 23, 71, 0.18);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.tia-home-guides__cta a:hover {
  transform: translateY(-2px);
  background: #123c7c;
  box-shadow: 0 18px 38px rgba(7, 23, 71, 0.22);
  text-decoration: none !important;
}

.tia-home-pro {
  padding-top: 10px;
  padding-bottom: 76px;
}

.tia-home-pro__box {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr);
  gap: 22px;
  align-items: stretch;
}

.tia-home-pro__intro {
  padding: 38px 36px;
  border-radius: 30px;
  background: linear-gradient(135deg, #071747 0%, #123c7c 100%);
  color: #ffffff;
  box-shadow: 0 18px 44px rgba(7, 23, 71, 0.14);
}

.tia-home-pro__intro .tia-eyebrow {
  color: #93c5fd;
}

.tia-home-pro__intro h2 {
  margin: 12px 0 14px;
  color: #ffffff;
  font-size: clamp(34px, 3.6vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.tia-home-pro__intro p {
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: 18px;
  line-height: 1.6;
}

.tia-home-pro__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.tia-home-pro__card {
  display: flex;
  flex-direction: column;
  min-height: 230px;
  padding: 26px 24px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #dbe7fb;
  color: #071747;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(7, 23, 71, 0.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tia-home-pro__card:hover {
  transform: translateY(-3px);
  border-color: rgba(37, 99, 235, .28);
  box-shadow: 0 18px 36px rgba(7, 23, 71, 0.11);
  text-decoration: none !important;
}

.tia-home-pro__card span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  margin-bottom: 18px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef4ff;
  color: #2563eb;
  font-size: 13px;
  font-weight: 900;
}

.tia-home-pro__card h3 {
  margin: 0 0 10px;
  color: #071747;
  font-size: 24px;
  line-height: 1.12;
  letter-spacing: -0.025em;
}

.tia-home-pro__card p {
  margin: 0;
  color: #526173;
  font-size: 16px;
  line-height: 1.55;
}

.tia-search__row,
.tia-search__field {
  position: relative !important;
  z-index: 999998 !important;
}

.tia-search__suggestions,
.js-tia-city-results,
ul.ui-autocomplete,
.ui-autocomplete,
.pac-container,
.lp-auto-complete,
.lp-search-autocomplete,
.autocomplete-suggestions,
.autocomplete-results,
.typeahead__list,
.tt-menu,
.select2-dropdown {
  position: absolute !important;
  z-index: 999999 !important;
}

@media (max-width: 1020px) {
  .tia-home-pro__box {
    grid-template-columns: 1fr;
  }

  .tia-home-pro__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .tia-home-job__box {
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 560px;
    padding: 28px 24px 24px;
  }

  .tia-home-job__icon {
    width: 58px;
    height: 58px;
    border-radius: 20px;
  }

  .tia-home-job__icon::before {
    font-size: 30px;
  }

  .tia-home-job__content h2 {
    font-size: 27px;
  }

  .tia-home-pro__cards {
    grid-template-columns: 1fr;
  }

  .tia-home-pro__card {
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .tia-home-job {
    margin-top: 24px;
    margin-bottom: 24px;
  }

  .tia-home-job__box {
    max-width: 430px;
    padding: 24px 20px 22px;
    border-radius: 28px;
    background: linear-gradient(180deg, #ffffff 0%, #f2fff8 100%);
  }

  .tia-home-job__content h2 {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.12;
    letter-spacing: -0.02em;
  }

  .tia-home-job__content p {
    margin: 0 0 4px;
    font-size: 16px;
    line-height: 1.48;
  }

  .tia-home-job__actions {
    margin-top: 4px;
  }

  .tia-home-guides {
    padding-top: 48px;
    padding-bottom: 52px;
  }

  .tia-home-guides__head {
    text-align: left;
    margin-bottom: 24px;
  }

  .tia-home-guides__head h2 {
    font-size: 34px;
  }

  .tia-home-guides__head p {
    font-size: 16px;
  }

  .tia-home-guides__cta {
    margin-top: 28px;
  }

  .tia-home-guides__cta a {
    width: 100%;
  }

  .tia-home-pro {
    padding-top: 0;
    padding-bottom: 54px;
  }

  .tia-home-pro__intro {
    padding: 30px 24px;
    border-radius: 26px;
  }

  .tia-home-pro__intro h2 {
    font-size: 34px;
  }

  .tia-home-pro__intro p {
    font-size: 16px;
  }

  .tia-home-pro__card {
    padding: 24px 22px;
    border-radius: 22px;
  }
}

@media (max-width: 380px) {
  .tia-home-job__box {
    padding: 22px 17px 20px;
    border-radius: 24px;
  }

  .tia-home-job__content h2 {
    font-size: 22px;
  }

  .tia-home-job__content p,
  .tia-home-job__btn {
    font-size: 15px;
  }

  .tia-home-job__btn {
    min-height: 54px;
  }
}
/* ============================================================
   FIX HOMEPAGE - dropdown comuni sopra box lavoro
   Nessuno spostamento del box lavoro
   ============================================================ */

.tia-home-hero,
.tia-home-hero .tia-shell,
.tia-hero__grid,
.tia-hero__grid > div,
.tia-search,
.tia-search__row,
.tia-search__field {
  overflow: visible !important;
}

.tia-home-hero {
  position: relative !important;
  overflow: visible !important;
}

/* La griglia con ricerca deve stare sopra alla sezione lavoro */
.tia-hero__grid {
  position: relative !important;
  z-index: 10000 !important;
}

/* La ricerca deve creare il livello più alto */
.tia-search,
.tia-search__row,
.tia-search__field,
.js-tia-city-search {
  position: relative !important;
  z-index: 10001 !important;
}

/* Dropdown suggerimenti comuni */
.tia-search__suggestions,
.js-tia-city-results {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999999 !important;

  max-height: 285px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;

  background: #ffffff !important;
  border: 1px solid #dbe7fb !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.28) !important;
  padding: 8px !important;
}

/* Se hidden, resta nascosto */
.tia-search__suggestions[hidden],
.js-tia-city-results[hidden] {
  display: none !important;
}

/* Il box lavoro deve stare sotto al dropdown */
.tia-home-job {
  position: relative !important;
  z-index: 1 !important;
}

.tia-home-job__box {
  position: relative !important;
  z-index: 1 !important;
}

/* Importante: gli elementi interni del box lavoro non devono superare il dropdown */
.tia-home-job__box,
.tia-home-job__box *,
.tia-home-job__box::before,
.tia-home-job__box::after {
  z-index: auto !important;
}

/* Mobile */
@media (max-width: 767px) {
  .tia-search__suggestions,
  .js-tia-city-results {
    max-height: 245px !important;
    border-radius: 16px !important;
  }

  .tia-hero__grid {
    z-index: 10000 !important;
  }

  .tia-home-job {
    z-index: 1 !important;
  }
}
/* =========================================================
   TiAssisto - Sezione numeri homepage
   DEFINITIVO CORRETTO
   ========================================================= */

.tia-home-hero {
  position: relative !important;
  z-index: 1 !important;
  padding-bottom: 44px !important; /* spazio finale del blocco blu */
  overflow: visible !important;
}

.tia-stats {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0 !important;          /* niente risalita */
  padding: 34px 0 72px !important;   /* stacca bene dal blu */
  background: #edf4ff !important;
  overflow: visible !important;
}

.tia-stats .tia-shell {
  position: relative !important;
  z-index: 3 !important;
}

.tia-stats__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

/* Card */
.tia-stat {
  position: relative !important;
  min-height: 190px !important;
  padding: 26px 22px !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  border: 1px solid #dbe7fb !important;
  box-shadow: 0 10px 26px rgba(12, 34, 84, 0.06) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;

  transition: transform .2s ease, box-shadow .2s ease !important;
}

.tia-stat:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 30px rgba(12, 34, 84, 0.10) !important;
}

/* Numero */
.tia-stat strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 110px !important;
  min-height: 68px !important;
  margin: 0 auto 16px !important;
  padding: 10px 18px !important;

  border-radius: 20px !important;
  background: linear-gradient(180deg, #f4f8ff 0%, #e8f0ff 100%) !important;
  border: 1px solid #d6e2ff !important;

  color: #2457d6 !important; /* BLU */
  font-size: clamp(34px, 3.5vw, 52px) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  text-align: center !important;
}

/* Testo sotto */
.tia-stat span {
  display: block !important;
  max-width: 220px !important;
  margin: 0 auto !important;
  color: #071747 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* Ultima card evidenziata */
.tia-stat:last-child {
  background: linear-gradient(135deg, #13338f 0%, #2f67ff 100%) !important;
  border: none !important;
  box-shadow: 0 16px 34px rgba(27, 67, 170, 0.22) !important;
}

.tia-stat:last-child strong {
  background: transparent !important;
  border: none !important;
  min-width: auto !important;
  min-height: auto !important;
  padding: 0 !important;
  margin: 0 auto 14px !important;

  color: #ffffff !important;
  font-size: clamp(30px, 3.2vw, 48px) !important;
  line-height: 0.95 !important;
}

.tia-stat:last-child span {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* Tablet */
@media (max-width: 1080px) {
  .tia-home-hero {
    padding-bottom: 38px !important;
  }

  .tia-stats {
    padding: 28px 0 58px !important;
  }

  .tia-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .tia-stat {
    min-height: 176px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .tia-home-hero {
    padding-bottom: 28px !important;
  }

  .tia-stats {
    margin-top: 0 !important;
    padding: 22px 0 42px !important;
  }

  .tia-stats__grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .tia-stat {
    min-height: 150px !important;
    border-radius: 22px !important;
    padding: 22px 16px !important;
  }

  .tia-stat strong {
    min-width: 98px !important;
    min-height: 58px !important;
    font-size: 38px !important;
    margin-bottom: 12px !important;
  }

  .tia-stat span {
    font-size: 14px !important;
  }

  .tia-stat:last-child strong {
    font-size: 40px !important;
  }
}

/* ============================================================
   TiAssisto - Come funziona: card centrate definitive
   ============================================================ */

.tia-section .tia-center {
  text-align: center !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tia-section .tia-center h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tia-section .tia-center p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tia-steps {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.tia-step {
  min-height: 220px !important;
  padding: 34px 28px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  border: 1px solid #dbe7fb !important;
  box-shadow: 0 12px 30px rgba(7, 23, 71, 0.06) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
}

.tia-step__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  margin: 0 auto 18px !important;
  border-radius: 18px !important;
  background: #eef4ff !important;
  border: 1px solid #d6e2ff !important;
  font-size: 30px !important;
  line-height: 1 !important;
  text-align: center !important;
}

.tia-step h3 {
  width: 100% !important;
  margin: 0 0 14px !important;
  text-align: center !important;
  color: #071747 !important;
  font-size: 25px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

.tia-step p {
  max-width: 270px !important;
  margin: 0 auto !important;
  text-align: center !important;
  color: #52658f !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

.tia-step:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 40px rgba(7, 23, 71, 0.10) !important;
  border-color: #cbdcff !important;
}

/* =========================================================
   TiAssisto - Stats cliccabili homepage
   ========================================================= */

.tia-stats__grid .tia-stat:nth-child(1),
.tia-stats__grid .tia-stat:nth-child(2),
.tia-stats__grid .tia-stat:nth-child(3) {
  cursor: pointer !important;
}

.tia-stats__grid .tia-stat:nth-child(1)::after,
.tia-stats__grid .tia-stat:nth-child(2)::after,
.tia-stats__grid .tia-stat:nth-child(3)::after {
  content: "Vai" !important;
  position: absolute !important;
  right: 18px !important;
  bottom: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 44px !important;
  height: 28px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  border: 1px solid #d6e2ff !important;
  color: #2457d6 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  opacity: 0 !important;
  transform: translateY(5px) !important;
  transition: all .18s ease !important;
}

.tia-stats__grid .tia-stat:nth-child(1):hover::after,
.tia-stats__grid .tia-stat:nth-child(2):hover::after,
.tia-stats__grid .tia-stat:nth-child(3):hover::after {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.tia-stats__grid .tia-stat:nth-child(1):hover,
.tia-stats__grid .tia-stat:nth-child(2):hover,
.tia-stats__grid .tia-stat:nth-child(3):hover {
  border-color: #bcd0ff !important;
}

.tia-stats__grid .tia-stat[tabindex="0"]:focus {
  outline: 3px solid rgba(36, 87, 214, .25) !important;
  outline-offset: 4px !important;
}

@media (max-width: 980px) {
  .tia-steps {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .tia-step {
    min-height: 190px !important;
  }
}

@media (max-width: 767px) {
  .tia-step {
    min-height: 175px !important;
    padding: 28px 22px !important;
    border-radius: 20px !important;
  }

  .tia-step h3 {
    font-size: 22px !important;
  }

  .tia-step p {
    font-size: 15px !important;
  }
}
/* ============================================================
   TiAssisto - Hero homepage full width senza orientamento
   Titolo e ricerca larghi come box lavoro
   ============================================================ */

.tia-home-hero {
  padding-top: 72px !important;
  padding-bottom: 58px !important;
  overflow: visible !important;
}

.tia-home-hero .tia-hero__grid,
.tia-home-hero .tia-hero__grid--single {
  display: block !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.tia-home-hero .tia-hero__main-full {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

/* sicurezza: se l'aside resta per errore, viene nascosto */
.tia-home-hero .tia-orient {
  display: none !important;
}

/* Titolo più grande e importante */
.tia-home-hero h1 {
  max-width: 1060px !important;
  margin: 0 0 20px !important;
  color: #ffffff !important;
  font-size: clamp(58px, 6.2vw, 92px) !important;
  line-height: 0.98 !important;
  font-weight: 950 !important;
  letter-spacing: -0.065em !important;
}

/* Sottotitolo più largo */
.tia-home-hero .tia-hero__lead {
  max-width: 880px !important;
  margin: 0 0 30px !important;
  color: rgba(255,255,255,0.94) !important;
  font-size: 21px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

/* Barra ricerca grande come il box lavoro */
.tia-home-hero .tia-search {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 !important;
  padding: 18px !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  box-shadow: 0 18px 44px rgba(7, 23, 71, 0.16) !important;
  backdrop-filter: blur(8px) !important;
}

.tia-home-hero .tia-search__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 170px !important;
  gap: 14px !important;
  align-items: end !important;
}

.tia-home-hero .tia-search__field {
  width: 100% !important;
}

.tia-home-hero .tia-search input[type="text"],
.tia-home-hero .tia-search input[name="ti_city"] {
  width: 100% !important;
  min-height: 66px !important;
  border-radius: 20px !important;
  font-size: 18px !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

.tia-home-hero .tia-search button {
  width: 100% !important;
  min-height: 66px !important;
  border-radius: 20px !important;
  font-size: 20px !important;
  font-weight: 950 !important;
}

/* Ricerca rapida allineata alla barra */
.tia-home-hero .tia-search__quick--hero {
  max-width: 1120px !important;
  margin-top: 18px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.tia-home-hero .tia-search__quick--hero span {
  color: #ffffff !important;
  font-weight: 850 !important;
}

.tia-home-hero .tia-search__quick--hero a {
  min-height: 40px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.14) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  font-weight: 800 !important;
}

/* Box lavoro resta stessa larghezza, perfettamente allineato */
.tia-home-job__box {
  max-width: 1120px !important;
}

/* Tablet */
@media (max-width: 980px) {
  .tia-home-hero {
    padding-top: 54px !important;
    padding-bottom: 44px !important;
  }

  .tia-home-hero h1 {
    font-size: clamp(46px, 8vw, 68px) !important;
  }

  .tia-home-hero .tia-search__row {
    grid-template-columns: 1fr !important;
  }

  .tia-home-hero .tia-search button {
    min-height: 60px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .tia-home-hero {
    padding-top: 38px !important;
    padding-bottom: 34px !important;
  }

  .tia-home-hero h1 {
    font-size: 44px !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
  }

  .tia-home-hero .tia-hero__lead {
    font-size: 17px !important;
    margin-bottom: 22px !important;
  }

  .tia-home-hero .tia-search {
    padding: 14px !important;
    border-radius: 22px !important;
  }

  .tia-home-hero .tia-search input[type="text"],
  .tia-home-hero .tia-search input[name="ti_city"],
  .tia-home-hero .tia-search button {
    min-height: 58px !important;
    border-radius: 17px !important;
    font-size: 16px !important;
  }

  .tia-home-hero .tia-search__quick--hero {
    gap: 8px !important;
  }

  .tia-home-hero .tia-search__quick--hero a {
    min-height: 36px !important;
    padding: 0 13px !important;
    font-size: 13px !important;
  }
}
/* ============================================================
   TiAssisto - Hero mobile definitiva
   Titolo compatto + ricerca rapida ordinata
   ============================================================ */

@media (max-width: 767px) {

  .tia-home-hero {
    padding-top: 30px !important;
    padding-bottom: 34px !important;
  }

  .tia-home-hero .tia-shell,
  .tia-home-hero .tia-hero__grid,
  .tia-home-hero .tia-hero__grid--single,
  .tia-home-hero .tia-hero__main-full {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .tia-home-hero .tia-eyebrow {
    display: block !important;
    margin-bottom: 10px !important;
    font-size: 12px !important;
    letter-spacing: .12em !important;
    text-align: left !important;
  }

  .tia-home-hero h1 {
    max-width: 100% !important;
    margin: 0 0 16px !important;

    font-size: 42px !important;
    line-height: 1.02 !important;
    letter-spacing: -0.045em !important;
    text-align: left !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .tia-home-hero .tia-hero__lead {
    max-width: 100% !important;
    margin: 0 0 22px !important;

    font-size: 16px !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  /* Barra ricerca: resta grande ma più ordinata */
  .tia-home-hero .tia-search {
    width: 100% !important;
    max-width: 100% !important;
    padding: 13px !important;
    border-radius: 22px !important;
    margin: 0 !important;
  }

  .tia-home-hero .tia-search__row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .tia-home-hero .tia-search input[type="text"],
  .tia-home-hero .tia-search input[name="ti_city"] {
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 17px !important;
    font-size: 15.5px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .tia-home-hero .tia-search button {
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 17px !important;
    font-size: 17px !important;
  }

  /* Ricerca rapida mobile ordinata */
  .tia-home-hero .tia-search__quick,
  .tia-home-hero .tia-search__quick--hero {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    align-items: stretch !important;
  }

  .tia-home-hero .tia-search__quick span,
  .tia-home-hero .tia-search__quick--hero span {
    grid-column: 1 / -1 !important;
    display: block !important;
    width: 100% !important;
    margin-bottom: 2px !important;

    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-align: left !important;
  }

  .tia-home-hero .tia-search__quick a,
  .tia-home-hero .tia-search__quick--hero a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;

    background: rgba(255,255,255,.14) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .tia-home-hero .tia-search__quick a:last-child,
  .tia-home-hero .tia-search__quick--hero a:last-child {
    grid-column: 1 / -1 !important;
  }

  /* Box lavoro mobile: staccato meglio dalla ricerca rapida */
  .tia-home-job {
    margin-top: 24px !important;
  }

  .tia-home-job__box {
    border-radius: 22px !important;
  }
}

/* Mobile molto stretto */
@media (max-width: 380px) {
  .tia-home-hero h1 {
    font-size: 38px !important;
  }

  .tia-home-hero .tia-search__quick,
  .tia-home-hero .tia-search__quick--hero {
    grid-template-columns: 1fr !important;
  }

  .tia-home-hero .tia-search__quick a:last-child,
  .tia-home-hero .tia-search__quick--hero a:last-child {
    grid-column: auto !important;
  }
}
/* ============================================================
   TiAssisto - Ricerca rapida hero: testo centrato negli ovali
   ============================================================ */

.tia-home-hero .tia-search__quick,
.tia-home-hero .tia-search__quick--hero {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.tia-home-hero .tia-search__quick span,
.tia-home-hero .tia-search__quick--hero span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.tia-home-hero .tia-search__quick a,
.tia-home-hero .tia-search__quick--hero a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 38px !important;
  height: 38px !important;
  padding: 0 17px !important;

  border-radius: 999px !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;

  font-size: 14px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

/* Correzione specifica se il tema mette line-height o padding strani */
.tia-home-hero .tia-search__quick a *,
.tia-home-hero .tia-search__quick--hero a * {
  line-height: 1 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Mobile: ricerca rapida ordinata e centrata */
@media (max-width: 767px) {
  .tia-home-hero .tia-search__quick,
  .tia-home-hero .tia-search__quick--hero {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    align-items: stretch !important;
    margin-top: 16px !important;
  }

  .tia-home-hero .tia-search__quick span,
  .tia-home-hero .tia-search__quick--hero span {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: auto !important;
    height: auto !important;
    margin-bottom: 2px !important;
    line-height: 1.2 !important;
  }

  .tia-home-hero .tia-search__quick a,
  .tia-home-hero .tia-search__quick--hero a {
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 10px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1.1 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .tia-home-hero .tia-search__quick a:last-child,
  .tia-home-hero .tia-search__quick--hero a:last-child {
    grid-column: 1 / -1 !important;
  }
}
/* =========================================
   TiAssisto - Ricerca rapida centrata
   ========================================= */

.tia-home-hero .tia-search__quick,
.tia-home-hero .tia-search__quick--hero {
  width: 100%;
  max-width: 960px;              /* uguale circa alla barra */
  margin: 18px auto 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;   /* centra tutto */
  align-items: center !important;
  gap: 10px !important;
  text-align: center !important;
}

.tia-home-hero .tia-search__quick span,
.tia-home-hero .tia-search__quick--hero span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 4px 0 0 !important;
  line-height: 1 !important;
  font-weight: 700 !important;
}

.tia-home-hero .tia-search__quick a,
.tia-home-hero .tia-search__quick--hero a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Mobile */
@media (max-width: 767px) {
  .tia-home-hero .tia-search__quick,
  .tia-home-hero .tia-search__quick--hero {
    max-width: 100% !important;
    margin: 16px auto 0 auto !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 4px !important;
  }

  .tia-home-hero .tia-search__quick span,
  .tia-home-hero .tia-search__quick--hero span {
    width: 100% !important;
    margin: 0 0 6px 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .tia-home-hero .tia-search__quick a,
  .tia-home-hero .tia-search__quick--hero a {
    min-height: 40px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
  }
}
/* ============================================================
   TiAssisto - Pulsanti regioni centrati
   ============================================================ */

.tia-home-regions a,
.tia-regions a,
.tia-region-section a,
.tia-region-grid a,
.tia-regions__grid a,
.tia-home-regions .tia-region-card,
.tia-regions .tia-region-card,
.tia-region-section .tia-region-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 10px !important;
  text-align: center !important;

  min-height: 54px !important;
  padding: 0 18px !important;
}

/* Pallino blu + testo centrati insieme */
.tia-home-regions a::before,
.tia-regions a::before,
.tia-region-section a::before,
.tia-region-grid a::before,
.tia-regions__grid a::before {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

/* Testo regione */
.tia-home-regions a span,
.tia-regions a span,
.tia-region-section a span,
.tia-region-grid a span,
.tia-regions__grid a span {
  display: inline-block !important;
  text-align: center !important;
  margin: 0 !important;
}

/* Griglia regioni centrata nella pagina */
.tia-home-regions .tia-region-grid,
.tia-regions .tia-region-grid,
.tia-region-section .tia-region-grid,
.tia-regions__grid {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-items: stretch !important;
}

/* Se il tema usa liste */
.tia-home-regions li a,
.tia-regions li a,
.tia-region-section li a {
  justify-content: center !important;
}

/* Mobile */
@media (max-width: 767px) {
  .tia-home-regions a,
  .tia-regions a,
  .tia-region-section a,
  .tia-region-grid a,
  .tia-regions__grid a {
    min-height: 50px !important;
    justify-content: center !important;
    text-align: center !important;
  }
}
/* ============================================================
   TiAssisto - Regioni: pallino accanto alla scritta e tutto centrato
   ============================================================ */

.tia-home-regions .tia-region-grid a,
.tia-regions .tia-region-grid a,
.tia-region-section .tia-region-grid a,
.tia-region-grid a,
.tia-regions__grid a {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 10px !important;
  text-align: center !important;

  min-height: 54px !important;
  padding: 0 18px !important;

  white-space: nowrap !important;
}

/* Pallino blu accanto al testo, NON a sinistra */
.tia-home-regions .tia-region-grid a::before,
.tia-regions .tia-region-grid a::before,
.tia-region-section .tia-region-grid a::before,
.tia-region-grid a::before,
.tia-regions__grid a::before {
  content: "" !important;

  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;

  display: inline-block !important;
  flex: 0 0 12px !important;

  width: 12px !important;
  height: 12px !important;
  margin: 0 !important;

  border-radius: 999px !important;
  background: #4a8cff !important;
  box-shadow: 0 0 0 4px rgba(74, 140, 255, 0.14) !important;
}

/* Testo regione */
.tia-home-regions .tia-region-grid a span,
.tia-regions .tia-region-grid a span,
.tia-region-section .tia-region-grid a span,
.tia-region-grid a span,
.tia-regions__grid a span {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;

  text-align: center !important;
  line-height: 1.1 !important;
}

/* Se il nome regione è testo diretto nell'a, resta comunque centrato */
.tia-home-regions .tia-region-grid a *,
.tia-regions .tia-region-grid a *,
.tia-region-section .tia-region-grid a *,
.tia-region-grid a *,
.tia-regions__grid a * {
  position: relative !important;
  z-index: 2 !important;
}

/* Mobile */
@media (max-width: 767px) {
  .tia-home-regions .tia-region-grid a,
  .tia-regions .tia-region-grid a,
  .tia-region-section .tia-region-grid a,
  .tia-region-grid a,
  .tia-regions__grid a {
    min-height: 50px !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 0 14px !important;
  }

  .tia-home-regions .tia-region-grid a::before,
  .tia-regions .tia-region-grid a::before,
  .tia-region-section .tia-region-grid a::before,
  .tia-region-grid a::before,
  .tia-regions__grid a::before {
    width: 11px !important;
    height: 11px !important;
    flex-basis: 11px !important;
  }
}
/* ==========================================================
   TiAssisto - Banner segnala struttura home ufficiale
   ========================================================== */

.ta-suggest-structure-banner {
  width: 100%;
  padding: 42px 0 28px;
  background: #eef5ff;
}

.ta-suggest-structure-banner__inner {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;

  padding: 30px 34px;

  border-radius: 30px;
  border: 1px solid #d7e6fb;

  background:
    radial-gradient(circle at 92% 18%, rgba(22, 163, 111, .16), transparent 30%),
    radial-gradient(circle at 8% 20%, rgba(74, 140, 255, .14), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);

  box-shadow: 0 24px 60px rgba(15, 39, 89, .10);
  position: relative;
  overflow: hidden;
}

.ta-suggest-structure-banner__inner::after {
  content: "";
  position: absolute;
  right: -90px;
  top: -95px;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: rgba(20, 184, 116, .10);
  pointer-events: none;
}

.ta-suggest-structure-banner__icon {
  position: relative;
  z-index: 2;

  width: 86px;
  height: 86px;
  min-width: 86px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 26px;
  background: linear-gradient(135deg, #eaf2ff 0%, #dcfce7 100%);
  border: 1px solid #cfe0fb;

  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}

.ta-suggest-structure-banner__icon span {
  font-size: 42px;
  line-height: 1;
}

.ta-suggest-structure-banner__content {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.ta-suggest-structure-banner__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 32px;
  padding: 0 14px;
  margin-bottom: 10px;

  border-radius: 999px;
  background: #eaf2ff;
  color: #2463eb;

  font-size: 12px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ta-suggest-structure-banner h2 {
  margin: 0 0 10px;

  color: #071747;
  font-size: clamp(31px, 3.2vw, 46px);
  line-height: 1.02;
  font-weight: 950;
  letter-spacing: -0.045em;
}

.ta-suggest-structure-banner p {
  max-width: 760px;
  margin: 0 0 16px;

  color: #52658f;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 500;
}

.ta-suggest-structure-banner__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ta-suggest-structure-banner__chips span {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  min-height: 38px;
  padding: 0 13px;

  border-radius: 999px;
  background: #f1f6ff;
  border: 1px solid #dbe8fb;

  color: #071747;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.ta-suggest-structure-banner__chips i {
  width: 22px;
  height: 22px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;
  background: #dcfce7;
  color: #079455;

  font-style: normal;
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
}

.ta-suggest-structure-banner__action {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
}

.ta-suggest-structure-banner__btn {
  min-height: 60px;
  padding: 0 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;

  border-radius: 18px;
  background: linear-gradient(135deg, #13a66a 0%, #0bb46d 100%);
  color: #ffffff !important;

  text-decoration: none !important;
  font-size: 17px;
  line-height: 1;
  font-weight: 950;
  white-space: nowrap;

  box-shadow: 0 18px 34px rgba(13, 166, 98, .26);
  transition: transform .18s ease, box-shadow .18s ease;
}

.ta-suggest-structure-banner__btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 40px rgba(13, 166, 98, .34);
}

.ta-suggest-structure-banner__btn b {
  font-size: 23px;
  line-height: 1;
}

/* Tablet */
@media (max-width: 980px) {
  .ta-suggest-structure-banner__inner {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .ta-suggest-structure-banner__action {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .ta-suggest-structure-banner {
    padding: 32px 0 22px;
  }

  .ta-suggest-structure-banner__inner {
    width: calc(100% - 32px);
    grid-template-columns: 1fr;
    gap: 18px;

    padding: 24px 20px;
    border-radius: 26px;
    text-align: left;
  }

  .ta-suggest-structure-banner__icon {
    width: 70px;
    height: 70px;
    min-width: 70px;
    border-radius: 22px;
  }

  .ta-suggest-structure-banner__icon span {
    font-size: 34px;
  }

  .ta-suggest-structure-banner__eyebrow {
    font-size: 11px;
    letter-spacing: .10em;
    margin-bottom: 12px;
  }

  .ta-suggest-structure-banner h2 {
    font-size: 34px;
    line-height: 1.04;
    margin-bottom: 12px;
  }

  .ta-suggest-structure-banner p {
    font-size: 16px;
    line-height: 1.58;
    margin-bottom: 18px;
  }

  .ta-suggest-structure-banner__chips {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .ta-suggest-structure-banner__chips span {
    min-height: 44px;
    justify-content: flex-start;
    white-space: normal;
  }

  .ta-suggest-structure-banner__action {
    justify-content: stretch;
  }

  .ta-suggest-structure-banner__btn {
    width: 100%;
    min-height: 58px;
    font-size: 16px;
    border-radius: 17px;
  }
}

/* SOURCE: page-cerca.php.css */
.tia-search-portal {
      --tia-search-blue: #2457e6;
      --tia-search-navy: #071943;
      --tia-search-border: #d5e1f3;
      --tia-search-shadow: 0 16px 42px rgba(13, 38, 76, .10);
      overflow: visible !important;
    }

    /*
     * La mappa ufficiale è quella richiamata direttamente da questo template.
     * Eventuali vecchie copie auto-iniettate non devono comparire.
     */
    .tia-auto-map-holder {
      display: none !important;
    }

    .tia-search-portal .tia-archive__top {
      margin-bottom: 24px !important;
    }

    .tia-search-portal .tia-archive__top h1 {
      max-width: 1000px !important;
    }

    .tia-search-portal .tia-archive__lead {
      max-width: 860px !important;
      line-height: 1.62 !important;
    }

    .tia-search-portal-stage {
      position: relative !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      width: min(1580px, calc(100vw - 32px)) !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-search-portal-columns {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) clamp(350px, 24vw, 420px) !important;
      gap: 22px !important;
      align-items: start !important;
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-search-portal-columns.is-map-missing {
      grid-template-columns: minmax(0, 1fr) !important;
      max-width: 1180px !important;
      margin: 0 auto !important;
    }

    .tia-search-portal-main,
    .tia-search-map-panel {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .tia-search-mobile-tools {
      display: none;
    }

    .tia-search-portal .tia-compare-layout {
      display: grid !important;
      grid-template-columns: clamp(210px, 15vw, 245px) minmax(0, 1fr) !important;
      gap: 20px !important;
      align-items: start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-search-portal .tia-filter-panel {
      position: sticky !important;
      top: 96px !important;
      align-self: start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      padding: 20px;
      border-radius: 22px;
      background: #fff;
      border: 1px solid #dbe7fb;
      box-shadow: 0 14px 35px rgba(13, 38, 76, .06);
      box-sizing: border-box !important;
    }

    .tia-search-portal .tia-filter-panel__head {
      margin-bottom: 16px;
    }

    .tia-search-portal .tia-filter-panel__eyebrow {
      margin: 0 0 6px;
      color: #2563eb;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .tia-search-portal .tia-filter-panel h2 {
      margin: 0;
      color: #071747;
      font-size: 24px;
      line-height: 1.1;
      letter-spacing: -.03em;
    }

    .tia-search-portal .tia-filter-group {
      padding: 16px 0;
      border-top: 1px solid #e5edf9;
    }

    .tia-search-portal .tia-filter-group h3 {
      margin: 0 0 11px;
      color: #071747;
      font-size: 15px;
      font-weight: 900;
    }

    .tia-search-portal .tia-filter-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 0 0 10px;
      color: #253657;
      font-size: 14px;
      line-height: 1.35;
      font-weight: 750;
      cursor: pointer;
    }

    .tia-search-portal .tia-filter-check input {
      width: 18px;
      height: 18px;
      margin-top: 0;
      accent-color: #2563eb;
      flex: 0 0 auto;
    }

    .tia-search-portal .tia-filter-actions {
      display: grid;
      gap: 9px;
      margin-top: 4px;
    }

    .tia-search-portal .tia-filter-actions button,
    .tia-search-portal .tia-filter-actions a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 10px 14px;
      border-radius: 13px;
      font-size: 14px;
      font-weight: 900;
      text-decoration: none !important;
      cursor: pointer;
    }

    .tia-search-portal .tia-filter-actions button {
      border: 1px solid #2563eb;
      background: #2563eb;
      color: #fff;
    }

    .tia-search-portal .tia-filter-actions a {
      border: 1px solid #dbe7fb;
      background: #f8fbff;
      color: #1d4ed8;
    }

    .tia-search-portal .tia-compare-results,
    .tia-search-portal .tia-card-grid,
    .tia-search-portal .tia-card-grid > * {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .tia-search-portal .tia-card-grid {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 22px !important;
      margin: 0 !important;
    }

    .tia-search-portal .tia-card-compare__content,
    .tia-search-portal .tia-card-compare__main {
      min-width: 0 !important;
    }

    .tia-search-results-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 18px;
      margin: 0 0 18px;
      padding: 18px 20px;
      border-radius: 20px;
      background: #fff;
      border: 1px solid #dbe7fb;
      box-shadow: 0 10px 26px rgba(13, 38, 76, .045);
    }

    .tia-search-results-head strong {
      display: block;
      color: #071747;
      font-size: 20px;
      line-height: 1.15;
    }

    .tia-search-results-head span {
      display: block;
      margin-top: 4px;
      color: #526173;
      font-size: 14px;
      line-height: 1.42;
    }

    .tia-search-results-head__actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 9px;
      flex-wrap: wrap;
      flex: 0 0 auto;
    }

    .tia-search-results-head__link,
    .tia-search-active-filter-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 36px;
      padding: 7px 11px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 900;
      text-decoration: none !important;
      white-space: nowrap;
    }

    .tia-search-results-head__link {
      border: 1px solid #d5e1f3;
      background: #fff;
      color: #173b8f;
    }

    .tia-search-active-filter-pill {
      border: 1px solid #dbeafe;
      background: #eff6ff;
      color: #1d4ed8;
    }

    .tia-search-fallback-note {
      margin: 10px 0 0 !important;
      padding: 11px 13px;
      border-radius: 13px;
      background: #fff8e6;
      border: 1px solid #f5d88b;
      color: #775b0d !important;
      font-size: 13px !important;
      line-height: 1.45 !important;
    }

    .tia-search-portal .tia-pagination {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      margin: 40px 0 20px;
      flex-wrap: wrap;
    }

    .tia-search-portal .tia-pagination .page-numbers {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      height: 44px;
      padding: 0 16px;
      border-radius: 12px;
      background: #fff;
      color: #061946;
      font-weight: 700;
      text-decoration: none;
      border: 1px solid #dbe4f0;
      transition: .2s ease;
    }

    .tia-search-portal .tia-pagination .page-numbers.current {
      background: #061946;
      color: #fff;
      border-color: #061946;
    }

    .tia-search-portal .tia-pagination .page-numbers:hover {
      background: #eef4ff;
    }

    /* Mappa laterale su desktop. */
    .tia-search-map-panel {
      position: sticky !important;
      top: 96px !important;
      align-self: start !important;
    }

    .tia-search-map-panel > .tia-map-shell {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    .tia-search-map-panel .tia-map-toggle {
      display: none !important;
    }

    .tia-search-map-panel .tia-map-collapsible,
    .tia-search-map-panel .tia-map-collapsible[hidden] {
      display: block !important;
    }

    .tia-search-map-panel .tia-map-wrap {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      border: 1px solid rgba(11, 31, 70, .10) !important;
      border-radius: 20px !important;
      background: #fff !important;
      box-shadow: var(--tia-search-shadow) !important;
      box-sizing: border-box !important;
    }

    .tia-search-map-panel .tia-map-head,
    .tia-search-map-panel .tia-map-admin-note,
    .tia-search-map-panel .tia-map-progress,
    .tia-search-map-panel .tia-map-carousel,
    .tia-search-map-panel .tia-map-empty {
      display: none !important;
    }

    .tia-search-map-panel .tia-map-canvas,
    .tia-search-map-panel .leaflet-container {
      display: block !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: calc(100vh - 125px) !important;
      min-height: 620px !important;
      max-height: 800px !important;
      margin: 0 !important;
      border-radius: 20px !important;
      box-sizing: border-box !important;
    }

    /* Testo esistente spostato sotto risultati e mappa. */
    .tia-search-bottom-content {
      width: 100%;
      margin-top: 38px;
    }

    .tia-search-intro-card,
    .tia-search-bottom-search {
      margin: 0 0 26px;
      padding: 26px;
      background: #fff;
      border: 1px solid rgba(11, 31, 70, .08);
      border-radius: 22px;
      box-shadow: 0 14px 35px rgba(13, 38, 76, .06);
    }

    .tia-search-intro-card h2,
    .tia-search-bottom-search h2 {
      margin: 0 0 11px;
      color: #07194a;
      font-size: clamp(23px, 3vw, 31px);
      line-height: 1.16;
    }

    .tia-search-intro-card p {
      margin: 0;
      color: #46577a;
      line-height: 1.65;
      font-size: 16px;
    }

    .tia-search-bottom-search .tia-city-search,
    .tia-search-bottom-search form {
      max-width: none !important;
    }

    /* Pulsanti mobile. */
    .tia-search-mobile-tool {
      appearance: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex: 1 1 0;
      min-width: 0;
      min-height: 46px;
      padding: 10px 14px;
      border: 1px solid #cad9f2;
      border-radius: 12px;
      background: #fff;
      color: var(--tia-search-navy);
      font: inherit;
      font-size: 14px;
      font-weight: 900;
      cursor: pointer;
      box-shadow: 0 5px 15px rgba(17, 47, 95, .06);
    }

    .tia-search-mobile-tool--map {
      background: var(--tia-search-blue);
      border-color: var(--tia-search-blue);
      color: #fff;
    }

    .tia-search-mobile-tool svg {
      width: 19px;
      height: 19px;
      flex: 0 0 auto;
    }

    .tia-search-mobile-count {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 21px;
      height: 21px;
      padding: 0 6px;
      border-radius: 999px;
      background: var(--tia-search-blue);
      color: #fff;
      font-size: 11px;
      line-height: 1;
    }

    .tia-search-mobile-count:empty {
      display: none;
    }

    /*
     * Dialog nativi: entrano nel top-layer del browser.
     * Filtri e mappa restano davanti allo sfondo senza sfocature.
     */
    .tia-search-dialog {
      width: min(520px, calc(100vw - 18px));
      max-width: none;
      height: calc(100dvh - 18px);
      max-height: none;
      margin: auto;
      padding: 0;
      border: 0;
      border-radius: 22px;
      background: #fff;
      color: var(--tia-search-navy);
      box-shadow: 0 28px 90px rgba(1, 17, 49, .34);
      overflow: hidden;
    }

    .tia-search-dialog::backdrop {
      background: rgba(4, 18, 49, .62);
    }

    .tia-search-dialog__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      height: 62px;
      padding: 10px 14px 10px 18px;
      border-bottom: 1px solid #dbe4f2;
      background: #fff;
      box-sizing: border-box;
    }

    .tia-search-dialog__title {
      margin: 0;
      font-size: 20px;
      font-weight: 900;
      color: var(--tia-search-navy);
    }

    .tia-search-dialog__close {
      appearance: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid #d5e0f1;
      border-radius: 50%;
      background: #fff;
      color: var(--tia-search-navy);
      font-size: 25px;
      line-height: 1;
      cursor: pointer;
    }

    .tia-search-dialog__body {
      height: calc(100% - 62px);
      overflow: auto;
      padding: 14px;
      box-sizing: border-box;
    }

    .tia-search-dialog .tia-filter-panel {
      display: block !important;
      position: static !important;
      top: auto !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 100% !important;
      margin: 0 !important;
      box-shadow: none !important;
    }

    .tia-search-dialog--map {
      width: 100vw;
      height: 100dvh;
      margin: 0;
      border-radius: 0;
    }

    .tia-search-dialog--map .tia-search-dialog__body {
      padding: 8px;
      overflow: hidden;
    }

    .tia-search-dialog--map .tia-search-map-panel {
      display: block !important;
      position: static !important;
      top: auto !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
    }

    .tia-search-dialog--map .tia-map-shell,
    .tia-search-dialog--map .tia-map-collapsible,
    .tia-search-dialog--map .tia-map-wrap {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .tia-search-dialog--map .tia-map-toggle,
    .tia-search-dialog--map .tia-map-head,
    .tia-search-dialog--map .tia-map-admin-note,
    .tia-search-dialog--map .tia-map-progress,
    .tia-search-dialog--map .tia-map-carousel,
    .tia-search-dialog--map .tia-map-empty {
      display: none !important;
    }

    .tia-search-dialog--map .tia-map-canvas,
    .tia-search-dialog--map .leaflet-container {
      display: block !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: 100% !important;
      min-height: 420px !important;
      max-height: none !important;
      margin: 0 !important;
      border-radius: 14px !important;
    }

    body.tia-search-modal-open {
      overflow: hidden !important;
    }

    body.tia-search-modal-open #tiassisto-btn,
    body.tia-search-modal-open #tiassisto-popup,
    body.tia-search-modal-open #tiassisto-popup-overlay,
    body.tia-search-modal-open .joinchat,
    body.tia-search-modal-open [class*="whatsapp"] {
      display: none !important;
    }

    @media (max-width: 1480px) and (min-width: 901px) {
      .tia-search-portal-stage {
        width: min(1420px, calc(100vw - 28px)) !important;
      }

      .tia-search-portal-columns {
        grid-template-columns: minmax(0, 1fr) 350px !important;
        gap: 19px !important;
      }

      .tia-search-portal .tia-compare-layout {
        grid-template-columns: 210px minmax(0, 1fr) !important;
        gap: 17px !important;
      }
    }

    @media (max-width: 900px) {
      .tia-search-portal-stage {
        position: relative !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
      }

      .tia-search-portal-columns {
        display: block !important;
      }

      .tia-search-mobile-tools {
        display: flex;
        gap: 10px;
        width: 100%;
        margin: 0 0 14px;
      }

      .tia-search-portal .tia-compare-layout {
        display: block !important;
      }

      .tia-search-portal .tia-compare-layout > .tia-filter-panel,
      .tia-search-portal-columns > .tia-search-map-panel {
        display: none !important;
      }

      .tia-search-portal .tia-compare-results {
        width: 100% !important;
      }

      .tia-search-results-head {
        flex-direction: column;
      }

      .tia-search-results-head__actions {
        width: 100%;
        justify-content: flex-start;
      }

      .tia-search-intro-card,
      .tia-search-bottom-search {
        padding: 22px;
      }
    }

    @media (max-width: 520px) {
      .tia-search-mobile-tool {
        min-height: 44px;
        padding: 9px 11px;
        font-size: 13px;
      }
    }

/* SOURCE: template-comune.php.css */
.tia-search-portal {
      --tia-search-blue: #2457e6;
      --tia-search-navy: #071943;
      --tia-search-border: #d5e1f3;
      --tia-search-shadow: 0 16px 42px rgba(13, 38, 76, .10);
      overflow: visible !important;
    }

    /*
     * La mappa ufficiale è quella richiamata direttamente da questo template.
     * Eventuali vecchie copie auto-iniettate non devono comparire.
     */
    .tia-auto-map-holder {
      display: none !important;
    }

    .tia-search-portal > .ta-breadcrumbs {
      margin: 0 0 22px !important;
    }

    .tia-search-portal .tia-archive__top {
      margin-bottom: 24px !important;
    }

    .tia-search-portal .tia-archive__top h1 {
      max-width: 1000px !important;
    }

    .tia-search-portal .tia-archive__lead {
      max-width: 860px !important;
      line-height: 1.62 !important;
    }

    .tia-search-portal-stage {
      position: relative !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      width: min(1580px, calc(100vw - 32px)) !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-search-portal-columns {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) clamp(350px, 24vw, 420px) !important;
      gap: 22px !important;
      align-items: start !important;
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-search-portal-columns.is-map-missing {
      grid-template-columns: minmax(0, 1fr) !important;
      max-width: 1180px !important;
      margin: 0 auto !important;
    }

    .tia-search-portal-main,
    .tia-search-map-panel {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .tia-search-mobile-tools {
      display: none;
    }

    .tia-search-portal .tia-compare-layout {
      display: grid !important;
      grid-template-columns: clamp(210px, 15vw, 245px) minmax(0, 1fr) !important;
      gap: 20px !important;
      align-items: start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-search-portal .tia-filter-panel {
      position: sticky !important;
      top: 96px !important;
      align-self: start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      padding: 20px;
      border-radius: 22px;
      background: #fff;
      border: 1px solid #dbe7fb;
      box-shadow: 0 14px 35px rgba(13, 38, 76, .06);
      box-sizing: border-box !important;
    }

    .tia-search-portal .tia-filter-panel__head {
      margin-bottom: 16px;
    }

    .tia-search-portal .tia-filter-panel__eyebrow {
      margin: 0 0 6px;
      color: #2563eb;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .tia-search-portal .tia-filter-panel h2 {
      margin: 0;
      color: #071747;
      font-size: 24px;
      line-height: 1.1;
      letter-spacing: -.03em;
    }

    .tia-search-portal .tia-filter-group {
      padding: 16px 0;
      border-top: 1px solid #e5edf9;
    }

    .tia-search-portal .tia-filter-group h3 {
      margin: 0 0 11px;
      color: #071747;
      font-size: 15px;
      font-weight: 900;
    }

    .tia-search-portal .tia-filter-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 0 0 10px;
      color: #253657;
      font-size: 14px;
      line-height: 1.35;
      font-weight: 750;
      cursor: pointer;
    }

    .tia-search-portal .tia-filter-check input {
      width: 18px;
      height: 18px;
      margin-top: 0;
      accent-color: #2563eb;
      flex: 0 0 auto;
    }

    .tia-search-portal .tia-filter-actions {
      display: grid;
      gap: 9px;
      margin-top: 4px;
    }

    .tia-search-portal .tia-filter-actions button,
    .tia-search-portal .tia-filter-actions a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 10px 14px;
      border-radius: 13px;
      font-size: 14px;
      font-weight: 900;
      text-decoration: none !important;
      cursor: pointer;
    }

    .tia-search-portal .tia-filter-actions button {
      border: 1px solid #2563eb;
      background: #2563eb;
      color: #fff;
    }

    .tia-search-portal .tia-filter-actions a {
      border: 1px solid #dbe7fb;
      background: #f8fbff;
      color: #1d4ed8;
    }

    .tia-search-portal .tia-compare-results,
    .tia-search-portal .tia-card-grid,
    .tia-search-portal .tia-card-grid > * {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .tia-search-portal .tia-card-grid {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 22px !important;
      margin: 0 !important;
    }

    .tia-search-portal .tia-card-compare__content,
    .tia-search-portal .tia-card-compare__main {
      min-width: 0 !important;
    }

    .tia-search-results-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 18px;
      margin: 0 0 18px;
      padding: 18px 20px;
      border-radius: 20px;
      background: #fff;
      border: 1px solid #dbe7fb;
      box-shadow: 0 10px 26px rgba(13, 38, 76, .045);
    }

    .tia-search-results-head strong {
      display: block;
      color: #071747;
      font-size: 20px;
      line-height: 1.15;
    }

    .tia-search-results-head span {
      display: block;
      margin-top: 4px;
      color: #526173;
      font-size: 14px;
      line-height: 1.42;
    }

    .tia-search-results-head__actions {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 9px;
      flex-wrap: wrap;
      flex: 0 0 auto;
    }

    .tia-search-results-head__link,
    .tia-search-active-filter-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 36px;
      padding: 7px 11px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 900;
      text-decoration: none !important;
      white-space: nowrap;
    }

    .tia-search-results-head__link {
      border: 1px solid #d5e1f3;
      background: #fff;
      color: #173b8f;
    }

    .tia-search-active-filter-pill {
      border: 1px solid #dbeafe;
      background: #eff6ff;
      color: #1d4ed8;
    }

    .tia-search-fallback-note {
      margin: 10px 0 0 !important;
      padding: 11px 13px;
      border-radius: 13px;
      background: #fff8e6;
      border: 1px solid #f5d88b;
      color: #775b0d !important;
      font-size: 13px !important;
      line-height: 1.45 !important;
    }

    .tia-search-portal .tia-pagination {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      margin: 40px 0 20px;
      flex-wrap: wrap;
    }

    .tia-search-portal .tia-pagination .page-numbers {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      height: 44px;
      padding: 0 16px;
      border-radius: 12px;
      background: #fff;
      color: #061946;
      font-weight: 700;
      text-decoration: none;
      border: 1px solid #dbe4f0;
      transition: .2s ease;
    }

    .tia-search-portal .tia-pagination .page-numbers.current {
      background: #061946;
      color: #fff;
      border-color: #061946;
    }

    .tia-search-portal .tia-pagination .page-numbers:hover {
      background: #eef4ff;
    }

    /* Mappa laterale su desktop. */
    .tia-search-map-panel {
      position: sticky !important;
      top: 96px !important;
      align-self: start !important;
    }

    .tia-search-map-panel > .tia-map-shell {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    .tia-search-map-panel .tia-map-toggle {
      display: none !important;
    }

    .tia-search-map-panel .tia-map-collapsible,
    .tia-search-map-panel .tia-map-collapsible[hidden] {
      display: block !important;
    }

    .tia-search-map-panel .tia-map-wrap {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      border: 1px solid rgba(11, 31, 70, .10) !important;
      border-radius: 20px !important;
      background: #fff !important;
      box-shadow: var(--tia-search-shadow) !important;
      box-sizing: border-box !important;
    }

    .tia-search-map-panel .tia-map-head,
    .tia-search-map-panel .tia-map-admin-note,
    .tia-search-map-panel .tia-map-progress,
    .tia-search-map-panel .tia-map-carousel,
    .tia-search-map-panel .tia-map-empty {
      display: none !important;
    }

    .tia-search-map-panel .tia-map-canvas,
    .tia-search-map-panel .leaflet-container {
      display: block !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: calc(100vh - 125px) !important;
      min-height: 620px !important;
      max-height: 800px !important;
      margin: 0 !important;
      border-radius: 20px !important;
      box-sizing: border-box !important;
    }

    /* Testo esistente spostato sotto risultati e mappa. */
    .tia-search-bottom-content {
      width: 100%;
      margin-top: 38px;
    }

    .tia-search-intro-card,
    .tia-search-bottom-search {
      margin: 0 0 26px;
      padding: 26px;
      background: #fff;
      border: 1px solid rgba(11, 31, 70, .08);
      border-radius: 22px;
      box-shadow: 0 14px 35px rgba(13, 38, 76, .06);
    }

    .tia-search-intro-card h2,
    .tia-search-bottom-search h2 {
      margin: 0 0 11px;
      color: #07194a;
      font-size: clamp(23px, 3vw, 31px);
      line-height: 1.16;
    }

    .tia-search-intro-card p {
      margin: 0;
      color: #46577a;
      line-height: 1.65;
      font-size: 16px;
    }

    .tia-search-bottom-search .tia-city-search,
    .tia-search-bottom-search form {
      max-width: none !important;
    }

    /* Pulsanti mobile. */
    .tia-search-mobile-tool {
      appearance: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex: 1 1 0;
      min-width: 0;
      min-height: 46px;
      padding: 10px 14px;
      border: 1px solid #cad9f2;
      border-radius: 12px;
      background: #fff;
      color: var(--tia-search-navy);
      font: inherit;
      font-size: 14px;
      font-weight: 900;
      cursor: pointer;
      box-shadow: 0 5px 15px rgba(17, 47, 95, .06);
    }

    .tia-search-mobile-tool--map {
      background: var(--tia-search-blue);
      border-color: var(--tia-search-blue);
      color: #fff;
    }

    .tia-search-mobile-tool svg {
      width: 19px;
      height: 19px;
      flex: 0 0 auto;
    }

    .tia-search-mobile-count {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 21px;
      height: 21px;
      padding: 0 6px;
      border-radius: 999px;
      background: var(--tia-search-blue);
      color: #fff;
      font-size: 11px;
      line-height: 1;
    }

    .tia-search-mobile-count:empty {
      display: none;
    }

    /*
     * Dialog nativi: entrano nel top-layer del browser.
     * Filtri e mappa restano davanti allo sfondo senza sfocature.
     */
    .tia-search-dialog {
      width: min(520px, calc(100vw - 18px));
      max-width: none;
      height: calc(100dvh - 18px);
      max-height: none;
      margin: auto;
      padding: 0;
      border: 0;
      border-radius: 22px;
      background: #fff;
      color: var(--tia-search-navy);
      box-shadow: 0 28px 90px rgba(1, 17, 49, .34);
      overflow: hidden;
    }

    .tia-search-dialog::backdrop {
      background: rgba(4, 18, 49, .62);
    }

    .tia-search-dialog__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      height: 62px;
      padding: 10px 14px 10px 18px;
      border-bottom: 1px solid #dbe4f2;
      background: #fff;
      box-sizing: border-box;
    }

    .tia-search-dialog__title {
      margin: 0;
      font-size: 20px;
      font-weight: 900;
      color: var(--tia-search-navy);
    }

    .tia-search-dialog__close {
      appearance: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid #d5e0f1;
      border-radius: 50%;
      background: #fff;
      color: var(--tia-search-navy);
      font-size: 25px;
      line-height: 1;
      cursor: pointer;
    }

    .tia-search-dialog__body {
      height: calc(100% - 62px);
      overflow: auto;
      padding: 14px;
      box-sizing: border-box;
    }

    .tia-search-dialog .tia-filter-panel {
      display: block !important;
      position: static !important;
      top: auto !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 100% !important;
      margin: 0 !important;
      box-shadow: none !important;
    }

    .tia-search-dialog--map {
      width: 100vw;
      height: 100dvh;
      margin: 0;
      border-radius: 0;
    }

    .tia-search-dialog--map .tia-search-dialog__body {
      padding: 8px;
      overflow: hidden;
    }

    .tia-search-dialog--map .tia-search-map-panel {
      display: block !important;
      position: static !important;
      top: auto !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
    }

    .tia-search-dialog--map .tia-map-shell,
    .tia-search-dialog--map .tia-map-collapsible,
    .tia-search-dialog--map .tia-map-wrap {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .tia-search-dialog--map .tia-map-toggle,
    .tia-search-dialog--map .tia-map-head,
    .tia-search-dialog--map .tia-map-admin-note,
    .tia-search-dialog--map .tia-map-progress,
    .tia-search-dialog--map .tia-map-carousel,
    .tia-search-dialog--map .tia-map-empty {
      display: none !important;
    }

    .tia-search-dialog--map .tia-map-canvas,
    .tia-search-dialog--map .leaflet-container {
      display: block !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: 100% !important;
      min-height: 420px !important;
      max-height: none !important;
      margin: 0 !important;
      border-radius: 14px !important;
    }

    body.tia-search-modal-open {
      overflow: hidden !important;
    }

    body.tia-search-modal-open #tiassisto-btn,
    body.tia-search-modal-open #tiassisto-popup,
    body.tia-search-modal-open #tiassisto-popup-overlay,
    body.tia-search-modal-open .joinchat,
    body.tia-search-modal-open [class*="whatsapp"] {
      display: none !important;
    }

    @media (max-width: 1480px) and (min-width: 901px) {
      .tia-search-portal-stage {
        width: min(1420px, calc(100vw - 28px)) !important;
      }

      .tia-search-portal-columns {
        grid-template-columns: minmax(0, 1fr) 350px !important;
        gap: 19px !important;
      }

      .tia-search-portal .tia-compare-layout {
        grid-template-columns: 210px minmax(0, 1fr) !important;
        gap: 17px !important;
      }
    }

    @media (max-width: 900px) {
      .tia-search-portal-stage {
        position: relative !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
      }

      .tia-search-portal-columns {
        display: block !important;
      }

      .tia-search-mobile-tools {
        display: flex;
        gap: 10px;
        width: 100%;
        margin: 0 0 14px;
      }

      .tia-search-portal .tia-compare-layout {
        display: block !important;
      }

      .tia-search-portal .tia-compare-layout > .tia-filter-panel,
      .tia-search-portal-columns > .tia-search-map-panel {
        display: none !important;
      }

      .tia-search-portal .tia-compare-results {
        width: 100% !important;
      }

      .tia-search-results-head {
        flex-direction: column;
      }

      .tia-search-results-head__actions {
        width: 100%;
        justify-content: flex-start;
      }

      .tia-search-intro-card,
      .tia-search-bottom-search {
        padding: 22px;
      }
    }


    /* Zone urbane / quartieri. */
    .tia-urban-zones {
      margin: 0 0 24px;
      padding: 22px;
      border: 1px solid #d7e3f4;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 12px 30px rgba(13, 38, 76, .06);
    }

    .tia-urban-zones__head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 15px;
    }

    .tia-urban-zones__head h2 {
      margin: 0 0 5px;
      color: #071943;
      font-size: clamp(21px, 2vw, 27px);
      line-height: 1.15;
    }

    .tia-urban-zones__head p {
      margin: 0;
      color: #526173;
      line-height: 1.5;
    }

    .tia-urban-zones__all {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      min-height: 39px;
      padding: 0 13px;
      border: 1px solid #cddaf0;
      border-radius: 999px;
      color: #173b8f;
      background: #f8fbff;
      font-size: 13px;
      font-weight: 850;
      text-decoration: none !important;
    }

    .tia-urban-zones__grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
    }

    .tia-urban-zone-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      min-width: 0;
      min-height: 48px;
      padding: 10px 12px;
      border: 1px solid #dbe6f6;
      border-radius: 13px;
      background: #f8fbff;
      color: #102b68;
      text-decoration: none !important;
      font-weight: 800;
      transition: border-color .18s ease, background .18s ease, transform .18s ease;
    }

    .tia-urban-zone-link:hover,
    .tia-urban-zone-link.is-current {
      border-color: #2457e6;
      background: #edf3ff;
      transform: translateY(-1px);
    }

    .tia-urban-zone-link span {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .tia-urban-zone-link small {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 27px;
      height: 27px;
      padding: 0 7px;
      border-radius: 999px;
      background: #fff;
      color: #2457e6;
      font-size: 12px;
      font-weight: 900;
    }

    .tia-urban-zone-link.is-extra[hidden] { display: none !important; }

    .tia-urban-zones__toggle {
      display: none;
      width: 100%;
      min-height: 43px;
      margin-top: 12px;
      border: 1px solid #cddaf0;
      border-radius: 12px;
      background: #fff;
      color: #173b8f;
      font: inherit;
      font-size: 13px;
      font-weight: 850;
      cursor: pointer;
    }

    .tia-urban-zones.has-extra .tia-urban-zones__toggle { display: block; }

    @media (max-width: 1080px) {
      .tia-urban-zones__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }

    @media (max-width: 760px) {
      .tia-urban-zones { padding: 17px; border-radius: 17px; }
      .tia-urban-zones__head { display: block; }
      .tia-urban-zones__all { margin-top: 12px; }
      .tia-urban-zones__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    @media (max-width: 520px) {
      .tia-search-mobile-tool {
        min-height: 44px;
        padding: 9px 11px;
        font-size: 13px;
      }
    }

/* SOURCE: taxonomy-location.php.css */
.tia-location-portal {
      --tia-loc-blue: #2457e6;
      --tia-loc-navy: #071943;
      --tia-loc-border: #d5e1f3;
      --tia-loc-shadow: 0 16px 42px rgba(13, 38, 76, .10);
      overflow: visible !important;
    }

    /* Nasconde l'eventuale vecchia mappa auto-iniettata: la mappa ufficiale è ora nel template. */
    .tia-auto-map-holder {
      display: none !important;
    }

    .tia-location-portal .tia-archive__top {
      margin-bottom: 24px !important;
    }

    .tia-location-portal .tia-archive__top h1 {
      max-width: 1000px !important;
    }

    .tia-location-portal .tia-archive__lead {
      max-width: 860px !important;
      line-height: 1.62 !important;
    }

    /* Province: quattro visibili e apertura controllata nativamente. */
    .tia-location-portal .tia-tax-block {
      margin-bottom: 24px !important;
    }

    .tia-location-portal .tia-province-grid {
      display: grid !important;
      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
      gap: 12px !important;
    }

    .tia-location-portal .tia-province-grid > * {
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-location-portal .tia-province-item[hidden] {
      display: none !important;
    }

    .tia-location-portal .tia-province-toggle-wrap {
      display: flex;
      justify-content: center;
      margin-top: 14px;
    }

    .tia-location-portal .tia-province-toggle {
      appearance: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 42px;
      padding: 9px 17px;
      border: 1px solid #cbdaf3;
      border-radius: 999px;
      background: #fff;
      color: var(--tia-loc-navy);
      font: inherit;
      font-size: 13px;
      font-weight: 900;
      cursor: pointer;
      box-shadow: 0 7px 20px rgba(16, 47, 99, .06);
    }

    .tia-location-portal .tia-province-toggle:hover {
      border-color: var(--tia-loc-blue);
      color: var(--tia-loc-blue);
    }

    .tia-location-portal .tia-province-toggle svg {
      width: 16px;
      height: 16px;
      transition: transform .2s ease;
    }

    .tia-location-portal .tia-tax-block.is-expanded .tia-province-toggle svg {
      transform: rotate(180deg);
    }

    /* Griglia ufficiale: risultati a sinistra, mappa a destra. */
    .tia-location-portal-stage {
      position: relative !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      width: min(1580px, calc(100vw - 32px)) !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-location-portal-columns {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) clamp(350px, 24vw, 420px) !important;
      gap: 22px !important;
      align-items: start !important;
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-location-portal-columns.is-map-missing {
      grid-template-columns: minmax(0, 1fr) !important;
      max-width: 1180px !important;
      margin: 0 auto !important;
    }

    .tia-location-portal-main,
    .tia-location-map-panel {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .tia-location-mobile-tools {
      display: none;
    }

    .tia-location-portal .tia-compare-layout {
      display: grid !important;
      grid-template-columns: clamp(210px, 15vw, 245px) minmax(0, 1fr) !important;
      gap: 20px !important;
      align-items: start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-location-portal .tia-filter-panel {
      position: sticky !important;
      top: 96px !important;
      align-self: start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      padding: 20px;
      border-radius: 22px;
      background: #fff;
      border: 1px solid #dbe7fb;
      box-shadow: 0 14px 35px rgba(13, 38, 76, .06);
      box-sizing: border-box !important;
    }

    .tia-location-portal .tia-filter-panel__head {
      margin-bottom: 16px;
    }

    .tia-location-portal .tia-filter-panel__eyebrow {
      margin: 0 0 6px;
      color: #2563eb;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .tia-location-portal .tia-filter-panel h2 {
      margin: 0;
      color: #071747;
      font-size: 24px;
      line-height: 1.1;
      letter-spacing: -.03em;
    }

    .tia-location-portal .tia-filter-group {
      padding: 16px 0;
      border-top: 1px solid #e5edf9;
    }

    .tia-location-portal .tia-filter-group h3 {
      margin: 0 0 11px;
      color: #071747;
      font-size: 15px;
      font-weight: 900;
    }

    .tia-location-portal .tia-filter-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 0 0 10px;
      color: #253657;
      font-size: 14px;
      line-height: 1.35;
      font-weight: 750;
      cursor: pointer;
    }

    .tia-location-portal .tia-filter-check input {
      width: 18px;
      height: 18px;
      margin-top: 0;
      accent-color: #2563eb;
      flex: 0 0 auto;
    }

    .tia-location-portal .tia-filter-actions {
      display: grid;
      gap: 9px;
      margin-top: 4px;
    }

    .tia-location-portal .tia-filter-actions button,
    .tia-location-portal .tia-filter-actions a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 10px 14px;
      border-radius: 13px;
      font-size: 14px;
      font-weight: 900;
      text-decoration: none !important;
      cursor: pointer;
    }

    .tia-location-portal .tia-filter-actions button {
      border: 1px solid #2563eb;
      background: #2563eb;
      color: #fff;
    }

    .tia-location-portal .tia-filter-actions a {
      border: 1px solid #dbe7fb;
      background: #f8fbff;
      color: #1d4ed8;
    }

    .tia-location-portal .tia-results-column,
    .tia-location-portal .tia-card-grid,
    .tia-location-portal .tia-card-grid > * {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .tia-location-portal .tia-card-grid {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 22px !important;
      margin: 0 !important;
    }

    .tia-location-portal .tia-card-compare__content,
    .tia-location-portal .tia-card-compare__main {
      min-width: 0 !important;
    }

    .tia-location-portal .tia-results-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin: 0 0 18px;
      padding: 18px 20px;
      border-radius: 20px;
      background: #fff;
      border: 1px solid #dbe7fb;
      box-shadow: 0 10px 26px rgba(13, 38, 76, .045);
    }

    .tia-location-portal .tia-results-head strong {
      display: block;
      color: #071747;
      font-size: 20px;
      line-height: 1.15;
    }

    .tia-location-portal .tia-results-head span {
      display: block;
      margin-top: 4px;
      color: #526173;
      font-size: 14px;
      line-height: 1.35;
    }

    .tia-location-portal .tia-active-filter-pill {
      display: inline-flex;
      align-items: center;
      padding: 8px 11px;
      border-radius: 999px;
      background: #eff6ff;
      color: #1d4ed8;
      font-size: 13px;
      font-weight: 900;
      white-space: nowrap;
    }

    .tia-location-portal .tia-pagination {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
      margin: 40px 0 20px;
      flex-wrap: wrap;
    }

    .tia-location-portal .tia-pagination .page-numbers {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      height: 44px;
      padding: 0 16px;
      border-radius: 12px;
      background: #fff;
      color: #061946;
      font-weight: 700;
      text-decoration: none;
      border: 1px solid #dbe4f0;
      transition: .2s ease;
    }

    .tia-location-portal .tia-pagination .page-numbers.current {
      background: #061946;
      color: #fff;
      border-color: #061946;
    }

    .tia-location-portal .tia-pagination .page-numbers:hover {
      background: #eef4ff;
    }

    /* Mappa laterale nativa, presente anche nelle pagine paginate. */
    .tia-location-map-panel {
      position: sticky !important;
      top: 96px !important;
      align-self: start !important;
    }

    .tia-location-map-panel > .tia-map-shell {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    .tia-location-map-panel .tia-map-toggle {
      display: none !important;
    }

    .tia-location-map-panel .tia-map-collapsible,
    .tia-location-map-panel .tia-map-collapsible[hidden] {
      display: block !important;
    }

    .tia-location-map-panel .tia-map-wrap {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      border: 1px solid rgba(11, 31, 70, .10) !important;
      border-radius: 20px !important;
      background: #fff !important;
      box-shadow: var(--tia-loc-shadow) !important;
      box-sizing: border-box !important;
    }

    .tia-location-map-panel .tia-map-head,
    .tia-location-map-panel .tia-map-admin-note,
    .tia-location-map-panel .tia-map-progress,
    .tia-location-map-panel .tia-map-carousel,
    .tia-location-map-panel .tia-map-empty {
      display: none !important;
    }

    .tia-location-map-panel .tia-map-canvas,
    .tia-location-map-panel .leaflet-container {
      display: block !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: calc(100vh - 125px) !important;
      min-height: 620px !important;
      max-height: 800px !important;
      margin: 0 !important;
      border-radius: 20px !important;
      box-sizing: border-box !important;
    }

    /* Contenuti informativi ufficialmente sotto risultati e mappa. */
    .tia-location-bottom-content {
      width: 100%;
      margin-top: 38px;
    }

    .tia-location-seo-panel {
      margin: 0 0 34px;
      padding: 28px;
      background: #fff;
      border: 1px solid rgba(11, 31, 70, .08);
      border-radius: 22px;
      box-shadow: 0 14px 35px rgba(13, 38, 76, .06);
    }

    .tia-location-seo-panel h2 {
      margin: 0 0 12px;
      font-size: clamp(24px, 3vw, 34px);
      line-height: 1.15;
      color: #07194a;
    }

    .tia-location-seo-panel h3 {
      margin: 0 0 12px;
      color: #07194a;
      font-size: 20px;
      line-height: 1.25;
    }

    .tia-location-seo-panel p {
      margin: 0 0 16px;
      color: #46577a;
      line-height: 1.65;
      font-size: 16px;
    }

    .tia-location-help-box {
      margin: 18px 0 22px;
      padding: 18px 20px;
      border-radius: 18px;
      background: #eef4ff;
      border: 1px solid rgba(47, 116, 255, .14);
      color: #07194a;
    }

    .tia-location-help-box strong {
      display: block;
      margin-bottom: 6px;
      font-size: 17px;
      font-weight: 900;
    }

    .tia-location-help-box span {
      display: block;
      color: #46577a;
      line-height: 1.55;
    }

    .tia-location-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin: 22px 0;
    }

    .tia-location-stat {
      padding: 16px;
      border-radius: 16px;
      background: #f3f7ff;
      border: 1px solid rgba(50, 105, 255, .10);
    }

    .tia-location-stat strong {
      display: block;
      font-size: 22px;
      color: #07194a;
      margin-bottom: 4px;
    }

    .tia-location-stat span {
      display: block;
      font-size: 14px;
      color: #5a6a8f;
    }

    .tia-location-grid {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 24px;
      margin-top: 22px;
    }

    .tia-location-checklist {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .tia-location-checklist li {
      position: relative;
      padding-left: 26px;
      color: #334466;
      line-height: 1.5;
    }

    .tia-location-checklist li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: #2f74ff;
      font-weight: 800;
    }

    .tia-location-links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 12px;
    }

    .tia-location-links a,
    .tia-location-chip {
      display: inline-flex;
      align-items: center;
      padding: 9px 13px;
      border-radius: 999px;
      background: #eef4ff;
      color: #173b8f;
      font-weight: 700;
      text-decoration: none;
      font-size: 14px;
    }

    .tia-location-links a:hover {
      background: #dfeaff;
    }

    .tia-location-faq {
      margin-top: 26px;
      display: grid;
      gap: 12px;
    }

    .tia-location-faq details {
      border: 1px solid rgba(11, 31, 70, .08);
      border-radius: 16px;
      padding: 15px 17px;
      background: #fbfdff;
    }

    .tia-location-faq summary {
      cursor: pointer;
      font-weight: 800;
      color: #07194a;
    }

    .tia-location-faq details p {
      margin-top: 10px;
      margin-bottom: 0;
    }

    /* Pulsanti mobile stile portale. */
    .tia-location-mobile-tool {
      appearance: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex: 1 1 0;
      min-width: 0;
      min-height: 46px;
      padding: 10px 14px;
      border: 1px solid #cad9f2;
      border-radius: 12px;
      background: #fff;
      color: var(--tia-loc-navy);
      font: inherit;
      font-size: 14px;
      font-weight: 900;
      cursor: pointer;
      box-shadow: 0 5px 15px rgba(17, 47, 95, .06);
    }

    .tia-location-mobile-tool--map {
      background: var(--tia-loc-blue);
      border-color: var(--tia-loc-blue);
      color: #fff;
    }

    .tia-location-mobile-tool svg {
      width: 19px;
      height: 19px;
      flex: 0 0 auto;
    }

    .tia-location-mobile-count {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 21px;
      height: 21px;
      padding: 0 6px;
      border-radius: 999px;
      background: var(--tia-loc-blue);
      color: #fff;
      font-size: 11px;
      line-height: 1;
    }

    .tia-location-mobile-count:empty {
      display: none;
    }

    /* Dialog nativi: entrano nel top-layer del browser, quindi niente sfocature o z-index rotti. */
    .tia-location-dialog {
      width: min(520px, calc(100vw - 18px));
      max-width: none;
      height: calc(100dvh - 18px);
      max-height: none;
      margin: auto;
      padding: 0;
      border: 0;
      border-radius: 22px;
      background: #fff;
      color: var(--tia-loc-navy);
      box-shadow: 0 28px 90px rgba(1, 17, 49, .34);
      overflow: hidden;
    }

    .tia-location-dialog::backdrop {
      background: rgba(4, 18, 49, .62);
    }

    .tia-location-dialog__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      height: 62px;
      padding: 10px 14px 10px 18px;
      border-bottom: 1px solid #dbe4f2;
      background: #fff;
      box-sizing: border-box;
    }

    .tia-location-dialog__title {
      margin: 0;
      font-size: 20px;
      font-weight: 900;
      color: var(--tia-loc-navy);
    }

    .tia-location-dialog__close {
      appearance: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid #d5e0f1;
      border-radius: 50%;
      background: #fff;
      color: var(--tia-loc-navy);
      font-size: 25px;
      line-height: 1;
      cursor: pointer;
    }

    .tia-location-dialog__body {
      height: calc(100% - 62px);
      overflow: auto;
      padding: 14px;
      box-sizing: border-box;
    }

    .tia-location-dialog .tia-filter-panel {
      display: block !important;
      position: static !important;
      top: auto !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 100% !important;
      margin: 0 !important;
      box-shadow: none !important;
    }

    .tia-location-dialog--map {
      width: 100vw;
      height: 100dvh;
      margin: 0;
      border-radius: 0;
    }

    .tia-location-dialog--map .tia-location-dialog__body {
      padding: 8px;
      overflow: hidden;
    }

    .tia-location-dialog--map .tia-location-map-panel {
      display: block !important;
      position: static !important;
      top: auto !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
    }

    .tia-location-dialog--map .tia-map-shell,
    .tia-location-dialog--map .tia-map-collapsible,
    .tia-location-dialog--map .tia-map-wrap {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .tia-location-dialog--map .tia-map-toggle,
    .tia-location-dialog--map .tia-map-head,
    .tia-location-dialog--map .tia-map-admin-note,
    .tia-location-dialog--map .tia-map-progress,
    .tia-location-dialog--map .tia-map-carousel,
    .tia-location-dialog--map .tia-map-empty {
      display: none !important;
    }

    .tia-location-dialog--map .tia-map-canvas,
    .tia-location-dialog--map .leaflet-container {
      display: block !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: 100% !important;
      min-height: 420px !important;
      max-height: none !important;
      margin: 0 !important;
      border-radius: 14px !important;
    }

    body.tia-location-modal-open {
      overflow: hidden !important;
    }

    body.tia-location-modal-open #tiassisto-btn,
    body.tia-location-modal-open #tiassisto-popup,
    body.tia-location-modal-open #tiassisto-popup-overlay,
    body.tia-location-modal-open .joinchat,
    body.tia-location-modal-open [class*="whatsapp"] {
      display: none !important;
    }

    @media (max-width: 1480px) and (min-width: 901px) {
      .tia-location-portal-stage {
        width: min(1420px, calc(100vw - 28px)) !important;
      }

      .tia-location-portal-columns {
        grid-template-columns: minmax(0, 1fr) 350px !important;
        gap: 19px !important;
      }

      .tia-location-portal .tia-compare-layout {
        grid-template-columns: 210px minmax(0, 1fr) !important;
        gap: 17px !important;
      }
    }

    @media (max-width: 900px) {
      .tia-location-portal .tia-province-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
      }

      .tia-location-portal .tia-province-toggle {
        width: 100%;
      }

      .tia-location-portal-stage {
        position: relative !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
      }

      .tia-location-portal-columns {
        display: block !important;
      }

      .tia-location-mobile-tools {
        display: flex;
        gap: 10px;
        width: 100%;
        margin: 0 0 14px;
      }

      .tia-location-portal .tia-compare-layout {
        display: block !important;
      }

      .tia-location-portal .tia-compare-layout > .tia-filter-panel,
      .tia-location-portal-columns > .tia-location-map-panel {
        display: none !important;
      }

      .tia-location-portal .tia-results-column {
        width: 100% !important;
      }

      .tia-location-stats,
      .tia-location-grid {
        grid-template-columns: 1fr;
      }

      .tia-location-seo-panel {
        padding: 22px;
      }

      .tia-location-portal .tia-results-head {
        align-items: flex-start;
        flex-direction: column;
      }
    }

    @media (max-width: 520px) {
      .tia-location-mobile-tool {
        min-height: 44px;
        padding: 9px 11px;
        font-size: 13px;
      }

      .tia-location-portal .tia-province-grid {
        gap: 8px !important;
      }

      .tia-location-portal .tia-province-grid a {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 12px !important;
      }
    }

/* SOURCE: taxonomy-listing-category.php.css */
.tia-category-portal {
      --tia-cat-blue: #2457e6;
      --tia-cat-navy: #071943;
      --tia-cat-border: #d5e1f3;
      --tia-cat-shadow: 0 16px 42px rgba(13, 38, 76, .10);
      overflow: visible !important;
    }

    .tia-auto-map-holder {
      display: none !important;
    }

    .tia-category-breadcrumbs {
      margin: 0 0 18px;
      color: #607093;
      font-size: 14px;
    }

    .tia-category-breadcrumbs a {
      color: #2457e6;
      font-weight: 800;
      text-decoration: none;
    }

    .tia-category-portal .tia-archive__top {
      margin-bottom: 24px !important;
    }

    .tia-category-portal .tia-archive__top h1 {
      max-width: 1000px !important;
    }

    .tia-category-portal .tia-archive__lead {
      max-width: 860px !important;
      line-height: 1.62 !important;
    }

    .tia-category-portal-stage {
      position: relative !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      width: min(1580px, calc(100vw - 32px)) !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-category-portal-columns {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) clamp(350px, 24vw, 420px) !important;
      gap: 22px !important;
      align-items: start !important;
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-category-portal-columns.is-map-missing {
      grid-template-columns: minmax(0, 1fr) !important;
      max-width: 1180px !important;
      margin: 0 auto !important;
    }

    .tia-category-portal-main,
    .tia-category-map-panel {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .tia-category-mobile-tools {
      display: none;
    }

    .tia-category-portal .tia-compare-layout {
      display: grid !important;
      grid-template-columns: clamp(210px, 15vw, 245px) minmax(0, 1fr) !important;
      gap: 20px !important;
      align-items: start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      box-sizing: border-box !important;
    }

    .tia-category-portal .tia-filter-panel {
      position: sticky !important;
      top: 96px !important;
      align-self: start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      padding: 20px;
      border-radius: 22px;
      background: #fff;
      border: 1px solid #dbe7fb;
      box-shadow: 0 14px 35px rgba(13, 38, 76, .06);
      box-sizing: border-box !important;
    }

    .tia-category-portal .tia-filter-panel__head {
      margin-bottom: 16px;
    }

    .tia-category-portal .tia-filter-panel__eyebrow {
      margin: 0 0 6px;
      color: #2563eb;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .tia-category-portal .tia-filter-panel h2 {
      margin: 0;
      color: #071747;
      font-size: 24px;
      line-height: 1.1;
      letter-spacing: -.03em;
    }

    .tia-category-portal .tia-filter-group {
      padding: 16px 0;
      border-top: 1px solid #e5edf9;
    }

    .tia-category-portal .tia-filter-group h3 {
      margin: 0 0 11px;
      color: #071747;
      font-size: 15px;
      font-weight: 900;
    }

    .tia-category-portal .tia-filter-check {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 0 0 10px;
      color: #253657;
      font-size: 14px;
      line-height: 1.35;
      font-weight: 750;
      cursor: pointer;
    }

    .tia-category-portal .tia-filter-check input {
      width: 18px;
      height: 18px;
      margin-top: 0;
      accent-color: #2563eb;
      flex: 0 0 auto;
    }

    .tia-category-portal .tia-filter-actions {
      display: grid;
      gap: 9px;
      margin-top: 4px;
    }

    .tia-category-portal .tia-filter-actions button,
    .tia-category-portal .tia-filter-actions a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 10px 14px;
      border-radius: 13px;
      font-size: 14px;
      font-weight: 900;
      text-decoration: none !important;
      cursor: pointer;
    }

    .tia-category-portal .tia-filter-actions button {
      border: 1px solid #2563eb;
      background: #2563eb;
      color: #fff;
    }

    .tia-category-portal .tia-filter-actions a {
      border: 1px solid #dbe7fb;
      background: #f8fbff;
      color: #1d4ed8;
    }

    .tia-category-portal .tia-results-column,
    .tia-category-portal .tia-card-grid,
    .tia-category-portal .tia-card-grid > * {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .tia-category-portal .tia-card-grid {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 20px !important;
      margin: 0 !important;
    }

    .tia-category-portal .tia-card-compare__content,
    .tia-category-portal .tia-card-compare__main {
      min-width: 0 !important;
    }

    .tia-category-portal .tia-results-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      margin: 0 0 18px;
      padding: 18px 20px;
      border-radius: 20px;
      background: #fff;
      border: 1px solid #dbe7fb;
      box-shadow: 0 10px 26px rgba(13, 38, 76, .045);
    }

    .tia-category-portal .tia-results-head strong {
      display: block;
      color: #071747;
      font-size: 20px;
      line-height: 1.15;
    }

    .tia-category-portal .tia-results-head span {
      display: block;
      margin-top: 4px;
      color: #526173;
      font-size: 14px;
      line-height: 1.35;
    }

    .tia-category-portal .tia-active-filter-pill {
      display: inline-flex;
      align-items: center;
      padding: 8px 11px;
      border-radius: 999px;
      background: #eff6ff;
      color: #1d4ed8;
      font-size: 13px;
      font-weight: 900;
      white-space: nowrap;
    }

    .tia-category-pagination {
      display: flex;
      justify-content: center;
      margin: 38px 0 12px;
    }

    .tia-category-pagination ul {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      margin: 0;
      padding: 0;
      list-style: none;
      flex-wrap: wrap;
    }

    .tia-category-pagination .page-numbers {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      height: 44px;
      padding: 0 14px;
      border-radius: 12px;
      background: #fff;
      color: #061946;
      font-weight: 800;
      text-decoration: none;
      border: 1px solid #dbe4f0;
    }

    .tia-category-pagination .page-numbers.current {
      background: #061946;
      color: #fff;
      border-color: #061946;
    }

    .tia-category-pagination .page-numbers:hover {
      background: #eef4ff;
    }

    .tia-category-map-panel {
      position: sticky !important;
      top: 96px !important;
      align-self: start !important;
    }

    .tia-category-map-panel > .tia-map-shell {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
    }

    .tia-category-map-panel .tia-map-toggle {
      display: none !important;
    }

    .tia-category-map-panel .tia-map-collapsible,
    .tia-category-map-panel .tia-map-collapsible[hidden] {
      display: block !important;
    }

    .tia-category-map-panel .tia-map-wrap {
      width: 100% !important;
      min-width: 0 !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: hidden !important;
      border: 1px solid rgba(11, 31, 70, .10) !important;
      border-radius: 20px !important;
      background: #fff !important;
      box-shadow: var(--tia-cat-shadow) !important;
      box-sizing: border-box !important;
    }

    .tia-category-map-panel .tia-map-head,
    .tia-category-map-panel .tia-map-admin-note,
    .tia-category-map-panel .tia-map-progress,
    .tia-category-map-panel .tia-map-carousel,
    .tia-category-map-panel .tia-map-empty {
      display: none !important;
    }

    .tia-category-map-panel .tia-map-canvas,
    .tia-category-map-panel .leaflet-container {
      display: block !important;
      background: #e8eef7 !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: calc(100vh - 125px) !important;
      min-height: 620px !important;
      max-height: 800px !important;
      margin: 0 !important;
      border-radius: 20px !important;
      box-sizing: border-box !important;
    }

    .tia-category-seo-panel {
      position: relative !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      width: min(1180px, calc(100vw - 32px)) !important;
      max-width: none !important;
      margin: 38px 0 0 !important;
      padding: 28px;
      background: #fff;
      border: 1px solid rgba(11, 31, 70, .08);
      border-radius: 22px;
      box-shadow: 0 14px 35px rgba(13, 38, 76, .06);
      box-sizing: border-box !important;
    }

    .tia-category-seo-panel h2 {
      margin: 0 0 12px;
      font-size: clamp(24px, 3vw, 34px);
      line-height: 1.15;
      color: #07194a;
    }

    .tia-category-seo-panel h3 {
      margin: 0 0 12px;
      color: #07194a;
      font-size: 20px;
      line-height: 1.25;
    }

    .tia-category-seo-panel p {
      margin: 0 0 16px;
      color: #46577a;
      line-height: 1.65;
      font-size: 16px;
    }

    .tia-seo-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      margin: 22px 0;
    }

    .tia-seo-stat {
      padding: 16px;
      border-radius: 16px;
      background: #f3f7ff;
      border: 1px solid rgba(50, 105, 255, .10);
    }

    .tia-seo-stat strong {
      display: block;
      font-size: 22px;
      color: #07194a;
      margin-bottom: 4px;
    }

    .tia-seo-stat span {
      display: block;
      font-size: 14px;
      color: #5a6a8f;
    }

    .tia-seo-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 24px;
      margin-top: 22px;
    }

    .tia-seo-checklist {
      margin: 0;
      padding: 0;
      list-style: none;
      display: grid;
      gap: 10px;
    }

    .tia-seo-checklist li {
      position: relative;
      padding-left: 26px;
      color: #334466;
      line-height: 1.5;
    }

    .tia-seo-checklist li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: #2f74ff;
      font-weight: 800;
    }

    .tia-seo-links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 12px;
    }

    .tia-seo-links a {
      display: inline-flex;
      align-items: center;
      padding: 9px 13px;
      border-radius: 999px;
      background: #eef4ff;
      color: #173b8f;
      font-weight: 700;
      text-decoration: none;
      font-size: 14px;
    }

    .tia-seo-links a:hover {
      background: #dfeaff;
    }

    .tia-faq-mini {
      margin-top: 26px;
      display: grid;
      gap: 12px;
    }

    .tia-faq-mini details {
      border: 1px solid rgba(11, 31, 70, .08);
      border-radius: 16px;
      padding: 15px 17px;
      background: #fbfdff;
    }

    .tia-faq-mini summary {
      cursor: pointer;
      font-weight: 800;
      color: #07194a;
    }

    .tia-faq-mini details p {
      margin-top: 10px;
      margin-bottom: 0;
    }

    .tia-category-mobile-tool {
      appearance: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      flex: 1 1 0;
      min-width: 0;
      min-height: 46px;
      padding: 10px 14px;
      border: 1px solid #cad9f2;
      border-radius: 12px;
      background: #fff;
      color: var(--tia-cat-navy);
      font: inherit;
      font-size: 14px;
      font-weight: 900;
      cursor: pointer;
      box-shadow: 0 5px 15px rgba(17, 47, 95, .06);
    }

    .tia-category-mobile-tool--map {
      background: var(--tia-cat-blue);
      border-color: var(--tia-cat-blue);
      color: #fff;
    }

    .tia-category-mobile-tool svg {
      width: 19px;
      height: 19px;
      flex: 0 0 auto;
    }

    .tia-category-mobile-count {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 21px;
      height: 21px;
      padding: 0 6px;
      border-radius: 999px;
      background: var(--tia-cat-blue);
      color: #fff;
      font-size: 11px;
      line-height: 1;
    }

    .tia-category-dialog {
      width: min(520px, calc(100vw - 18px));
      max-width: none;
      height: calc(100dvh - 18px);
      max-height: none;
      margin: auto;
      padding: 0;
      border: 0;
      border-radius: 22px;
      background: #fff;
      color: var(--tia-cat-navy);
      box-shadow: 0 28px 90px rgba(1, 17, 49, .34);
      overflow: hidden;
    }

    .tia-category-dialog::backdrop {
      background: rgba(4, 18, 49, .62);
    }

    .tia-category-dialog__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      height: 62px;
      padding: 10px 14px 10px 18px;
      border-bottom: 1px solid #dbe4f2;
      background: #fff;
      box-sizing: border-box;
    }

    .tia-category-dialog__title {
      margin: 0;
      font-size: 20px;
      font-weight: 900;
      color: var(--tia-cat-navy);
    }

    .tia-category-dialog__close {
      appearance: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid #d5e0f1;
      border-radius: 50%;
      background: #fff;
      color: var(--tia-cat-navy);
      font-size: 25px;
      line-height: 1;
      cursor: pointer;
    }

    .tia-category-dialog__body {
      height: calc(100% - 62px);
      overflow: auto;
      padding: 14px;
      box-sizing: border-box;
    }

    .tia-category-dialog .tia-filter-panel {
      display: block !important;
      position: static !important;
      top: auto !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 100% !important;
      margin: 0 !important;
      box-shadow: none !important;
    }

    .tia-category-dialog--map {
      width: 100vw;
      height: 100dvh;
      margin: 0;
      border-radius: 0;
    }

    .tia-category-dialog--map .tia-category-dialog__body {
      padding: 8px;
      overflow: hidden;
    }

    .tia-category-dialog--map .tia-category-map-panel {
      display: block !important;
      position: static !important;
      top: auto !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
    }

    .tia-category-dialog--map .tia-map-shell,
    .tia-category-dialog--map .tia-map-collapsible,
    .tia-category-dialog--map .tia-map-wrap {
      display: block !important;
      width: 100% !important;
      height: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    .tia-category-dialog--map .tia-map-toggle,
    .tia-category-dialog--map .tia-map-head,
    .tia-category-dialog--map .tia-map-admin-note,
    .tia-category-dialog--map .tia-map-progress,
    .tia-category-dialog--map .tia-map-carousel,
    .tia-category-dialog--map .tia-map-empty {
      display: none !important;
    }

    .tia-category-dialog--map .tia-map-canvas,
    .tia-category-dialog--map .leaflet-container {
      display: block !important;
      width: 100% !important;
      min-width: 100% !important;
      max-width: 100% !important;
      height: 100% !important;
      min-height: 420px !important;
      max-height: none !important;
      margin: 0 !important;
      border-radius: 14px !important;
    }

    body.tia-category-modal-open {
      overflow: hidden !important;
    }

    body.tia-category-modal-open #tiassisto-btn,
    body.tia-category-modal-open #tiassisto-popup,
    body.tia-category-modal-open #tiassisto-popup-overlay,
    body.tia-category-modal-open .joinchat,
    body.tia-category-modal-open [class*="whatsapp"] {
      display: none !important;
    }

    @media (max-width: 1480px) and (min-width: 901px) {
      .tia-category-portal-stage {
        width: min(1420px, calc(100vw - 28px)) !important;
      }

      .tia-category-portal-columns {
        grid-template-columns: minmax(0, 1fr) 350px !important;
        gap: 19px !important;
      }

      .tia-category-portal .tia-compare-layout {
        grid-template-columns: 210px minmax(0, 1fr) !important;
        gap: 17px !important;
      }
    }

    @media (max-width: 900px) {
      .tia-category-portal-stage,
      .tia-category-seo-panel {
        position: relative !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
      }

      .tia-category-portal-columns {
        display: block !important;
      }

      .tia-category-mobile-tools {
        display: flex;
        gap: 10px;
        width: 100%;
        margin: 0 0 14px;
      }

      .tia-category-portal .tia-compare-layout {
        display: block !important;
      }

      .tia-category-portal .tia-compare-layout > .tia-filter-panel,
      .tia-category-portal-columns > .tia-category-map-panel {
        display: none !important;
      }

      .tia-category-portal .tia-results-column {
        width: 100% !important;
      }

      .tia-seo-stats,
      .tia-seo-grid {
        grid-template-columns: 1fr;
      }

      .tia-category-seo-panel {
        padding: 22px;
      }

      .tia-category-portal .tia-results-head {
        align-items: flex-start;
        flex-direction: column;
      }
    }

    @media (max-width: 520px) {
      .tia-category-mobile-tool {
        min-height: 44px;
        padding: 9px 11px;
        font-size: 13px;
      }
    }

/* SOURCE: single-listing.php.css */
.tia-single-rich__service-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 999px;
    background: #e8f5ef;
    border: 1px solid #b9dfcf;
    color: #2f8a67;
  }

  .tia-single-rich__service-icon svg {
    width: 17px;
    height: 17px;
    display: block;
  }

  .tia-single-rich__service-icon svg path,
  .tia-single-rich__service-icon svg circle,
  .tia-single-rich__service-icon svg rect {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.15;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .tia-single-rich__mobile-price {
    display: none;
  }

  .tia-single-rich__sidebar .tia-single-rich__pricebox,
  .tia-single-rich__mobile-price .tia-single-rich__pricebox {
    background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
    border: 2px solid #2f6fed;
    box-shadow: 0 14px 35px rgba(47, 111, 237, 0.16);
  }

  .tia-single-rich__sidebar .tia-single-rich__eyebrow,
  .tia-single-rich__mobile-price .tia-single-rich__eyebrow {
    color: #10204f;
    font-weight: 900;
    letter-spacing: .04em;
  }

  .tia-single-rich__sidebar .tia-single-rich__price,
  .tia-single-rich__mobile-price .tia-single-rich__price {
    font-size: 28px;
    line-height: 1.12;
    font-weight: 900;
    color: #071747;
    margin-top: 8px;
  }

  .tia-single-rich__price-note {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.35;
    color: #667085;
    font-weight: 500;
    overflow-wrap: anywhere;
  }

  .tia-single-rich__pricebox--missing {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  }

  .tia-single-rich__price--missing {
    display: block;
    max-width: 100%;
    font-size: clamp(18px, 1.7vw, 22px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  .tia-price-clean-list {
    margin: 8px 0 0 0;
    padding-left: 18px;
  }

  .tia-price-clean-list li {
    margin: 0 0 7px 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.35;
    color: #3561a3;
    font-weight: 500;
  }



  /* Box guide utili sotto la scheda */
  .tia-single-guides-box {
    margin-top: 34px;
    margin-bottom: 28px;
    padding: 26px;
    border-radius: 22px;
    background: linear-gradient(135deg, #f4fbf9 0%, #ffffff 100%);
    border: 1px solid rgba(15, 118, 110, 0.16);
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
  }

  .tia-single-guides-box__head {
    margin-bottom: 18px;
  }

  .tia-single-guides-box__head span {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: #dff4ef;
    color: #0f766e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 10px;
  }

  .tia-single-guides-box h2 {
    margin: 0 0 10px;
    color: #123c3a;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 850;
  }

  .tia-single-guides-box p {
    margin: 0;
    max-width: 760px;
    color: #526173;
    font-size: 16px;
    line-height: 1.65;
  }

  .tia-single-guides-box__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
  }

  .tia-single-guides-box__card {
    display: block;
    padding: 16px 17px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(15, 118, 110, 0.14);
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }

  .tia-single-guides-box__card:hover {
    transform: translateY(-2px);
    border-color: rgba(15, 118, 110, 0.32);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.07);
    text-decoration: none !important;
  }

  .tia-single-guides-box__card strong {
    display: block;
    color: #123c3a;
    font-size: 16px;
    line-height: 1.35;
    margin-bottom: 6px;
    font-weight: 850;
  }

  .tia-single-guides-box__card em {
    display: block;
    color: #64748b;
    font-size: 14px;
    line-height: 1.5;
    font-style: normal;
    font-weight: 500;
  }



  .tia-single-rich__contactitem a.tia-contact-clean-link {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    color: #2563eb;
    text-decoration: none;
    line-height: 1.25;
  }

  .tia-single-rich__contactitem a.tia-contact-clean-link:hover {
    text-decoration: none;
  }

  .tia-contact-clean-link strong {
    display: block;
    color: #123c3a;
    font-size: 14px;
    font-weight: 850;
  }


  .tia-single-rich__trustnote {
    background: linear-gradient(135deg, #f8fbff 0%, #ffffff 100%);
    border-left: 4px solid #0f766e;
  }

  .tia-single-rich__trustnote h2 {
    font-size: 22px;
    margin-bottom: 10px;
  }

  .tia-single-rich__trustnote p {
    margin: 0;
    color: #526173;
    font-size: 15px;
    line-height: 1.65;
  }


  .tia-single-rich__google-rating-desktop {
    margin-top: 14px;
    margin-bottom: 14px;
  }

  .tia-single-rich__google-rating-mobile {
    display: none;
    margin-top: 14px;
  }
  .tia-services-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    width: 100%;
    border: 1px solid #cfe0ff;
    background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
    color: #2457e6;
    border-radius: 16px;
    padding: 13px 16px;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
  }

  .tia-services-toggle span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: #2457e6;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
  }

  .tia-services-toggle:hover {
    background: #eef6ff;
    border-color: #9fc3ff;
  }

  .tia-single-rich__services-section.is-open .tia-services-toggle span {
    display: none;
  }

  .tia-single-rich__services .tia-service-hidden[hidden] {
    display: none !important;
  }

  .tia-single-rich__services-section:not(.is-open) .tia-service-hidden {
    display: none !important;
  }

  .tia-single-rich__services-section.is-open .tia-service-hidden {
    display: flex !important;
  }


  /* ==========================================================
     TiAssisto - Assistenza disponibile moderna
     ========================================================== */

  .tia-single-rich__assistance-modern {
    padding: 28px 28px 30px !important;
  }

  .tia-single-rich__assistance-modern > h2 {
    margin: 0 0 20px !important;
    color: #071747 !important;
    font-size: 28px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
    letter-spacing: -0.035em !important;
  }

  .tia-assistance-modern__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  .tia-assistance-modern__box {
    padding: 18px !important;
    border-radius: 20px !important;
    border: 1px solid #d7e6fb !important;
    background:
      radial-gradient(circle at 92% 18%, rgba(74, 140, 255, .08), transparent 32%),
      linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: 0 12px 28px rgba(15, 39, 89, .05) !important;
  }

  .tia-assistance-modern__box--wide {
    grid-column: 1 / -1 !important;
  }

  .tia-assistance-modern__box h3 {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 13px !important;
    color: #071747 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
  }

  .tia-assistance-modern__box h3::before {
    content: "✓" !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #dcfce7 !important;
    color: #079455 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }

  .tia-assistance-modern__chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
  }

  .tia-assistance-modern__chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    background: #eef6ff !important;
    border: 1px solid #d7e6fb !important;
    color: #071747 !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
    text-align: center !important;
  }

  @media (max-width: 767px) {

    .tia-single-rich__assistance-modern {
      padding: 22px 18px 24px !important;
    }

    .tia-single-rich__assistance-modern > h2 {
      font-size: 25px !important;
      margin-bottom: 16px !important;
    }

    .tia-assistance-modern__grid {
      grid-template-columns: 1fr !important;
      gap: 12px !important;
    }

    .tia-assistance-modern__box--wide {
      grid-column: auto !important;
    }

    .tia-assistance-modern__box {
      padding: 16px !important;
      border-radius: 18px !important;
    }

    .tia-assistance-modern__chips {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 8px !important;
    }

    .tia-assistance-modern__chip {
      justify-content: flex-start !important;
      text-align: left !important;
      min-height: 40px !important;
    }

    .tia-single-rich__mobile-price {
      display: block;
    }

    .tia-single-rich__google-rating-desktop {
      display: none;
    }

    .tia-single-rich__google-rating-mobile {
      display: block;
    }

    .tia-single-rich__sidebar .tia-single-rich__pricebox {
      display: none;
    }

    .tia-single-rich__mobile-price .tia-single-rich__price {
      font-size: 26px;
    }

    .tia-single-rich__mobile-price .tia-single-rich__price--missing {
      font-size: clamp(18px, 5vw, 21px) !important;
      line-height: 1.2 !important;
    }

    .tia-single-rich__mobile-price .tia-single-rich__price-note {
      font-size: 12px;
      line-height: 1.38;
    }

    .tia-single-guides-box {
      margin-top: 28px;
      margin-bottom: 24px;
      padding: 20px;
      border-radius: 18px;
    }

    .tia-single-guides-box h2 {
      font-size: 22px;
    }

    .tia-single-guides-box__grid {
      grid-template-columns: 1fr;
    }

  }


  /* Informazioni: elenco compatto, leggibile e non a card strette */
  .tia-single-rich__info-panel {
    border: 1px solid #dfe6f1;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
  }

  .tia-single-rich__info-row {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    padding: 17px 20px;
    border-bottom: 1px solid #e9eef6;
  }

  .tia-single-rich__info-row:last-child {
    border-bottom: 0;
  }

  .tia-single-rich__info-label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #0b1f4d;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 850;
  }

  .tia-single-rich__info-label::before {
    content: '';
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 999px;
    background: #4e83f1;
    box-shadow: 0 0 0 4px #edf3ff;
  }

  .tia-single-rich__info-value {
    color: #536889;
    font-size: 15px;
    line-height: 1.58;
    overflow-wrap: anywhere;
  }

  @media (max-width: 720px) {
    .tia-single-rich__info-row {
      grid-template-columns: 1fr;
      gap: 6px;
      padding: 15px 16px;
    }

    .tia-single-rich__info-value {
      padding-left: 17px;
      font-size: 14px;
      line-height: 1.5;
    }
  }

/* SOURCE: legal.css */
.tiassisto-contact-premium,.tiassisto-contact-premium *{box-sizing:border-box}.tiassisto-contact-premium{padding:72px 20px 84px;background:radial-gradient(circle at top left,rgba(96,165,250,.10),transparent 26%),linear-gradient(180deg,#f8fbff 0%,#f3f7fc 100%)}.tiassisto-contact-premium__container{max-width:1160px;margin:0 auto}.tiassisto-contact-premium__hero{text-align:center;margin-bottom:38px}.tiassisto-contact-premium__hero h1{margin:0 0 12px;font-size:48px;line-height:1.05;font-weight:800;letter-spacing:-.03em;color:#0f1f57}.tiassisto-contact-premium__hero p{margin:0 auto;max-width:820px;font-size:19px;line-height:1.65;color:#61739b}.tiassisto-contact-premium__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:30px}.tiassisto-contact-premium__card{padding:28px 26px;border-radius:24px;background:rgba(255,255,255,.9);border:1px solid #dde7f3;box-shadow:0 10px 28px rgba(15,31,87,.05),inset 0 1px 0 rgba(255,255,255,.88)}.tiassisto-contact-premium__icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:16px;margin-bottom:16px;font-size:28px;background:linear-gradient(180deg,#eff6ff 0%,#dbeafe 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 18px rgba(59,130,246,.10)}.tiassisto-contact-premium__card h2{margin:0 0 10px;font-size:25px;line-height:1.15;font-weight:800;letter-spacing:-.02em;color:#10235d}.tiassisto-contact-premium__card p{margin:0;font-size:16px;line-height:1.75;color:#5b6886}.tiassisto-contact-premium__main{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:start}.tiassisto-contact-premium__content{display:grid;gap:20px}.tiassisto-contact-premium__panel,.tiassisto-contact-premium__formbox{padding:28px 26px;border-radius:24px;background:#fff;border:1px solid #e3ebf6;box-shadow:0 10px 28px rgba(15,31,87,.05),inset 0 1px 0 rgba(255,255,255,.9)}.tiassisto-contact-premium__panel h3,.tiassisto-contact-premium__formbox h3{margin:0 0 12px;font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.02em;color:#10235d}.tiassisto-contact-premium__panel h4{margin:0 0 12px;font-size:18px;line-height:1.25;font-weight:800;color:#10235d}.tiassisto-contact-premium__panel p,.tiassisto-contact-premium__formintro{margin:0 0 16px;font-size:16px;line-height:1.75;color:#5b6886}.tiassisto-contact-premium__emailbox{display:flex;flex-direction:column;gap:6px;padding:18px;margin-bottom:20px;border-radius:18px;background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);border:1px solid #d8e6fb}.tiassisto-contact-premium__label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6d7fa2}.tiassisto-contact-premium__email{font-size:19px;font-weight:800;color:#2563eb!important;text-decoration:none!important;word-break:break-word}.tiassisto-contact-premium__list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.tiassisto-contact-premium__list li{position:relative;padding-left:24px;font-size:16px;line-height:1.7;color:#5b6886}.tiassisto-contact-premium__list li::before{content:"";position:absolute;top:10px;left:0;width:10px;height:10px;border-radius:999px;background:linear-gradient(180deg,#4f8dfd 0%,#3478f6 100%);box-shadow:0 0 0 3px rgba(52,120,246,.12)}.tiassisto-contact-premium__notice{margin-bottom:16px;padding:14px 16px;border-radius:14px;font-size:15px;line-height:1.6;font-weight:600}.tiassisto-contact-premium__notice--success{background:#ecfdf3;border:1px solid #b7ebc6;color:#166534}.tiassisto-contact-premium__notice--error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.tiassisto-contact-premium__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.tiassisto-contact-premium__form{position:relative;margin-top:8px;display:grid;gap:14px}.tiassisto-contact-premium__field{display:grid;gap:8px}.tiassisto-contact-premium__field label{font-size:14px;font-weight:700;color:#18305f}.tiassisto-contact-premium__field input,.tiassisto-contact-premium__field textarea{width:100%;padding:14px 16px;border:1px solid #d8e4f2;border-radius:14px;background:#fff;color:#10235d;font-size:15px;line-height:1.4;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.tiassisto-contact-premium__field textarea{min-height:150px;resize:vertical}.tiassisto-contact-premium__field input:focus,.tiassisto-contact-premium__field textarea:focus{border-color:#8cb8ff;box-shadow:0 0 0 4px rgba(79,141,253,.12)}.tiassisto-contact-premium__actions{padding-top:4px}.tiassisto-contact-premium__actions button{display:inline-flex!important;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:none!important;border-radius:16px;background:linear-gradient(180deg,#4f8dfd 0%,#3478f6 100%)!important;color:#fff!important;font-size:15px;font-weight:700;line-height:1;letter-spacing:-.01em;box-shadow:0 12px 24px rgba(52,120,246,.22);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.tiassisto-contact-premium__actions button:hover{transform:translateY(-1px);background:linear-gradient(180deg,#3f83ff 0%,#256be8 100%)!important;box-shadow:0 16px 30px rgba(37,107,232,.28)}.tiassisto-contact-premium__note{margin-top:26px;padding:20px 22px;border-radius:20px;background:rgba(255,255,255,.8);border:1px solid #e2ebf6;box-shadow:0 8px 22px rgba(15,31,87,.04)}.tiassisto-contact-premium__note p{margin:0;font-size:15px;line-height:1.75;color:#5c6882}@media (max-width:1024px){.tiassisto-contact-premium__hero h1{font-size:40px}.tiassisto-contact-premium__main{grid-template-columns:1fr}}@media (max-width:767px){.tiassisto-contact-premium{padding:54px 16px 60px}.tiassisto-contact-premium__hero{margin-bottom:28px}.tiassisto-contact-premium__hero h1{font-size:34px}.tiassisto-contact-premium__hero p{font-size:16px}.tiassisto-contact-premium__cards{grid-template-columns:1fr;gap:16px;margin-bottom:20px}.tiassisto-contact-premium__card,.tiassisto-contact-premium__panel,.tiassisto-contact-premium__formbox{padding:22px 18px;border-radius:20px}.tiassisto-contact-premium__card h2{font-size:22px}.tiassisto-contact-premium__panel h3,.tiassisto-contact-premium__formbox h3{font-size:22px}.tiassisto-contact-premium__email{font-size:17px}.tiassisto-contact-premium__list li,.tiassisto-contact-premium__panel p,.tiassisto-contact-premium__formintro{font-size:15px}.tiassisto-contact-premium__actions button{width:100%;min-height:50px;border-radius:14px}.tiassisto-contact-premium__note{margin-top:20px;padding:18px 16px;border-radius:18px}.tiassisto-contact-premium__note p{font-size:14px}}

/* SOURCE: company.css */
.taz-78-notification-wrap{
        display:flex !important;
        gap:8px !important;
        align-items:stretch !important;
        transition:opacity .18s ease, transform .18s ease !important;
    }
    .taz-78-notification-wrap .taz-notification-item{
        flex:1 1 auto !important;
    }
    .taz-78-dismiss{
        width:38px !important;
        min-width:38px !important;
        border:1px solid #dfe8f5 !important;
        background:#ffffff !important;
        color:#64708a !important;
        border-radius:14px !important;
        font-size:22px !important;
        line-height:1 !important;
        font-weight:900 !important;
        cursor:pointer !important;
    }
    .taz-78-dismiss:hover{
        background:#fff0f0 !important;
        color:#cc3b3b !important;
        border-color:#ffd0d0 !important;
    }
    .taz-78-highlight{
        box-shadow:0 0 0 4px rgba(15,126,199,.22), 0 16px 45px rgba(8,27,63,.10) !important;
        transition:box-shadow .2s ease !important;
    }

.taz-app{
        display:grid !important;
        grid-template-columns:280px minmax(0,1fr) !important;
        gap:24px !important;
        align-items:start !important;
    }
    .taz-sidebar{
        grid-column:1 !important;
        width:auto !important;
        min-width:0 !important;
    }
    .taz-main{
        grid-column:2 !important;
        width:100% !important;
        min-width:0 !important;
    }
    .taz-main > section,
    .taz-main > .taz-card{
        width:100% !important;
        box-sizing:border-box !important;
    }
    .taz-80-notification-wrap{
        display:flex !important;
        align-items:stretch !important;
        gap:8px !important;
        transition:opacity .18s ease, transform .18s ease !important;
    }
    .taz-80-notification-wrap .taz-notification-item{
        flex:1 1 auto !important;
    }
    .taz-80-dismiss{
        width:38px !important;
        min-width:38px !important;
        border:1px solid #dfe8f5 !important;
        background:#fff !important;
        color:#64708a !important;
        border-radius:14px !important;
        font-size:22px !important;
        font-weight:900 !important;
        cursor:pointer !important;
    }
    .taz-80-dismiss:hover{
        background:#fff0f0 !important;
        color:#cc3b3b !important;
        border-color:#ffd0d0 !important;
    }
    .taz-80-highlight{
        box-shadow:0 0 0 4px rgba(15,126,199,.22), 0 16px 45px rgba(8,27,63,.10) !important;
    }
    @media(max-width:900px){
        .taz-app{
            grid-template-columns:1fr !important;
        }
        .taz-sidebar,
        .taz-main{
            grid-column:1 !important;
        }
    }

.taz-83-dismiss{
        width:38px !important;
        min-width:38px !important;
        border:1px solid #dfe8f5 !important;
        background:#fff !important;
        color:#64708a !important;
        border-radius:14px !important;
        font-size:22px !important;
        font-weight:900 !important;
        line-height:1 !important;
        cursor:pointer !important;
    }
    .taz-83-dismiss:hover{
        background:#fff0f0 !important;
        color:#cc3b3b !important;
        border-color:#ffd0d0 !important;
    }

/* SOURCE: contact-modal */
.tia-native-contact-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}.tia-native-contact-modal[hidden]{display:none !important}.tia-native-contact-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(2px)}.tia-native-contact-modal__dialog{position:relative;z-index:1;width:min(860px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;border:1px solid #dbe6ff;border-radius:32px;box-shadow:0 30px 90px rgba(15,35,90,.26);padding:24px}.tia-native-contact-modal__close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:999px;border:1px solid #dbe6ff;background:#eef4ff;color:#0f235a;font-size:28px;line-height:1;cursor:pointer}.tia-native-contact-modal__header{padding-right:64px;margin-bottom:18px}.tia-native-contact-modal__eyebrow{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#eef4ff;color:#3b82f6;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.tia-native-contact-modal__header h3{margin:14px 0 8px;color:#0f235a;font-size:28px;line-height:1.1;font-weight:900;letter-spacing:-.02em}.tia-native-contact-modal__header p{margin:0 0 16px;color:#8aa0d0;font-size:14px;line-height:1.6;font-weight:700}.tia-native-contact-modal__trust{display:flex;flex-wrap:wrap;gap:10px}.tia-native-contact-modal__trust span{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:1px solid #dbe6ff;border-radius:999px;background:#fff;color:#0f235a;font-size:14px;font-weight:800}.tia-native-contact-modal__notice{margin:0 0 16px;padding:14px 16px;border:1px solid #c7e3cf;background:#effcf3;border-radius:18px;color:#166534;font-weight:800}.tia-native-contact-modal__notice--error{border-color:#fecaca;background:#fff1f2;color:#b91c1c}.tia-native-contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tia-native-contact-form__field{display:flex;flex-direction:column;gap:8px}.tia-native-contact-form__field--full{grid-column:1 / -1}.tia-native-contact-form__field label{font-size:15px;font-weight:800;color:#0f235a}.tia-native-contact-form__field input,.tia-native-contact-form__field select,.tia-native-contact-form__field textarea{width:100%;min-height:54px;padding:14px 16px;border:1px solid #dbe6ff;border-radius:18px;background:#fff;color:#0f235a;font-size:16px;line-height:1.4;box-shadow:none}.tia-native-contact-form__field textarea{min-height:122px;resize:vertical}.tia-native-contact-form__field input:focus,.tia-native-contact-form__field select:focus,.tia-native-contact-form__field textarea:focus{outline:none;border-color:#4f8dfd;box-shadow:0 0 0 4px rgba(79,141,253,.14)}.tia-native-contact-form__field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, #7c8fb8 50%),linear-gradient(135deg, #7c8fb8 50%, transparent 50%);background-position:calc(100% - 22px) calc(50% - 3px),calc(100% - 16px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}.tia-native-contact-form__privacy{display:flex;align-items:flex-start;gap:10px;margin:18px 0 0;color:#0f235a;font-size:14px;font-weight:700}.tia-native-contact-form__privacy input{margin-top:4px}.tia-native-contact-form__actions{padding-top:18px}.tia-native-contact-form__submit{min-width:150px;min-height:54px;border:0;border-radius:18px;background:#0f235a;color:#fff;font-size:18px;font-weight:900;padding:14px 24px;box-shadow:none;cursor:pointer}.tia-native-contact-form__submit:hover{background:#16347d}.tia-native-contact-form__submit[disabled]{opacity:.45;cursor:not-allowed}body.tia-native-contact-open{overflow:hidden}@media (max-width:767px){.tia-native-contact-modal{padding:12px}.tia-native-contact-modal__dialog{width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:18px;border-radius:24px}.tia-native-contact-modal__header{padding-right:56px}.tia-native-contact-modal__header h3{font-size:24px}.tia-native-contact-modal__trust span{font-size:13px;padding:9px 12px}.tia-native-contact-form__grid{grid-template-columns:1fr}.tia-native-contact-form__field--full{grid-column:auto}}


/* 4.0.3 — ricerca V2 con resa source-parity LIVE */
.tia-search__geo-option{
  display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;text-align:left!important;
  padding:12px 14px!important;border:1px solid rgba(15,118,110,.15)!important;border-radius:12px!important;
  background:#f4fbf9!important;color:#0f766e!important;font-weight:800!important;cursor:pointer!important;margin:0!important;
}
.tia-search__geo-option:hover,.tia-search__geo-option:focus{background:#eef9f5!important;color:#0f766e!important}
.tia-search__geo-pin{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;font-size:18px!important;line-height:1!important}
.tia-search__geo-option strong{display:block!important;font-size:14px!important;line-height:1.25!important}
.tia-search__geo-option small{display:block!important;margin-top:2px!important;color:#64748b!important;font-size:12px!important;line-height:1.35!important;font-weight:600!important}
article.tia-card--compare .tia-card-compare__distance{margin:-2px 0 8px!important;color:#2456d8!important;font-size:13px!important;line-height:1.3!important;font-weight:850!important}

/* =========================================================
   V2 ARTICLE CONTENT PARITY — rich editorial blocks from LIVE
   ========================================================= */
.tia-article__content .tia-cf-article{display:grid;gap:28px}
.tia-article__content .tia-cf-article__body{display:grid;gap:26px}
.tia-article__content .tia-cf-content-section{display:block}
.tia-article__content .tia-cf-content-section h2{margin:0 0 14px;font-size:30px;line-height:1.15;color:#0f1c46}
.tia-article__content .tia-cf-content-section h3{margin:22px 0 10px;font-size:23px;line-height:1.2;color:#0f1c46}
.tia-article__content .tia-cf-content-section p{margin:0 0 16px}
.tia-article__content .tia-cf-content-section__list{margin:4px 0 0;padding-left:22px;display:grid;gap:8px}

.tia-article__content .tia-cf-box{margin:0;padding:24px;border:1px solid #dbe5f4;border-radius:20px;background:#f8fbff;box-shadow:none}
.tia-article__content .tia-cf-box--summary{background:#f1f6ff;border-color:#cbdcff}
.tia-article__content .tia-cf-box--action{background:#f5faff;border-color:#d3e4fb}
.tia-article__content .tia-cf-box--checklist{background:#f8fbff;border-color:#dbe5f4}
.tia-article__content .tia-cf-box--note{background:#f4fbf6;border-color:#d3ead8}
.tia-article__content .tia-cf-box__head{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.tia-article__content .tia-cf-box__head h2,
.tia-article__content .tia-cf-box__head h3{margin:0!important;font-size:28px;line-height:1.15;color:#0f1c46}
.tia-article__content .tia-cf-box__icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;border-radius:9px!important;background:#e2ecff!important;color:#3b75f5!important;overflow:hidden!important}
.tia-article__content .tia-cf-box__icon svg{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.tia-article__content .tia-cf-box__icon svg path,
.tia-article__content .tia-cf-box__icon svg circle,
.tia-article__content .tia-cf-box__icon svg rect,
.tia-article__content .tia-cf-box__icon svg polyline,
.tia-article__content .tia-cf-box__icon svg line{fill:none!important;stroke:currentColor!important;stroke-width:2!important}
.tia-article__content .tia-cf-box__text p:last-child{margin-bottom:0}
.tia-article__content .tia-cf-box__list{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:10px}
.tia-article__content .tia-cf-box__list li{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:start;margin:0}
.tia-article__content .tia-cf-box__bullet{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:4px;border-radius:50%;background:#e5f5e9;color:#14863e;font-size:12px;font-weight:900;line-height:1}

.tia-article__content .tia-cf-inline-related{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0;padding:14px 16px;border:1px solid #d7e2f4;border-radius:14px;background:#fbfdff}
.tia-article__content .tia-cf-inline-related__label{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#5f6e91}
.tia-article__content .tia-cf-inline-related a{font-weight:800;color:#2f74f5;text-decoration:none}
.tia-article__content .tia-cf-inline-related__arrow{margin-left:auto;color:#2f74f5;font-weight:900}

.tia-article__content .tia-cf-section{margin-top:4px}
.tia-article__content .tia-cf-section>h2{margin:0 0 16px;font-size:30px;line-height:1.15}
.tia-article__content .tia-cf-faq{display:grid;gap:12px}
.tia-article__content .tia-cf-faq__item{padding:18px 20px;border:1px solid #dbe5f4;border-radius:16px;background:#fbfdff}
.tia-article__content .tia-cf-faq__item h3{margin:0 0 8px;font-size:20px}
.tia-article__content .tia-cf-faq__item p{margin:0}
.tia-article__content .tia-cf-sources{margin:0;padding-left:22px;display:grid;gap:8px}

.tia-article__content .tia-cf-related{margin-top:8px;padding-top:6px}
.tia-article__content .tia-cf-related__head{margin-bottom:18px}
.tia-article__content .tia-cf-related__kicker{display:block;margin-bottom:8px;font-size:12px;font-weight:900;letter-spacing:.08em;color:#4f7fff}
.tia-article__content .tia-cf-related__head h2{margin:0 0 8px;font-size:30px}
.tia-article__content .tia-cf-related__head p{margin:0;color:#5f6e91}
.tia-article__content .tia-cf-related__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tia-article__content .tia-cf-related__card{display:block;padding:18px;border:1px solid #dbe5f4;border-radius:16px;background:#fff;text-decoration:none}
.tia-article__content .tia-cf-related__title{display:block;margin-bottom:8px;font-weight:900;color:#0f1c46;line-height:1.3}
.tia-article__content .tia-cf-related__excerpt{display:block;color:#5f6e91;font-size:15px;line-height:1.55}

/* Keep the live article search box in the same position and proportions */
.tia-article__content .tia-article-search-box .tia-search{margin:0;max-width:none}
.tia-article__content .tia-article-search-box .tia-search label{display:block;margin:0 0 8px;font-size:13px;font-weight:800;color:#40557e}
.tia-article__content .tia-article-search-box .tia-search__row{display:flex;gap:10px;align-items:stretch}
.tia-article__content .tia-article-search-box .tia-search__field{flex:1;min-width:0}
.tia-article__content .tia-article-search-box .tia-search input{height:52px;border:1px solid #d4def0;border-radius:15px;background:#fff;padding:0 16px;font-size:16px}
.tia-article__content .tia-article-search-box .tia-search button{height:52px;border:0;border-radius:15px;background:#4f82ff;color:#fff;padding:0 24px;font-weight:900;font-size:16px}

@media (max-width:767px){
  .tia-article__content .tia-cf-box{padding:20px;border-radius:17px}
  .tia-article__content .tia-cf-box__head h2,.tia-article__content .tia-cf-box__head h3{font-size:24px}
  .tia-article__content .tia-cf-content-section h2,.tia-article__content .tia-cf-section>h2,.tia-article__content .tia-cf-related__head h2{font-size:26px}
  .tia-article__content .tia-cf-related__grid{grid-template-columns:1fr}
  .tia-article__content .tia-article-search-box .tia-search__row{flex-direction:column}
  .tia-article__content .tia-article-search-box .tia-search button{width:100%}
}

/* ===== Home lavoro/professionisti 4.1.2 ===== */
.tia-home-pro {
  padding-top: 8px;
  padding-bottom: 62px;
}

.tia-home-pro__box {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1.42fr);
  gap: 18px;
  align-items: stretch;
}

.tia-home-pro__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 292px;
  padding: 34px 34px 30px;
  border-radius: 28px;
  background: linear-gradient(145deg, #071747 0%, #123c7c 100%);
  color: #fff;
  box-shadow: 0 16px 38px rgba(7,23,71,.13);
}

.tia-home-pro__intro .tia-eyebrow {
  color: #9bc8ff;
  font-size: 12px;
  letter-spacing: .13em;
}

.tia-home-pro__intro h2 {
  max-width: 520px;
  margin: 11px 0 13px;
  color: #fff;
  font-size: clamp(34px, 3.2vw, 48px);
  line-height: 1.02;
  letter-spacing: -.042em;
}

.tia-home-pro__intro p {
  max-width: 540px;
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: 16px;
  line-height: 1.58;
}

.tia-home-pro__intro-note {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.tia-home-pro__intro-note span {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.93);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.tia-home-pro__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}

.tia-home-pro__card {
  display: flex;
  flex-direction: column;
  min-height: 292px;
  padding: 20px 20px 18px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid #d9e5f7;
  color: #071747;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(7,23,71,.055);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tia-home-pro__card:hover {
  transform: translateY(-4px);
  border-color: #a9c6ff;
  box-shadow: 0 18px 34px rgba(7,23,71,.11);
  text-decoration: none !important;
}

.tia-home-pro__cardtop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.tia-home-pro__num {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #eef4ff;
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
}

.tia-home-pro__icon {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #f5f8ff;
  color: #1f5fe0;
}

.tia-home-pro__icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tia-home-pro__kicker {
  margin-bottom: 7px;
  color: #6680b4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.tia-home-pro__card h3 {
  margin: 0 0 9px;
  color: #071747;
  font-size: 22px;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.tia-home-pro__card p {
  margin: 0;
  color: #586a83;
  font-size: 14.5px;
  line-height: 1.55;
}

.tia-home-pro__cta {
  display: flex !important;
  width: auto !important;
  height: auto !important;
  margin: auto 0 0 !important;
  padding-top: 17px;
  align-items: center !important;
  justify-content: space-between !important;
  border-top: 1px solid #e6edf8;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1e62e8 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.tia-home-pro__cta b {
  font-size: 20px;
  line-height: 1;
  transition: transform .18s ease;
}

.tia-home-pro__card:hover .tia-home-pro__cta b {
  transform: translateX(3px);
}

@media (max-width: 1080px) {
  .tia-home-pro__box {
    grid-template-columns: 1fr;
  }
  .tia-home-pro__intro {
    min-height: auto;
  }
  .tia-home-pro__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .tia-home-pro {
    padding-bottom: 50px;
  }
  .tia-home-pro__intro {
    padding: 28px 23px 24px;
    border-radius: 25px;
  }
  .tia-home-pro__intro h2 {
    font-size: 34px;
  }
  .tia-home-pro__intro-note {
    display: grid;
    grid-template-columns: 1fr;
  }
  .tia-home-pro__cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .tia-home-pro__card {
    min-height: 235px;
    padding: 20px;
    border-radius: 22px;
  }
  .tia-home-pro__cardtop {
    margin-bottom: 17px;
  }
}

/* ===== V2 4.1.3 - careers section: real redesign ===== */
.tia-home-careers{
  padding-top:18px;
  padding-bottom:78px;
}
.tia-home-careers__panel{
  overflow:hidden;
  border:1px solid #d7e3f6;
  border-radius:34px;
  background:#fff;
  box-shadow:0 18px 48px rgba(10,31,78,.07);
}
.tia-home-careers__head{
  padding:34px 40px 28px;
  text-align:center;
  border-bottom:1px solid #e3ebf8;
  background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);
}
.tia-home-careers__head .tia-eyebrow{
  margin-bottom:9px;
  color:#4b7cff;
  letter-spacing:.14em;
}
.tia-home-careers__head h2{
  max-width:850px;
  margin:0 auto 9px;
  color:#071747;
  font-size:clamp(34px,4vw,50px);
  line-height:1.03;
  letter-spacing:-.04em;
}
.tia-home-careers__head p{
  margin:0;
  color:#65738d;
  font-size:17px;
}
.tia-home-careers__paths{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.tia-home-careers__path{
  min-height:330px;
  padding:34px 38px 30px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  column-gap:20px;
  position:relative;
}
.tia-home-careers__path + .tia-home-careers__path{
  border-left:1px solid #e3ebf8;
}
.tia-home-careers__path--candidate{
  background:#fff;
}
.tia-home-careers__path--company{
  background:#0b245e;
}
.tia-home-careers__path-icon{
  grid-row:1/4;
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:#eaf1ff;
  color:#2765f6;
}
.tia-home-careers__path--company .tia-home-careers__path-icon{
  background:rgba(255,255,255,.12);
  color:#fff;
}
.tia-home-careers__path-icon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tia-home-careers__path-copy{
  min-width:0;
}
.tia-home-careers__label{
  display:block;
  margin-bottom:9px;
  color:#4f73bf;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.11em;
}
.tia-home-careers__path--company .tia-home-careers__label{
  color:#8eb4ff;
}
.tia-home-careers__path h3{
  max-width:470px;
  margin:0 0 12px;
  color:#071747;
  font-size:clamp(27px,2.5vw,36px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.tia-home-careers__path--company h3{
  color:#fff;
}
.tia-home-careers__path p{
  max-width:490px;
  margin:0;
  color:#5c6a83;
  font-size:16px;
  line-height:1.65;
}
.tia-home-careers__path--company p{
  color:rgba(255,255,255,.78);
}
.tia-home-careers__actions{
  align-self:end;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:15px 18px;
  margin-top:28px;
}
.tia-home-careers__btn{
  min-height:50px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-radius:15px;
  text-decoration:none!important;
  font-size:15px;
  font-weight:900;
}
.tia-home-careers__btn--primary{
  background:#2765f6;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(39,101,246,.22);
}
.tia-home-careers__path--company .tia-home-careers__btn--primary{
  background:#fff;
  color:#0b245e!important;
  box-shadow:none;
}
.tia-home-careers__btn span{
  font-size:19px;
  transition:transform .18s ease;
}
.tia-home-careers__btn:hover span{
  transform:translateX(3px);
}
.tia-home-careers__link{
  color:#245ecf!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:850;
  border-bottom:1px solid rgba(36,94,207,.3);
}
.tia-home-careers__path--company .tia-home-careers__link{
  color:#d8e5ff!important;
  border-color:rgba(216,229,255,.35);
}
.tia-home-careers__trust{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px 26px;
  flex-wrap:wrap;
  padding:18px 28px;
  background:#f5f8fe;
  border-top:1px solid #e3ebf8;
  color:#4f5f7a;
  font-size:14px;
  font-weight:750;
}
.tia-home-careers__trust b{
  display:inline-flex;
  width:20px;
  height:20px;
  margin-right:6px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e3edff;
  color:#2765f6;
  font-size:12px;
}
@media(max-width:900px){
  .tia-home-careers__paths{grid-template-columns:1fr}
  .tia-home-careers__path + .tia-home-careers__path{border-left:0;border-top:1px solid #e3ebf8}
}
@media(max-width:640px){
  .tia-home-careers{padding-bottom:52px}
  .tia-home-careers__panel{border-radius:26px}
  .tia-home-careers__head{padding:28px 22px 24px;text-align:left}
  .tia-home-careers__head h2{font-size:34px}
  .tia-home-careers__path{min-height:0;padding:28px 22px;grid-template-columns:48px minmax(0,1fr);column-gap:15px}
  .tia-home-careers__path-icon{width:48px;height:48px;border-radius:15px}
  .tia-home-careers__path h3{font-size:27px}
  .tia-home-careers__actions{flex-direction:column;align-items:stretch}
  .tia-home-careers__btn{width:100%}
  .tia-home-careers__link{align-self:flex-start}
  .tia-home-careers__trust{justify-content:flex-start;padding:17px 22px;gap:10px 18px}
}


/* V2 4.1.5 - hard service parity fallback: overrides every previous service layout */
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__services{
  display:flex!important;flex-wrap:wrap!important;gap:10px!important;grid-template-columns:none!important;
}
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__service{
  position:static!important;display:inline-flex!important;align-items:center!important;gap:9px!important;min-height:38px!important;width:auto!important;max-width:100%!important;padding:7px 13px 7px 8px!important;border-radius:16px!important;background:#f8fbff!important;border:1px solid #d8e7fb!important;color:#071747!important;font-weight:850!important;line-height:1.15!important;
}
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__service:before{display:none!important;content:none!important}
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__service-icon{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;min-width:30px!important;flex:0 0 30px!important;border-radius:999px!important;background:#edf8f3!important;border:1px solid #c9e7d8!important;color:#2f8a67!important;line-height:1!important;overflow:visible!important;box-sizing:border-box!important;font-size:0!important;
}
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__service-icon svg{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;overflow:visible!important;color:currentColor!important}
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__service-icon svg path,
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__service-icon svg circle,
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__service-icon svg rect{fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke!important}


/* V2 4.1.6 - service toggle fix: hidden must beat the hard chip display rule */
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section .tia-single-rich__service.tia-service-hidden[hidden]{
  display:none!important;
}
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section:not(.is-open) .tia-single-rich__service.tia-service-hidden{
  display:none!important;
}
body.single-tia_structure .tia-single-rich__section.tia-single-rich__services-section.is-open .tia-single-rich__service.tia-service-hidden:not([hidden]){
  display:inline-flex!important;
}

/* TiAssisto V2 — zone urbane premium, compact + progressive disclosure */
.tia-search-portal .tia-zone-block.tia-zone-block--premium{
  position:relative;
  overflow:hidden;
  margin:24px 0 30px;
  padding:26px;
  border:1px solid #dbe7f7;
  border-radius:24px;
  background:
    radial-gradient(circle at 92% 0%,rgba(39,101,246,.08),transparent 30%),
    linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 16px 42px rgba(17,47,104,.08);
}
.tia-search-portal .tia-zone-block.tia-zone-block--premium:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#2765f6,#78a6ff 65%,transparent);
  opacity:.9;
}
.tia-zone-block--premium .tia-zone-block__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  margin:0 0 20px;
}
.tia-zone-block--premium .tia-zone-block__titlewrap{min-width:0}
.tia-zone-block--premium .tia-zone-block__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 8px;
  color:#2f6cf6;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
}
.tia-zone-block--premium .tia-zone-block__eyebrow svg{
  width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round
}
.tia-zone-block--premium .tia-zone-block__head h2{
  margin:0;
  color:#071747;
  font-size:clamp(27px,2.7vw,36px);
  line-height:1.05;
  letter-spacing:-.025em;
}
.tia-zone-block--premium .tia-zone-block__head p{
  max-width:760px;
  margin:8px 0 0;
  color:#60708f;
  font-size:15px;
  line-height:1.5;
}
.tia-zone-block--premium .tia-zone-block__summary{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  margin-top:3px;
  padding:8px 11px;
  border:1px solid #dbe7f7;
  border-radius:999px;
  background:#f7faff;
  color:#60708f;
  font-size:12px;
  font-weight:800;
}
.tia-zone-block--premium .tia-zone-block__summary strong{color:#2765f6;font-size:14px}
.tia-zone-block--premium .tia-zone-grid{
  display:grid;
  gap:10px;
}
.tia-zone-block--premium .tia-zone-grid--featured{grid-template-columns:repeat(4,minmax(0,1fr))}
.tia-zone-block--premium .tia-zone-card{
  position:relative;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto 18px;
  align-items:center;
  gap:10px;
  min-height:68px;
  padding:10px 10px 10px 11px;
  border:1px solid #dbe7f7;
  border-radius:16px;
  background:#fff;
  color:#0b245a;
  text-decoration:none;
  box-shadow:0 4px 14px rgba(15,42,92,.035);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.tia-zone-block--premium .tia-zone-card:hover{
  transform:translateY(-2px);
  border-color:#a9c5fb;
  background:#fbfdff;
  box-shadow:0 10px 24px rgba(39,101,246,.10);
}
.tia-zone-block--premium .tia-zone-card:focus-visible,
.tia-zone-block--premium .tia-zone-more__toggle:focus-visible{
  outline:3px solid rgba(39,101,246,.22);
  outline-offset:2px;
}
.tia-zone-block--premium .tia-zone-card__icon{
  display:grid;
  place-items:center;
  width:36px;height:36px;
  border-radius:12px;
  background:#edf4ff;
  color:#2765f6;
}
.tia-zone-block--premium .tia-zone-card.is-top .tia-zone-card__icon{background:#e7f0ff}
.tia-zone-block--premium .tia-zone-card__icon svg{
  width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round
}
.tia-zone-block--premium .tia-zone-card__copy{min-width:0}
.tia-zone-block--premium .tia-zone-card__name{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#0a2256;
  font-size:13.5px;
  line-height:1.25;
  font-weight:850;
}
.tia-zone-block--premium .tia-zone-card__meta{
  display:block;
  margin-top:3px;
  color:#8190aa;
  font-size:11px;
  font-weight:700;
}
.tia-zone-block--premium .tia-zone-card__count{
  display:grid;
  place-items:center;
  min-width:29px;height:29px;
  padding:0 7px;
  border-radius:999px;
  background:#edf4ff;
  color:#1e5ad8;
  font-size:12px;
  font-weight:900;
}
.tia-zone-block--premium .tia-zone-card__arrow{display:grid;place-items:center;color:#7fa0d9}
.tia-zone-block--premium .tia-zone-card__arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

.tia-zone-block--premium .tia-zone-more{margin-top:11px}
.tia-zone-block--premium .tia-zone-more__toggle{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  min-height:62px;
  padding:10px 14px;
  border:1px solid #d8e6fb;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fbff 0%,#edf5ff 100%);
  color:#174aa8;
  cursor:pointer;
  list-style:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.tia-zone-block--premium .tia-zone-more__toggle::-webkit-details-marker{display:none}
.tia-zone-block--premium .tia-zone-more__toggle:hover{border-color:#abc7fb;box-shadow:0 8px 22px rgba(39,101,246,.08)}
.tia-zone-block--premium .tia-zone-more__icon{
  display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:#2765f6;border:1px solid #dbe7f7
}
.tia-zone-block--premium .tia-zone-more__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.tia-zone-block--premium .tia-zone-more__copy{min-width:0}
.tia-zone-block--premium .tia-zone-more__copy strong{display:block;color:#174aa8;font-size:14px;line-height:1.2;font-weight:900}
.tia-zone-block--premium .tia-zone-more__copy small{display:block;margin-top:3px;color:#6f819f;font-size:11.5px;font-weight:700}
.tia-zone-block--premium .tia-zone-more__open{display:none!important}
.tia-zone-block--premium .tia-zone-more__chevron{display:grid;place-items:center;color:#2765f6;transition:transform .18s ease}
.tia-zone-block--premium .tia-zone-more__chevron svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tia-zone-block--premium .tia-zone-more[open] .tia-zone-more__closed{display:none!important}
.tia-zone-block--premium .tia-zone-more[open] .tia-zone-more__open{display:block!important}
.tia-zone-block--premium .tia-zone-more[open] .tia-zone-more__chevron{transform:rotate(180deg)}
.tia-zone-block--premium .tia-zone-grid--all{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:10px;
  padding:10px;
  border:1px solid #e1e9f6;
  border-radius:18px;
  background:#f9fbff;
}
.tia-zone-block--premium .tia-zone-card--compact{
  grid-template-columns:minmax(0,1fr) auto 18px;
  min-height:54px;
  padding:9px 10px 9px 13px;
  border-radius:13px;
  box-shadow:none;
}
.tia-zone-block--premium .tia-zone-card--compact .tia-zone-card__name{-webkit-line-clamp:2;font-size:12.8px}

@media(max-width:1100px){
  .tia-zone-block--premium .tia-zone-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tia-zone-block--premium .tia-zone-grid--all{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .tia-search-portal .tia-zone-block.tia-zone-block--premium{margin:18px 0 24px;padding:20px 14px 16px;border-radius:20px}
  .tia-zone-block--premium .tia-zone-block__head{gap:10px;margin-bottom:15px}
  .tia-zone-block--premium .tia-zone-block__head h2{font-size:27px}
  .tia-zone-block--premium .tia-zone-block__head p{font-size:13.5px}
  .tia-zone-block--premium .tia-zone-block__summary{display:none}
  .tia-zone-block--premium .tia-zone-grid--featured,
  .tia-zone-block--premium .tia-zone-grid--all{grid-template-columns:1fr}
  .tia-zone-block--premium .tia-zone-card{min-height:60px}
  .tia-zone-block--premium .tia-zone-card__meta{display:none}
  .tia-zone-block--premium .tia-zone-more__toggle{min-height:58px;padding:9px 11px}
  .tia-zone-block--premium .tia-zone-more__copy small{font-size:11px}
}
/* ==========================================================
   TIASSISTO LOGO — DEFINITIVO
   ========================================================== */

.tia-header .tia-brand-v3{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;

    width:auto !important;
    min-width:230px !important;

    margin:0 !important;
    padding:0 !important;

    text-decoration:none !important;
    line-height:1 !important;
}


/* NOME COMPLETO */
.tia-header .tia-brand-v3__name{
    display:flex !important;
    align-items:flex-end !important;

    margin:0 !important;
    padding:0 !important;

    white-space:nowrap !important;

    font-family:Arial, Helvetica, sans-serif !important;
    font-size:32px !important;
    line-height:.86 !important;

    font-weight:900 !important;
    letter-spacing:-2.1px !important;
}


/* Ti BLU */
.tia-header .tia-brand-v3__ti{
    display:inline-block !important;

    color:#2468f2 !important;

    font-size:32px !important;
    font-weight:900 !important;
    line-height:.86 !important;
}


/* Assisto.it BLU NOTTE */
.tia-header .tia-brand-v3__rest{
    display:inline-block !important;

    color:#071747 !important;

    font-size:32px !important;
    font-weight:900 !important;
    line-height:.86 !important;
}


/* CLAIM */
.tia-header .tia-brand-v3__claim{
    display:block !important;

    margin:8px 0 0 1px !important;
    padding:0 !important;

    color:#071747 !important;

    font-family:Arial, Helvetica, sans-serif !important;
    font-size:9px !important;
    line-height:1 !important;

    font-weight:800 !important;

    letter-spacing:1.25px !important;
    text-transform:uppercase !important;

    white-space:nowrap !important;
}


/* TABLET */
@media (max-width:1100px){

    .tia-header .tia-brand-v3{
        min-width:205px !important;
    }

    .tia-header .tia-brand-v3__name,
    .tia-header .tia-brand-v3__ti,
    .tia-header .tia-brand-v3__rest{
        font-size:28px !important;
    }

    .tia-header .tia-brand-v3__claim{
        margin-top:7px !important;
        font-size:8px !important;
        letter-spacing:1px !important;
    }
}


/* MOBILE */
@media (max-width:700px){

    .tia-header .tia-brand-v3{
        min-width:170px !important;
    }

    .tia-header .tia-brand-v3__name,
    .tia-header .tia-brand-v3__ti,
    .tia-header .tia-brand-v3__rest{
        font-size:24px !important;
        letter-spacing:-1.5px !important;
    }

    .tia-header .tia-brand-v3__claim{
        margin-top:6px !important;
        font-size:6.5px !important;
        letter-spacing:.7px !important;
    }
}
/* ==========================================================
   AUTOCOMPLETE COMUNI — STILE LIVE
   ========================================================== */

.tia-search__suggestions,
.js-tia-city-results{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:0 !important;

    z-index:999999 !important;

    max-height:340px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;

    background:#fff !important;

    border:1px solid #d9e4f5 !important;
    border-radius:16px !important;

    box-shadow:0 18px 45px rgba(15,31,87,.18) !important;

    padding:6px 0 !important;
}


/* SINGOLO COMUNE */
.tia-search__suggestions .tia-search__suggestion,
.js-tia-city-results .tia-search__suggestion{
    display:block !important;

    width:100% !important;
    min-height:0 !important;

    margin:0 !important;
    padding:14px 18px !important;

    border:0 !important;
    border-radius:0 !important;

    background:#fff !important;
    background-image:none !important;

    color:#071747 !important;

    text-align:left !important;

    font-family:inherit !important;
    font-size:17px !important;
    line-height:1.25 !important;
    font-weight:800 !important;

    box-shadow:none !important;

    cursor:pointer !important;

    transition:background .15s ease !important;
}


/* DIVISORE LEGGERO */
.tia-search__suggestions .tia-search__suggestion
+ .tia-search__suggestion{
    border-top:1px solid #edf1f7 !important;
}


/* HOVER COME LIVE */
.tia-search__suggestions .tia-search__suggestion:hover,
.tia-search__suggestions .tia-search__suggestion:focus,
.js-tia-city-results .tia-search__suggestion:hover,
.js-tia-city-results .tia-search__suggestion:focus{
    background:#f5f8fd !important;

    color:#071747 !important;

    outline:none !important;

    transform:none !important;
}


