:root{
  --navy:#0A1628;--navy-mid:#1E3A5F;--gold:#C9A84C;--gold-light:#E8C96A;
  --cream:#F5F0E8;--text-dim:#8A9BB0;--card-bg:#111E30;--border:rgba(201,168,76,0.25);
  --green:#25D366;--blue:#0088cc;--red:#E25C5C;
}
[data-theme="light"]{
  --navy:#F0F4F8;--navy-mid:#DDE6F0;--gold:#B8901F;--gold-light:#eec041;
  --cream:#1A2535;--text-dim:#556070;--card-bg:#FFFFFF;--border:rgba(184,144,31,0.3);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--navy);color:var(--cream);font-family:'Inter',sans-serif;overflow-x:hidden;transition:background 0.3s,color 0.3s;}
a{color:inherit;}
img{max-width:100%;}

/* NAV */
nav{position:fixed;top:0;width:100%;z-index:100;background:rgba(10,22,40,0.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 4%;height:70px;}
[data-theme="light"] nav{background:rgba(240,244,248,0.95);}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-icon{width:42px;height:42px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-text{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--cream);}
.logo-text span{color:var(--gold);}
nav ul{list-style:none;display:flex;gap:24px;}
nav ul a{text-decoration:none;color:var(--text-dim);font-size:0.85rem;letter-spacing:0.03em;transition:color 0.2s;}
nav ul a:hover{color:var(--gold);}
.nav-actions{display:flex;gap:8px;align-items:center;}
.theme-btn{background:none;border:1px solid var(--border);color:var(--text-dim);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1rem;transition:all 0.2s;display:flex;align-items:center;justify-content:center;}
.theme-btn:hover{border-color:var(--gold);color:var(--gold);}
.btn-outline{border:1px solid var(--gold);color:var(--gold);background:transparent;padding:7px 16px;border-radius:4px;font-size:0.82rem;cursor:pointer;transition:all 0.2s;text-decoration:none;white-space:nowrap;font-family:'Inter',sans-serif;display:inline-block;}
.btn-outline:hover{background:var(--gold);color:#0A1628;}
.btn-gold{background:var(--gold);color:#0A1628;border:none;padding:8px 18px;border-radius:4px;font-size:0.82rem;font-weight:600;cursor:pointer;transition:all 0.2s;text-decoration:none;white-space:nowrap;font-family:'Inter',sans-serif;display:inline-block;}
.btn-gold:hover{background:var(--gold-light);}

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding-top:70px;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(30,58,95,0.6) 0%,transparent 70%),linear-gradient(160deg,#0A1628 0%,#0D1E35 50%,#0A1628 100%);}
[data-theme="light"] .hero-bg{background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(180,210,240,0.5) 0%,transparent 70%),linear-gradient(160deg,#E8EEF5 0%,#DDE6F0 100%);}
#particles{position:absolute;inset:0;pointer-events:none;}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 20px;max-width:840px;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:20px;padding:5px 15px;font-size:0.76rem;letter-spacing:0.1em;color:var(--gold);text-transform:uppercase;margin-bottom:24px;}
.hero-eyebrow::before{content:'';width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.4;transform:scale(1.4);}}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,5.5vw,3.8rem);font-weight:700;line-height:1.15;margin-bottom:18px;}
.hero h1 span{color:var(--gold);}
.hero-sub{font-size:0.98rem;color:var(--text-dim);line-height:1.7;margin-bottom:32px;max-width:520px;margin-left:auto;margin-right:auto;}
.hero-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:0;}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:40px;}
.cat-card{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:12px;padding:20px 12px;cursor:pointer;transition:all 0.3s;text-decoration:none;color:inherit;text-align:center;display:block;}
[data-theme="light"] .cat-card{background:rgba(0,0,0,0.03);}
.cat-card:hover{background:rgba(201,168,76,0.1);border-color:var(--gold);transform:translateY(-4px);}
.cat-icon{font-size:1.7rem;margin-bottom:8px;}
.cat-card h3{font-size:0.85rem;font-weight:600;margin-bottom:3px;}
.cat-card p{font-size:0.72rem;color:var(--text-dim);margin:0;}

