@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── ROOT ─────────────────────────────────── */
:root {
  --primary:#1a4c8b; --primary-dark:#0e2f5e; --primary-light:#2563b8;
  --accent:#e8a020; --accent-light:#f4b94a;
  --success:#10b981; --danger:#ef4444; --info:#3b82f6;
  --text:#1a1a2e; --muted:#6b7280; --border:#e5e7eb;
  --bg:#f8fafc; --card:#fff;
  --shadow-sm:0 1px 4px rgba(0,0,0,.07);
  --shadow-md:0 4px 20px rgba(0,0,0,.1);
  --shadow-lg:0 12px 40px rgba(0,0,0,.15);
  --radius:14px; --radius-sm:8px;
  --transition:all .3s ease;
}
*,*::before,*::after{box-sizing:border-box}
body{font-family:'Inter',sans-serif;color:var(--text);background:#fff;padding-top:72px}
.fw-600{font-weight:600}.fw-700{font-weight:700}.lh-lg{line-height:1.8}

/* ── NAVBAR ────────────────────────────────── */
#mainNav{background:var(--primary-dark);backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(0,0,0,.25);padding:10px 0;transition:var(--transition)}
#mainNav.scrolled{background:rgba(14,47,94,.97);padding:6px 0}
.navbar-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--accent),var(--accent-light));border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.95rem}
.brand-text{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#fff}
.brand-text span{color:var(--accent-light)}
.nav-link{color:rgba(255,255,255,.85)!important;font-weight:500;font-size:.88rem;padding:8px 14px!important;border-radius:6px;transition:var(--transition)}
.nav-link:hover{color:#fff!important;background:rgba(255,255,255,.08)}
.dropdown-menu{border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:var(--radius-sm);padding:8px}
.dropdown-item{border-radius:6px;font-size:.88rem;padding:8px 14px;transition:var(--transition)}
.dropdown-item:hover{background:rgba(26,76,139,.08);color:var(--primary)}
.fav-nav-link{color:rgba(255,255,255,.85)!important;font-size:1.1rem;padding:6px 12px!important}
.fav-nav-link:hover{color:#ef4444!important}
.user-nav-btn{display:flex;align-items:center;gap:8px}
.user-avatar-xs{width:30px;height:30px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#fff;flex-shrink:0}

/* ── TOAST ────────────────────────────────── */
.toast-notification{position:fixed;top:90px;right:20px;z-index:9999;padding:14px 20px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);max-width:380px;transform:translateX(120%);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.toast-notification.show{transform:translateX(0)}
.success-toast{background:#ecfdf5;color:#065f46;border-left:4px solid #10b981}
.error-toast{background:#fef2f2;color:#991b1b;border-left:4px solid #ef4444}
.toast-close{background:none;border:none;cursor:pointer;margin-left:auto;opacity:.6;padding:0 4px}

/* ── HERO ────────────────────────────────── */
.hero-section{min-height:100vh;background:linear-gradient(135deg,var(--primary-dark) 0%,#1a3a6e 40%,#1e5fa0 100%);position:relative;overflow:hidden;display:flex;flex-direction:column}
.hero-bg-shapes{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.shape{position:absolute;border-radius:50%;opacity:.06}
.shape-1{width:600px;height:600px;background:var(--accent);top:-200px;right:-100px;animation:float1 8s ease-in-out infinite}
.shape-2{width:400px;height:400px;background:#fff;bottom:-150px;left:-100px;animation:float2 10s ease-in-out infinite}
.shape-3{width:200px;height:200px;background:var(--accent-light);top:40%;right:15%;animation:float1 6s ease-in-out infinite reverse}
@keyframes float1{0%,100%{transform:translateY(0)}50%{transform:translateY(-30px)}}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(20px)}}
.hero-content{position:relative;z-index:2;padding:120px 0 80px;flex:1;display:flex;align-items:center}
.min-vh-hero{min-height:50vh}
.hero-eyebrow{display:inline-flex;align-items:center;background:rgba(232,160,32,.2);border:1px solid rgba(232,160,32,.3);color:var(--accent-light);font-size:.8rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:8px 18px;border-radius:50px;margin-bottom:24px}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,6vw,4.8rem);font-weight:700;color:#fff;line-height:1.1;margin-bottom:20px}
.text-gradient{background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{color:rgba(255,255,255,.75);font-size:1.1rem;line-height:1.7;margin-bottom:32px;max-width:520px}
.hero-trust-badges{display:flex;gap:24px;flex-wrap:wrap}
.trust-badge{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.8);font-size:.85rem;font-weight:500}
.trust-badge i{color:var(--accent-light)}

/* ── SEARCH ────────────────────────────────── */
.hero-search-wrapper{position:relative;z-index:10;margin-top:-20px;padding-bottom:60px}
.hero-search-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:24px;max-width:900px;margin:0 auto}
.search-tabs{display:flex;gap:6px;margin-bottom:16px}
.search-tab{padding:8px 20px;border:none;border-radius:8px;background:#f0f4f8;color:var(--muted);font-weight:600;font-size:.85rem;cursor:pointer;transition:var(--transition)}
.search-tab.active{background:var(--primary);color:#fff}
.search-row{display:flex;gap:10px;flex-wrap:wrap}
.search-field{flex:1;min-width:140px;position:relative}
.search-field-lg{flex:2;min-width:200px}
.search-field-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.85rem}
.search-input-field{width:100%;padding:12px 14px 12px 40px;border:1.5px solid var(--border);border-radius:10px;font-size:.9rem;outline:none;transition:var(--transition);font-family:'Inter',sans-serif}
.search-input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,76,139,.1)}
.search-select-field{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:.9rem;outline:none;background:#fff;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:var(--transition)}
.search-select-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,76,139,.1)}
.search-submit-btn{padding:12px 28px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-weight:700;font-size:.9rem;cursor:pointer;transition:var(--transition);white-space:nowrap}
.search-submit-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}

/* ── STATS ────────────────────────────────── */
.stats-ticker{background:var(--primary);padding:30px 0}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.stat-tile{text-align:center;padding:16px;border-right:1px solid rgba(255,255,255,.15)}
.stat-tile:last-child{border-right:none}
.stat-val{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:var(--accent-light)}
.stat-lbl{color:rgba(255,255,255,.65);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-top:2px}

/* ── SECTIONS ────────────────────────────── */
.section-pad{padding:80px 0}
.bg-light-gray{background:#f8fafc}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:16px;flex-wrap:wrap}
.section-eyebrow{display:block;color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px}
.section-eyebrow.light{color:var(--accent-light)}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;color:var(--text);margin:0}

/* ── PROPERTY CARD ────────────────────────── */
.prop-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition);height:100%;display:flex;flex-direction:column}
.prop-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.prop-card-img{position:relative;height:220px;overflow:hidden}
.prop-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.prop-card:hover .prop-card-img img{transform:scale(1.07)}
.prop-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:5px}
.badge-listing{padding:4px 12px;border-radius:50px;font-size:.68rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;display:inline-block}
.badge-sale{background:#10b981;color:#fff}
.badge-rent{background:#3b82f6;color:#fff}
.badge-verified{background:rgba(255,255,255,.92);color:#059669;font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:50px;display:inline-block}
.badge-featured{background:var(--accent);color:#fff;font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:50px;display:inline-block}
.fav-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;background:rgba(255,255,255,.9);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--muted);transition:var(--transition);backdrop-filter:blur(4px);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.fav-btn:hover,.fav-btn.active{color:#ef4444;background:#fff;transform:scale(1.1)}
.fav-btn.active i{font-weight:900}
.prop-img-count{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.55);color:#fff;font-size:.7rem;padding:3px 9px;border-radius:50px;backdrop-filter:blur(4px);font-weight:500}
.prop-card-body{padding:18px;flex:1}
.prop-price{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--primary);margin-bottom:6px}
.prop-title{font-size:.93rem;font-weight:600;margin-bottom:5px;line-height:1.4}
.prop-title a{color:var(--text);text-decoration:none;transition:var(--transition)}
.prop-title a:hover{color:var(--primary)}
.prop-location{color:var(--muted);font-size:.8rem;margin-bottom:12px}
.prop-location i{color:var(--primary)}
.prop-specs{display:flex;gap:14px;font-size:.78rem;color:var(--muted);font-weight:500;flex-wrap:wrap;margin-bottom:8px}
.prop-specs span{display:flex;align-items:center;gap:4px;white-space:nowrap}
.prop-specs i{color:var(--primary);font-size:.75rem}
.prop-furnishing{font-size:.75rem;color:var(--muted);background:#f0f4f8;padding:3px 10px;border-radius:50px;display:inline-block}
.prop-card-footer{padding:14px 18px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.prop-stats{display:flex;gap:12px;font-size:.75rem;color:var(--muted)}
.prop-stats i{font-size:.7rem}

/* ── TYPE GRID ────────────────────────────── */
.type-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.type-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:24px 12px;text-align:center;text-decoration:none;color:var(--text);transition:var(--transition);display:flex;flex-direction:column;align-items:center;gap:10px}
.type-card:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.type-icon{width:52px;height:52px;background:linear-gradient(135deg,rgba(26,76,139,.1),rgba(26,76,139,.05));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--primary)}
.type-name{font-size:.82rem;font-weight:600}

/* ── WHY US ────────────────────────────────── */
.why-us-section{background:linear-gradient(135deg,var(--primary-dark),#1a3a6e);padding:80px 0}
.why-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:var(--transition)}
.why-card:hover{background:rgba(255,255,255,.1);transform:translateY(-4px)}
.why-icon{width:64px;height:64px;background:rgba(232,160,32,.2);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:1.6rem;color:var(--accent-light)}
.why-card h5{color:#fff;font-weight:700;margin-bottom:10px}
.why-card p{color:rgba(255,255,255,.6);font-size:.88rem;line-height:1.7;margin:0}

/* ── CITY CHIPS ────────────────────────────── */
.city-chips{display:flex;flex-wrap:wrap;gap:12px}
.city-chip{padding:10px 22px;background:var(--card);border:1.5px solid var(--border);border-radius:50px;color:var(--text);text-decoration:none;font-size:.85rem;font-weight:500;transition:var(--transition)}
.city-chip:hover{border-color:var(--primary);color:var(--primary);background:rgba(26,76,139,.05)}

/* ── FOOTER ────────────────────────────────── */
.footer-section{background:#0f1c2e;margin-top:0}
.footer-brand{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:#fff}
.footer-brand span{color:var(--accent-light)}
.footer-brand i{color:var(--accent)}
.footer-heading{color:rgba(255,255,255,.9);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:8px}
.footer-links a{color:rgba(255,255,255,.5);text-decoration:none;font-size:.85rem;transition:var(--transition)}
.footer-links a:hover{color:var(--accent-light)}
.footer-contact-item{display:flex;gap:12px;margin-bottom:12px;color:rgba(255,255,255,.55);font-size:.85rem;align-items:flex-start}
.footer-contact-item i{color:var(--accent);margin-top:2px;flex-shrink:0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:20px 0;text-align:center;color:rgba(255,255,255,.35);font-size:.82rem}
.social-links{display:flex;gap:10px}
.social-links a{width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);text-decoration:none;font-size:.85rem;transition:var(--transition)}
.social-links a:hover{background:var(--primary);color:#fff}

/* ── PAGE BANNER ────────────────────────────── */
.page-banner{background:linear-gradient(135deg,var(--primary-dark),var(--primary));padding:60px 0 40px}
.page-banner h1{font-family:'Playfair Display',serif;color:#fff;font-size:2.2rem;font-weight:700;margin-bottom:8px}
.page-banner p{color:rgba(255,255,255,.7);font-size:.95rem;margin:0}
.compact-banner{padding:40px 0 28px}
.compact-banner h1{font-size:1.4rem;margin-bottom:4px}
.breadcrumb-item a{color:rgba(255,255,255,.65)}
.breadcrumb-item.active{color:rgba(255,255,255,.9)}
.breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.4)}

/* ── PROPERTIES LISTING ────────────────────── */
.filter-panel{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:20px}
.filter-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.filter-panel-head h6{margin:0;font-weight:700;color:var(--primary)}
.clear-filters{font-size:.78rem;color:var(--danger);text-decoration:none}
.clear-filters:hover{text-decoration:underline}
.filter-group{margin-bottom:18px}
.filter-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text);margin-bottom:6px}
.input-with-icon{position:relative}
.input-with-icon i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.8rem}
.input-with-icon input{padding-left:30px}
.btn-group-filter{display:flex;gap:4px;flex-wrap:wrap}
.btn-group-filter input[type="radio"]{display:none}
.btn-group-filter label{padding:5px 12px;border:1.5px solid var(--border);border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition);color:var(--muted)}
.btn-group-filter input[type="radio"]:checked+label{border-color:var(--primary);background:var(--primary);color:#fff}
.bedrooms-group label{padding:5px 10px}
.amenity-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.amenity-check{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.78rem}
.amenity-check input{accent-color:var(--primary)}
.amenity-check span{display:flex;align-items:center;gap:4px}
.results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.results-count{font-size:.85rem;color:var(--muted)}
.empty-results{text-align:center;padding:60px 20px;color:var(--muted)}
.empty-results i{font-size:4rem;opacity:.3;margin-bottom:20px;display:block}
.empty-results h4{font-weight:700;color:var(--text)}

/* ── PROPERTY DETAIL ────────────────────────── */
.detail-header{background:var(--card);border-radius:var(--radius);padding:24px;border:1px solid var(--border)}
.detail-title{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;margin-bottom:8px}
.detail-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:.85rem;margin-bottom:12px}
.detail-stat-row{display:flex;gap:18px;font-size:.8rem;color:var(--muted);flex-wrap:wrap}
.detail-stat-row i{color:var(--primary)}

/* Gallery */
.gallery-section{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}
.gallery-tabs{display:flex;gap:4px;padding:16px 16px 0;overflow-x:auto;border-bottom:1px solid var(--border);background:#fafafa}
.gallery-tab{padding:8px 16px;border:none;background:transparent;color:var(--muted);font-size:.78rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:var(--transition)}
.gallery-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.gallery-carousel{max-height:460px;overflow:hidden}
.gallery-main-img{height:460px!important;object-fit:cover}
.carousel-nav-btn{width:44px;height:44px;background:rgba(0,0,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;backdrop-filter:blur(4px)}
.carousel-control-prev,.carousel-control-next{width:60px}
.carousel-caption-custom{position:absolute;bottom:12px;left:12px;display:flex;gap:8px;align-items:center}
.img-cat-badge{background:rgba(0,0,0,.6);color:#fff;font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:50px;backdrop-filter:blur(4px)}
.img-caption-text{background:rgba(0,0,0,.5);color:#fff;font-size:.75rem;padding:3px 10px;border-radius:50px}
.thumb-strip{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;background:#fafafa}
.thumb-item{flex-shrink:0;position:relative;cursor:pointer;border-radius:8px;overflow:hidden;border:2px solid transparent;transition:var(--transition)}
.thumb-item img{width:80px;height:60px;object-fit:cover;display:block}
.thumb-item.active,.thumb-item:hover{border-color:var(--primary)}
.thumb-cat{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:#fff;font-size:.55rem;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap}
.no-image-box{height:300px;background:var(--bg);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center}

/* Detail sections */
.detail-section{background:var(--card);border-radius:var(--radius);padding:24px;border:1px solid var(--border)}
.detail-section-title{font-weight:700;color:var(--primary);margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid var(--bg);font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}
.key-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.key-detail{background:var(--bg);border-radius:10px;padding:14px;display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500}
.key-detail i{color:var(--primary);font-size:1rem;width:20px;text-align:center}
.amenities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.amenity-tile{padding:12px;border-radius:10px;display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:500;border:1px solid}
.amenity-yes{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.amenity-no{background:#f9fafb;color:var(--muted);border-color:var(--border);text-decoration:line-through;opacity:.6}
.amenity-tile i:first-child{font-size:.9rem}
.amenity-check-icon{margin-left:auto;color:#10b981}
.amenity-x-icon{margin-left:auto;color:#d1d5db}

/* Sidebar */
.sticky-sidebar{position:sticky}
.price-sidebar-card{background:var(--card);border-radius:var(--radius);padding:24px;border:1px solid var(--border);box-shadow:var(--shadow-md)}
.sidebar-price{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--primary);margin-bottom:4px}
.price-per-sqft{font-size:.8rem;color:var(--muted);margin-bottom:16px}
.sidebar-fav-row{display:flex;gap:10px;margin-bottom:16px}
.fav-sidebar-btn{flex:1;padding:10px;border:1.5px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;font-weight:600;font-size:.85rem;color:var(--muted);transition:var(--transition)}
.fav-sidebar-btn:hover,.fav-sidebar-btn.active{border-color:#ef4444;color:#ef4444;background:#fef2f2}
.share-btn-group{display:flex;gap:6px}
.share-btn{width:38px;height:38px;border:1.5px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:var(--transition)}
.share-btn:hover{border-color:var(--primary);color:var(--primary)}
.agent-card{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--border)}
.agent-header{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.agent-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0}
.agent-name{font-weight:700;font-size:.95rem}
.agent-role{font-size:.75rem;color:var(--success)}
.inquiry-form-wrap{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.prop-summary-card{background:var(--bg);border-radius:var(--radius);padding:18px;border:1px solid var(--border)}
.prop-summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:.83rem}
.prop-summary-item:last-child{border-bottom:none}
.prop-summary-item span{color:var(--muted)}

/* ── AUTH PAGES ────────────────────────────── */
.auth-page{display:flex;min-height:100vh}
.auth-left{width:45%;background:linear-gradient(135deg,var(--primary-dark),var(--primary));padding:60px 50px;display:flex;flex-direction:column;justify-content:center}
.auth-brand{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:40px}
.auth-brand i{color:var(--accent)}
.auth-left h2{font-family:'Playfair Display',serif;color:#fff;font-size:2rem;font-weight:700;margin-bottom:16px}
.auth-left p{color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:32px}
.auth-features{display:flex;flex-direction:column;gap:12px}
.auth-feature{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.8);font-size:.88rem}
.auth-feature i{color:var(--accent-light);font-size:1rem;width:18px}
.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:40px;background:var(--bg)}
.auth-form-wrap{background:#fff;border-radius:20px;padding:44px;box-shadow:var(--shadow-lg);width:100%;max-width:420px}
.auth-form-wrap h3{font-family:'Playfair Display',serif;font-weight:700;margin-bottom:6px}
.input-icon-wrap{position:relative}
.input-icon-wrap i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.88rem;z-index:2}
.input-icon-wrap input{position:relative}
.admin-demo-hint{font-size:.8rem}

/* ── MODAL ────────────────────────────────── */
.modal-icon{width:72px;height:72px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:1.8rem;color:#fff}

/* ── BUTTONS ────────────────────────────────── */
.btn-primary{background:var(--primary)!important;border-color:var(--primary)!important;font-weight:600;border-radius:8px}
.btn-primary:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}
.btn-outline-primary{border-color:var(--primary)!important;color:var(--primary)!important;font-weight:600;border-radius:8px}
.btn-outline-primary:hover{background:var(--primary)!important;color:#fff!important}
.btn-success{background:#10b981!important;border-color:#10b981!important;font-weight:600;border-radius:8px}
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(26,76,139,.15)}
.pagination .page-link{color:var(--primary);border-radius:8px;margin:0 2px}
.pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary)}

/* ── RESPONSIVE ────────────────────────────── */
@media(max-width:992px){
  .auth-left{display:none}
  .type-grid{grid-template-columns:repeat(3,1fr)}
  .stats-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  body{padding-top:66px}
  .hero-title{font-size:2.2rem}
  .hero-search-card{padding:16px}
  .search-row{flex-direction:column}
  .search-submit-btn{width:100%;text-align:center}
  .type-grid{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-main-img{height:260px!important}
}
