/* Auto-generated by scripts/css_mechanical_split.py
   Source: property_detail_part_05.css
   Part 2/2 - load order critical.
   Do not reorder or merge without re-running the splitter. */

    .property-detail-quicknav{
      position:relative;
      top:auto;
      padding:0 0 12px;
      margin:0 0 14px;
    }

    .property-detail-trust-strip{
      grid-template-columns:1fr 1fr;
    }

    .property-detail-cta-card{
      position:static;
    }
  }

  @media(max-width:640px){
    .property-detail-trust-strip{
      grid-template-columns:1fr;
      gap:8px;
    }

    .property-detail-quicknav a{
      min-height:36px;
      font-size:12px;
      padding:0 12px;
    }
  }
/* AI FIX — Leaflet marker visibility guard
   Evita che merge di stili globali/portal sovrascrivano icone e pane Leaflet. */
.leaflet-marker-pane,
.leaflet-shadow-pane,
.leaflet-popup-pane{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

.leaflet-marker-pane{
  z-index:600 !important;
}

.leaflet-shadow-pane{
  z-index:500 !important;
}

.leaflet-popup-pane{
  z-index:700 !important;
}

.leaflet-marker-icon,
.leaflet-marker-shadow{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  max-width:none !important;
  max-height:none !important;
  transform-origin:center bottom !important;
  pointer-events:auto !important;
}

.portal-maplibre-marker,
.imported-detail-leaflet-marker{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
/* AI FIX — Leaflet CSS marker fallback senza PNG statici */
.portal-leaflet-div-marker{
  width:34px !important;
  height:44px !important;
  /* Non forzare position: Leaflet posiziona i marker con absolute + transform. */
  background:transparent !important;
  border:0 !important;
}

.portal-leaflet-div-marker::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:3px !important;
  width:26px !important;
  height:26px !important;
  transform:translateX(-50%) rotate(45deg) !important;
  border-radius:50% 50% 50% 7px !important;
  background:linear-gradient(135deg,#0f6b4b 0%,#134e3a 100%) !important;
  border:3px solid rgba(255,255,255,.96) !important;
  box-shadow:none !important;
  filter:drop-shadow(0 2px 3px rgba(15,23,42,.22)) !important;
}

.portal-leaflet-div-marker::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:13px !important;
  width:8px !important;
  height:8px !important;
  transform:translateX(-50%) !important;
  border-radius:999px !important;
  background:#ffffff !important;
  box-shadow:0 0 0 1px rgba(15,23,42,.10) !important;
}

.portal-result-card.is-map-active ~ .portal-leaflet-div-marker::before,
.portal-leaflet-div-marker:hover::before{
  filter:drop-shadow(0 3px 5px rgba(15,23,42,.26)) brightness(1.06) saturate(1.04) !important;
}

/* === Property detail inline normalization batch 1 === */
.detail-feature-box{
  padding:14px 16px;
}

.detail-feature-label{
  font-size:12px;
}

.detail-feature-value{
  margin-top:6px;
  font-size:18px;
  font-weight:700;
  font-family:var(--font-display);
}

.detail-main-stat{
  padding:18px;
}

.detail-main-stat-value{
  font-size:24px;
  font-weight:700;
  font-family:var(--font-display);
  margin-top:8px;
}

.detail-territory-kicker{
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#64748b;
}

/* === Property detail inline normalization batch 2 === */
.detail-section-card{
  padding:24px;
}

.detail-section-title{
  font-size:28px;
}

.detail-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

/*
  Dettaglio split: galleria + colonna simili sulla prima riga (come produzione);
  contenuto testuale/mappa sotto la galleria; aside con grid-row span così resta
  allineata al bordo superiore della foto quando è sticky.
*/
@media (min-width: 901px){
  #detailSplit.detail-split-root{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 420px) !important;
    grid-template-rows:auto 1fr !important;
    column-gap:24px !important;
    row-gap:24px !important;
    align-items:start !important;
    width:calc(100% - 56px) !important;
    max-width:calc(100% - 56px) !important;
    margin-left:28px !important;
    margin-right:28px !important;
    box-sizing:border-box !important;
  }

  #detailGalleryHost{
    grid-column:1 !important;
    grid-row:1 !important;
    min-width:0 !important;
  }

  #detailMainColumn{
    grid-column:1 !important;
    grid-row:2 !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }

  /*
    Colonna simili: stessa riga alta della galleria + span verticale; sticky sotto la topbar.
  */
  #detailAside{
    grid-column:2 !important;
    grid-row:1 / -1 !important;
    position:sticky !important;
    /* aria sotto il menu: evita che il bordo superiore della card “tagli” il contenuto */
    top:calc(var(--topbar-h, 84px) + 28px) !important;
    align-self:start !important;
    height:auto !important;
    max-height:calc(100vh - var(--topbar-h, 84px) - 52px) !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    padding:0 !important;
    margin:0 !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
  }

  #similarPropertiesCard{
    flex:1 1 auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    box-sizing:border-box !important;
    padding:22px !important;
    border-radius:26px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90)),
      #fff !important;
    border:1px solid rgba(var(--brand-rgb), .12) !important;
    box-shadow:0 18px 42px rgba(15,23,42,.08) !important;
  }

  #similarTrack{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    scroll-snap-type:none !important;
    gap:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:16px !important;
    padding:0 4px 0 0 !important;
    box-sizing:border-box !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:thin !important;
  }

  #similarTrack .similar-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    scroll-snap-align:none !important;
    box-sizing:border-box !important;
    margin:0 0 18px 0 !important;
    padding:0 0 18px 0 !important;
    border-radius:0 !important;
    border:0 !important;
    border-bottom:1px solid rgba(var(--brand-rgb), .12) !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  #similarTrack .similar-card:last-child{
    border-bottom:0 !important;
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }

  #similarTrack .similar-thumb{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    height:180px !important;
    min-height:160px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    margin:0 0 10px 0 !important;
    box-sizing:border-box !important;
  }

  #similarTrack .similar-thumb img,
  #similarTrack .similar-thumb > img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  #similarMobileNav{
    display:none !important;
  }

  #similarTrack .similar-title,
  #similarTrack .similar-meta{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    min-width:0 !important;
  }

  #detailMap{
    height:520px !important;
    min-height:480px !important;
  }

  #similarTrack .similar-agency-logo,
  .similar-thumb .similar-agency-logo{
    position:absolute !important;
    left:auto !important;
    right:10px !important;
    top:10px !important;
    bottom:auto !important;
    width:46px !important;
    height:32px !important;
    min-width:46px !important;
    min-height:32px !important;
    padding:3px 5px !important;
    border-radius:10px !important;
    z-index:6 !important;
  }

  #similarTrack .similar-agency-logo img,
  .similar-thumb .similar-agency-logo img{
    transform:none !important;
    object-fit:contain !important;
  }
}

