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

    [data-gallery-open]{
      max-width:calc(100% - 104px) !important;
      font-size:14px !important;
      min-height:42px !important;
      padding-left:16px !important;
      padding-right:16px !important;
    }

    .property-gallery-counter,
    .gallery-counter,
    .photo-gallery-counter,
    .property-photo-counter,
    [data-gallery-counter]{
      min-height:38px !important;
      padding-left:14px !important;
      padding-right:14px !important;
      font-size:14px !important;
    }
  }

  @media (max-width:430px){
    .property-gallery-open,
    .gallery-open,
    .photo-gallery-open,
    .property-photo-open,
    [data-open-gallery],
    [data-gallery-open]{
      max-width:calc(100% - 92px) !important;
      font-size:13px !important;
    }
  }


@media (max-width: 760px){
    html,
    body{
      overflow-x:hidden !important;
    }

    main,
    .container,
    .page-shell,
    .detail-shell,
    main.container{
      width:100% !important;
      max-width:100% !important;
      padding-left:12px !important;
      padding-right:12px !important;
      margin-left:auto !important;
      margin-right:auto !important;
      box-sizing:border-box !important;
      overflow-x:hidden !important;
    }

    .hero-shell,
    .property-detail-premium-hero,
    .property-hero-shell-fix{
      width:100% !important;
      max-width:100% !important;
      padding:14px !important;
      border-radius:20px !important;
      margin-bottom:16px !important;
      box-sizing:border-box !important;
      overflow:hidden !important;
    }

    .property-hero-layout-fix,
    .property-detail-hero-grid{
      display:flex !important;
      flex-direction:column !important;
      gap:14px !important;
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
    }

    .property-hero-copy-fix,
    .property-hero-box-fix,
    .property-detail-price-box,
    .property-detail-cta-card{
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
      margin:0 !important;
      box-sizing:border-box !important;
    }

    .property-detail-title,
    .hero-shell h1{
      font-size:clamp(25px, 7.5vw, 34px) !important;
      line-height:1.06 !important;
      max-width:100% !important;
      overflow-wrap:break-word !important;
    }

    .property-detail-location,
    .property-detail-excerpt,
    .hero-shell .lead{
      max-width:100% !important;
      font-size:14px !important;
      line-height:1.5 !important;
    }

    #detailSplit{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:16px !important;
      width:100% !important;
      max-width:100% !important;
      margin:0 !important;
      padding:0 !important;
      box-sizing:border-box !important;
      overflow:hidden !important;
    }

    #detailMainColumn,
    #detailAside{
      width:100% !important;
      max-width:100% !important;
      min-width:0 !important;
      margin:0 !important;
      box-sizing:border-box !important;
      overflow:visible !important;
    }

    #detailMainStage{
      position:relative !important;
      width:100% !important;
      max-width:100% !important;
      aspect-ratio:4 / 3 !important;
      height:auto !important;
      min-height:0 !important;
      max-height:none !important;
      border-radius:18px !important;
      background:#fff !important;
      overflow:hidden !important;
      line-height:0 !important;
      box-sizing:border-box !important;
    }

    #detailMainStage > img#detailMainImage,
    img#detailMainImage{
      position:absolute !important;
      inset:0 !important;
      display:block !important;
      width:100% !important;
      height:100% !important;
      max-width:100% !important;
      max-height:100% !important;
      min-width:0 !important;
      min-height:0 !important;
      object-fit:cover !important;
      object-position:center center !important;
      background:#fff !important;
      transform:none !important;
      border-radius:18px !important;
    }

    #detailThumbs{
      display:flex !important;
      flex-direction:row !important;
      flex-wrap:nowrap !important;
      align-items:center !important;
      gap:8px !important;
      width:100% !important;
      max-width:100% !important;
      margin-top:8px !important;
      box-sizing:border-box !important;
      overflow-x:auto !important;
      overflow-y:hidden !important;
      -webkit-overflow-scrolling:touch !important;
      scrollbar-width:thin !important;
    }


/* Esplora e FAQ: nella colonna sinistra, affiancati sotto la mappa (a destra resta «Immobili simili»). Stessa impaginazione delle altre card della colonna. */
.detail-seo-row{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  align-items:stretch;
  margin-top:24px;
}
@media (min-width:900px){
  .detail-seo-row.has-both{ grid-template-columns:1fr 1fr; }
}
.detail-seo-row > .detail-section-card{ margin:0; padding:24px 26px; min-width:0; }
.detail-seo-row .eyebrow{ margin-bottom:8px; }
.detail-seo-row .eyebrow:not(:first-child){ margin-top:22px; }
.detail-seo-row .detail-section-title--sm{ font-size:22px; line-height:1.2; margin:6px 0 14px; }
.detail-seo-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.detail-seo-list > li.soft-card{ padding:12px 16px; font-weight:600; }
.detail-seo-link{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 16px; font-weight:700; text-decoration:none; transition:transform .25s ease, box-shadow .25s ease;
}
.detail-seo-link:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(15,23,42,.1); }
.detail-faq-list{ display:grid; gap:10px; }
.detail-faq-item{ padding:0; overflow:hidden; }
.detail-faq-item > summary{
  position:relative; list-style:none; cursor:pointer; padding:14px 44px 14px 16px; font-weight:700; line-height:1.35;
}
.detail-faq-item > summary::-webkit-details-marker{ display:none; }
.detail-faq-item > summary::after{
  content:""; position:absolute; right:16px; top:50%; width:9px; height:9px; margin-top:-6px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .25s ease;
}
.detail-faq-item[open] > summary::after{ transform:rotate(-135deg); margin-top:-2px; }
.detail-faq-item > p{ margin:0; padding:0 16px 16px; line-height:1.65; }
