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

/* === HERO PRO UPGRADE === */

#detailMainStage{
  position:relative;
}

/* overlay gradiente */
.detail-image-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.35), rgba(0,0,0,0.05));
  z-index:1;
  pointer-events:none;
}

/* top bar — solo tipologia (es. Vendita) in alto a destra; badge portale a sinistra */
.detail-image-topbar{
  position:absolute;
  top:12px;
  left:12px;
  right:12px;
  display:flex;
  justify-content:flex-end;
  align-items:flex-start;
  z-index:6;
  pointer-events:none;
}

/* badge */
.detail-badge{
  background:#111;
  color:#fff;
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:600;
  letter-spacing:0.3px;
}

.detail-image-topbar .detail-badge{
  pointer-events:auto;
}
  /* STEP 03A FIX — Hero dettaglio contenuta + immobili simili non eccessivi */
  /* STEP 03B — Indicatore scroll immobili simili */
  .property-detail-premium-hero{
    overflow:hidden;
  }

  .property-hero-layout-fix.property-detail-hero-grid{
    min-width:0;
  }

  .property-hero-copy-fix{
    min-width:0;
    max-width:100%;
    overflow:hidden;
  }

  .property-detail-title{
    max-width:820px;
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
  }

  .property-detail-location,
  .property-detail-excerpt{
    max-width:780px;
  }

  .property-detail-pills{
    max-width:840px;
  }

  .property-detail-pills .pill{
    max-width:100%;
    white-space:normal;
  }

  .property-detail-cta-card{
    min-width:0;
    max-width:100%;
  }

  @media (min-width:1100px){
    .property-hero-layout-fix.property-detail-hero-grid{
      grid-template-columns:minmax(0, 1fr) minmax(330px, 420px) !important;
      gap:34px !important;
      align-items:start !important;
    }

    .property-hero-box-fix.property-detail-price-box{
      width:100% !important;
      min-width:0 !important;
      max-width:420px !important;
    }

    .property-detail-premium-hero{
      padding:28px !important;
    }

    .property-detail-title{
      font-size:clamp(34px, 3.35vw, 54px);
      line-height:1.03;
      letter-spacing:-.044em;
    }

    .property-detail-excerpt{
      margin-top:16px;
      font-size:14.5px;
      line-height:1.62;
    }

    .property-detail-cta-card{
      padding:22px !important;
    }
  }

  @media (min-width:1101px){
    #detailAside{
      position:sticky;
      top:calc(var(--topbar-h, 84px) + 24px);
      max-height:calc(100vh - var(--topbar-h, 84px) - 48px);
      overflow:hidden;
      display:flex;
      flex-direction:column;
    }

    #similarPropertiesCard{
      min-height:0;
      display:flex;
      flex-direction:column;
    }

    #similarPropertiesCard{
      position:relative;
    }

    #similarTrack{
      min-height:0;
      max-height:620px;
      overflow-y:auto;
      overflow-x:hidden;
      padding-right:6px;
      padding-bottom:54px;
      overscroll-behavior:contain;
    }

    #similarPropertiesCard::after{
      content:"Scorri per altri immobili ↓";
      position:absolute;
      left:14px;
      right:14px;
      bottom:12px;
      min-height:38px;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:999px;
      border:1px solid rgba(var(--brand-rgb), .14);
      background:
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.88));
      color:var(--brand-strong);
      font-family:var(--font-display);
      font-size:11px;
      font-weight:850;
      letter-spacing:.12em;
      text-transform:uppercase;
      box-shadow:0 -16px 34px rgba(255,255,255,.88), 0 10px 26px rgba(15,23,42,.08);
      pointer-events:none;
      z-index:4;
    }

    #similarTrack::-webkit-scrollbar{
      width:7px;
    }

    #similarTrack::-webkit-scrollbar-thumb{
      background:rgba(var(--brand-rgb), .28);
      border-radius:999px;
    }

    #similarTrack::-webkit-scrollbar-track{
      background:rgba(var(--brand-rgb), .06);
      border-radius:999px;
    }
  }

  @media (max-width:900px){
    .property-detail-premium-hero{
      padding:18px !important;
    }

    .property-hero-copy-fix{
      overflow:visible;
    }

    .property-detail-title{
      max-width:100%;
      overflow-wrap:break-word;
    }

    #detailAside{
      max-height:none;
      overflow:visible;
    }

    #similarTrack{
      max-height:none;
      overflow:visible;
      padding-right:0;
      padding-bottom:0;
    }

    #similarPropertiesCard::after{
      display:none;
    }
  }


  /* STEP 03B FIX — Indicatore scroll interno immobili simili */
  @media (min-width:1101px){
    #similarTrack{
      position:relative;
      padding-bottom:10px !important;
    }

    #similarTrack::after{
      content:"Scorri per altri immobili ↓";
      position:sticky;
      bottom:0;
      left:0;
      right:0;
      min-height:38px;
      margin:14px 4px 0 0;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:999px;
      border:1px solid rgba(var(--brand-rgb), .16);
      background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
      color:var(--brand-strong);
      font-family:var(--font-display);
      font-size:11px;
      font-weight:850;
      letter-spacing:.12em;
      text-transform:uppercase;
      box-shadow:0 -18px 34px rgba(255,255,255,.92), 0 10px 24px rgba(15,23,42,.08);
      pointer-events:none;
      z-index:20;
    }

    #similarPropertiesCard::after{
      display:none !important;
      content:none !important;
    }
  }

  @media (max-width:1100px){
    #similarTrack::after,
    #similarPropertiesCard::after{
      display:none !important;
      content:none !important;
    }
  }


  /* STEP 03B CLEAN — rimuove duplicato indicatore scroll */
  #similarTrack .similar-scroll-hint,
  .similar-scroll-hint{
    display:none !important;
  }

  #similarTrack > .similar-scroll-hint{
    display:none !important;
  }


  /* STEP 03C — pulizia scroll hint e logo agenzia immobili simili */

  /* Spegne definitivamente i duplicati generati via pseudo-elemento */
  #similarTrack::after,
  #similarPropertiesCard::after{
    content:none !important;
    display:none !important;
  }

  /* Usa solo il blocco reale già presente nel template, a fine lista */
  @media (min-width:1101px){
    #similarScrollHint{
      position:static !important;
      display:flex !important;
      margin:14px 0 0 !important;
      min-height:40px !important;
      padding:0 14px !important;
      border-radius:999px !important;
      border:1px solid rgba(var(--brand-rgb), .16) !important;
      background:rgba(255,255,255,.92) !important;
      color:var(--brand-strong) !important;
      font-family:var(--font-display) !important;
      font-size:11px !important;
      font-weight:850 !important;
      letter-spacing:.12em !important;
      text-transform:uppercase !important;
      box-shadow:0 10px 24px rgba(15,23,42,.07) !important;
    }

    #similarScrollHint span:first-child::after{
      content:" per altri immobili";
    }

    #similarScrollHint .hint-arrow{
      color:var(--brand-strong) !important;
      font-size:18px !important;
    }
  }

  @media (max-width:1100px){
    #similarScrollHint{
      display:none !important;
    }
  }

  .similar-thumb{
    position:relative;
    overflow:hidden;
  }

  .similar-agency-logo{
    position:absolute;
    left:10px;
    bottom:10px;
    width:58px;
    height:36px;
    padding:5px;
    border-radius:13px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 10px 22px rgba(0,0,0,.16);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:3;
  }

  .similar-agency-logo img{
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    border-radius:0 !important;
  }