@media (max-width: 900px){
  #detailSplit.detail-split-root{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
    margin:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #detailGalleryHost,
  #detailMainColumn,
  #detailAside{
    grid-column:auto !important;
    grid-row:auto !important;
    width:100% !important;
    max-width:100% !important;
  }

  #detailGalleryHost{
    order:1 !important;
  }

  #detailMainColumn{
    order:2 !important;
  }

  #detailAside{
    order:3 !important;
    position:static !important;
    top:auto !important;
    max-height:none !important;
    height:auto !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }

  #similarPropertiesCard{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    transform:none !important;
  }

  #similarTrack{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    margin-top:14px !important;
    padding:0 0 8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior-x:contain !important;
    touch-action:pan-x !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #similarTrack .similar-card{
    flex:0 0 88% !important;
    width:88% !important;
    min-width:88% !important;
    max-width:88% !important;
    display:grid !important;
    grid-template-columns:110px minmax(0, 1fr) !important;
    gap:14px !important;
    scroll-snap-align:start !important;
    box-sizing:border-box !important;
  }

  #similarTrack .similar-thumb{
    width:110px !important;
    height:86px !important;
    min-height:86px !important;
    border-radius:16px !important;
    overflow:hidden !important;
  }

  #similarMobileNav{
    display:flex !important;
  }

  #similarTrack .similar-agency-logo,
  .similar-thumb .similar-agency-logo{
    left:auto !important;
    right:8px !important;
    top:8px !important;
    bottom:auto !important;
    width:44px !important;
    height:30px !important;
    min-width:44px !important;
    min-height:30px !important;
    padding:3px 4px !important;
  }

  #similarTrack .similar-agency-logo img,
  .similar-thumb .similar-agency-logo img{
    transform:none !important;
  }
}

