@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

*{box-sizing:border-box}
:root{
 --black:#0d0f10;--black2:#151719;--white:#fff;--paper:#f5f5f2;
 --ink:#161819;--muted:#70757a;--line:#dedfdc;--gold:#b58a3b;
 --green:#16784a;--red:#bd3939;--shadow:0 18px 50px rgba(12,15,16,.08)
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.topbar{height:74px;background:var(--black);color:#fff;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292c2e}
.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}
.brand-mark{width:31px;height:31px;border:1px solid #8f713e;display:grid;place-items:center;font-size:9px;font-weight:700;letter-spacing:1px;color:#d4ae69}
.brand-name{font-size:15px;letter-spacing:2.2px;font-weight:600}.brand-name b{color:#c99b50}
.topbar-meta{display:flex;align-items:center;gap:12px;color:#73787c;font-size:9px;letter-spacing:1.8px;font-weight:700}.topbar-meta i{width:3px;height:3px;background:#a57b38;border-radius:50%}

.hero{position:relative;min-height:570px;background:radial-gradient(circle at 78% 28%,#2b2f31 0,#181b1d 27%,#0d0f10 65%);color:#fff;display:flex;align-items:center;overflow:hidden}
.hero:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-120px;top:-160px}
.hero:after{content:"";position:absolute;width:720px;height:720px;border:1px solid rgba(255,255,255,.035);border-radius:50%;right:-230px;top:-270px}
.hero-inner{width:min(1120px,100%);margin:auto;padding:78px 30px 105px;position:relative;z-index:2}
.eyebrow{font-size:9px;letter-spacing:2.8px;font-weight:700;color:#c49a53;margin:0 0 19px}
.hero h1{font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:clamp(50px,7.5vw,88px);line-height:.97;letter-spacing:-3.2px;margin:0;max-width:780px}
.hero h1 em{color:#d1b17b;font-style:italic}
.hero-copy{max-width:480px;color:#9ea4a7;font-size:14px;line-height:1.75;margin:26px 0 30px}
.hero-cta{display:inline-flex;align-items:center;gap:30px;color:#111;background:#d1ad6c;text-decoration:none;padding:14px 17px 14px 19px;font-size:12px;font-weight:700;border-radius:3px;transition:.2s}
.hero-cta span{font-size:16px}.hero-cta:hover{transform:translateY(-2px);background:#e0c18c}
.hero-note{position:absolute;right:clamp(20px,5vw,76px);bottom:34px;color:#5e6366;font-size:9px;letter-spacing:2.2px;font-weight:700}

.inventory-section{width:min(1120px,100%);margin:0 auto;padding:82px 30px 100px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.eyebrow.dark{color:#a07735;margin-bottom:10px}
.section-heading h2{font-family:"Playfair Display",Georgia,serif;font-size:42px;font-weight:500;letter-spacing:-1.4px;margin:0}
.live-count{display:flex;align-items:baseline;gap:8px;color:#9a9d9c}.live-count strong{color:#171919;font-size:25px}.live-count span{font-size:8px;letter-spacing:1.5px;font-weight:700}

.toolbar{display:grid;grid-template-columns:minmax(0,1fr) 170px 180px;gap:8px;margin-bottom:28px}
.search-box{position:relative}.search-box>span{position:absolute;left:15px;top:50%;transform:translateY(-51%);font-size:22px;color:#8b8f90}
.toolbar input,.toolbar select{width:100%;height:48px;background:#fff;border:1px solid var(--line);border-radius:3px;outline:0;color:#252727;font-size:12px}
.toolbar input{padding:0 15px 0 42px}.toolbar select{padding:0 12px}.toolbar input:focus,.toolbar select:focus{border-color:#aa8040;box-shadow:0 0 0 3px rgba(181,138,59,.08)}

.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.card{background:#fff;border:1px solid #e8e8e5;border-radius:4px;overflow:hidden;transition:transform .22s,box-shadow .22s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card-image-wrap{display:block;width:100%;height:245px;padding:0;border:0;position:relative;background:#ddd;overflow:hidden}
.card-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.card:hover .card-image-wrap img{transform:scale(1.035)}
.image-status{position:absolute;left:13px;top:13px;padding:6px 9px;background:rgba(255,255,255,.94);font-size:8px;letter-spacing:1.1px;font-weight:800;border-radius:2px}
.image-status.available{color:var(--green)}.image-status.sold{color:var(--red)}
.image-arrow{position:absolute;right:12px;bottom:12px;width:33px;height:33px;display:grid;place-items:center;background:rgba(13,15,16,.72);color:#fff;border-radius:50%;font-size:14px;opacity:0;transform:translateY(5px);transition:.2s}
.card:hover .image-arrow{opacity:1;transform:none}
.card-body{padding:19px 19px 20px}.card-topline{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tag{display:inline-block;padding:5px 7px;border:1px solid #e4dccb;color:#89652d;background:#faf7ef;font-size:8px;letter-spacing:1.1px;font-weight:800}
.price-small{font-size:13px;font-weight:700;color:#252728}
.card h3{font-family:"Playfair Display",Georgia,serif;font-size:23px;line-height:1.1;font-weight:600;letter-spacing:-.5px;margin:13px 0 8px;overflow-wrap:anywhere}
.description-preview{font-size:12px;color:#777c7e;line-height:1.6;margin:0 0 17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}
.view{width:100%;height:43px;border:1px solid #202324;background:#141718;color:#fff;border-radius:2px;font-size:10px;letter-spacing:.5px;font-weight:700;display:flex;align-items:center;justify-content:space-between;padding:0 13px;transition:.2s}.view span{font-size:16px}.view:hover{background:#292d2f}

.empty-state{text-align:center;border:1px dashed #d4d5d2;background:rgba(255,255,255,.45);padding:65px 25px}.empty-icon{font-family:Georgia,serif;font-size:30px;color:#b28a4a;margin-bottom:15px}.empty-state h3{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:500;margin:0 0 7px}.empty-state p:last-child{max-width:430px;margin:0 auto;color:#888;font-size:12px;line-height:1.7}

.footer{background:#101213;color:#676d70;min-height:75px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1.5px;font-weight:700}.footer-brand{color:#eee;font-size:11px;letter-spacing:2px}.footer-brand b{color:#bd9148}

.modal{display:none;position:fixed;inset:0;background:rgba(7,8,9,.82);z-index:50;padding:20px;overflow:auto}
.modal-box{max-width:900px;margin:25px auto;background:#fff;border-radius:4px;overflow:hidden;position:relative;box-shadow:0 30px 100px rgba(0,0,0,.35)}
.close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:25px;z-index:3;color:#111}
.modal-media{position:relative}.modal-img{width:100%;height:min(58vh,480px);object-fit:cover;display:block}.modal-info{padding:28px 30px 34px}.modal-kicker{display:flex;align-items:center;justify-content:space-between;color:#333;font-size:14px;font-weight:700}.modal-info h1{font-family:"Playfair Display",Georgia,serif;font-size:38px;font-weight:600;line-height:1.05;letter-spacing:-1px;margin:15px 0}.modal-divider{height:1px;background:#e5e5e2;margin:19px 0}.modal-description{font-size:13px;line-height:1.8;color:#6c7173;margin:0;white-space:pre-line}

@media(max-width:900px){.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{grid-template-columns:minmax(0,1fr) 150px 160px}.topbar-meta{display:none}}
@media(max-width:650px){
 .topbar{height:64px;padding:0 15px}.brand-name{font-size:13px;letter-spacing:1.7px}.brand-mark{width:28px;height:28px}.topbar-meta{display:none}
 .hero{min-height:525px}.hero-inner{padding:70px 20px 100px}.hero h1{font-size:52px;letter-spacing:-2px}.hero-copy{font-size:13px}.hero-note{left:20px;right:auto}
 .inventory-section{padding:55px 15px 70px}.section-heading{align-items:end;margin-bottom:20px}.section-heading h2{font-size:34px}.live-count strong{font-size:20px}
 .toolbar{grid-template-columns:1fr;gap:7px}.toolbar input,.toolbar select{height:50px}
 .property-grid{grid-template-columns:1fr;gap:15px}.card-image-wrap{height:245px}.image-arrow{opacity:1;transform:none}
 .footer{min-height:100px;flex-direction:column;justify-content:center;align-items:flex-start;padding:22px 20px;gap:8px}
 .modal{padding:8px}.modal-box{margin:8px auto}.modal-img{height:260px}.modal-info{padding:22px 19px 27px}.modal-info h1{font-size:31px}
}
@media(max-width:380px){.hero h1{font-size:46px}.card-image-wrap{height:215px}}


/* ================= ADMIN PANEL ================= */
.admin-page{width:min(1080px,100%);margin:0 auto;padding:52px 24px 80px}
.small-panel{width:min(430px,100%);margin:9vh auto 0;background:#fff;border:1px solid #e2e2df;padding:34px;border-radius:4px;box-shadow:0 18px 55px rgba(12,15,16,.09)}
.small-panel h1{font-family:"Playfair Display",Georgia,serif;font-size:42px;font-weight:500;letter-spacing:-1px;margin:0 0 24px}
.small-panel input{display:block;width:100%;height:49px;border:1px solid #dcdedb;border-radius:3px;padding:0 13px;margin:8px 0;outline:0;background:#fff}
.small-panel input:focus{border-color:#aa8040;box-shadow:0 0 0 3px rgba(181,138,59,.08)}
.small-panel .primary{width:100%;margin-top:8px}
.error{min-height:18px;margin:10px 0 0;color:#bd3939;font-size:12px}

.admin-page h1{font-family:"Playfair Display",Georgia,serif;font-size:46px;font-weight:500;line-height:1.05;letter-spacing:-1.5px;margin:0}
.admin-page .eyebrow{margin-bottom:10px}
.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding-bottom:10px}
.panel{background:#fff;border:1px solid #e2e2df;border-radius:4px;padding:25px;margin:16px 0;box-shadow:0 8px 28px rgba(12,15,16,.045)}
.panel h2{font-family:"Playfair Display",Georgia,serif;font-size:25px;font-weight:500;letter-spacing:-.4px;margin:0 0 7px}
.panel-sub{color:#777d80;font-size:12px;line-height:1.6;margin:0 0 19px}
.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 17px}
.stat-card{background:#111315;border-radius:4px;color:#fff;padding:19px 20px;min-height:91px}
.stat-card span{display:block;color:#898f92;font-size:8px;letter-spacing:1.8px;font-weight:700}
.stat-card strong{display:block;font-size:30px;line-height:1;margin-top:10px;font-weight:600}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.panel input,.panel select,.panel textarea{width:100%;border:1px solid #dedfdd;background:#fff;color:#171919;border-radius:3px;outline:0;padding:0 13px;min-height:48px;font-size:12px}
.panel textarea{padding:13px;min-height:135px;resize:vertical;margin:10px 0 13px;line-height:1.55}
.panel input:focus,.panel select:focus,.panel textarea:focus{border-color:#aa8040;box-shadow:0 0 0 3px rgba(181,138,59,.08)}
.panel .form-grid input,.panel .form-grid select{margin:0}
.panel .primary{background:#111315;color:#fff;border:0;border-radius:3px;min-height:46px;padding:0 18px;font-size:11px;letter-spacing:.3px;font-weight:700}
.panel .primary:hover{background:#292d2f}
.secondary{background:#fff;color:#242627;border:1px solid #d7d9d7;border-radius:3px;min-height:43px;padding:0 16px;font-size:10px;font-weight:700;letter-spacing:.5px}
.secondary:hover{background:#f0f1ef}
.upload{display:flex;flex-direction:column;gap:7px;border:1px dashed #c7c9c7;background:#fafaf8;color:#666d70;padding:14px;border-radius:3px;margin-bottom:12px;font-size:11px;font-weight:700}
.upload input{border:0;padding:0;min-height:auto;background:transparent;font-size:11px}
.section-head,.inventory-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.inventory-badge{font-size:8px;letter-spacing:1.5px;font-weight:800;color:#16784a;border:1px solid #cce8d8;background:#f1faf5;padding:6px 9px;border-radius:999px}
.user-form{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;margin:0 0 14px}
.user-form input{min-height:45px}
.user-list{border-top:1px solid #e7e7e4}
.user-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e7e7e4}
.user-row strong{font-size:13px;display:block}.user-row span{font-size:10px;color:#929698;display:block;margin-top:3px}
.delete{background:#fff3f3;color:#b73535;border:1px solid #f0cece;border-radius:3px;min-height:38px;padding:0 11px;font-size:10px;font-weight:700}
.delete:hover{background:#ffe7e7}
.admin-list{border-top:1px solid #e7e7e4}
.admin-item{display:grid;grid-template-columns:76px minmax(0,1fr) 135px 70px;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #e7e7e4}
.admin-item img{width:76px;height:58px;object-fit:cover;border-radius:3px;background:#eee;display:block}
.admin-property-info{min-width:0}
.admin-property-info h3{font-size:13px;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-property-info div{font-size:11px;font-weight:700;color:#252829}
.admin-property-info small{display:block;color:#8a8f91;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.availability-select{width:100%!important;min-height:40px!important;padding:0 8px!important;font-size:10px!important}
.admin-page .delete{min-height:40px}
@media(max-width:700px){
 .admin-page{padding:30px 14px 55px}.small-panel{margin:7vh auto 0;padding:25px}.small-panel h1{font-size:35px}
 .admin-head{align-items:flex-start}.admin-page h1{font-size:35px}
 .dashboard-stats{gap:7px}.stat-card{padding:15px 12px}.stat-card strong{font-size:24px}
 .form-grid{grid-template-columns:1fr;gap:10px}.user-form{grid-template-columns:1fr}
 .admin-item{grid-template-columns:62px minmax(0,1fr);gap:10px}.admin-item img{width:62px;height:52px}
 .admin-item .availability-select{grid-column:1/2}.admin-item .delete{grid-column:2/3;justify-self:start}
}
@media(max-width:390px){
 .dashboard-stats{grid-template-columns:1fr 1fr}.stat-card:last-child{grid-column:1/-1}
 .section-head,.inventory-title-row{align-items:flex-start}
}
