/*
Theme Name: TiAssisto Theme
Theme URI: https://tiassisto.it/
Author: TiAssisto
Version: 4.5.10-prelive-fix
Description: Frontend TiAssisto V2 ricostruito dai sorgenti consolidati LIVE, senza dipendenze ListingPro/WPBakery/Code Snippets.
Text Domain: tiassisto-theme
*/
/* TiAssisto - Breadcrumb nativi tema */
.ta-breadcrumbs {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 14px auto 0 !important;
  padding: 0 22px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #64748b !important;
}

.ta-breadcrumbs ol {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ta-breadcrumbs li {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #64748b !important;
  white-space: nowrap !important;
}

.ta-breadcrumbs li:not(:last-child)::after {
  content: "›" !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 7px !important;
  color: #94a3b8 !important;
  font-weight: 900 !important;
}

.ta-breadcrumbs a {
  color: #2563eb !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.ta-breadcrumbs a:hover {
  text-decoration: underline !important;
}

.ta-breadcrumbs span {
  color: #64748b !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  .ta-breadcrumbs {
    margin-top: 10px !important;
    padding: 0 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    font-size: 12px !important;
  }

  .ta-breadcrumbs::-webkit-scrollbar {
    display: none !important;
  }

  .ta-breadcrumbs ol {
    flex-wrap: nowrap !important;
    width: max-content !important;
    max-width: none !important;
    gap: 0 !important;
    padding-bottom: 2px !important;
  }

  .ta-breadcrumbs li {
    flex: 0 0 auto !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }

  .ta-breadcrumbs li:last-child {
    max-width: 185px !important;
    overflow: hidden !important;
  }

  .ta-breadcrumbs li:last-child span {
    display: inline-block !important;
    max-width: 185px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    vertical-align: bottom !important;
  }
}

@media (max-width: 380px) {
  .ta-breadcrumbs {
    padding: 0 12px !important;
  }

  .ta-breadcrumbs li {
    font-size: 11.5px !important;
  }

  .ta-breadcrumbs li:not(:last-child)::after {
    margin: 0 6px !important;
  }

  .ta-breadcrumbs li:last-child,
  .ta-breadcrumbs li:last-child span {
    max-width: 150px !important;
  }
}