/* STATS */
.stats-bar{background:var(--card-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:28px 5%;display:flex;justify-content:center;gap:56px;flex-wrap:wrap;}
.stat{text-align:center;}
.stat-num{font-family:'Playfair Display',serif;font-size:1.9rem;color:var(--gold);font-weight:700;}
.stat-label{font-size:0.78rem;color:var(--text-dim);margin-top:3px;}

/* SEARCH BAR */
.search-section{padding:40px 5% 0;}
.search-box{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:20px 24px;display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;}
.search-field{flex:1;min-width:140px;}
.search-field label{display:block;font-size:0.74rem;color:var(--text-dim);margin-bottom:5px;letter-spacing:0.05em;text-transform:uppercase;}
.search-field input,.search-field select{width:100%;background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:6px;padding:9px 12px;color:var(--cream);font-family:'Inter',sans-serif;font-size:0.85rem;outline:none;transition:border-color 0.2s;}
[data-theme="light"] .search-field input,[data-theme="light"] .search-field select{background:rgba(0,0,0,0.04);}
.search-field input:focus,.search-field select:focus{border-color:var(--gold);}
.search-field select option{background:#111E30;}
.price-range{display:flex;gap:6px;align-items:center;}
.price-range input{width:100px;}
.price-range span{color:var(--text-dim);font-size:0.8rem;}
.search-btn{background:var(--gold);color:#0A1628;border:none;padding:10px 24px;border-radius:6px;font-weight:600;font-size:0.88rem;cursor:pointer;white-space:nowrap;transition:all 0.2s;font-family:'Inter',sans-serif;}
.search-btn:hover{background:var(--gold-light);}
.reset-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:10px 16px;border-radius:6px;font-size:0.82rem;cursor:pointer;transition:all 0.2s;font-family:'Inter',sans-serif;}
.reset-btn:hover{border-color:var(--gold);color:var(--gold);}

/* SECTIONS */
section{padding:72px 5%;}
.section-header{text-align:center;margin-bottom:40px;}
.section-eyebrow{font-size:0.73rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.section-header h2{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:600;}
.section-header p{color:var(--text-dim);margin-top:10px;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.7;font-size:0.91rem;}

/* FILTER */
.filter-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:10px;}
.filter-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.tab{padding:7px 18px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;font-size:0.82rem;transition:all 0.2s;font-family:'Inter',sans-serif;}
.tab.active,.tab:hover{background:var(--gold);color:#0A1628;border-color:var(--gold);}
.sort-select{background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:6px;padding:7px 12px;color:var(--cream);font-family:'Inter',sans-serif;font-size:0.82rem;outline:none;cursor:pointer;}
[data-theme="light"] .sort-select{background:rgba(0,0,0,0.04);}
.results-count{font-size:0.8rem;color:var(--text-dim);}

/* ═══════ PROPERTY CARDS (modern real-estate style) ═══════ */
.listings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;}
.property-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all 0.3s;cursor:pointer;position:relative;text-decoration:none;color:inherit;display:block;}
.property-card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 18px 36px rgba(0,0,0,0.35);}
.property-card.vip{border:1.5px solid var(--gold);box-shadow:0 0 0 1px rgba(201,168,76,0.15),0 12px 30px rgba(201,168,76,0.12);}
.property-card.vip::before{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(135deg,rgba(201,168,76,0.07),transparent 50%);pointer-events:none;z-index:1;}
.compare-check{position:absolute;top:52px;right:10px;z-index:5;width:28px;height:28px;background:rgba(0,0,0,0.6);border:2px solid var(--border);border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;font-size:0.7rem;color:var(--cream);}
.compare-check.checked{background:var(--gold);border-color:var(--gold);color:#0A1628;}
.card-media{width:100%;height:200px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1E3A5F,#0D2540);}
[data-theme="light"] .card-media{background:linear-gradient(135deg,#C8D8E8,#B0C4D8);}
.card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s;}
.property-card:hover .card-media img{transform:scale(1.06);}
.card-media video{width:100%;height:100%;object-fit:cover;display:block;}
.card-media-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3.2rem;}
.card-badge{position:absolute;top:10px;left:10px;background:var(--gold);color:#0A1628;font-size:0.7rem;font-weight:700;padding:3px 9px;border-radius:3px;text-transform:uppercase;}
.badge-rent{background:#2D8E6A;color:white;}
.badge-vip{position:absolute;top:10px;left:10px;background:linear-gradient(120deg,var(--gold-light),var(--gold));color:#0A1628;font-size:0.68rem;font-weight:700;padding:3px 10px;border-radius:3px;text-transform:uppercase;letter-spacing:0.05em;display:flex;align-items:center;gap:3px;z-index:2;}
.media-count{position:absolute;top:10px;right:10px;background:rgba(0,0,0,0.6);color:#fff;font-size:0.7rem;padding:3px 7px;border-radius:10px;}
.view-count{position:absolute;bottom:8px;right:10px;background:rgba(0,0,0,0.55);color:#fff;font-size:0.68rem;padding:2px 7px;border-radius:10px;}
.card-body{padding:16px 18px;position:relative;z-index:2;}
.card-body h3{font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:5px;line-height:1.3;}
.card-location{font-size:0.78rem;color:var(--text-dim);margin-bottom:11px;}
.card-specs{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
.spec{font-size:0.76rem;color:var(--text-dim);}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:11px;border-top:1px solid var(--border);}
.card-price{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--gold);font-weight:600;}
.card-price small{font-family:'Inter',sans-serif;font-size:0.71rem;color:var(--text-dim);font-weight:400;display:block;}
.card-cta{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:6px 13px;border-radius:4px;font-size:0.78rem;cursor:pointer;transition:all 0.2s;font-family:'Inter',sans-serif;}
.card-cta:hover{background:var(--gold);color:#0A1628;}

/* NEW BADGE RIBBON */
.ribbon-new{position:absolute;top:10px;right:10px;background:#2D8E6A;color:#fff;font-size:0.66rem;font-weight:700;padding:3px 9px;border-radius:20px;z-index:3;}

/* COMPARE BAR */
.compare-bar{position:fixed;bottom:0;left:0;right:0;z-index:150;background:var(--card-bg);border-top:1px solid var(--gold);padding:12px 5%;display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.compare-bar.visible{display:flex;}
.compare-bar-items{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.compare-item{background:rgba(201,168,76,0.1);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:0.8rem;display:flex;align-items:center;gap:6px;}
.compare-item button{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:0.9rem;line-height:1;padding:0;}
.compare-item button:hover{color:#E88080;}
.compare-actions{display:flex;gap:8px;}

/* COMPARE MODAL */
.compare-table-wrap{overflow-x:auto;}
.compare-table{width:100%;border-collapse:collapse;min-width:400px;}
.compare-table th{background:rgba(201,168,76,0.1);color:var(--gold);font-size:0.78rem;padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);}
.compare-table td{padding:10px 14px;font-size:0.82rem;border-bottom:1px solid rgba(201,168,76,0.08);}
.compare-table tr:last-child td{border-bottom:none;}
.compare-table .row-label{color:var(--text-dim);font-size:0.76rem;}

/* MORTGAGE */
.mortgage-section{background:var(--card-bg);}
.mortgage-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:960px;margin:0 auto;align-items:start;}
.mort-form{background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:14px;padding:28px;}
.mort-form h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:6px;}
.mort-form>p{font-size:0.82rem;color:var(--text-dim);margin-bottom:22px;line-height:1.6;}
.range-row{margin-bottom:18px;}
.range-row label{display:flex;justify-content:space-between;font-size:0.78rem;color:var(--text-dim);margin-bottom:6px;}
.range-row label span{color:var(--gold);font-weight:600;}
input[type=range]{width:100%;accent-color:var(--gold);cursor:pointer;}
.price-input-row{display:flex;gap:8px;margin-bottom:6px;}
.price-input-row input[type=number]{flex:1;background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--cream);font-family:'Inter',sans-serif;font-size:0.9rem;outline:none;}
[data-theme="light"] .price-input-row input[type=number]{background:rgba(0,0,0,0.04);}
.down-btns{display:flex;gap:6px;margin-bottom:10px;}
.down-btn{flex:1;padding:8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;font-size:0.82rem;transition:all 0.2s;font-family:'Inter',sans-serif;}
.down-btn.active,.down-btn:hover{background:var(--gold);color:#0A1628;border-color:var(--gold);}
.pct-input-row{display:flex;align-items:center;gap:8px;}
.pct-input-row input[type=number]{width:80px;background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--cream);font-family:'Inter',sans-serif;font-size:0.9rem;outline:none;}
[data-theme="light"] .pct-input-row input[type=number]{background:rgba(0,0,0,0.04);}
.mort-result{background:linear-gradient(135deg,var(--navy-mid),#0D2540);border:1px solid var(--border);border-radius:14px;padding:28px;}
[data-theme="light"] .mort-result{background:linear-gradient(135deg,#DDE6F0,#C8D8E8);}
.mort-result h3{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:20px;color:var(--gold);}
.mort-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);font-size:0.85rem;}
.mort-row:last-of-type{border-bottom:none;}
.mort-row .label{color:var(--text-dim);}
.mort-row .val{font-weight:600;color:var(--cream);}
.mort-row .val.big{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--gold);}
.mort-note{background:rgba(201,168,76,0.08);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-top:16px;font-size:0.78rem;color:var(--text-dim);line-height:1.6;}
.mort-note strong{color:var(--gold);}
.rate-indicator{display:flex;align-items:center;gap:8px;margin-top:4px;}
.rate-bar{flex:1;height:6px;background:rgba(255,255,255,0.1);border-radius:3px;overflow:hidden;}
.rate-fill{height:100%;background:linear-gradient(90deg,#25D366,var(--gold),#E88080);border-radius:3px;transition:width 0.4s;}

/* CONTACT */
.contact-section{background:rgba(17,30,48,0.4);}
[data-theme="light"] .contact-section{background:rgba(200,216,232,0.3);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:900px;margin:0 auto;}
.contact-info h3{font-family:'Playfair Display',serif;font-size:1.35rem;margin-bottom:18px;}
.contact-item{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:13px 16px;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--cream);transition:all 0.2s;}
[data-theme="light"] .contact-item{background:rgba(0,0,0,0.03);}
.contact-item:hover{border-color:var(--gold);background:rgba(201,168,76,0.06);}
.ci-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.ci-wa{background:rgba(37,211,102,0.15);}
.ci-tg{background:rgba(0,136,204,0.15);}
.ci-ph{background:rgba(201,168,76,0.15);}
.ci-text small{display:block;font-size:0.71rem;color:var(--text-dim);margin-bottom:1px;}
.ci-text span{font-size:0.9rem;font-weight:500;}
.contact-form-box{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:26px;}
.contact-form-box h3{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:5px;}
.contact-form-box>p{font-size:0.81rem;color:var(--text-dim);margin-bottom:18px;}

/* HOW */
.how-bg{background:var(--card-bg);}
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:960px;margin:0 auto;}
.step{text-align:center;padding:24px 16px;border:1px solid var(--border);border-radius:12px;transition:all 0.3s;}
.step:hover{border-color:var(--gold);transform:translateY(-3px);}
.step-num{width:46px;height:46px;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--gold);margin:0 auto 12px;}
.step h4{font-size:0.9rem;margin-bottom:6px;}
.step p{font-size:0.77rem;color:var(--text-dim);line-height:1.6;}

/* CTA */
.cta-banner{background:linear-gradient(120deg,var(--navy-mid),#0D2540);border:1px solid var(--border);border-radius:18px;padding:48px 36px;text-align:center;max-width:720px;margin:0 auto;}
[data-theme="light"] .cta-banner{background:linear-gradient(120deg,#DDE6F0,#C0D0E0);}
.cta-banner h2{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:12px;}
.cta-banner p{color:var(--text-dim);margin-bottom:24px;line-height:1.7;}
.cta-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* FOOTER */
footer{background:#060E1A;border-top:1px solid var(--border);padding:44px 5% 24px;}
[data-theme="light"] footer{background:#D8E4EE;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:32px;}
.footer-brand p{color:var(--text-dim);font-size:0.82rem;line-height:1.7;margin-top:10px;}
footer h5{font-size:0.82rem;font-weight:600;margin-bottom:12px;}
footer ul{list-style:none;}
footer ul li{margin-bottom:8px;}
footer ul a{color:var(--text-dim);text-decoration:none;font-size:0.8rem;transition:color 0.2s;}
footer ul a:hover{color:var(--gold);}
.footer-socials{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.social-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:6px;font-size:0.78rem;font-weight:600;text-decoration:none;transition:all 0.2s;}
.wa-btn{background:rgba(37,211,102,0.15);color:#25D366;border:1px solid rgba(37,211,102,0.3);}
.wa-btn:hover{background:rgba(37,211,102,0.25);}
.tg-btn{background:rgba(0,136,204,0.15);color:#0088cc;border:1px solid rgba(0,136,204,0.3);}
.tg-btn:hover{background:rgba(0,136,204,0.25);}
.footer-bottom{border-top:1px solid var(--border);padding-top:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.footer-bottom p{font-size:0.75rem;color:var(--text-dim);}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(6,14,26,0.88);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;}
.modal{background:var(--card-bg);border:1px solid var(--border);border-radius:18px;padding:32px 28px;width:100%;max-width:520px;position:relative;animation:modalIn 0.3s ease;max-height:90vh;overflow-y:auto;}
@keyframes modalIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.modal h3{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:5px;}
.modal>p{color:var(--text-dim);font-size:0.84rem;margin-bottom:20px;}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-dim);font-size:1.5rem;cursor:pointer;line-height:1;}
.modal-close:hover{color:var(--gold);}
.form-row{margin-bottom:13px;}
.form-row label{display:block;font-size:0.77rem;color:var(--text-dim);margin-bottom:4px;}
.form-row input,.form-row select,.form-row textarea{width:100%;background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:6px;padding:9px 12px;color:var(--cream);font-family:'Inter',sans-serif;font-size:0.85rem;outline:none;transition:border-color 0.2s;}
[data-theme="light"] .form-row input,[data-theme="light"] .form-row select,[data-theme="light"] .form-row textarea{background:rgba(0,0,0,0.04);}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--gold);}
.form-row select option{background:#111E30;}
.form-row textarea{height:85px;resize:none;}
.form-btn{width:100%;background:var(--gold);color:#0A1628;border:none;padding:11px;border-radius:6px;font-weight:600;font-size:0.88rem;cursor:pointer;transition:all 0.2s;margin-top:5px;font-family:'Inter',sans-serif;}
.form-btn:hover{background:var(--gold-light);}
.send-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;}
.send-wa{background:#25D366;color:#fff;border:none;padding:10px;border-radius:6px;font-weight:600;font-size:0.85rem;cursor:pointer;transition:all 0.2s;font-family:'Inter',sans-serif;}
.send-wa:hover{background:#1DAE53;}
.send-tg{background:#0088cc;color:#fff;border:none;padding:10px;border-radius:6px;font-weight:600;font-size:0.85rem;cursor:pointer;transition:all 0.2s;font-family:'Inter',sans-serif;}
.send-tg:hover{background:#006fa0;}

/* ═══════ DETAIL PAGE / GALLERY (responsive, swipe) ═══════ */
.detail-wrap{max-width:1100px;margin:0 auto;padding-top:90px;}
.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start;}
.gallery{position:relative;border-radius:16px;overflow:hidden;background:#0D1E35;}
.gallery-track{display:flex;width:100%;height:420px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
.gallery-track::-webkit-scrollbar{display:none;}
.gallery-slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;position:relative;}
.gallery-slide img,.gallery-slide video{width:100%;height:100%;object-fit:cover;display:block;}
.gallery-placeholder{width:100%;height:420px;display:flex;align-items:center;justify-content:center;font-size:4.5rem;background:linear-gradient(135deg,#1E3A5F,#0D2540);}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(6,14,26,0.7);border:1px solid var(--border);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;z-index:5;transition:all 0.2s;}
.gallery-arrow:hover{background:var(--gold);color:#0A1628;}
.gallery-arrow.prev{left:14px;}
.gallery-arrow.next{right:14px;}
.gallery-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:5;}
.gallery-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.4);cursor:pointer;transition:all 0.2s;}
.gallery-dot.active{background:var(--gold);width:18px;border-radius:4px;}
.gallery-count{position:absolute;top:14px;right:14px;background:rgba(0,0,0,0.6);color:#fff;font-size:0.74rem;padding:4px 10px;border-radius:12px;z-index:5;}
.thumbs-row{display:flex;gap:7px;margin-top:10px;overflow-x:auto;padding-bottom:4px;}
.thumbs-row::-webkit-scrollbar{height:5px;}
.thumb{width:78px;height:56px;flex-shrink:0;border-radius:7px;overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:0.65;transition:all 0.2s;}
.thumb.active{border-color:var(--gold);opacity:1;}
.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;}

.detail-info{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:26px;}
.detail-badges{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.detail-title{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:6px;line-height:1.3;}
.detail-location{font-size:0.85rem;color:var(--text-dim);margin-bottom:18px;}
.detail-price{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold);font-weight:700;margin-bottom:4px;}
.detail-price small{font-family:'Inter',sans-serif;font-size:0.78rem;color:var(--text-dim);font-weight:400;}
.detail-specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;}
.detail-spec-item{background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:9px;padding:12px 14px;}
[data-theme="light"] .detail-spec-item{background:rgba(0,0,0,0.03);}
.detail-spec-item small{display:block;font-size:0.7rem;color:var(--text-dim);margin-bottom:3px;text-transform:uppercase;letter-spacing:0.04em;}
.detail-spec-item span{font-size:0.92rem;font-weight:600;}
.detail-desc{font-size:0.88rem;color:var(--text-dim);line-height:1.8;margin:18px 0;}
.detail-contact-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.detail-contact-btns a{display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold);text-decoration:none;font-size:0.85rem;margin-bottom:20px;}
.back-link:hover{text-decoration:underline;}

/* Map */
.detail-map-section{margin-top:30px;}
.detail-map-section h3{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:14px;}
#detailMap{width:100%;height:320px;border-radius:14px;border:1px solid var(--border);}

/* Similar properties */
.similar-section{margin-top:48px;}
.similar-section h3{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:18px;}

/* ═══════ FLOATING WHATSAPP BUTTON ═══════ */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:160;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(37,211,102,0.5);cursor:pointer;text-decoration:none;transition:transform 0.25s,box-shadow 0.25s;animation:waPulse 2.6s infinite;}
.wa-float:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(37,211,102,0.65);}
.wa-float svg{width:30px;height:30px;fill:#fff;}
@keyframes waPulse{0%{box-shadow:0 6px 22px rgba(37,211,102,0.5),0 0 0 0 rgba(37,211,102,0.45);}70%{box-shadow:0 6px 22px rgba(37,211,102,0.5),0 0 0 14px rgba(37,211,102,0);}100%{box-shadow:0 6px 22px rgba(37,211,102,0.5),0 0 0 0 rgba(37,211,102,0);}}
.wa-tooltip{position:absolute;right:70px;top:50%;transform:translateY(-50%);background:#111E30;color:#fff;padding:7px 14px;border-radius:8px;font-size:0.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.2s;box-shadow:0 4px 14px rgba(0,0,0,0.3);}
.wa-float:hover .wa-tooltip{opacity:1;}
@media(max-width:600px){
  .wa-float{bottom:84px;right:16px;width:52px;height:52px;}
  .wa-float svg{width:26px;height:26px;}
  .wa-tooltip{display:none;}
}

/* ═══════ VIP / FEATURED SECTION ═══════ */
.vip-section{background:linear-gradient(135deg,#0D1E35,#0A1628);position:relative;}
[data-theme="light"] .vip-section{background:linear-gradient(135deg,#E8EEF5,#DDE6F0);}
.vip-section::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.vip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;}

/* ═══════ NEW PROPERTIES SECTION ═══════ */
.new-badge-tag{display:inline-flex;align-items:center;gap:5px;background:rgba(45,142,106,0.15);color:#2D8E6A;border:1px solid rgba(45,142,106,0.3);padding:3px 10px;border-radius:20px;font-size:0.72rem;font-weight:600;}

/* ═══════ SKELETON LOADER ═══════ */
.skeleton{background:linear-gradient(90deg,rgba(255,255,255,0.04) 25%,rgba(255,255,255,0.08) 50%,rgba(255,255,255,0.04) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:6px;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.skeleton-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;overflow:hidden;}
.sk-img{width:100%;height:200px;}
.sk-body{padding:16px 18px;}
.sk-line{margin-bottom:8px;}

/* ═══════ ADMIN ═══════ */
#adminPanel{display:none;position:fixed;inset:0;z-index:300;background:#060E1A;overflow-y:auto;}
.admin-nav{background:var(--card-bg);border-bottom:1px solid var(--border);padding:0 26px;height:62px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;}
.admin-body{display:grid;grid-template-columns:216px 1fr;min-height:calc(100vh - 62px);}
.admin-sidebar{background:rgba(17,30,48,0.5);border-right:1px solid var(--border);padding:18px 0;}
.admin-sidebar ul{list-style:none;}
.admin-sidebar ul a{display:flex;align-items:center;gap:9px;padding:10px 20px;text-decoration:none;color:var(--text-dim);font-size:0.82rem;transition:all 0.2s;border-left:3px solid transparent;cursor:pointer;}
.admin-sidebar ul a:hover,.admin-sidebar ul a.active{color:var(--gold);background:rgba(201,168,76,0.06);border-left-color:var(--gold);}
.admin-main{padding:26px;}
.admin-page{display:none;}
.admin-page.active{display:block;}
.admin-page-title{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:20px;}
.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;}
.admin-stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:11px;padding:16px;}
.admin-stat-card .label{font-size:0.74rem;color:var(--text-dim);margin-bottom:6px;}
.admin-stat-card .value{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--gold);}
.admin-table-wrap{background:var(--card-bg);border:1px solid var(--border);border-radius:11px;overflow:hidden;overflow-x:auto;}
.admin-table-header{padding:13px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.admin-table-header h4{font-size:0.9rem;}
table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:0.71rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.06em;padding:10px 13px;border-bottom:1px solid var(--border);white-space:nowrap;}
td{padding:10px 13px;font-size:0.81rem;border-bottom:1px solid rgba(201,168,76,0.07);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
.badge-status{display:inline-block;padding:2px 9px;border-radius:20px;font-size:0.7rem;font-weight:600;white-space:nowrap;}
.s-sell{background:rgba(45,90,142,0.3);color:#6AA3E8;}
.s-rent{background:rgba(45,142,106,0.3);color:#6AE8B3;}
.s-vip{background:rgba(201,168,76,0.25);color:var(--gold);}
.action-btns{display:flex;gap:5px;}
.btn-del{background:rgba(180,50,50,0.3);color:#E88080;border:none;padding:4px 9px;border-radius:4px;font-size:0.74rem;cursor:pointer;transition:all 0.2s;font-family:'Inter',sans-serif;}
.btn-del:hover{background:rgba(180,50,50,0.6);}
.btn-edit{background:rgba(45,90,142,0.3);color:#6AA3E8;border:none;padding:4px 9px;border-radius:4px;font-size:0.74rem;cursor:pointer;transition:all 0.2s;font-family:'Inter',sans-serif;}
.btn-edit:hover{background:rgba(45,90,142,0.55);}
.add-form{background:var(--card-bg);border:1px solid var(--border);border-radius:11px;padding:24px;}
.add-form h4{font-family:'Playfair Display',serif;font-size:1.1rem;margin-bottom:16px;padding-bottom:11px;border-bottom:1px solid var(--border);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.checkbox-row{display:flex;align-items:center;gap:8px;background:rgba(201,168,76,0.06);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-top:6px;}
.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold);cursor:pointer;}
.checkbox-row label{font-size:0.84rem;cursor:pointer;margin:0;}
.media-upload-area{border:2px dashed var(--border);border-radius:9px;padding:20px;text-align:center;cursor:pointer;transition:all 0.2s;position:relative;margin-top:3px;}
.media-upload-area:hover{border-color:var(--gold);background:rgba(201,168,76,0.03);}
.media-upload-area input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.media-upload-area .upload-icon{font-size:1.8rem;margin-bottom:6px;}
.media-upload-area p{font-size:0.8rem;color:var(--text-dim);}
.media-upload-area small{font-size:0.71rem;color:var(--text-dim);opacity:0.7;}
.media-preview-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
.media-thumb{width:76px;height:56px;border-radius:5px;overflow:hidden;position:relative;border:1px solid var(--border);}
.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover;}
.media-thumb .remove-media{position:absolute;top:2px;right:2px;background:rgba(180,50,50,0.85);color:#fff;border:none;border-radius:50%;width:16px;height:16px;font-size:0.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.upload-progress{height:4px;background:rgba(255,255,255,0.1);border-radius:2px;margin-top:6px;overflow:hidden;}
.upload-progress-fill{height:100%;background:var(--gold);transition:width 0.3s;}
.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#060E1A;}
.login-box{background:var(--card-bg);border:1px solid var(--border);border-radius:15px;padding:40px 36px;width:100%;max-width:370px;text-align:center;}
.login-box h2{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:4px;}
.login-box p{color:var(--text-dim);font-size:0.82rem;margin-bottom:24px;}
#miniMap{width:100%;height:200px;border-radius:9px;border:1px solid var(--border);margin-top:6px;}
.coord-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;}

/* ═══════ TOAST ═══════ */
#toast{position:fixed;bottom:26px;right:26px;z-index:9999;background:var(--card-bg);border:1px solid var(--gold);border-radius:8px;padding:12px 18px;font-size:0.84rem;color:var(--cream);transform:translateY(80px);opacity:0;transition:all 0.3s;pointer-events:none;max-width:280px;}
#toast.show{transform:translateY(0);opacity:1;}

/* ═══════ PWA INSTALL ═══════ */
#pwaInstall{display:none;position:fixed;bottom:80px;right:24px;z-index:140;background:var(--card-bg);border:1px solid var(--gold);border-radius:12px;padding:14px 18px;max-width:260px;box-shadow:0 8px 24px rgba(0,0,0,0.4);animation:modalIn 0.3s ease;}
#pwaInstall h4{font-size:0.9rem;margin-bottom:4px;}
#pwaInstall p{font-size:0.76rem;color:var(--text-dim);margin-bottom:12px;line-height:1.5;}
#pwaInstall .pwa-btns{display:flex;gap:6px;}
#pwaInstall .pwa-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:1rem;}

/* LOADING SPINNER (full-page, while Firestore loads) */
.page-loader{position:fixed;inset:0;background:var(--navy);z-index:500;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;transition:opacity 0.4s;}
.page-loader.hide{opacity:0;pointer-events:none;}
.spinner{width:42px;height:42px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin 0.8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.page-loader p{color:var(--text-dim);font-size:0.85rem;}

@media(max-width:900px){
  .category-grid{grid-template-columns:repeat(2,1fr);}
  .steps-row{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .mortgage-grid{grid-template-columns:1fr;}
  .admin-body{grid-template-columns:1fr;}
  .admin-sidebar{display:none;}
  .admin-stats{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
  nav ul{display:none;}
  .detail-specs-grid{grid-template-columns:1fr;}
  .detail-grid{grid-template-columns:1fr;}
  .search-box{flex-direction:column;}
  .coord-inputs{grid-template-columns:1fr;}
}

/* ═══════ DUAL CURRENCY PRICE ═══════ */
.price-usd{
  font-size:0.72em;
  color:var(--text-dim);
  font-weight:400;
  margin-left:4px;
}
.card-price .price-usd{
  display:block;
  font-size:0.7em;
  margin-top:1px;
  margin-left:0;
}