@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400&family=Outfit:wght@300;400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#FAF7F2;--cream2:#F2EDE4;--gold:#C9A84C;--gold2:#E8C97A;
  --navy:#1A2332;--navy2:#243044;--slate:#4A5568;--muted:#8896A8;
  --white:#fff;--red:#C94C4C;--green:#4CAF7A;
  --shadow:0 4px 24px rgba(26,35,50,.10);--shadow-lg:0 12px 48px rgba(26,35,50,.18);
  --radius:12px;--fd:'Cormorant Garamond',serif;--fb:'Outfit',sans-serif
}
body{font-family:var(--fb);background:var(--cream);color:var(--navy)}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream2)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}
a{color:inherit}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(26,35,50,.96);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 36px;height:66px;border-bottom:1px solid rgba(201,168,76,.2)}
.nav-logo{font-family:var(--fd);font-size:21px;font-weight:600;color:var(--gold);text-decoration:none;cursor:pointer}.nav-logo span{color:#fff;font-weight:300}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-link{color:rgba(255,255,255,.75);font-size:13px;cursor:pointer;text-decoration:none;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--gold)}
.nav-btn{background:var(--gold);color:var(--navy);padding:7px 18px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.nav-btn:hover{background:var(--gold2)}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:20px;cursor:pointer}

/* ── HERO ── */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 60%,#2D4060 100%);overflow:hidden}
.hero-bg{position:absolute;inset:0;opacity:.12;background-image:url('https://images.unsplash.com/photo-1448630360428-65456885c650?w=1600&q=60');background-size:cover;background-position:center}
.hero-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,35,50,.3),rgba(26,35,50,.7))}
.hero-content{position:relative;z-index:1;width:100%;max-width:980px;margin:0 auto;padding:118px 36px 72px;text-align:center}
.hero-tag{display:inline-block;background:rgba(201,168,76,.2);border:1px solid rgba(201,168,76,.4);color:var(--gold);font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:5px 15px;border-radius:20px;margin-bottom:22px}
.hero-title{font-family:var(--fd);font-size:clamp(36px,5.5vw,66px);font-weight:300;color:#fff;line-height:1.1;margin-bottom:14px}.hero-title em{font-style:italic;color:var(--gold)}
.hero-sub{color:rgba(255,255,255,.6);font-size:15px;margin-bottom:38px}
.hero-stats{display:flex;gap:44px;justify-content:center;margin-top:34px}
.hero-stat-n{font-family:var(--fd);font-size:32px;font-weight:600;color:var(--gold)}
.hero-stat-l{font-size:11px;color:rgba(255,255,255,.5);letter-spacing:1px;text-transform:uppercase;margin-top:2px}

/* ── SEARCH BOX ── */
.sbox{background:rgba(255,255,255,.08);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:22px 26px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.sfield{display:flex;flex-direction:column;gap:5px;flex:1;min-width:110px}
.slabel{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:500}
.sinput,.sselect{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:9px 12px;font-size:13px;font-family:var(--fb);outline:none;transition:border .2s}
.sinput::placeholder{color:rgba(255,255,255,.4)}.sinput:focus,.sselect:focus{border-color:var(--gold)}
.sselect option{background:var(--navy);color:#fff}
.sbtn{background:var(--gold);color:var(--navy);border:none;border-radius:8px;padding:10px 22px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--fb);white-space:nowrap;align-self:flex-end}.sbtn:hover{background:var(--gold2)}

/* ── SECTIONS ── */
.section{padding:68px 36px;max-width:1200px;margin:0 auto}
.sec-hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px}
.sec-title{font-family:var(--fd);font-size:34px;font-weight:300;color:var(--navy)}.sec-title em{font-style:italic;color:var(--gold)}
.sec-sub{font-size:13px;color:var(--muted);margin-top:3px}
.see-all{font-size:13px;color:var(--gold);font-weight:500;cursor:pointer;text-decoration:none}.see-all:hover{text-decoration:underline}

/* ── PROPERTY CARDS ── */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.pcard{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:all .3s;cursor:pointer}.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.pimg-wrap{overflow:hidden;position:relative;height:205px}
.pimg{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.pcard:hover .pimg{transform:scale(1.04)}
.pbadge{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--navy);font-size:10px;font-weight:600;padding:3px 9px;border-radius:4px}
.pcount{position:absolute;bottom:9px;right:9px;background:rgba(26,35,50,.75);color:#fff;font-size:11px;padding:3px 9px;border-radius:14px}
.pfav{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.9);border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:transform .2s}.pfav:hover{transform:scale(1.15)}
.pbody{padding:16px}
.ptype{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:4px}
.pname{font-family:var(--fd);font-size:18px;font-weight:600;color:var(--navy);margin-bottom:4px;line-height:1.25}
.ploc{font-size:12px;color:var(--muted);margin-bottom:10px}
.pprice{font-family:var(--fd);font-size:21px;font-weight:600;color:var(--navy);margin-bottom:10px}
.pfeats{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--cream2);padding-top:10px}
.pfeat{font-size:12px;color:var(--slate)}
.chip{display:inline-block;font-size:10px;font-weight:500;padding:3px 8px;border-radius:12px;margin-top:7px}
.chip-disponível{background:#E8F5ED;color:var(--green)}.chip-vendido{background:#FEE;color:var(--red)}.chip-reservado{background:#FFF8E1;color:#C9A84C}

/* ── FILTER BAR ── */
.fbar{background:var(--white);border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow);margin-bottom:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.fg{display:flex;flex-direction:column;gap:4px;min-width:110px}
.fl{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:500}
.fi,.fs{border:1.5px solid var(--cream2);background:var(--cream);color:var(--navy);border-radius:8px;padding:7px 10px;font-size:13px;font-family:var(--fb);outline:none;transition:border .2s}.fi:focus,.fs:focus{border-color:var(--gold)}
.fbtn{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:13px;cursor:pointer;font-family:var(--fb)}.fbtn:hover{background:var(--navy2)}
.fclr{background:none;border:1.5px solid var(--cream2);color:var(--slate);border-radius:8px;padding:8px 13px;font-size:13px;cursor:pointer;font-family:var(--fb)}.fclr:hover{border-color:var(--red);color:var(--red)}

/* ── GALLERY ── */
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(26,35,50,.65);color:#fff;border:none;border-radius:50%;width:38px;height:38px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.gal-nav:hover{background:rgba(26,35,50,.9)}
.gal-prev{left:12px}.gal-next{right:12px}
.gal-ctr{position:absolute;bottom:12px;right:12px;background:rgba(26,35,50,.7);color:#fff;font-size:11px;padding:4px 11px;border-radius:14px}
.gal-thumbs{display:flex;gap:7px;padding:9px 12px;background:#f8f5f0;overflow-x:auto}
.gal-thumb{width:68px;height:50px;object-fit:cover;border-radius:5px;cursor:pointer;opacity:.55;transition:all .2s;flex-shrink:0;border:2px solid transparent}.gal-thumb.act{opacity:1;border-color:var(--gold)}
.mclose{position:absolute;top:12px;right:12px;background:rgba(26,35,50,.7);color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5}
.mtype{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:6px}
.mtitle{font-family:var(--fd);font-size:28px;font-weight:600;color:var(--navy);line-height:1.2}
.mloc{font-size:13px;color:var(--muted);margin-bottom:16px}
.mprice{font-family:var(--fd);font-size:32px;font-weight:700;color:var(--gold);margin-bottom:20px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:9px;margin-bottom:20px}
.mstat{background:var(--cream);border-radius:9px;padding:12px;text-align:center}
.mstat-v{font-family:var(--fd);font-size:19px;font-weight:600;color:var(--navy)}.mstat-l{font-size:10px;color:var(--muted);margin-top:2px}
.mdesc{font-size:14px;line-height:1.7;color:var(--slate);margin-bottom:20px}
.mamen{display:flex;flex-wrap:wrap;gap:8px}
.amen-chip{background:var(--cream2);color:var(--slate);font-size:12px;font-weight:500;padding:5px 12px;border-radius:18px}
.btn-g{background:var(--gold);color:var(--navy);border:none;border-radius:8px;padding:12px 22px;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--fb)}.btn-g:hover{background:var(--gold2)}
.btn-o{background:none;color:var(--navy);border:1.5px solid var(--cream2);border-radius:8px;padding:12px 22px;font-size:13px;cursor:pointer;font-family:var(--fb)}.btn-o:hover{border-color:var(--navy)}

/* ── CALCULATOR ── */
.calc-s{background:var(--navy);border-radius:16px;padding:38px;margin:0 36px 56px}
.calc-title{font-family:var(--fd);font-size:27px;font-weight:300;color:#fff;margin-bottom:5px}.calc-title em{color:var(--gold);font-style:italic}
.calc-sub{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:22px}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;align-items:end}
.calc-field{display:flex;flex-direction:column;gap:4px}
.calc-label{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.calc-input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:8px;padding:9px 12px;font-size:14px;font-family:var(--fb);outline:none}.calc-input:focus{border-color:var(--gold)}
.calc-res{background:rgba(201,168,76,.15);border:1px solid rgba(201,168,76,.3);border-radius:11px;padding:18px;margin-top:16px;display:flex;gap:26px;flex-wrap:wrap}
.calc-rv{font-family:var(--fd);font-size:24px;font-weight:600;color:var(--gold)}.calc-rl{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px}

/* ── CONTACT ── */
.cs{background:var(--white)}.ci{max-width:1200px;margin:0 auto;padding:68px 36px;display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start}
.ci-title{font-family:var(--fd);font-size:34px;font-weight:300;color:var(--navy);margin-bottom:12px}.ci-title em{color:var(--gold);font-style:italic}
.ci-p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:26px}
.cd{display:flex;align-items:center;gap:13px;margin-bottom:13px}
.cd-icon{width:40px;height:40px;background:var(--cream2);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.cd-text{font-size:13px;color:var(--slate)}.cd-label{font-size:10px;color:var(--muted)}
.cf-box{background:var(--cream);border-radius:15px;padding:30px}
.cf-title{font-family:var(--fd);font-size:21px;font-weight:600;color:var(--navy);margin-bottom:20px}

/* ── FORMS ── */
.fg2{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.fl2{font-size:12px;font-weight:500;color:var(--slate)}
.fi2{border:1.5px solid var(--cream2);background:var(--cream);color:var(--navy);border-radius:9px;padding:9px 12px;font-size:14px;font-family:var(--fb);outline:none;transition:border .2s;width:100%}.fi2:focus{border-color:var(--gold)}.fi2:disabled{opacity:.45}
.fr2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px}
.ta2{border:1.5px solid var(--cream2);background:var(--cream);color:var(--navy);border-radius:9px;padding:9px 12px;font-size:14px;font-family:var(--fb);outline:none;resize:vertical;min-height:84px;width:100%}.ta2:focus{border-color:var(--gold)}
.chkg{display:flex;flex-wrap:wrap;gap:11px;margin-top:3px}
.chk{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--slate);cursor:pointer}.chk input{accent-color:var(--gold);width:13px;height:13px}
.fsub{width:100%;background:var(--gold);color:var(--navy);border:none;border-radius:9px;padding:12px;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--fb)}.fsub:hover{background:var(--gold2)}
.ferr{font-size:12px;color:var(--red);margin-top:2px}
.sdiv{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:500;margin:16px 0 9px;padding-bottom:6px;border-bottom:1px solid var(--cream2)}

