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

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

    #detailThumbs .detail-thumb{
      flex:0 0 auto !important;
      width:96px !important;
      min-width:96px !important;
      max-width:96px !important;
      height:72px !important;
      border-radius:10px !important;
      overflow:hidden !important;
      box-sizing:border-box !important;
    }

    .section.card,
    aside .card,
    #detailAside,
    #similarPropertiesCard{
      width:100% !important;
      max-width:100% !important;
      padding:14px !important;
      border-radius:18px !important;
      margin-bottom:14px !important;
      box-sizing:border-box !important;
      overflow:hidden !important;
    }

    #featureBoxes,
    .grid-4{
      grid-template-columns:1fr !important;
      gap:10px !important;
    }

    #detailMap{
      width:100% !important;
      height:220px !important;
      min-height:220px !important;
      border-radius:16px !important;
      overflow:hidden !important;
    }

    #similarTrack{
      display:flex !important;
      overflow-x:auto !important;
      overflow-y:hidden !important;
      scroll-snap-type:x mandatory !important;
      width:100% !important;
      max-width:100% !important;
      gap:0 !important;
      padding:0 !important;
      margin:0 !important;
      scrollbar-width:none !important;
    }

    #similarTrack::-webkit-scrollbar{
      display:none !important;
    }

    #similarTrack .similar-card{
      min-width:100% !important;
      width:100% !important;
      scroll-snap-align:start !important;
      box-sizing:border-box !important;
    }
  }

@media (max-width: 760px){
    #detailAside{
      width:100% !important;
      max-width:100% !important;
      margin-left:0 !important;
      margin-right:0 !important;
      padding-left:0 !important;
      padding-right:0 !important;
      box-sizing:border-box !important;
    }

    #similarPropertiesCard{
      width:100% !important;
      max-width:100% !important;
      margin-left:0 !important;
      margin-right:0 !important;
      box-sizing:border-box !important;
    }

    #similarTrack,
    #similarMobileNav{
      width:100% !important;
      max-width:100% !important;
      box-sizing:border-box !important;
    }

    #similarTrack .similar-card{
      flex:0 0 88% !important;
      min-width:88% !important;
      width:88% !important;
      max-width:88% !important;
      box-sizing:border-box !important;
    }
  }

@media (max-width: 760px){

    /* aria corretta tra fine hero e prima foto */
    .property-detail-premium-hero,
    .property-hero-shell-fix{
      margin-bottom:18px !important;
    }

    #detailSplit{
      gap:16px !important;
      margin-top:0 !important;
      margin-bottom:8px !important;
      padding-bottom:0 !important;
    }

    .detail-gallery-card{
      margin-top:0 !important;
      margin-bottom:14px !important;
    }

    /* foto principale intera, senza zoom */
    #detailMainStage{
      aspect-ratio:4 / 3 !important;
      background:#fff !important;
      overflow:hidden !important;
    }

    #detailMainImage{
      object-fit:contain !important;
      object-position:center center !important;
      background:#fff !important;
      transform:none !important;
    }

    /* rimuove la linea/separatore verde o colorato sopra miniature */
    #detailMainStage + div,
    #detailThumbs,
    #detailThumbs .detail-thumb,
    #detailThumbs .detail-thumb.is-active{
      border-top:0 !important;
      box-shadow:none !important;
    }

    #detailMainStage + div{
      padding:10px 0 0 !important;
      border-top:0 !important;
      background:transparent !important;
    }

    #detailThumbs .detail-thumb{
      border:0 !important;
      outline:0 !important;
      box-shadow:none !important;
    }

    #detailThumbs .detail-thumb.is-active{
      border:0 !important;
      outline:2px solid rgba(15,23,42,.18) !important;
      outline-offset:0 !important;
      box-shadow:none !important;
    }

    /* immobili simili: stessa larghezza visiva degli altri box */
    #detailAside{
      padding:0 !important;
      margin:0 !important;
      width:100% !important;
      max-width:100% !important;
      box-sizing:border-box !important;
    }

    #similarPropertiesCard{
      width:100% !important;
      max-width:100% !important;
      margin-left:0 !important;
      margin-right:0 !important;
      margin-bottom:0 !important;
      padding:14px !important;
      box-sizing:border-box !important;
    }

    #similarTrack{
      width:100% !important;
      max-width:100% !important;
      margin-top:12px !important;
      box-sizing:border-box !important;
    }

    #similarTrack .similar-card{
      flex:0 0 88% !important;
      min-width:88% !important;
      width:88% !important;
      max-width:88% !important;
      box-sizing:border-box !important;
    }

    #similarMobileNav{
      width:100% !important;
      max-width:100% !important;
      margin-top:10px !important;
      margin-bottom:0 !important;
      box-sizing:border-box !important;
    }

    /* riduce aria tra immobili simili e footer */
    #detailAside,
    #similarPropertiesCard,
    #detailSplit{
      padding-bottom:0 !important;
      margin-bottom:0 !important;
    }

    main.container,
    main,
    .container{
      padding-bottom:10px !important;
    }

    footer,
    .footer{
      margin-top:14px !important;
    }
  }

