:root {
  --primary: #0078DB;
  --primary-dark: #005FA3;
  --primary-light: #E8F4FD;
  --accent: #FF5722;
  --accent-light: #FFF3E0;
  --dark: #1a1a2e;
  --dark-nav: #1B1B1B;
  --text: #333333;
  --text-light: #666666;
  --gray: #999999;
  --border: #E8E8E8;
  --bg: #F5F6F8;
  --white: #FFFFFF;
  --green: #25D366;
  --green-dark: #1DA851;
  --orange: #FF9800;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 14px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --font: 'DM Sans', -apple-system, sans-serif;
  --font-head: 'Poppins', sans-serif;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--font); background:var(--bg); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; transition:0.2s; }
img { max-width:100%; height:auto; display:block; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-head); font-weight:700; color:var(--text); line-height:1.3; }
ul { list-style:none; }

/* BUTTONS */
.btn { display:inline-flex; align-items:center; gap:6px; padding:10px 20px; border-radius:var(--radius-sm); font-weight:600; font-size:14px; font-family:var(--font); cursor:pointer; border:none; transition:0.2s; }
.btn-primary { background:var(--primary); color:#fff; }
.btn-primary:hover { background:var(--primary-dark); }
.btn-accent { background:var(--accent); color:#fff; }
.btn-accent:hover { background:#E64A19; }
.btn-outline { background:transparent; color:var(--primary); border:1.5px solid var(--primary); }
.btn-outline:hover { background:var(--primary-light); }
.btn-whatsapp { background:var(--green); color:#fff; }
.btn-whatsapp:hover { background:var(--green-dark); }
.btn-white { background:#fff; color:var(--text); border:1px solid var(--border); }
.btn-white:hover { border-color:var(--primary); color:var(--primary); }
.btn-lg { padding:14px 28px; font-size:15px; }
.btn-sm { padding:7px 14px; font-size:12px; }
.btn-block { width:100%; justify-content:center; }

/* ===== NAVBAR ===== */
.site-nav { position:sticky; top:0; z-index:1000; background:var(--dark-nav); height:60px; display:flex; align-items:center; padding:0 40px; transition:box-shadow 0.3s; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; width:100%; max-width:1400px; margin:0 auto; }
.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-logo img { height:38px; width:auto; border-radius:6px; }
.nav-logo-text { display:flex; flex-direction:column; }
.logo-name { font-family:var(--font-head); font-size:17px; font-weight:800; color:#fff; line-height:1.1; letter-spacing:-0.3px; }
.logo-tag { font-size:11px; color:#fff; letter-spacing:2px; text-transform:uppercase; font-weight:600; opacity:0.85; }

.nav-menu { display:flex; gap:2px; }
.nav-menu li a { color:rgba(255,255,255,0.65); padding:8px 13px; font-size:13.5px; font-weight:500; border-radius:6px; display:block; transition:0.15s; }
.nav-menu li a:hover { color:#fff; background:rgba(255,255,255,0.07); }
.nav-actions { display:flex; gap:8px; align-items:center; }
.nav-actions .btn { font-size:12px; padding:7px 14px; }

/* ===== HERO ===== */
.hero-banner { position:relative; background:linear-gradient(155deg, #0D1117 0%, #161B22 40%, #1a2332 70%, #0f2440 100%); padding:50px 40px 45px; overflow:hidden; }
.hero-banner::before { content:''; position:absolute; inset:0; opacity:0.03; background-image:radial-gradient(#fff 1px, transparent 1px); background-size:28px 28px; }
.hero-inner { position:relative; z-index:2; max-width:1400px; margin:0 auto; }
.hero-flex { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.hero-content { flex:1; }
.hero-banner h2 { font-size:42px; color:#fff; font-weight:800; margin-bottom:16px; line-height:1.15; }
.hero-banner h2 em { color:#5B9EF4; font-style:normal; }
.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(0,120,219,0.12); border:1px solid rgba(0,120,219,0.25); padding:6px 16px; border-radius:50px; margin-bottom:18px; }
.hero-badge-dot { width:7px; height:7px; border-radius:50%; background:#4ADE80; animation:pulse-dot 2s infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1;} 50%{opacity:0.4;} }
.hero-badge span { color:rgba(255,255,255,0.7); font-size:12px; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
.hero-desc { font-size:15px; color:rgba(255,255,255,0.45); max-width:500px; margin-bottom:24px; line-height:1.7; }
.search-wrapper { max-width:600px; }

/* Hero stats cards */
.hero-stats-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; min-width:280px; }
.hero-stat-card { background:rgba(255,255,255,0.04); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.06); border-radius:12px; padding:16px; display:flex; align-items:center; gap:12px; transition:0.2s; }
.hero-stat-card:hover { background:rgba(255,255,255,0.07); }
.hsc-icon { font-size:24px; }
.hsc-num { font-size:22px; font-weight:800; color:#fff; line-height:1; }
.hsc-label { font-size:11px; color:rgba(255,255,255,0.4); font-weight:500; margin-top:2px; }

/* SEARCH */
.search-tabs { display:flex; gap:0; margin-bottom:0; }
.search-tab { padding:9px 18px; font-size:13px; font-weight:600; color:rgba(255,255,255,0.4); cursor:pointer; border:none; background:rgba(255,255,255,0.04); border-radius:8px 8px 0 0; font-family:var(--font); transition:0.15s; }
.search-tab:hover { color:rgba(255,255,255,0.7); }
.search-tab.active { color:#fff; background:rgba(255,255,255,0.1); }
.search-box { background:#fff; border-radius:0 12px 12px 12px; padding:6px; display:flex; align-items:center; box-shadow:var(--shadow-lg); max-width:700px; }
.search-fields { display:flex; align-items:center; flex:1; }
.search-field { flex:1; padding:10px 14px; border-right:1px solid var(--border); }
.search-field:last-of-type { border-right:none; }
.search-field label { display:block; font-size:10px; color:var(--gray); font-weight:600; letter-spacing:0.8px; text-transform:uppercase; margin-bottom:3px; }
.search-field select, .search-field input { width:100%; border:none; font-size:13px; font-family:var(--font); color:var(--text); font-weight:600; appearance:none; background:transparent; outline:none; cursor:pointer; }
.search-box .btn { margin:4px; padding:12px 22px; white-space:nowrap; border-radius:8px; }

/* ===== MARQUEE ===== */
.marquee-strip { background:var(--primary); overflow:hidden; padding:10px 0; }
.marquee-content { display:flex; white-space:nowrap; animation:marquee 40s linear infinite; }
.marquee-content span { display:inline-block; padding:0 40px; font-size:13px; color:#fff; font-weight:500; }
@keyframes marquee { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
.marquee-strip:hover .marquee-content { animation-play-state:paused; }

/* OWNER STRIP */
.owner-strip { background:#fff; padding:12px 40px; border-bottom:1px solid var(--border); text-align:center; font-size:14px; color:var(--text-light); }
.owner-strip a { color:var(--primary); font-weight:700; }
.owner-strip a:hover { text-decoration:underline; }

/* ===== CATEGORY STRIP ===== */
.cat-strip { background:#fff; padding:18px 40px; border-bottom:1px solid var(--border); display:flex; justify-content:center; gap:28px; overflow-x:auto; }
.cat-item { display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:10px; cursor:pointer; white-space:nowrap; color:var(--text); transition:0.2s; border:1px solid transparent; }
.cat-item:hover { background:var(--primary-light); border-color:var(--primary); color:var(--primary); }
.cat-icon { font-size:26px; }
.cat-label { font-size:14px; font-weight:700; }
.cat-count { font-size:11px; color:var(--gray); }

/* ===== SECTIONS ===== */
.section { padding:48px 40px; }
.section-white { background:#fff; }
.section-title { font-size:24px; font-weight:800; margin-bottom:4px; }
.section-sub { font-size:13px; color:var(--text-light); margin-bottom:0; }
.section-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:24px; gap:16px; flex-wrap:wrap; }
.empty-box { text-align:center; padding:48px 20px; color:var(--gray); background:#fff; border-radius:var(--radius-md); border:1px solid var(--border); }

/* ===== PROPERTY CARDS (FIXED SIZE) ===== */
.prop-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.prop-card { background:#fff; border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--border); transition:0.2s; display:flex; flex-direction:column; }
.prop-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }

/* FIXED HEIGHT IMAGE */
.prop-card-img { height:180px; position:relative; overflow:hidden; background:#f0f2f5; display:block; }
.prop-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.3s; }
.prop-card:hover .prop-card-img img { transform:scale(1.05); }
.prop-card-img .tag { position:absolute; top:8px; left:8px; padding:3px 10px; border-radius:4px; font-size:11px; font-weight:700; color:#fff; z-index:2; }
.tag-premium { background:var(--orange); }
.tag-new { background:var(--primary); }
.tag-hot { background:#E53935; }
.tag-featured { background:var(--primary); }
.tag-exclusive { background:var(--dark); }
.prop-card-img .photos { position:absolute; top:8px; right:8px; background:rgba(0,0,0,0.6); color:#fff; padding:3px 10px; border-radius:4px; font-size:11px; font-weight:600; z-index:2; }

.prop-card-body { padding:14px 16px; flex:1; display:flex; flex-direction:column; }
.prop-price { font-size:18px; font-weight:800; color:var(--primary); margin-bottom:3px; }
.prop-title { font-size:13px; font-weight:600; color:var(--text); margin-bottom:3px; line-height:1.3; font-family:var(--font); }
.prop-title a { color:var(--text); }
.prop-title a:hover { color:var(--primary); }
.prop-loc { font-size:12px; color:var(--text-light); margin-bottom:8px; }
.prop-specs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.prop-spec { font-size:11px; color:var(--text-light); background:var(--bg); padding:3px 8px; border-radius:4px; font-weight:500; }
.prop-footer { border-top:1px solid var(--border); padding-top:10px; display:flex; justify-content:space-between; align-items:center; margin-top:auto; }
.prop-date { font-size:11px; color:var(--gray); }
.prop-actions { display:flex; gap:6px; }

/* ===== LISTING TABS ===== */
.listing-tabs { display:flex; gap:0; background:#fff; border-radius:8px; border:1px solid var(--border); overflow:hidden; }
.listing-tab { padding:7px 16px; font-size:12px; font-weight:600; cursor:pointer; border:none; background:transparent; color:var(--text-light); font-family:var(--font); transition:0.2s; text-decoration:none; display:block; }
.listing-tab:hover { color:var(--text); background:#fafafa; }
.listing-tab.active { background:var(--primary); color:#fff; }

/* ===== LOCATION CARDS ===== */
.loc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.loc-card { background:#fff; border-radius:var(--radius-md); padding:18px; border:1px solid var(--border); display:flex; gap:14px; align-items:center; cursor:pointer; transition:0.2s; }
.loc-card:hover { box-shadow:var(--shadow-sm); border-color:var(--primary); transform:translateY(-2px); }
.loc-icon { width:48px; height:48px; border-radius:10px; background:var(--primary-light); display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
.loc-name { font-size:14px; font-weight:700; font-family:var(--font); }
.loc-desc { font-size:11px; color:var(--text-light); margin-top:2px; }
.loc-count { font-size:10px; font-weight:700; color:var(--primary); background:var(--primary-light); padding:2px 8px; border-radius:12px; }
.loc-top { display:flex; justify-content:space-between; align-items:center; }

/* FEATURES */
.feat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.feat-card { background:#fff; border-radius:var(--radius-md); padding:24px; text-align:center; border:1px solid var(--border); transition:0.2s; }
.feat-card:hover { box-shadow:var(--shadow-sm); transform:translateY(-2px); }
.feat-icon { width:48px; height:48px; border-radius:12px; background:var(--primary-light); display:flex; align-items:center; justify-content:center; font-size:22px; margin:0 auto 12px; }
.feat-title { font-size:14px; font-weight:700; font-family:var(--font); margin-bottom:6px; }
.feat-desc { font-size:12px; color:var(--text-light); line-height:1.5; }

/* STEPS */
.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.step-card { background:var(--bg); border-radius:var(--radius-md); padding:24px; text-align:center; border:1px solid var(--border); position:relative; }
.step-num { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--primary); color:#fff; width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; }
.step-icon { font-size:30px; margin:10px 0 8px; }
.step-title { font-size:14px; font-weight:700; font-family:var(--font); margin-bottom:4px; }
.step-desc { font-size:12px; color:var(--text-light); line-height:1.5; }

/* OWNER SECTION */
.owner-banner { background:linear-gradient(135deg, var(--dark), #16213e); border-radius:var(--radius-lg); padding:44px 48px; display:flex; gap:36px; align-items:center; }
.owner-content { flex:1; }
.owner-badge { display:inline-block; background:rgba(0,120,219,0.12); padding:4px 14px; border-radius:20px; font-size:11px; color:rgba(255,255,255,0.6); font-weight:600; letter-spacing:1px; margin-bottom:14px; text-transform:uppercase; }
.owner-banner h2 { font-size:26px; color:#fff; margin-bottom:12px; line-height:1.3; }
.owner-desc { font-size:14px; color:rgba(255,255,255,0.45); line-height:1.7; margin-bottom:18px; }
.owner-features li { display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:13px; color:rgba(255,255,255,0.7); }
.owner-check { width:18px; height:18px; border-radius:50%; background:var(--primary); display:flex; align-items:center; justify-content:center; font-size:9px; color:#fff; flex-shrink:0; }
.owner-form { width:300px; flex-shrink:0; background:rgba(255,255,255,0.04); backdrop-filter:blur(10px); border-radius:12px; padding:24px; border:1px solid rgba(255,255,255,0.06); }
.owner-form h3 { color:#fff; font-size:16px; font-weight:700; font-family:var(--font); margin-bottom:14px; text-align:center; }
.owner-form input, .owner-form select { width:100%; padding:9px 12px; border-radius:6px; border:1px solid rgba(255,255,255,0.1); background:rgba(255,255,255,0.04); color:#fff; font-size:13px; font-family:var(--font); margin-bottom:10px; outline:none; }
.owner-form input::placeholder { color:rgba(255,255,255,0.3); }
.owner-form select option { background:var(--dark); }
.owner-form-note { font-size:11px; color:rgba(255,255,255,0.3); text-align:center; margin-top:6px; }

/* TESTIMONIALS */
.test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.test-card { background:#fff; border-radius:var(--radius-md); padding:22px; border:1px solid var(--border); transition:0.2s; }
.test-card:hover { box-shadow:var(--shadow-sm); }
.test-stars { color:#F59E0B; font-size:14px; letter-spacing:2px; margin-bottom:8px; }
.test-text { font-size:13px; color:var(--text); line-height:1.7; margin-bottom:14px; }
.test-author { display:flex; align-items:center; gap:10px; border-top:1px solid var(--border); padding-top:12px; }
.test-avatar { width:34px; height:34px; border-radius:50%; background:var(--primary-light); display:flex; align-items:center; justify-content:center; color:var(--primary); font-weight:800; font-size:14px; }
.test-name { font-size:13px; font-weight:700; }
.test-loc { font-size:11px; color:var(--gray); }

/* CTA */
.cta-bar { margin:0 40px 40px; border-radius:var(--radius-lg); background:linear-gradient(135deg,var(--primary),var(--primary-dark)); padding:36px 44px; display:flex; justify-content:space-between; align-items:center; position:relative; overflow:hidden; }
.cta-bar::before { content:''; position:absolute; inset:0; opacity:0.05; background-image:radial-gradient(#fff 1px, transparent 1px); background-size:22px 22px; }
.cta-content { position:relative; z-index:2; }
.cta-bar h2 { font-size:22px; color:#fff; margin-bottom:4px; }
.cta-bar p { font-size:13px; color:rgba(255,255,255,0.75); }
.cta-actions { display:flex; gap:10px; position:relative; z-index:2; }
.cta-bar .btn-green { background:var(--green); color:#fff; }
.cta-bar .btn-wh { background:#fff; color:var(--primary); }

/* FOOTER */
.site-footer { background:var(--dark); padding:44px 40px 20px; color:rgba(255,255,255,0.4); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:32px; margin-bottom:28px; max-width:1400px; margin-left:auto; margin-right:auto; }
.footer-logo { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.footer-logo img { height:32px; border-radius:6px; }
.footer-logo-text h3 { font-size:15px; color:#fff; font-family:var(--font-head); }
.footer-logo-text span { font-size:9px; color:#fff; letter-spacing:1.5px; text-transform:uppercase; opacity:0.7; }
.footer-desc { font-size:12px; line-height:1.7; max-width:280px; }
.footer-heading { color:#fff; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:12px; font-family:var(--font); }
.footer-links li { margin-bottom:7px; }
.footer-links a { font-size:12px; color:rgba(255,255,255,0.4); }
.footer-links a:hover { color:#fff; }
.footer-contact p { font-size:12px; margin-bottom:7px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:16px; display:flex; justify-content:space-between; font-size:11px; max-width:1400px; margin:0 auto; }
.footer-bottom a { color:rgba(255,255,255,0.35); }
.footer-bottom a:hover { color:#fff; }

/* FLOAT WA */
.float-wa { position:fixed; bottom:20px; right:20px; z-index:1500; display:flex; align-items:center; gap:8px; background:var(--green); padding:12px 20px; border-radius:50px; box-shadow:0 4px 16px rgba(37,211,102,0.35); color:#fff; font-weight:700; font-size:14px; }
.float-wa:hover { transform:scale(1.04); color:#fff; }

/* MODAL */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.45); backdrop-filter:blur(4px); z-index:2000; justify-content:center; align-items:center; }
.modal-overlay.active { display:flex; }
.modal-box { background:#fff; border-radius:var(--radius-lg); padding:28px; width:380px; box-shadow:var(--shadow-lg); }
.modal-box h3 { font-size:18px; margin-bottom:14px; }
.modal-box label { display:block; font-size:11px; font-weight:600; color:var(--text); margin-bottom:4px; }
.modal-box input, .modal-box textarea { width:100%; padding:9px 12px; border:1.5px solid var(--border); border-radius:var(--radius-sm); font-size:13px; font-family:var(--font); margin-bottom:10px; outline:none; }
.modal-box input:focus, .modal-box textarea:focus { border-color:var(--primary); }

/* SUBMIT FORM */
.submit-form { max-width:700px; margin:0 auto; background:#fff; border-radius:var(--radius-lg); padding:36px; border:1px solid var(--border); }
.submit-form h2 { font-size:22px; margin-bottom:4px; }
.submit-form .sub-desc { font-size:13px; color:var(--text-light); margin-bottom:20px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.form-group { margin-bottom:14px; }
.form-group label { display:block; font-size:11px; font-weight:600; color:var(--text); margin-bottom:4px; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:10px 12px; border:1.5px solid var(--border); border-radius:var(--radius-sm); font-size:13px; font-family:var(--font); color:var(--text); outline:none; transition:0.2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-light); }
.form-group textarea { resize:vertical; min-height:100px; }
.form-note { font-size:12px; color:var(--text-light); background:var(--bg); padding:12px 16px; border-radius:var(--radius-sm); margin-top:16px; }
.form-success { background:#E8F5E9; color:#2E7D32; padding:16px; border-radius:var(--radius-sm); margin-bottom:20px; font-weight:600; }

/* PROPERTY DETAIL */
.prop-detail { max-width:1200px; margin:0 auto; padding:24px 20px; }
.prop-breadcrumb { font-size:12px; color:var(--gray); margin-bottom:16px; }
.prop-breadcrumb a { color:var(--primary); }
.prop-gallery { border-radius:var(--radius-lg); overflow:hidden; margin-bottom:24px; max-height:450px; }
.prop-gallery img { width:100%; height:100%; object-fit:cover; }
.prop-info-grid { display:grid; grid-template-columns:1fr 340px; gap:28px; }
.prop-main .prop-detail-price { font-size:28px; font-weight:800; color:var(--primary); margin-bottom:12px; }
.prop-main h1 { font-size:22px; margin-bottom:6px; }
.prop-main .prop-detail-loc { font-size:14px; color:var(--text-light); margin-bottom:16px; }
.prop-specs-detail { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:24px; }
.prop-spec-box { background:var(--bg); padding:14px; border-radius:8px; text-align:center; }
.prop-spec-val { font-size:16px; font-weight:800; }
.prop-spec-label { font-size:10px; color:var(--gray); margin-top:2px; }
.prop-sidebar { position:sticky; top:76px; }
.prop-enquiry-box { background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); padding:22px; }
.prop-enquiry-box h3 { font-size:16px; font-weight:700; font-family:var(--font); margin-bottom:14px; }
.prop-enquiry-box input, .prop-enquiry-box textarea { width:100%; padding:9px 12px; border:1.5px solid var(--border); border-radius:var(--radius-sm); font-size:13px; font-family:var(--font); margin-bottom:10px; outline:none; }
.prop-enquiry-box input:focus, .prop-enquiry-box textarea:focus { border-color:var(--primary); }

/* PAGINATION */
.pagination { display:flex; justify-content:center; gap:6px; margin-top:28px; }
.pagination a, .pagination span { padding:8px 14px; border-radius:var(--radius-sm); font-size:13px; font-weight:600; border:1px solid var(--border); color:var(--text-light); }
.pagination .current { background:var(--primary); color:#fff; border-color:var(--primary); }

/* RESPONSIVE */
@media(max-width:1024px) {
    .prop-grid, .test-grid, .loc-grid { grid-template-columns:repeat(2,1fr); }
    .feat-grid, .steps-grid { grid-template-columns:repeat(2,1fr); }
    .hero-stats-cards { grid-template-columns:1fr 1fr; }
    .owner-banner { flex-direction:column; }
    .owner-form { width:100%; }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
    .prop-info-grid { grid-template-columns:1fr; }
}

@media(max-width:768px) {
    /* NAVBAR MOBILE */
    .site-nav { padding:0 12px; height:56px; }
    .nav-inner { gap:8px; }
    .nav-logo img { height:32px; }
    .logo-name { font-size:14px; }
    .logo-tag { font-size:9px; letter-spacing:1.5px; }
    .nav-menu { display:none; }
    .nav-menu.active { display:flex; flex-direction:column; position:absolute; top:56px; left:0; right:0; background:var(--dark-nav); padding:12px; border-bottom:1px solid rgba(255,255,255,0.1); z-index:999; }
    .nav-menu.active li a { padding:12px 16px; font-size:15px; border-bottom:1px solid rgba(255,255,255,0.05); }
    .nav-actions { gap:6px; }
    .nav-actions .btn { font-size:11px; padding:6px 10px; }

    /* HERO MOBILE */
    .hero-banner { padding:24px 16px 20px; }
    .hero-flex { flex-direction:column; gap:20px; align-items:stretch; }
    .hero-content { flex:none; width:100%; }
    .hero-banner h2 { font-size:24px !important; line-height:1.2 !important; margin-bottom:10px !important; color:#fff !important; }
    .hero-banner h2 em { color:#5B9EF4 !important; }
    .hero-desc { font-size:13px; margin-bottom:16px; max-width:100%; }
    .hero-badge { padding:4px 10px; margin-bottom:10px; }
    .hero-badge span { font-size:9px; letter-spacing:0.5px; }
    .search-wrapper { max-width:100%; }
    .hero-stats-cards { min-width:auto; grid-template-columns:1fr 1fr; gap:8px; }
    .hero-stat-card { padding:10px 12px; gap:8px; }
    .hsc-num { font-size:16px; }
    .hsc-icon { font-size:18px; }
    .hsc-label { font-size:9px; }

    /* SEARCH MOBILE - ONE LINE */
    .search-tabs { gap:0; flex-wrap:nowrap; overflow-x:auto; }
    .search-tab { padding:6px 12px; font-size:11px; flex-shrink:0; }
    .search-wrapper { max-width:100%; }
    .search-box { border-radius:0 0 8px 8px; max-width:100%; padding:0; display:flex; flex-direction:row; align-items:stretch; }
    .search-fields { display:flex; flex-direction:row; flex:1; }
    .search-field { flex:1; border-right:1px solid var(--border) !important; border-bottom:none !important; padding:8px 6px; }
    .search-field:last-of-type { border-right:none !important; }
    .search-field label { display:none; }
    .search-field select { font-size:11px; width:100%; padding:0; }
    .search-box .btn { border-radius:0 0 8px 0; padding:8px 12px; font-size:12px; white-space:nowrap; margin:0; }

    /* MARQUEE MOBILE */
    .marquee-strip { padding:8px 0; }
    .marquee-content { animation-duration:20s; }
    .marquee-content span { font-size:11px; padding:0 16px; }

    /* OWNER STRIP MOBILE - space for WA button */
    .owner-strip { padding:10px 90px 10px 16px; font-size:12px; }

    /* FLOAT WA - smaller, no overlap */
    .float-wa { bottom:14px; right:10px; padding:8px 12px; font-size:11px; z-index:999; gap:4px; }

    /* CATEGORY STRIP MOBILE */
    .cat-strip { justify-content:flex-start; padding:12px 16px; gap:6px; -webkit-overflow-scrolling:touch; }
    .cat-item { padding:8px 10px; min-width:auto; flex-shrink:0; }
    .cat-icon { font-size:20px; }
    .cat-label { font-size:12px; }
    .cat-count { font-size:10px; }

    /* SECTIONS MOBILE */
    .section { padding:24px 16px; }
    .section-title { font-size:20px; }
    .section-sub { font-size:12px; }
    .section-header { flex-direction:column; align-items:flex-start; gap:12px; }

    /* LISTING TABS MOBILE */
    .listing-tabs { flex-wrap:wrap; }
    .listing-tab { padding:6px 12px; font-size:11px; }

    /* PROPERTY GRID MOBILE */
    .prop-grid { grid-template-columns:1fr; gap:14px; }
    .prop-card-img { height:200px; }
    .prop-price { font-size:16px; }
    .prop-title { font-size:14px; }

    /* LOCATION GRID MOBILE */
    .loc-grid { grid-template-columns:1fr; gap:10px; }
    .loc-card { padding:14px; }
    .loc-icon { width:42px; height:42px; font-size:20px; }
    .loc-name { font-size:13px; }

    /* FEATURES & STEPS MOBILE */
    .feat-grid, .steps-grid { grid-template-columns:1fr 1fr; gap:10px; }
    .feat-card, .step-card { padding:16px; }
    .feat-icon { width:40px; height:40px; font-size:18px; }
    .feat-title, .step-title { font-size:13px; }
    .feat-desc, .step-desc { font-size:11px; }
    .step-icon { font-size:24px; margin:6px 0; }

    /* OWNER BANNER MOBILE */
    .owner-banner { padding:24px 16px; gap:20px; flex-direction:column; }
    .owner-banner h2 { font-size:20px; }
    .owner-desc { font-size:13px; }
    .owner-features li { font-size:12px; }
    .owner-form { width:100%; padding:18px; }

    /* TESTIMONIALS MOBILE */
    .test-grid { grid-template-columns:1fr; gap:12px; }
    .test-card { padding:18px; }
    .test-text { font-size:13px; }

    /* CTA MOBILE */
    .cta-bar { flex-direction:column; text-align:center; gap:14px; margin:0 16px 20px; padding:24px 20px; }
    .cta-bar h2 { font-size:18px; }
    .cta-bar p { font-size:12px; }
    .cta-actions { flex-direction:column; width:100%; }
    .cta-actions .btn { width:100%; justify-content:center; }

    /* FOOTER MOBILE */
    .site-footer { padding:24px 16px 16px; }
    .footer-grid { grid-template-columns:1fr; gap:20px; }
    .footer-bottom { flex-direction:column; gap:6px; text-align:center; }

    /* PROPERTY DETAIL MOBILE */
    .prop-detail { padding:16px 12px; }
    .prop-info-grid { grid-template-columns:1fr; gap:20px; }
    .prop-main h1 { font-size:18px; }
    .prop-main .prop-detail-price { font-size:22px; }
    .prop-specs-detail { grid-template-columns:repeat(2,1fr); gap:8px; }
    .prop-spec-box { padding:10px; }
    .prop-spec-val { font-size:14px; }
    .prop-sidebar { position:static; }
    .prop-gallery { max-height:250px; }
    .prop-breadcrumb { font-size:11px; }

    /* SUBMIT FORM MOBILE */
    .submit-form { padding:20px 16px; }
    .submit-form h2 { font-size:18px; }
    .form-row { grid-template-columns:1fr; gap:0; }

    /* MODAL MOBILE */
    .modal-box { width:90%; max-width:380px; padding:20px; }

    /* PROPERTIES PAGE MOBILE */
    .section-header .listing-tabs { align-self:flex-start; }
}

/* EXTRA SMALL SCREENS */
@media(max-width:400px) {
    .hero-banner h2 { font-size:20px !important; color:#fff !important; }
    .hero-banner { padding:20px 12px 16px; }
    .hero-stats-cards { grid-template-columns:1fr 1fr; gap:6px; }
    .hero-stat-card { padding:8px 10px; }
    .hsc-num { font-size:14px; }
    .hsc-icon { font-size:16px; }
    .feat-grid, .steps-grid { grid-template-columns:1fr; }
    .nav-actions .btn:first-child { display:none; }
    .search-tab { padding:6px 10px; font-size:10px; }
    .section { padding:20px 12px; }
    .section-title { font-size:18px; }
    .prop-card-img { height:180px; }
}

.mobile-toggle { display:none; background:none; border:none; font-size:22px; color:#fff; cursor:pointer; padding:8px; }
@media(max-width:768px) { .mobile-toggle { display:block; } }

/* WP/Utility */
.alignleft { float:left; margin-right:20px; }
.alignright { float:right; margin-left:20px; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); position:absolute!important; height:1px; width:1px; overflow:hidden; }