/* ── ADMIN ── */
.dash-layout{display:flex;min-height:calc(100vh - 66px);padding-top:66px}
.dash-sb{width:234px;background:var(--navy);padding:28px 0;position:fixed;top:66px;bottom:0;display:flex;flex-direction:column;overflow-y:auto}
.dmenu{display:flex;align-items:center;gap:11px;padding:12px 26px;color:rgba(255,255,255,.6);font-size:13px;cursor:pointer;transition:all .2s;border-left:3px solid transparent;text-decoration:none;border-right:none;border-top:none;border-bottom:none;background:none;font-family:var(--fb);width:100%;text-align:left}.dmenu:hover{color:#fff;background:rgba(255,255,255,.05)}.dmenu.act{color:var(--gold);border-left-color:var(--gold);background:rgba(201,168,76,.1)}
.dmain{margin-left:234px;flex:1;padding:36px;background:var(--cream)}
.dtitle{font-family:var(--fd);font-size:28px;font-weight:600;color:var(--navy)}
.dsub{font-size:13px;color:var(--muted);margin-top:3px;margin-bottom:26px}
.kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:16px;margin-bottom:28px}
.kpi{background:var(--white);border-radius:11px;padding:18px;box-shadow:var(--shadow)}
.kpi-i{font-size:22px;margin-bottom:7px}.kpi-v{font-family:var(--fd);font-size:26px;font-weight:700;color:var(--navy)}.kpi-l{font-size:12px;color:var(--muted);margin-top:1px}
.twrap{background:var(--white);border-radius:11px;box-shadow:var(--shadow);overflow:auto}
table{width:100%;border-collapse:collapse;min-width:600px}
th{text-align:left;padding:10px 16px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--cream2);font-weight:500;white-space:nowrap}
td{padding:12px 16px;font-size:13px;color:var(--slate);border-bottom:1px solid var(--cream2)}.td-t{font-weight:500;color:var(--navy)}
tr:last-child td{border-bottom:none}tr:hover td{background:var(--cream)}
.abt{background:none;border:1px solid var(--cream2);border-radius:5px;padding:4px 9px;font-size:12px;cursor:pointer;font-family:var(--fb);margin-right:4px;transition:all .2s;text-decoration:none;display:inline-block}
.abt-e:hover{border-color:var(--gold);color:var(--gold)}.abt-d:hover{border-color:var(--red);color:var(--red);background:#FEE}

/* ── LOGIN ── */
.lc{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 66px);padding:36px}
.lbox{background:var(--white);border-radius:19px;padding:42px;width:100%;max-width:390px;box-shadow:var(--shadow-lg)}
.llogo{font-family:var(--fd);font-size:25px;font-weight:600;color:var(--gold);text-align:center;margin-bottom:5px}.lsub{text-align:center;font-size:13px;color:var(--muted);margin-bottom:30px}

