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

    .property-detail-top{
      align-items:start !important;
    }

    .property-detail-grid,
    .property-hero-grid,
    .property-detail-top-grid,
    .property-hero-shell{
      display:grid !important;
      grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr) !important;
      gap:40px !important;
      align-items:start !important;
    }

    .property-detail-main,
    .property-hero-main,
    .property-main-col,
    .property-detail-left{
      min-width:0 !important;
    }

    .property-detail-aside,
    .property-hero-aside,
    .property-side-col,
    .property-detail-right,
    .property-quickbox-wrap,
    .property-cta-wrap{
      width:100% !important;
      max-width:none !important;
      min-width:0 !important;
      align-self:start !important;
    }

    .property-quickbox,
    .property-detail-quickbox,
    .property-cta-box,
    .detail-side-card{
      width:100% !important;
      max-width:none !important;
      position:sticky !important;
      top:110px !important;
      margin-top:0 !important;
    }

    .property-detail-summary,
    .property-hero-summary,
    .property-description-lead,
    .property-hero-copy{
      max-width:none !important;
      width:100% !important;
    }
  }@media (max-width: 1099px){
    .property-quickbox,
    .property-detail-quickbox,
    .property-cta-box,
    .detail-side-card{
      position:static !important;
      top:auto !important;
    }
  }@media (min-width: 1100px){

    .property-hero-quickbox-fix{
      width:320px !important;
      min-width:320px !important;
      max-width:320px !important;
      flex:none !important;
      align-self:start !important;
      margin:0 0 18px 0 !important;
      position:sticky !important;
      top:110px !important;
    }

    .property-detail-top-card,
    .property-detail-hero-card,
    .property-hero-card,
    .hero-shell{
      margin-bottom:28px !important;
    }
  }@media (max-width: 1099px){

    .property-hero-quickbox-fix{
      flex:none !important;
      position:static !important;
      top:auto !important;
    }
  }@media (max-width: 640px){
    .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;
      overflow-x:hidden !important;
    }

    .hero-shell,
    .property-detail-top-card,
    .property-detail-hero-card,
    .property-hero-card{
      margin-bottom:16px !important;
    }

    .hero-shell{
      padding:12px !important;
      border-radius:18px !important;
    }

    #detailSplit{
      display:grid !important;
      grid-template-columns:1fr !important;
      gap:18px !important;
      margin-top:28px !important;
      width:100% !important;
      max-width:100% !important;
      margin-left:0 !important;
      margin-right:0 !important;
      padding-left:0 !important;
      padding-right:0 !important;
    }

    #detailMainColumn,
    #detailSplit > main{
      width:100% !important;
      max-width:100% !important;
      margin-left:0 !important;
      margin-right:0 !important;
      padding-left:0 !important;
      padding-right:0 !important;
    }

    #detailMainColumn > .section.card,
    #detailMainColumn > .card,
    #detailMapSection,
    #detailAside,
    #similarPropertiesCard{
      width:100% !important;
      max-width:100% !important;
      margin-left:0 !important;
      margin-right:0 !important;
    }

    #detailAside{
      width:100% !important;
      max-width:100% !important;
      padding:0 !important;
      margin:0 !important;
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
    }

    #similarPropertiesCard{
      width:100% !important;
      max-width:100% !important;
      padding:22px !important;
      margin-left:0 !important;
      margin-right:0 !important;
      transform:none !important;
      border-radius:22px !important;
      background:#fff !important;
      border:1px solid rgba(148,163,184,.22) !important;
      box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
      box-sizing:border-box !important;
    }

    #similarTrack{
      width:100% !important;
      max-width:100% !important;
    }

    .hero-shell h1{
      font-size:26px !important;
      line-height:1.08 !important;
      margin-bottom:8px !important;
    }

    .hero-shell .pill{
      font-size:11px !important;
      padding:6px 9px !important;
    }

    .hero-shell .muted,
    .hero-shell .lead{
      font-size:14px !important;
      line-height:1.45 !important;
    }

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

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

    .section.card h2,
    aside .card h3{
      font-size:22px !important;
      line-height:1.15 !important;
    }

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

    .similar-thumb{
      height:110px !important;
      border-radius:12px !important;
    }

  }

