/* Auto-generated by scripts/css_mechanical_split.py
   Source: property_detail_part_07.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 4/5 - load order critical.
   Do not reorder or merge without re-running the splitter. */

    #similarTrack{
      display:flex !important;
      flex-direction:row !important;
      gap:12px !important;
      max-height:none !important;
      overflow-x:auto !important;
      overflow-y:hidden !important;
      scroll-snap-type:x mandatory !important;
      padding:0 0 6px !important;
      margin-top:14px !important;
      -webkit-overflow-scrolling:touch !important;
    }

    #similarTrack .similar-card{
      flex:0 0 88% !important;
      width:88% !important;
      min-width:88% !important;
      display:grid !important;
      grid-template-columns:110px minmax(0, 1fr) !important;
      gap:14px !important;
      padding:12px !important;
      border-radius:22px !important;
      border:1px solid rgba(var(--brand-rgb), .10) !important;
      background:rgba(255,255,255,.94) !important;
      box-shadow:0 10px 24px rgba(15,23,42,.055) !important;
      overflow:hidden !important;
      scroll-snap-align:start !important;
    }

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

    .similar-agency-logo{
      left:8px !important;
      bottom:8px !important;
      width:58px !important;
      height:40px !important;
      padding:5px 7px !important;
      border-radius:13px !important;
    }
  }


  /* STEP 03L — riallinea dettaglio hero simili logo */

  /*
    1) Hero dettaglio: deve avere la stessa larghezza visiva
    del resto dei componenti sotto, non invadere tutta la pagina.
  */
  .property-detail-premium-hero{
    max-width:var(--portal-content-max, 1720px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  .property-detail-hero-grid{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /*
    Se il layout principale del dettaglio ha un container,
    lo riallineiamo allo stesso asse della hero.
  */
  .property-detail-layout,
  .property-main-layout,
  .detail-layout,
  .portal-detail-layout{
    max-width:var(--portal-content-max, 1720px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  @media (min-width:1101px){
    /*
      2) Immobili simili: ripristina un box/sfondo elegante,
      senza tornare all'effetto matrioska pesante.
    */
    #similarPropertiesCard{
      padding:22px !important;
      border-radius:28px !important;
      background:
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.86)),
        #fff !important;
      border:1px solid rgba(var(--brand-rgb), .13) !important;
      box-shadow:0 20px 48px rgba(15,23,42,.085) !important;
      overflow:hidden !important;
    }

    #similarTrack{
      margin-top:18px !important;
      padding:0 8px 0 0 !important;
    }

    #similarTrack .similar-card{
      padding:0 0 18px !important;
      margin:0 0 18px !important;
      border-bottom:1px solid rgba(var(--brand-rgb), .11) !important;
      background:transparent !important;
      box-shadow:none !important;
    }

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

    /*
      3) Logo agenzia: la foto non deve tagliarlo.
      Il logo resta sopra la foto ma dentro un badge più basso e contenuto.
    */
    #similarTrack .similar-thumb{
      overflow:visible !important;
      margin-bottom:8px !important;
      border-radius:22px !important;
      box-shadow:none !important;
      background:transparent !important;
    }

    #similarTrack .similar-thumb > img{
      border-radius:22px !important;
      box-shadow:0 12px 28px rgba(15,23,42,.09) !important;
      overflow:hidden !important;
    }
  }

  /*
    Logo agenzia card simili: non tagliare GIAL.
  */
  .similar-agency-logo{
    left:14px !important;
    bottom:12px !important;
    width:76px !important;
    height:54px !important;
    padding:8px 10px !important;
    border-radius:17px !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid rgba(255,255,255,.86) !important;
    box-shadow:0 12px 26px rgba(0,0,0,.18) !important;
    overflow:visible !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:8 !important;
  }

  .similar-agency-logo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  @media (max-width:1100px){
    .property-detail-premium-hero{
      max-width:none !important;
      margin-left:0 !important;
      margin-right:0 !important;
    }

    #similarPropertiesCard{
      border-radius:26px !important;
      background:
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.88)),
        #fff !important;
      border:1px solid rgba(var(--brand-rgb), .13) !important;
      box-shadow:0 16px 36px rgba(15,23,42,.08) !important;
      overflow:hidden !important;
    }

    #similarTrack .similar-thumb{
      overflow:visible !important;
    }

    #similarTrack .similar-thumb > img{
      border-radius:16px !important;
      overflow:hidden !important;
    }

    .similar-agency-logo{
      left:8px !important;
      bottom:8px !important;
      width:58px !important;
      height:42px !important;
      padding:6px 7px !important;
      border-radius:13px !important;
    }
  }


  /* STEP 03M — hero width + logo agency final fix */

  /*
    Il blocco sotto (#detailSplit) ha margin laterale 28px.
    La hero non lo aveva, quindi risultava più larga.
    La riallineiamo allo stesso asse visivo.
  */
  @media (min-width:901px){
    .property-detail-premium-hero,
    .property-hero-shell-fix.property-detail-premium-hero,
    section.hero-shell.property-detail-premium-hero{
      width:calc(100% - 56px) !important;
      max-width:none !important;
      margin-left:28px !important;
      margin-right:28px !important;
      margin-bottom:28px !important;
      box-sizing:border-box !important;
    }

    #detailSplit{
      box-sizing:border-box !important;
    }
  }

  @media (max-width:900px){
    .property-detail-premium-hero,
    .property-hero-shell-fix.property-detail-premium-hero,
    section.hero-shell.property-detail-premium-hero{
      width:100% !important;
      max-width:100% !important;
      margin-left:0 !important;
      margin-right:0 !important;
      box-sizing:border-box !important;
    }
  }

  /*
    Badge logo agenzia: override finale anti-taglio.
    Importante: il logo NON deve ereditare object-fit: cover dalle foto.
  */
  .similar-thumb{
    overflow:visible !important;
  }

  .similar-agency-logo{
    position:absolute !important;
    left:14px !important;
    bottom:14px !important;
    width:92px !important;
    height:62px !important;
    padding:9px 11px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid rgba(255,255,255,.88) !important;
    box-shadow:0 12px 28px rgba(0,0,0,.18) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    z-index:20 !important;
  }

  .similar-thumb .similar-agency-logo img,
  .similar-agency-logo > img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
  }

  /*
    Stesso principio per eventuali loghi agenzia sulle card lista.
  */
  .portal-result-agency-logo{
    width:88px !important;
    height:58px !important;
    padding:8px 10px !important;
    overflow:visible !important;
  }

  .portal-result-agency-logo img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  @media (max-width:1100px){
    .similar-agency-logo{
      left:8px !important;
      bottom:8px !important;
      width:66px !important;
      height:46px !important;
      padding:6px 8px !important;
      border-radius:14px !important;
    }

    .portal-result-agency-logo{
      width:72px !important;
      height:48px !important;
      padding:6px 8px !important;
    }
  }


  /* STEP LOGO FINAL — anti taglio definitivo agenzie */

  /*
    Badge logo agenzia dentro immobili simili:
    il contenitore della foto può restare rounded, ma il badge/logo non deve
    ereditare object-fit:cover né essere clippato verticalmente.
  */
  #similarTrack .similar-thumb,
  .similar-thumb{
    overflow:visible !important;
  }

  #similarTrack .similar-thumb > img{
    border-radius:22px !important;
    overflow:hidden !important;
  }

  #similarTrack .similar-agency-logo,
  .similar-agency-logo{
    position:absolute !important;
    left:14px !important;
    bottom:14px !important;
    width:104px !important;
    height:72px !important;
    min-width:104px !important;
    min-height:72px !important;
    padding:10px 13px !important;
    border-radius:20px !important;
    background:rgba(255,255,255,.985) !important;
    border:1px solid rgba(255,255,255,.92) !important;
    box-shadow:0 14px 30px rgba(0,0,0,.18) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    z-index:50 !important;
  }

  #similarTrack .similar-agency-logo img,
  .similar-thumb .similar-agency-logo img,
  .similar-agency-logo > img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:scale-down !important;
    object-position:center center !important;
    border-radius:0 !important;
    box-shadow:none !important;
    filter:none !important;
    transform:scale(.84) !important;
    transform-origin:center center !important;
  }

  @media (max-width:1100px){
    #similarTrack .similar-agency-logo,
    .similar-agency-logo{
      left:8px !important;
      bottom:8px !important;
      width:72px !important;
      height:52px !important;
      min-width:72px !important;
      min-height:52px !important;
      padding:7px 9px !important;
      border-radius:15px !important;
    }

    #similarTrack .similar-agency-logo img,
    .similar-thumb .similar-agency-logo img,
    .similar-agency-logo > img{
      transform:scale(.82) !important;
    }
  }


  /* FIX GALLERY PHOTO CONTROLS OVERLAP */

  /*
    Evita sovrapposizione tra “Guarda tutte le foto” e numeratore foto.
    Vale per dettaglio immobile nativo e dettaglio importato, perché entrambi
    usano property_detail.html.
  */
  .property-gallery-open,
  .gallery-open,
  .photo-gallery-open,
  .property-photo-open,
  [data-open-gallery],
  [data-gallery-open]{
    max-width:calc(100% - 136px) !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    padding-right:28px !important;
  }

  .property-gallery-counter,
  .gallery-counter,
  .photo-gallery-counter,
  .property-photo-counter,
  [data-gallery-counter]{
    z-index:8 !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  /*
    Se i due elementi sono dentro la stessa fascia overlay, forza distanza.
  */
  .property-gallery-actions,
  .gallery-actions,
  .photo-gallery-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    max-width:100% !important;
  }

  .property-gallery-actions > *,
  .gallery-actions > *,
  .photo-gallery-actions > *{
    min-width:0 !important;
  }

  @media (max-width:760px){
    .property-gallery-open,
    .gallery-open,
    .photo-gallery-open,
    .property-photo-open,
    [data-open-gallery],
