/* 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:cover !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:cover !important;
      object-position:center center !important;
      background:#fff !important;
      transform:none !important;
    }
  }

/* Etichetta "Navigazione rapida": stesso font di ".eyebrow" ("Richiesta
   rapida" nella card CTA, vedi portal-base-public_part_01.css) — richiesto
   dall'utente il 15/08/2026. Regola SENZA scoping a
   body.is-wow-light-on (quella esistente in portal-detail-ambient-wow.css
   si applica solo li'): su mobile is-wow-light-on non viene mai aggiunta
   (portal-ambient-mobile.js disattiva i preset ambient pesanti su touch),
   quindi l'etichetta restava con il font di default del browser. */
  .portal-detail-quicknav-kicker{
    display:inline-block;
    font-family:var(--font-display, "Jost", -apple-system, "Segoe UI", sans-serif);
    font-size:11px;
    font-weight:700;
    letter-spacing:.20em;
    text-transform:uppercase;
    color:var(--brand, #0a5a3f);
    margin:0 0 8px;
  }

/* Sfondo card dello shell: stesso stile della versione desktop (vedi
   portal-detail-ambient-wow.css, regola scoped a body.is-wow-light-on)
   ma SENZA scoping — stesso bug del kicker sopra: is-wow-light-on non
   viene mai aggiunta su mobile/touch, quindi lo shell restava senza
   sfondo (trasparente sopra le foto della galleria, segnalato
   dall'utente il 15/08/2026 con screenshot). */
  .portal-detail-quicknav-shell{
    border-radius:20px;
    background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(var(--brand-rgb, 10,90,63),.08));
    border:1px solid rgba(var(--brand-rgb, 10,90,63),.22);
    box-shadow:0 16px 40px rgba(var(--brand-rgb, 10,90,63),.14), inset 0 1px 0 rgba(255,255,255,.95);
  }

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

  /* Pinning via JS (static/portal/js/property_detail_quicknav_pin.js):
     position:sticky non si aggancia in modo affidabile su questa pagina
     (catena di antenati con overflow non-visible — #detailSplit, .container,
     #main-content, html — che secondo spec CSS diventano "nearest scrolling
     ancestor" per lo sticky anche se nessuno di loro scrolla davvero
     interattivamente; il vero scroller e' <html>. Debug approfondito il
     14-15/08/2026: escluse transform/filter/contain/content-visibility/
     cascade layer, bisect di tutti i 32 stylesheet della pagina, nessuna
     causa isolabile risolve il problema con solo CSS). .is-pinned sostituisce
     lo sticky con position:fixed gestito via IntersectionObserver, immune
     alla stessa ambiguita' della containing-block chain.

     top NON e' legato all'altezza della topbar (.topbar): verificato il
     16/08/2026 che anche .topbar (position:sticky) non resta visibile
     durante lo scroll su questa pagina — stessa ambiguita' di containing
     block, e' un secondo elemento colpito dallo stesso bug di fondo, fuori
     scope qui. Agganciare la quicknav sotto un'altezza-topbar che nella
     realta' e' gia' scomparsa lasciava un vuoto enorme in cima allo
     schermo (segnalato dall'utente). Offset piccolo e fisso invece:
     vedi PIN_TOP_OFFSET nello script JS. */
  .portal-detail-quicknav-shell.is-pinned{
    position:fixed;
    z-index:40;
    margin:0;
  }

  .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);
  }

  .property-detail-premium-hero .property-detail-cta-card,
  .property-detail-premium-hero #detailContactBox{
    position:relative !important;
    top:0 !important;
  }

  body.portal-detail-ambient .property-detail-premium-hero,
  body.portal-detail-ambient .property-hero-shell-fix,
  body.portal-detail-ambient section.hero-shell.property-detail-premium-hero{
    overflow:visible !important;
  }

  body.portal-detail-ambient .property-detail-premium-hero .property-detail-cta-card,
  body.portal-detail-ambient .property-detail-premium-hero #detailContactBox{
    overflow:visible !important;
  }
