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

  .portal-maplibre-popup .portal-map-popup-title{
    font-family:var(--font-display);
    font-weight:760;
  }

  @media (max-width:760px){
    .portal-map-3d-modal{
      padding:10px;
    }

    .portal-map-3d-card{
      height:calc(100vh - 20px);
      border-radius:24px;
    }

    .portal-map-3d-head{
      flex-direction:column;
      padding:15px;
    }

    .portal-map-3d-actions{
      width:100%;
    }

    .portal-map-3d-actions .btn{
      flex:1 1 0;
      min-height:44px;
    }

    .portal-map-3d-sub{
      font-size:12.5px;
    }
  }

/* 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;
  /* Ombra leggera sul pin: blur grandi (es. 22px) si sommano in cluster → macchia scura. */
  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;
}

/* DESKTOP ONLY — card più ordinata, senza modificare colori */
  @media (min-width: 901px){
    .portal-results-grid.is-card{
      align-items:start !important;
    }

    .portal-results-grid.is-card .portal-result-card{
      display:grid !important;
      grid-template-columns: minmax(190px, 42%) minmax(0, 1fr) !important;
      min-height:230px !important;
      height:auto !important;
      overflow:hidden !important;
      align-items:stretch !important;
    }

    .portal-results-grid.is-card .portal-result-media{
      width:100% !important;
      height:100% !important;
      min-height:230px !important;
      max-height:none !important;
      aspect-ratio:auto !important;
      overflow:hidden !important;
    }

    .portal-results-grid.is-card .portal-result-media img{
      width:100% !important;
      height:100% !important;
      object-fit:cover !important;
      object-position:center center !important;
      display:block !important;
    }

    .portal-results-grid.is-card .portal-result-body{
      min-width:0 !important;
      width:100% !important;
      height:auto !important;
      display:flex !important;
      flex-direction:column !important;
      padding:18px !important;
      overflow:visible !important;
    }

    .portal-result-price{
      line-height:1.05 !important;
      margin-bottom:8px !important;
    }

    .portal-result-title{
      line-height:1.18 !important;
      margin:0 0 7px !important;
      display:-webkit-box !important;
      -webkit-line-clamp:2 !important;
      -webkit-box-orient:vertical !important;
      overflow:hidden !important;
    }

    .portal-result-meta{
      line-height:1.42 !important;
      margin-bottom:10px !important;
      display:-webkit-box !important;
      -webkit-line-clamp:2 !important;
      -webkit-box-orient:vertical !important;
      overflow:hidden !important;
    }

    .portal-result-highlight,
    .portal-result-pills{
      margin-top:8px !important;
      display:flex !important;
      flex-wrap:wrap !important;
      gap:6px !important;
    }

    .portal-result-highlight span{
      min-height:25px !important;
      padding:0 9px !important;
      border-radius:999px !important;
      border:1px solid var(--line) !important;
      background:var(--surface) !important;
      color:var(--ink-strong) !important;
      font-size:11px !important;
      display:inline-flex !important;
      align-items:center !important;
    }

    .portal-result-footer{
      margin-top:auto !important;
      padding-top:12px !important;
      display:flex !important;
      align-items:center !important;
      justify-content:space-between !important;
      gap:10px !important;
      border-top:1px solid var(--line) !important;
    }

    .portal-result-footer .btn,
    .portal-result-footer a{
      white-space:nowrap !important;
    }
  }

  /* MOBILE: non cambiare comportamento già ok */
  @media (max-width: 900px){
    .portal-results-grid.is-card .portal-result-card{
      display:block !important;
    }

    .portal-results-grid.is-card .portal-result-media{
      aspect-ratio:4 / 3 !important;
    }
  }

@media (min-width: 901px){
    .portal-results-grid.is-card{
      display:grid !important;
      align-items:stretch !important;
    }

    .portal-results-grid.is-card .portal-result-card{
      height:300px !important;
      min-height:300px !important;
      max-height:300px !important;
      align-self:stretch !important;
    }

    .portal-results-grid.is-card .portal-result-media{
      height:300px !important;
      min-height:300px !important;
      max-height:300px !important;
    }

    .portal-results-grid.is-card .portal-result-body{
      height:300px !important;
      min-height:300px !important;
      max-height:300px !important;
      overflow:hidden !important;
    }

    .portal-result-title{
      min-height:52px !important;
      max-height:52px !important;
    }

    .portal-result-meta{
      min-height:42px !important;
      max-height:42px !important;
    }

    .portal-result-highlight,
    .portal-result-pills{
      min-height:66px !important;
      max-height:66px !important;
      overflow:hidden !important;
      align-content:flex-start !important;
    }

    .portal-result-footer{
      min-height:38px !important;
      max-height:38px !important;
    }
  }

  @media (max-width: 900px){
    .portal-results-grid.is-card .portal-result-card,
    .portal-results-grid.is-card .portal-result-media,
    .portal-results-grid.is-card .portal-result-body{
      height:auto !important;
      min-height:0 !important;
      max-height:none !important;
    }
  }

@media (min-width: 901px){
    .portal-results-grid.is-card .portal-result-card{
      height:335px !important;
      min-height:335px !important;
      max-height:335px !important;
    }

    .portal-results-grid.is-card .portal-result-media{
      height:335px !important;
      min-height:335px !important;
      max-height:335px !important;
    }

    .portal-results-grid.is-card .portal-result-body{
      height:335px !important;
      min-height:335px !important;
      max-height:335px !important;
      padding:18px 18px 16px !important;
      overflow:hidden !important;
    }

    .portal-result-highlight,
    .portal-result-pills{
      min-height:74px !important;
      max-height:74px !important;
      overflow:hidden !important;
      padding-bottom:8px !important;
    }

    .portal-result-footer{
      min-height:48px !important;
      max-height:48px !important;
      padding-top:13px !important;
      margin-top:auto !important;
      border-top:1px solid var(--line) !important;
      overflow:visible !important;
    }

    .portal-result-footer *{
      line-height:1.1 !important;
    }
  }

.portal-result-price-label,
  .portal-result-body .eyebrow{
    display:none !important;
  }

.portal-result-deal-chip{
    margin-top:5px;
    margin-bottom:8px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
  }