.detail-lightbox{
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: none;
      background: rgba(15, 23, 42, .92);
      backdrop-filter: blur(8px);
    }

    .detail-lightbox.is-open{
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .detail-lightbox-stage{
      position: relative;
      width: min(92vw, 1400px);
      height: min(88vh, 920px);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    .detail-lightbox-stage img{
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      display: block;
      user-select: none;
      -webkit-user-drag: none;
    }

    .detail-lightbox-btn,
    .detail-lightbox-close{
      position: absolute;
      z-index: 3;
      width: 48px;
      height: 48px;
      border: 0;
      border-radius: 999px;
      background: rgba(255,255,255,.14);
      color: #fff;
      font-size: 26px;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(8px);
    }

    .detail-lightbox-btn:hover,
    .detail-lightbox-close:hover{
      background: rgba(255,255,255,.22);
    }

    .detail-lightbox-prev{ left: 18px; top: 50%; transform: translateY(-50%); }
    .detail-lightbox-next{ right: 18px; top: 50%; transform: translateY(-50%); }
    .detail-lightbox-close{ top: 18px; right: 18px; font-size: 22px; }

    .detail-lightbox-counter{
      position: absolute;
      right: 18px;
      bottom: 18px;
      z-index: 3;
      padding: 8px 12px;
      border-radius: 999px;
      background: rgba(255,255,255,.14);
      color: #fff;
      font-size: 13px;
      font-weight: 600;
      backdrop-filter: blur(8px);
    }@media (max-width: 640px){
      .detail-lightbox-stage{
        width: 100vw;
        height: 100vh;
      }
      .detail-lightbox-btn,
      .detail-lightbox-close{
        width: 42px;
        height: 42px;
      }
      .detail-lightbox-prev{ left: 10px; }
      .detail-lightbox-next{ right: 10px; }
      .detail-lightbox-close{ top: 10px; right: 10px; }
      .detail-lightbox-counter{
        right: 12px;
        bottom: 12px;
        font-size: 12px;
      }
    }

    #detailMainColumn{
      min-width:0;
    }

    #detailAside{
      align-self:stretch;
      min-height:0;
      height:100%;
      overflow-y:auto;
      overflow-x:hidden;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
      padding-right:6px;
      margin-right:-6px;
    }

    #similarPropertiesCard{
      overflow:visible;
      display:block;
      min-height:0;
      height:auto;
      box-sizing:border-box;
    }

    #similarTrack{
      display:grid;
      gap:14px;
      overflow:visible;
      min-height:0;
      padding-right:0;
      margin-right:0;
    }

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

    #similarTrack::-webkit-scrollbar-thumb{
      background:rgba(148,163,184,.32);
      border-radius:999px;
    }

    #similarTrack::-webkit-scrollbar-track{
      background:transparent;
    }

    .similar-card{
      display:grid;
      grid-template-columns:1fr;
      gap:14px;
      align-items:start;
      padding:14px;
      border-radius:18px;
      border:1px solid rgba(148,163,184,.18);
      background:rgba(255,255,255,.72);
      text-decoration:none;
      color:inherit;
      transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
      overflow:hidden;
    }

    .similar-card:hover{
      transform:translateY(-1px);
      border-color:rgba(var(--brand-rgb),.28);
      box-shadow:0 10px 24px rgba(15,23,42,.08);
    }

    .similar-thumb{
      width:100%;
      height:184px;
      border-radius:14px;
      overflow:hidden;
      background:#e5e7eb;
      flex:none;
    }

    .similar-thumb img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .similar-title{
      font-size:15px;
      font-weight:700;
      line-height:1.35;
      color:#0f172a;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
      min-height:2.7em;
    }

    .similar-meta{
      margin-top:6px;
      font-size:12px;
      line-height:1.5;
      color:#64748b;
      min-height:3em;
    }

    .similar-price{
      margin-top:8px;
      font-size:16px;
      font-weight:800;
      color:#0f172a;
      letter-spacing:-0.01em;
    }

    .similar-link{
      margin-top:10px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:38px;
      padding:0 12px;
      border-radius:999px;
      border:1px solid rgba(var(--brand-rgb),.28);
      background:var(--brand);
      color:#ffffff;
      font-size:12px;
      font-weight:700;
      width:fit-content;
    }

    #similarMobileNav{
      display:none;
      margin-top:12px;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }

    .similar-nav-btn{
      width:42px;
      height:42px;
      border:1px solid rgba(148,163,184,.22);
      border-radius:999px;
      background:#fff;
      color:#0f172a;
      font-size:22px;
      font-weight:700;
      display:flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      box-shadow:0 8px 20px rgba(15,23,42,.06);
    }

    .similar-nav-btn:disabled{
      opacity:.45;
      cursor:default;
    }

    #similarMobileCounter{
      font-size:12px;
      font-weight:700;
      color:#64748b;
      min-width:52px;
      text-align:center;
    }

    #similarScrollHint{
      position:sticky;
      bottom:0;
      display:none;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:44px;
      margin-top:10px;
      padding:12px 10px 10px;
      border-radius:14px;
      background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.96) 42%);
      color:#64748b;
      font-size:12px;
      font-weight:700;
      pointer-events:none;
      z-index:2;
    }

    #similarScrollHint.is-visible{
      display:flex;
    }

    #similarScrollHint .hint-arrow{
      font-size:18px;
      line-height:1;
      color:var(--brand);
      transform:translateY(-1px);
    }@media (max-width: 1100px){
