:root {
      --orange: #f47920;
      --orange-dark: #d96610;
      --orange-light: #fff5ec;
      --dark: #1a1a2e;
      --mid: #2d2d44;
      --text: #333;
      --muted: #777;
      --border: #e8e8e8;
      --white: #fff;
      --bg: #f8f8f8;
      --green: #27ae60;
      --blue: #2980b9;
      --red: #e74c3c;
    }
    *{box-sizing:border-box;margin:0;padding:0;}
    body{font-family:'Poppins',sans-serif;color:var(--text);background:#fff;}

    /* ── TOP BAR ── */
    .top-bar{background:var(--dark);color:#ccc;font-size:12px;padding:5px 0;}
    .top-bar a{color:#ccc;text-decoration:none;}
    .top-bar a:hover{color:var(--orange);}

    /* ── NAVBAR ── */
    .main-nav{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);position:sticky;top:0;z-index:1000;}
    .brand-text{font-family:'Playfair Display',serif;font-size:22px;color:var(--orange);font-weight:700;}
    .brand-text span{color:var(--dark);}
    .nav-search .input-group{border:2px solid var(--orange);border-radius:8px;overflow:hidden;}
    .nav-search select{border:none;background:#f5f5f5;border-right:1px solid #ddd;font-size:13px;max-width:110px;}
    .nav-search input{border:none;font-size:13px;}
    .nav-search input:focus{box-shadow:none;}
    .nav-search .btn{background:var(--orange);border:none;color:#fff;}
    .nav-link{font-size:13px;font-weight:500;color:var(--text)!important;padding:8px 10px!important;}
    .nav-link:hover{color:var(--orange)!important;}
    .nav-icon{font-size:22px;color:var(--dark);position:relative;}
    .badge-notif{position:absolute;top:-4px;right:-6px;background:var(--orange);color:#fff;font-size:9px;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;}
    .btn-list-prop{background:var(--orange);color:#fff!important;border-radius:6px;font-size:12px;font-weight:600;padding:6px 12px;}
    .btn-list-mat{background:#fff;color:var(--orange)!important;border:2px solid var(--orange);border-radius:6px;font-size:12px;font-weight:600;padding:6px 12px;}

    /* ── SUB NAV ── */
    .sub-nav{background:#fff;border-bottom:1px solid var(--border);}
    .sub-nav .nav-link{color:var(--text)!important;font-size:13px;padding:10px 14px!important;border-bottom:2px solid transparent;}
    .sub-nav .nav-link:hover,.sub-nav .nav-link.active{color:var(--orange)!important;border-bottom-color:var(--orange);}
    .all-cats-btn{background:var(--orange);color:#fff;border:none;font-size:13px;font-weight:600;padding:8px 16px;display:flex;align-items:center;gap:8px;}

    /* ── BREADCRUMB ── */
    .breadcrumb-wrap{background:var(--bg);padding:10px 0;border-bottom:1px solid var(--border);}
    .breadcrumb{margin:0;font-size:12px;}
    .breadcrumb-item a{color:var(--orange);text-decoration:none;}
    .breadcrumb-item.active{color:var(--muted);}

    /* ══════════════════════
       MEDIA VIEWER
    ══════════════════════ */
    .media-viewer{background:#111;border-radius:16px;overflow:hidden;position:relative;}

    /* Tab buttons */
    .media-tabs{display:flex;gap:0;position:absolute;top:14px;left:14px;z-index:20;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.4);}
    .media-tab-btn{background:rgba(0,0,0,.55);color:#fff;border:none;padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer;backdrop-filter:blur(8px);border-right:1px solid rgba(255,255,255,.1);transition:.2s;letter-spacing:.5px;text-transform:uppercase;}
    .media-tab-btn:last-child{border-right:none;}
    .media-tab-btn.active{background:var(--orange);}
    .media-tab-btn:hover:not(.active){background:rgba(255,255,255,.15);}

    /* Top-right actions */
    .viewer-actions{position:absolute;top:14px;right:14px;z-index:20;display:flex;gap:8px;}
    .viewer-action-btn{width:34px;height:34px;border-radius:8px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);border:none;color:#fff;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;}
    .viewer-action-btn:hover{background:var(--orange);}

    /* Main image area */
    .main-img-wrap{position:relative;height:460px;overflow:hidden;cursor:zoom-in;}
    .main-img-wrap img,.main-img-wrap video{width:100%;height:100%;object-fit:cover;transition:transform .08s linear;}
    .main-img-wrap.zoomed{cursor:crosshair;}

    /* Zoom result positioned relative to panePhoto */
    #panePhoto{position:relative;}

    /* Zoom lens overlay */
    .zoom-lens{position:absolute;width:140px;height:140px;border:2px solid var(--orange);border-radius:6px;pointer-events:none;display:none;box-shadow:0 0 0 9999px rgba(0,0,0,.25);z-index:10;}
    .zoom-result{position:fixed;width:340px;height:340px;border:2px solid var(--orange);border-radius:14px;overflow:hidden;background:#111;display:none;z-index:9998;box-shadow:0 12px 40px rgba(0,0,0,.55);pointer-events:none;transition:opacity .1s;}
    .zoom-result img{position:absolute;width:auto;height:auto;}

    /* Photo counter */
    .photo-counter{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:600;padding:5px 14px;border-radius:20px;backdrop-filter:blur(6px);z-index:10;}

    /* Map / Street view panes */
    .map-pane,.street-pane{display:none;height:460px;background:#e8f4f8;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted);}
    .map-pane.active,.street-pane.active{display:flex;}
    .map-pane i,.street-pane i{font-size:48px;color:var(--orange);opacity:.6;}
    .map-embed{width:100%;height:100%;border:none;}

    /* Thumbnail strip */
    .thumb-strip{display:flex;gap:8px;padding:10px 12px;background:#1a1a1a;overflow-x:auto;scrollbar-width:none;}
    .thumb-strip::-webkit-scrollbar{display:none;}
    .thumb-item{flex-shrink:0;width:70px;height:54px;border-radius:7px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:.2s;position:relative;}
    .thumb-item img,.thumb-item video{width:100%;height:100%;object-fit:cover;}
    .thumb-item.active{border-color:var(--orange);}
    .thumb-item:hover{border-color:rgba(244,121,32,.6);}
    .thumb-video-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);color:#fff;font-size:18px;}

    /* Arrow nav */
    .img-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:15;width:40px;height:40px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:50%;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;}
    .img-nav-btn:hover{background:var(--orange);border-color:var(--orange);}
    .img-nav-btn.prev{left:12px;}
    .img-nav-btn.next{right:12px;}

    /* ══════════════════════
       FULLSCREEN LIGHTBOX
    ══════════════════════ */
    .lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:9999;align-items:center;justify-content:center;flex-direction:column;}
    .lightbox.open{display:flex;}
    .lightbox-img-wrap{max-width:90vw;max-height:80vh;position:relative;}
    .lightbox-img-wrap img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px;}
    .lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;background:rgba(255,255,255,.1);border:none;color:#fff;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;}
    .lightbox-close:hover{background:var(--orange);}
    .lightbox-nav{display:flex;gap:16px;margin-top:16px;}
    .lightbox-nav-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;cursor:pointer;transition:.2s;}
    .lightbox-nav-btn:hover{background:var(--orange);border-color:var(--orange);}
    .lightbox-counter{color:rgba(255,255,255,.6);font-size:12px;margin-top:10px;}

    /* ══════════════════════
       PROPERTY HERO INFO
    ══════════════════════ */
    .prop-hero{padding:28px 0 0;}
    .prop-title{font-family:'Playfair Display',serif;font-size:clamp(20px,3.5vw,28px);font-weight:700;color:var(--dark);margin-bottom:4px;line-height:1.25;}
    .prop-location-line{font-size:13px;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:6px;}
    .prop-location-line i{color:var(--orange);}
    .prop-price-block{margin-bottom:16px;}
    .prop-price{font-size:clamp(26px,4vw,36px);font-weight:800;color:var(--orange);line-height:1;}
    .prop-price-sub{font-size:13px;color:var(--muted);margin-top:3px;font-weight:500;}
    .prop-status-badge{display:inline-flex;align-items:center;gap:6px;background:var(--orange-light);color:var(--orange);border:1px solid rgba(244,121,32,.3);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;margin-bottom:16px;}
    .prop-status-badge.rent{background:#e8f5fd;color:var(--blue);border-color:rgba(41,128,185,.3);}

    /* Quick stats bar */
    .prop-quick-stats{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:20px;}
    .quick-stat{flex:1;min-width:80px;padding:12px 10px;text-align:center;border-right:1px solid var(--border);transition:.2s;}
    .quick-stat:last-child{border-right:none;}
    .quick-stat:hover{background:var(--orange-light);}
    .quick-stat i{color:var(--orange);font-size:18px;display:block;margin-bottom:4px;}
    .quick-stat .qs-val{font-size:13px;font-weight:700;color:var(--dark);display:block;}
    .quick-stat .qs-lbl{font-size:10px;color:var(--muted);}

    /* Action row */
    .prop-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
    .action-btn{width:36px;height:36px;border-radius:8px;border:1.5px solid var(--border);background:#fff;color:var(--muted);font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;}
    .action-btn:hover,.action-btn.active{background:var(--orange-light);color:var(--orange);border-color:var(--orange);}
    .rating-pill{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--border);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;color:var(--dark);}
    .rating-pill i{color:#f0c040;}

    /* ══════════════════════
       CONTACT CARD
    ══════════════════════ */
    .contact-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;position:sticky;top:80px;box-shadow:0 4px 20px rgba(0,0,0,.07);}
    .contact-card-head{background:linear-gradient(135deg,var(--dark),var(--mid));padding:18px 20px;display:flex;align-items:center;gap:12px;}
    .agent-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;border:3px solid var(--orange);flex-shrink:0;}
    .agent-avatar img{width:100%;height:100%;object-fit:cover;}
    .agent-info .name{font-size:15px;font-weight:700;color:#fff;margin-bottom:1px;}
    .agent-info .role{font-size:11px;color:rgba(255,255,255,.65);}
    .agent-verified{display:inline-flex;align-items:center;gap:4px;background:rgba(39,174,96,.15);color:#2ecc71;border-radius:10px;padding:1px 8px;font-size:9px;font-weight:700;margin-top:3px;}
    .contact-card-body{padding:18px 20px;}
    .agent-phone{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
    .agent-phone a{color:var(--orange);font-size:15px;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:6px;}
    .view-all-link{font-size:11px;color:var(--muted);text-decoration:none;transition:.2s;}
    .view-all-link:hover{color:var(--orange);}
    .contact-input{width:100%;border:1.5px solid var(--border);border-radius:9px;padding:10px 14px;font-size:13px;font-family:'Poppins',sans-serif;color:var(--text);margin-bottom:10px;outline:none;transition:.2s;background:#f9f9f9;}
    .contact-input:focus{border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(244,121,32,.08);}
    textarea.contact-input{resize:vertical;min-height:90px;}
    .gdpr-check{display:flex;align-items:flex-start;gap:8px;margin-bottom:14px;}
    .gdpr-check input{accent-color:var(--orange);margin-top:2px;width:14px;height:14px;flex-shrink:0;}
    .gdpr-check label{font-size:11px;color:var(--muted);line-height:1.5;}
    .btn-send{background:var(--orange);color:#fff;border:none;border-radius:10px;padding:12px;font-size:14px;font-weight:700;width:100%;transition:.2s;display:flex;align-items:center;justify-content:center;gap:8px;}
    .btn-send:hover{background:var(--orange-dark);transform:translateY(-1px);box-shadow:0 4px 16px rgba(244,121,32,.4);}
    .contact-card-footer{border-top:1px solid var(--border);padding:14px 20px;display:flex;gap:8px;}
    .btn-whatsapp{flex:1;background:#25d366;color:#fff;border:none;border-radius:8px;padding:9px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s;}
    .btn-whatsapp:hover{background:#1ebe5a;}
    .btn-schedule{flex:1;background:#fff;color:var(--dark);border:1.5px solid var(--border);border-radius:8px;padding:9px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s;}
    .btn-schedule:hover{border-color:var(--orange);color:var(--orange);}

    /* ══════════════════════
       DETAIL SECTIONS
    ══════════════════════ */
    .detail-section{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:20px;}
    .section-heading{font-size:17px;font-weight:700;color:var(--dark);margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid var(--orange-light);display:flex;align-items:center;gap:8px;}
    .section-heading i{color:var(--orange);}
    .section-heading span.sub{font-size:13px;font-weight:400;color:var(--orange);margin-left:auto;cursor:pointer;}
    .section-heading span.sub:hover{text-decoration:underline;}

    /* Property Details grid */
    .details-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
    .detail-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--bg);border-radius:8px;transition:.15s;}
    .detail-row:last-child{border-bottom:none;}
    .detail-row:hover{background:var(--bg);}
    .detail-label{font-size:12px;color:var(--muted);font-weight:600;min-width:110px;}
    .detail-value{font-size:12px;color:var(--dark);font-weight:500;}
    .detail-value.highlight{color:var(--orange);font-weight:700;}
    .detail-value.green{color:var(--green);}

    /* Amenities */
    .amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
    .amenity-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg);border-radius:9px;font-size:12px;font-weight:600;color:var(--dark);border:1px solid var(--border);transition:.2s;}
    .amenity-item:hover{background:var(--orange-light);border-color:var(--orange);color:var(--orange);}
    .amenity-item i{color:var(--orange);font-size:16px;}

    /* Description */
    .desc-text{font-size:13px;color:var(--muted);line-height:1.85;}
    .desc-text .highlight-text{color:var(--orange);font-weight:500;}
    .btn-read-more{background:none;border:none;color:var(--orange);font-size:13px;font-weight:600;cursor:pointer;padding:8px 0 0;display:flex;align-items:center;gap:5px;}
    .btn-read-more:hover{text-decoration:underline;}

    /* ── Floor Plan / Video tab inside detail ── */
    .inner-tab-row{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap;}
    .inner-tab{border:1.5px solid var(--border);border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;background:#fff;color:var(--muted);transition:.2s;}
    .inner-tab.active,.inner-tab:hover{background:var(--orange);border-color:var(--orange);color:#fff;}

    /* Map embed section */
    .map-section-wrap{border-radius:12px;overflow:hidden;height:260px;border:1px solid var(--border);}
    .map-section-wrap iframe{width:100%;height:100%;border:none;}

    /* Mortgage calculator */
    .calc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
    .calc-field label{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px;display:block;}
    .calc-field input,.calc-field select{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--text);font-family:'Poppins',sans-serif;outline:none;transition:.2s;}
    .calc-field input:focus,.calc-field select:focus{border-color:var(--orange);}
    .calc-result{background:linear-gradient(135deg,var(--orange),#f7941e);border-radius:12px;padding:16px 20px;color:#fff;display:flex;justify-content:space-between;align-items:center;}
    .calc-result .lbl{font-size:12px;opacity:.85;}
    .calc-result .amt{font-size:22px;font-weight:800;}
    .btn-calc{background:var(--dark);color:#fff;border:none;border-radius:9px;padding:10px;font-size:13px;font-weight:600;width:100%;margin-bottom:14px;transition:.2s;}
    .btn-calc:hover{background:var(--orange);}

    /* Similar properties */
    .similar-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;}
    .similar-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1);}
    .similar-card img{width:100%;height:150px;object-fit:cover;}
    .similar-body{padding:12px 14px;}
    .similar-body h6{font-size:13px;font-weight:700;color:var(--dark);margin-bottom:3px;}
    .similar-body .loc{font-size:11px;color:var(--muted);margin-bottom:6px;}
    .similar-body .price{font-size:14px;font-weight:800;color:var(--orange);}

    /* ── MOBILE NAV ── */
    .mob-nav{display:none;background:#fff;border-bottom:1px solid var(--border);padding:10px 16px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1100;box-shadow:0 2px 8px rgba(0,0,0,.07);}
    .mob-brand{font-family:'Playfair Display',serif;font-size:18px;color:var(--orange);font-weight:700;}
    .mob-brand span{color:var(--dark);}

    /* ── MOBILE BOTTOM CTA ── */
    .mob-bottom-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1200;background:#fff;border-top:1px solid var(--border);padding:10px 16px;box-shadow:0 -4px 16px rgba(0,0,0,.08);}
    .mob-cta-inner{display:flex;gap:10px;align-items:center;}
    .mob-cta-price{flex:1;}
    .mob-cta-price .price{font-size:18px;font-weight:800;color:var(--orange);}
    .mob-cta-price .sub{font-size:10px;color:var(--muted);}
    .mob-btn-call{width:44px;height:44px;background:var(--green);border-radius:10px;display:flex;align-items:center;justify-content:center;border:none;color:#fff;font-size:18px;}
    .mob-btn-msg{flex:1;background:var(--orange);color:#fff;border:none;border-radius:10px;padding:10px;font-size:13px;font-weight:700;}

    /* ── SCROLL TOP ── */
    #scrollTop{position:fixed;bottom:24px;right:24px;background:var(--orange);color:#fff;border:none;border-radius:50%;width:42px;height:42px;font-size:18px;display:none;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(244,121,32,.4);cursor:pointer;z-index:999;transition:.2s;}
    #scrollTop:hover{background:var(--orange-dark);transform:translateY(-2px);}

    /* Footer */
    footer{background:var(--dark);color:rgba(255,255,255,.75);}
    footer .brand-text{color:var(--orange);font-size:20px;}
    footer .brand-text span{color:#fff;}
    footer p{font-size:12px;line-height:1.7;}
    footer h6{color:#fff;font-size:13px;font-weight:700;margin-bottom:14px;}
    footer ul{list-style:none;padding:0;margin:0;}
    footer ul li{margin-bottom:7px;}
    footer ul li a{color:rgba(255,255,255,.65);text-decoration:none;font-size:12px;transition:.2s;}
    footer ul li a:hover{color:var(--orange);}
    .footer-bottom{background:rgba(0,0,0,.3);font-size:11px;color:rgba(255,255,255,.5);}
    .social-icons a{color:rgba(255,255,255,.6);font-size:16px;margin-right:12px;transition:.2s;}
    .social-icons a:hover{color:var(--orange);}

    /* ── RESPONSIVE ── */
    @media(max-width:991px){
      .zoom-result{display:none!important;}
      .details-grid{grid-template-columns:1fr;}
    }
    @media(max-width:767px){
      .top-bar,.main-nav,.sub-nav{display:none!important;}
      .mob-nav{display:flex!important;}
      .mob-bottom-cta{display:block!important;}
      body{padding-bottom:80px;}
      .contact-card{display:none;}
      #scrollTop{bottom:90px;right:14px;}
      .main-img-wrap{height:280px;}
      .calc-row{grid-template-columns:1fr;}
      .amenities-grid{grid-template-columns:repeat(2,1fr);}
    }
    @media(max-width:576px){
      .quick-stat .qs-lbl{display:none;}
      .prop-actions{gap:6px;}
    }

    /* ── FADE IN ANIMATION ── */
    @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
    .fade-up{animation:fadeUp .5s ease both;}
    .fade-up-d1{animation-delay:.1s;}
    .fade-up-d2{animation-delay:.2s;}
    .fade-up-d3{animation-delay:.3s;}