@media (max-width: 760px){
    /* più aria tra hero/prezzo e prima foto */
    .property-detail-premium-hero,
    .property-hero-shell-fix,
    .hero-shell.property-hero-shell-fix{
      margin-bottom:28px !important;
    }

    #detailSplit{
      margin-top:0 !important;
      gap:14px !important;
    }

    /* riduce aria tra immobili simili e footer */
    #detailAside,
    #similarPropertiesCard{
      margin-bottom:0 !important;
      padding-bottom:0 !important;
    }

    #similarMobileNav{
      margin-bottom:0 !important;
      padding-bottom:0 !important;
    }

    #detailSplit{
      margin-bottom:0 !important;
      padding-bottom:0 !important;
    }

    main.container,
    main.container > *:last-child,
    main > *:last-child,
    .container > *:last-child{
      margin-bottom:0 !important;
      padding-bottom:0 !important;
    }

    footer,
    .footer{
      margin-top:6px !important;
    }
  }

/* DESKTOP: foto visibile e piena */
  @media (min-width: 761px){
    #detailMainStage{
      position:relative !important;
      width:100% !important;
      min-height:520px !important;
      max-height:680px !important;
      overflow:hidden !important;
      background:#fff !important;
    }

    #detailMainStage > img#detailMainImage,
    img#detailMainImage{
      display:block !important;
      position:relative !important;
      width:100% !important;
      height:100% !important;
      min-height:520px !important;
      object-fit:cover !important;
      object-position:center center !important;
      background:#fff !important;
      transform:none !important;
    }

    #detailThumbs{
      display:flex !important;
      flex-direction:row !important;
      flex-wrap:nowrap !important;
      align-items:center !important;
      gap:10px !important;
      width:100% !important;
      max-width:100% !important;
      box-sizing:border-box !important;
      overflow-x:auto !important;
      overflow-y:hidden !important;
    }

    #detailThumbs .detail-thumb{
      flex:0 0 auto !important;
      width:112px !important;
      min-width:112px !important;
      max-width:112px !important;
      height:84px !important;
      box-sizing:border-box !important;
    }
  }

  /* MOBILE: immagine intera, non tagliata */
  @media (max-width: 760px){
    #detailMainStage{
      aspect-ratio:4 / 3 !important;
      height:auto !important;
      min-height:0 !important;
      background:#fff !important;
    }

    #detailMainStage > img#detailMainImage,
    img#detailMainImage{
      display:block !important;
      width:100% !important;
      height:100% !important;
      object-fit:contain !important;
      object-position:center center !important;
      background:#fff !important;
      transform:none !important;
    }
  }

/* UX only: non altera palette, usa solo variabili tema esistenti */
  .property-detail-quicknav{
    position:sticky;
    top:calc(var(--topbar-h, 84px) + 8px);
    z-index:20;
    display:flex;
    gap:8px;
    overflow:auto;
    padding:10px 28px 14px;
    margin:-12px 0 18px;
    scrollbar-width:none;
  }

  .property-detail-quicknav::-webkit-scrollbar{
    display:none;
  }

  .property-detail-quicknav a{
    flex:0 0 auto;
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--surface);
    color:var(--ink-strong);
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    box-shadow:var(--shadow-soft);
  }

  .property-detail-trust-strip{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:16px;
  }

  .property-detail-trust-item{
    border:1px solid var(--line);
    background:var(--surface);
    border-radius:18px;
    padding:12px 14px;
    min-width:0;
  }

  .property-detail-trust-item strong{
    display:block;
    font-family:var(--font-display);
    font-size:15px;
    line-height:1.2;
    color:var(--ink-strong);
  }

  .property-detail-trust-item span{
    display:block;
    margin-top:5px;
    font-size:12px;
    line-height:1.45;
    color:var(--muted);
  }

  .detail-gallery-card{
    scroll-margin-top:120px;
  }

  #featureBoxes,
  #detailMapSection,
  #detailContactBox{
    scroll-margin-top:120px;
  }

  .property-detail-cta-card{
    position:sticky;
    top:calc(var(--topbar-h, 84px) + 20px);
  }

  @media(max-width:900px){
