/* 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;
    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;
  }
}

/* Mobile: hero e blocchi sotto condividono lo stesso asse (solo padding .container). */
@media (max-width: 760px){
  #detailSplit.detail-split-root,
  #detailSplit{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  #detailGalleryHost,
  #detailGallery,
  .detail-gallery-card,
  #detailMainColumn,
  #detailAside,
  #similarPropertiesCard,
  #detailMainColumn > .section.card,
  #detailMainColumn > .card,
  .detail-section-card{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    transform:none !important;
    box-sizing:border-box !important;
    min-width:0 !important;
  }

  #featureBoxes,
  .detail-feature-grid,
  .grid-4{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .property-detail-quicknav{
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

/* Strumenti finanziari: ultima sezione colonna principale (sotto mappa), pannello collassabile. */
#portalFinancialTools.portal-financial-panel{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  box-sizing:border-box;
}

.portal-financial-panel__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.portal-financial-panel__titles{
  flex:1 1 auto;
  min-width:0;
}

.portal-financial-panel__teaser{
  margin-top:10px;
  font-size:14px;
  line-height:1.65;
}

.portal-financial-panel:not(.is-collapsed) .portal-financial-panel__teaser{
  display:none;
}

.portal-financial-panel.is-collapsed .portal-financial-panel__body{
  display:none;
}

.portal-financial-panel__intro{
  margin-top:18px;
  font-size:14px;
  line-height:1.65;
}

.portal-financial-panel__grid{
  margin-top:22px;
  display:grid;
  gap:18px;
}

.portal-financial-toggle{
  flex:0 0 auto;
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(var(--brand-rgb), .22);
  background:rgba(255,255,255,.92);
  color:#7a2e21;
  font-size:26px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
  transition:background .15s ease, border-color .15s ease, transform .12s ease;
}

.portal-financial-toggle:hover{
  background:#fff;
  border-color:rgba(var(--brand-rgb), .38);
}

.portal-financial-toggle:focus-visible{
  outline:2px solid rgba(var(--brand-rgb), .45);
  outline-offset:2px;
}

.portal-financial-toggle__icon{
  display:block;
  margin-top:-2px;
}

.portal-financial-toggle__label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media (min-width: 901px){
  /* Resta nella colonna sinistra: non allunga la card simili sticky oltre il viewport. */
  #portalFinancialTools.portal-financial-panel{
    scroll-margin-top:calc(var(--topbar-h, 84px) + 20px);
  }
}