/* ── PHOTOS ── */
.pp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:9px;margin-top:12px}
.pp-item{position:relative;border-radius:7px;overflow:hidden;aspect-ratio:4/3;background:var(--cream2)}
.pp-img{width:100%;height:100%;object-fit:cover;display:block}
.pp-rm{position:absolute;top:3px;right:3px;background:rgba(201,76,76,.85);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pp-main{position:absolute;bottom:3px;left:3px;background:var(--gold);color:var(--navy);font-size:8px;font-weight:700;padding:2px 5px;border-radius:3px}

/* ── TOAST / MISC ── */
.toast{background:var(--navy);color:#fff;padding:12px 19px;border-radius:9px;font-size:13px;box-shadow:var(--shadow-lg);display:inline-flex;align-items:center;gap:9px}
.toast-success{border-left:3px solid var(--green)}.toast-error{border-left:3px solid var(--red)}
.empty{text-align:center;padding:68px 18px;color:var(--muted)}.empty-i{font-size:46px;margin-bottom:12px}.empty-t{font-family:var(--fd);font-size:21px;color:var(--navy);margin-bottom:6px}

/* ── FOOTER ── */
footer{background:var(--navy);color:rgba(255,255,255,.6);padding:42px 36px 22px}
.ft-inner{max-width:1200px;margin:0 auto}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}
.ft-logo{font-family:var(--fd);font-size:19px;color:var(--gold);margin-bottom:9px}.ft-desc{font-size:13px;line-height:1.6}
.ft-ct{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;font-weight:500;margin-bottom:12px}
.ft-link{display:block;font-size:13px;margin-bottom:6px;cursor:pointer;transition:color .2s;text-decoration:none;color:rgba(255,255,255,.6)}.ft-link:hover{color:var(--gold)}
.ft-bot{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;display:flex;justify-content:space-between;font-size:11px}
.ft-g{color:var(--gold)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .ft-top{grid-template-columns:1fr 1fr;gap:20px}
}
@media(max-width:768px){
  .nav{padding:0 14px}
  .nav-links{display:none;position:absolute;top:66px;left:0;right:0;background:rgba(26,35,50,.98);flex-direction:column;padding:16px;gap:4px;border-bottom:1px solid rgba(201,168,76,.2)}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .hero-content{padding:94px 16px 52px}.hero-stats{gap:18px}
  .section{padding:48px 16px}.sbox{padding:16px}
  .ci{grid-template-columns:1fr;gap:32px}
  .ft-top{grid-template-columns:1fr}
  .dash-sb{display:none}.dmain{margin-left:0;padding:16px}
  .fr2,.fr3{grid-template-columns:1fr}
  .calc-s{margin:0 16px 36px;padding:22px}
}