/* 4.2.2 — Mobile UX + accessibility hardening */
:root{--blue:#2563eb;}
.tia-logo__title{color:#2563eb!important}
.tia-search button,
.tia-home-job__btn--primary,
.tiassisto-top-cities-v2__btn,
.tia-search-mobile-tool--map,
.tia-location-mobile-tool--map,
.tia-category-mobile-tool--map,
.tia-card-compare__btn--primary,
.tia-native-contact-form__submit{background:#2563eb!important;color:#fff!important}
.tia-search button:hover,
.tia-home-job__btn--primary:hover,
.tiassisto-top-cities-v2__btn:hover,
.tia-card-compare__btn--primary:hover,
.tia-native-contact-form__submit:hover{background:#1d4ed8!important}
.tia-card__meta{color:#5f6e91!important}
.tia-native-contact-modal__header p{color:#5f6e91!important}
.tia-footer h2{margin:0 0 14px!important;font-size:22px!important;color:#fff!important}

@media(max-width:780px){
  body.tia-menu-open{overflow:hidden!important;touch-action:none}
  .tia-nav.is-open{
    max-height:calc(100dvh - 88px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .tia-menu-toggle{min-height:44px!important;min-width:72px!important;justify-content:center!important}
  .tia-nav__menu>ul>li>a,.tia-nav .sub-menu a{min-height:44px!important;display:flex!important;align-items:center!important}
  .tia-search-mobile-tool,.tia-location-mobile-tool,.tia-category-mobile-tool{min-height:46px!important}
  .tia-native-contact-modal__dialog{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
}


/* 4.2.3 — Mobile edge fixes verified from responsive source audit */
@media(max-width:780px){
  /* Keep the page fixed while the menu is open, but do not disable touch panning
     inside the menu itself. */
  body.tia-menu-open{overflow:hidden!important;touch-action:auto!important}

  /* The previous mobile override could make the native contact dialog wider than
     the padded viewport. Keep it strictly inside 360/390/412 px screens. */
  .tia-native-contact-modal{padding:12px!important}
  .tia-native-contact-modal__dialog{
    width:100%!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    margin:0 auto!important;
  }
  .tia-native-contact-form__submit{width:100%!important}
}

@media(max-width:430px){
  /* Long Italian region names must never escape the two-column grid. */
  .tia-home-regions .tia-region-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .tia-home-regions .tia-region-grid a{
    min-width:0!important;
    min-height:58px!important;
    padding:9px 10px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
    font-size:13px!important;
    line-height:1.2!important;
  }

  /* Prevent long structure names from dominating or clipping the hero on narrow phones. */
  .tia-single-rich__overlay{padding:32px 18px 18px!important}
  .tia-single-rich__overlay h1{
    font-size:clamp(27px,7.8vw,30px)!important;
    line-height:1.08!important;
    overflow-wrap:anywhere!important;
  }
  .tia-single-rich__loc{font-size:16px!important;line-height:1.3!important}

  /* Defensive wrapping for legal/footer labels and unusually long links. */
  .tia-footer a,.tia-footer p{overflow-wrap:anywhere!important}
}


/* 4.2.7 — breadcrumb V2, visibili e mobile-safe */
.ta-breadcrumbs{width:100%;max-width:1180px;margin:10px auto 12px;padding:0 22px;box-sizing:border-box;color:#64748b;font-size:13px;line-height:1.4}
.ta-breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.ta-breadcrumbs li{display:inline-flex;align-items:center;min-width:0;font-size:13px;font-weight:700;color:#64748b;white-space:nowrap}
.ta-breadcrumbs li:not(:last-child)::after{content:"›";margin:0 7px;color:#94a3b8;font-weight:900}
.ta-breadcrumbs a{color:#2457e6;text-decoration:none;font-weight:800}
.ta-breadcrumbs a:hover{text-decoration:underline}
.ta-breadcrumbs span{color:#64748b}
@media(max-width:767px){.ta-breadcrumbs{margin-top:8px;margin-bottom:8px;padding:0 14px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ta-breadcrumbs::-webkit-scrollbar{display:none}.ta-breadcrumbs ol{flex-wrap:nowrap;width:max-content}.ta-breadcrumbs li{font-size:12px;flex:0 0 auto}.ta-breadcrumbs li:last-child{max-width:190px;overflow:hidden}.ta-breadcrumbs li:last-child span{display:inline-block;max-width:190px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}}


/* 4.3.0 - Breadcrumb V2: stessa posizione del live, sempre visibile */
body > .ta-breadcrumbs {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 20 !important;
  width: 100% !important;
  max-width: 1180px !important;
  min-height: 18px !important;
  margin: 10px auto 12px !important;
  padding: 0 22px !important;
  background: transparent !important;
  color: #64748b !important;
}
body > .ta-breadcrumbs ol { display:flex !important; align-items:center !important; flex-wrap:wrap !important; margin:0 !important; padding:0 !important; list-style:none !important; }
body > .ta-breadcrumbs li { display:inline-flex !important; align-items:center !important; font-size:12px !important; line-height:18px !important; white-space:nowrap !important; }
body > .ta-breadcrumbs li:not(:last-child)::after { content:"›" !important; margin:0 7px !important; color:#94a3b8 !important; }
body > .ta-breadcrumbs a { display:inline !important; color:#2563eb !important; text-decoration:none !important; }
body > .ta-breadcrumbs span { display:inline !important; color:#64748b !important; }
@media (max-width:767px){
 body > .ta-breadcrumbs { margin:8px auto !important; padding:0 14px !important; overflow-x:auto !important; overflow-y:hidden !important; }
 body > .ta-breadcrumbs ol { flex-wrap:nowrap !important; width:max-content !important; }
}


/* 4.5.1 — Zone urbane / quartieri */
.tia-zone-block{margin:28px 0 32px;padding:24px;border:1px solid #dbe4f0;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(15,36,80,.05)}
.tia-zone-block__head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}.tia-zone-block__head h2{margin:5px 0 4px;font-size:clamp(24px,3vw,34px);line-height:1.08;color:#071a50}.tia-zone-block__head p{margin:0;color:#64748b;max-width:760px}
.tia-zone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tia-zone-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:12px 14px;border:1px solid #dbe4f0;border-radius:14px;background:#f8fbff;color:#0b2359;text-decoration:none;font-weight:750;transition:.18s ease}.tia-zone-item:hover{background:#eef5ff;border-color:#9bb8ef;transform:translateY(-1px)}.tia-zone-item strong{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#e6efff;color:#174aa8;font-size:13px}
@media(max-width:920px){.tia-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tia-zone-block{margin:20px 0 24px;padding:18px 14px;border-radius:18px}.tia-zone-grid{grid-template-columns:1fr}.tia-zone-item{min-height:48px}}
