:root{
  --kre-black:#000000;
  --kre-black-soft:#141414;
  --kre-gold:#fdb903;
  --kre-gold-soft:#ffd35c;
  --kre-gray:#6c757d;
  --kre-light:#f7f7f8;
  --kre-radius:14px;
  --font-heading:'Poppins',sans-serif;
  --font-body:'Inter',sans-serif;
}
*{box-sizing:border-box;}
body{font-family:var(--font-body);color:#1c1c1c;background:#fff;}
h1,h2,h3,h4,h5,h6,.kre-brand{font-family:var(--font-heading);font-weight:700;}
a{text-decoration:none;color:inherit;transition:.2s ease;}
.text-accent{color:var(--kre-gold)!important;}
.bg-accent{background:var(--kre-gold)!important;}

/* Topbar */
.kre-topbar{background:var(--kre-black);color:#ddd;font-size:.85rem;padding:8px 0;}
.kre-topbar a{color:#ddd;margin-right:18px;}
.kre-topbar a:hover{color:var(--kre-gold);}
.kre-topbar-social a{margin-left:12px;font-size:1rem;color:#ddd;}
.kre-topbar-social a:hover{color:var(--kre-gold);}

/* Navbar */
.kre-navbar{background:#fff;padding:14px 0;box-shadow:0 2px 18px rgba(0,0,0,.06);z-index:1000;}
.kre-brand{display:flex;flex-direction:column;line-height:1;font-size:1.5rem;}
.kre-brand-mark{color:var(--kre-black);font-weight:800;}
.kre-brand-sub{color:var(--kre-gold);font-size:.62rem;letter-spacing:3px;text-transform:uppercase;font-weight:600;}
.kre-navbar .nav-link{color:var(--kre-black);font-weight:600;font-size:.93rem;padding:8px 14px!important;}
.kre-navbar .nav-link:hover{color:var(--kre-gold);}
.kre-btn-accent{background:var(--kre-gold);border:none;color:var(--kre-black)!important;font-weight:700;border-radius:8px;}
.kre-btn-accent:hover{background:var(--kre-black);color:#fff!important;}
.kre-btn-outline-accent{border:2px solid var(--kre-gold);color:var(--kre-black);font-weight:700;border-radius:8px;background:transparent;}
.kre-btn-outline-accent:hover{background:var(--kre-gold);}
.kre-btn-dark{background:var(--kre-black);color:#fff!important;font-weight:700;border-radius:8px;border:none;}
.kre-btn-dark:hover{background:var(--kre-gold);color:var(--kre-black)!important;}

/* Hero */
.kre-hero{position:relative;background:linear-gradient(135deg,#000 0%,#1a1a1a 60%,#000 100%);color:#fff;padding:100px 0 70px;overflow:hidden;}
.kre-hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;background:radial-gradient(circle,rgba(253,185,3,.25) 0%,transparent 70%);}
.kre-hero h1{font-size:2.6rem;font-weight:800;}
.kre-hero p{color:#cfcfcf;font-size:1.1rem;}
.kre-hero-badge{display:inline-block;background:rgba(253,185,3,.15);color:var(--kre-gold);border:1px solid rgba(253,185,3,.4);padding:6px 16px;border-radius:30px;font-size:.78rem;letter-spacing:1px;text-transform:uppercase;font-weight:700;margin-bottom:18px;}

/* Search box */
.kre-search-box{background:#fff;border-radius:var(--kre-radius);padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.25);margin-top:-40px;position:relative;z-index:5;}
.kre-search-box .form-select,.kre-search-box .form-control{border-radius:8px;border:1px solid #e2e2e2;padding:10px 12px;font-size:.9rem;}
.kre-search-box .form-select:focus,.kre-search-box .form-control:focus{border-color:var(--kre-gold);box-shadow:0 0 0 .2rem rgba(253,185,3,.2);}

/* Section titles */
.kre-section-title{font-weight:800;font-size:1.9rem;margin-bottom:6px;}
.kre-section-sub{color:var(--kre-gray);margin-bottom:34px;}
.kre-eyebrow{color:var(--kre-gold);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:.78rem;}

/* Property cards */
.kre-card{border:1px solid #eee;border-radius:var(--kre-radius);overflow:hidden;background:#fff;transition:.25s ease;height:100%;}
.kre-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.12);}
.kre-card-img{position:relative;height:210px;overflow:hidden;}
.kre-card-img img{width:100%;height:100%;object-fit:cover;transition:.4s ease;}
.kre-card:hover .kre-card-img img{transform:scale(1.08);}
.kre-badge-offer{position:absolute;top:12px;left:12px;color:#fff;padding:5px 12px;border-radius:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.kre-badge-featured{position:absolute;top:12px;right:12px;background:var(--kre-black);color:var(--kre-gold);padding:5px 10px;border-radius:6px;font-size:.7rem;font-weight:700;}
.kre-card-price{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);color:#fff;padding:26px 14px 10px;font-weight:800;font-size:1.15rem;}
.kre-card-body{padding:16px;}
.kre-card-title{font-size:1.02rem;font-weight:700;margin-bottom:6px;display:block;color:#111;}
.kre-card-title:hover{color:var(--kre-gold);}
.kre-card-loc{color:var(--kre-gray);font-size:.85rem;margin-bottom:12px;}
.kre-card-meta{display:flex;gap:14px;font-size:.85rem;color:#444;border-top:1px solid #f0f0f0;padding-top:10px;flex-wrap:wrap;}
.kre-card-meta span i{color:var(--kre-gold);margin-right:4px;}
.kre-card-footer{display:flex;justify-content:space-between;align-items:center;padding:0 16px 16px;font-size:.78rem;color:#999;}

/* Property type chips */
.kre-type-chip{border:1px solid #eee;border-radius:12px;padding:22px 14px;text-align:center;background:#fff;transition:.2s;display:block;}
.kre-type-chip:hover{border-color:var(--kre-gold);background:#fffdf5;}
.kre-type-chip i{font-size:1.8rem;color:var(--kre-gold);margin-bottom:10px;display:block;}
.kre-type-chip span{font-weight:700;font-size:.9rem;color:#111;}

/* Agent card */
.kre-agent-card{text-align:center;border:1px solid #eee;border-radius:var(--kre-radius);padding:26px 18px;background:#fff;transition:.2s;}
.kre-agent-card:hover{box-shadow:0 18px 40px rgba(0,0,0,.1);}
.kre-agent-photo{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid var(--kre-gold);margin-bottom:14px;}
.kre-agent-name{font-weight:700;margin-bottom:2px;}
.kre-agent-title{color:var(--kre-gray);font-size:.85rem;margin-bottom:12px;}
.kre-agent-actions a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--kre-light);color:var(--kre-black);margin:0 3px;}
.kre-agent-actions a:hover{background:var(--kre-gold);}

/* Footer */
.kre-footer{background:var(--kre-black);color:#c9c9c9;}
.kre-footer-brand{color:#fff;font-weight:800;}
.kre-footer-heading{color:#fff;font-weight:700;margin-bottom:16px;font-size:.95rem;text-transform:uppercase;letter-spacing:1px;}
.kre-footer-links li{margin-bottom:10px;font-size:.9rem;}
.kre-footer-links a{color:#c9c9c9;}
.kre-footer-links a:hover{color:var(--kre-gold);}
.kre-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#1a1a1a;color:#fff;margin-right:8px;margin-top:12px;}
.kre-footer-social a:hover{background:var(--kre-gold);color:#000;}
.kre-footer-bottom{background:#0a0a0a;color:#888;font-size:.82rem;}

.kre-whatsapp-float{position:fixed;bottom:24px;right:24px;background:#25D366;color:#fff;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 8px 20px rgba(0,0,0,.3);z-index:999;}
.kre-whatsapp-float:hover{color:#fff;transform:scale(1.08);}

/* Hero property slider mode */
.kre-hero-slide-overlay{background:linear-gradient(90deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.25) 60%, transparent 100%);}
.kre-hero-slider .carousel-item{background-repeat:no-repeat;}
@media(max-width:768px){.kre-hero-slider .carousel-item{height:380px!important;}}

/* Sold / Rented stamp overlays */
.kre-stamp-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);max-width:60%;max-height:60%;z-index:5;pointer-events:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));}
.kre-stamp-default{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);border:4px solid #fff;padding:8px 26px;font-weight:800;font-size:1.3rem;letter-spacing:3px;z-index:5;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.35);border-radius:6px;}
.kre-stamp-sold{background:rgba(220,53,69,.88);color:#fff;}
.kre-stamp-rented{background:rgba(108,117,125,.88);color:#fff;}
.kre-card-img,.kre-gallery-main{position:relative;}

.kre-pagination .page-link{color:#111;border-radius:8px!important;margin:0 3px;border:1px solid #eee;}
.kre-pagination .active .page-link{background:var(--kre-black);border-color:var(--kre-black);color:var(--kre-gold);}

/* Property detail page */
.kre-gallery-main{border-radius:var(--kre-radius);overflow:hidden;height:460px;}
.kre-gallery-main img{width:100%;height:100%;object-fit:cover;}
.kre-gallery-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;}
.kre-gallery-thumbs img{width:90px;height:70px;object-fit:cover;border-radius:8px;cursor:pointer;opacity:.65;}
.kre-gallery-thumbs img.active,.kre-gallery-thumbs img:hover{opacity:1;outline:2px solid var(--kre-gold);}
.kre-spec-box{background:var(--kre-light);border-radius:12px;padding:18px;text-align:center;}
.kre-spec-box i{color:var(--kre-gold);font-size:1.5rem;}
.kre-spec-box .val{font-weight:800;font-size:1.1rem;display:block;margin-top:6px;}
.kre-spec-box .lbl{color:var(--kre-gray);font-size:.78rem;}
.kre-amenity-pill{border:1px solid #eee;border-radius:8px;padding:10px 14px;font-size:.88rem;display:flex;align-items:center;gap:8px;}
.kre-amenity-pill i{color:var(--kre-gold);}
.kre-sidebar-card{border:1px solid #eee;border-radius:var(--kre-radius);padding:22px;position:sticky;top:100px;}
.kre-ref-badge{background:var(--kre-black);color:var(--kre-gold);padding:4px 12px;border-radius:6px;font-size:.78rem;font-weight:700;}

/* Forms */
.kre-form-section{background:#fff;border:1px solid #eee;border-radius:var(--kre-radius);padding:26px;margin-bottom:24px;}
.kre-form-section h5{font-weight:800;margin-bottom:18px;color:#111;border-left:4px solid var(--kre-gold);padding-left:10px;}

/* Admin */
.admin-body{background:#f3f4f6;font-family:var(--font-body);}
.admin-sidebar{background:var(--kre-black);min-height:100vh;color:#ccc;width:250px;position:fixed;top:0;left:0;padding-top:20px;z-index:1050;}
.admin-sidebar .brand{color:#fff;font-weight:800;font-size:1.3rem;padding:0 20px 20px;display:block;}
.admin-sidebar .brand span{color:var(--kre-gold);}
.admin-sidebar a{display:flex;align-items:center;gap:10px;padding:11px 20px;color:#bbb;font-size:.92rem;border-left:3px solid transparent;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:#141414;color:var(--kre-gold);border-left-color:var(--kre-gold);}
.admin-content{margin-left:250px;padding:26px 30px;}
.admin-topbar{background:#fff;border-radius:12px;padding:14px 20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;box-shadow:0 2px 10px rgba(0,0,0,.04);}
.admin-card{background:#fff;border-radius:12px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.04);margin-bottom:22px;}
.admin-stat{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.04);border-left:4px solid var(--kre-gold);}
.admin-stat .num{font-size:1.7rem;font-weight:800;}
.admin-stat .lbl{color:var(--kre-gray);font-size:.85rem;}
.table thead{background:#f7f7f8;}
.status-pill{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;}
.status-pending{background:#fff3cd;color:#856404;}
.status-pending_review{background:#fff3cd;color:#856404;}
.status-draft{background:#e2e3e5;color:#383d41;}
.status-approved{background:#cfe2ff;color:#084298;}
.status-published{background:#d4edda;color:#155724;}
.status-hidden{background:#e2e3e5;color:#383d41;}
.status-unpublished{background:#e2e3e5;color:#383d41;}
.status-rejected{background:#f8d7da;color:#721c24;}
.status-suspended{background:#f8d7da;color:#721c24;}
.status-sold{background:#f8d7da;color:#721c24;}
.status-rented{background:#e2e3e5;color:#383d41;}
.status-available{background:#d4edda;color:#155724;}
@media(max-width:991px){.admin-sidebar{width:220px;transform:translateX(-100%);transition:.3s;}.admin-sidebar.show{transform:translateX(0);}.admin-content{margin-left:0;}}
