/* KhulnaEstate Elementor Kit — self-contained widget styles */
.ke-card{background:#fff;border:1px solid #e7e5e4;border-radius:16px;overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;
  transition:box-shadow .3s,transform .3s;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.ke-card:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1);transform:translateY(-2px)}
.ke-card-media{position:relative;aspect-ratio:16/9;background:#0c0a09;overflow:hidden}
.ke-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ke-card:hover .ke-card-media img{transform:scale(1.05)}
.ke-wm{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;
  background:rgba(15,23,42,.9);color:#fff;font-size:11px;font-weight:700;padding:5px 12px;
  border-radius:999px;border:1px solid rgba(245,158,11,.5);pointer-events:none;z-index:2}
.ke-wm-float{top:16px;left:16px}
.ke-dot{width:7px;height:7px;background:#10b981;border-radius:50%;box-shadow:0 0 8px #10b981}
.ke-badge{position:absolute;bottom:12px;right:12px;background:#e11d48;color:#fff;
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:4px 10px;border-radius:999px}
.ke-play{position:absolute;bottom:12px;left:12px;width:34px;height:34px;border:0;border-radius:50%;
  background:#e11d48;color:#fff;cursor:pointer;font-size:12px;display:flex;align-items:center;
  justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.4);animation:ke-pulse 2s infinite}
@keyframes ke-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.ke-card-body{padding:20px;flex:1}
.ke-meta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#78716c;margin-bottom:8px}
.ke-meta strong{color:#e11d48}
.ke-title{margin:0 0 6px;font-size:17px;font-weight:800;color:#1c1917;line-height:1.35}
.ke-subtitle{font-size:12px;font-weight:700;color:#e11d48;margin-bottom:6px}
.ke-desc{margin:0;font-size:13px;color:#78716c;line-height:1.6}
.ke-features{list-style:none;margin:12px 0 0;padding:0;font-size:13px;color:#44403c}
.ke-features li{padding:6px 0 6px 24px;position:relative;border-bottom:1px dashed #e7e5e4}
.ke-features li:before{content:"✓";position:absolute;left:0;color:#059669;font-weight:900}
.ke-card-foot{padding:16px 20px;border-top:1px solid #f5f5f4;display:flex;align-items:center;
  justify-content:space-between;gap:10px;flex-wrap:wrap}
.ke-price{display:block;font-size:18px;font-weight:900;color:#1c1917}
.ke-card-foot small{font-size:11px;color:#a8a29e}
.ke-btn{display:inline-block;padding:10px 18px;border-radius:12px;font-size:12px;font-weight:700;
  text-decoration:none;transition:background .2s;margin-top:14px}
.ke-btn-wa{background:#059669;color:#fff}
.ke-btn-wa:hover{background:#10b981}
.ke-btn-rose{background:#e11d48;color:#fff}
.ke-btn-rose:hover{background:#be123c}

/* Video */
.ke-video-wrap{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 20px 25px -5px rgba(0,0,0,.35)}
.ke-video-169{position:relative;width:100%;padding-bottom:56.25%;height:0;background:#020617}
.ke-video-169 iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Modal */
.ke-modal{position:fixed;inset:0;z-index:99999;background:rgba(2,6,23,.9);display:none;
  align-items:center;justify-content:center;padding:20px}
.ke-modal.ke-open{display:flex}
.ke-modal-box{position:relative;width:min(960px,100%)}
.ke-modal-close{position:absolute;top:-44px;right:0;background:#e11d48;color:#fff;border:0;
  width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer}

/* Filter tabs (used via HTML widget) */
.ke-filter-tab{padding:8px 16px;border-radius:12px;border:1px solid #e7e5e4;background:#f5f5f4;
  font-size:12px;font-weight:700;color:#44403c;cursor:pointer;margin:0 4px 8px 0}
.ke-filter-tab.active{background:#1c1917;color:#fff;border-color:#1c1917}
#ke-currency-toggle{padding:8px 16px;border-radius:12px;border:0;background:#e11d48;color:#fff;
  font-size:12px;font-weight:800;cursor:pointer}

/* Stats */
.ke-stats{display:grid;gap:16px;text-align:center}
.ke-stats-cols-2{grid-template-columns:repeat(2,1fr)}
.ke-stats-cols-3{grid-template-columns:repeat(3,1fr)}
.ke-stats-cols-4{grid-template-columns:repeat(4,1fr)}
.ke-stat strong{display:block;font-size:26px;font-weight:900;color:#e11d48}
.ke-stats-dark .ke-stat strong{color:#fb7185}
.ke-stats-dark .ke-stat span{color:#a8a29e}
.ke-stat span{font-size:12px;color:#78716c}
@media(max-width:767px){.ke-stats-cols-4,.ke-stats-cols-3{grid-template-columns:repeat(2,1fr)}}

/* Market index */
.ke-index{background:#fff;border:1px solid #e7e5e4;border-radius:20px;padding:24px;position:relative}
.ke-index-updated{position:absolute;top:20px;right:20px;font-size:11px;font-weight:700;font-family:monospace;
  background:#f5f5f4;padding:6px 12px;border-radius:10px;color:#57534e}
.ke-index-scroll{overflow-x:auto}
.ke-index table{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.ke-index th{text-align:left;padding:12px;color:#a8a29e;font-size:11px;text-transform:uppercase;
  letter-spacing:.05em;border-bottom:2px solid #e7e5e4}
.ke-index td{padding:14px 12px;border-bottom:1px solid #f5f5f4;color:#44403c}
.ke-index td:first-child{font-weight:800;color:#1c1917}
.ke-price-cell{font-weight:800;color:#e11d48}
.ke-growth{background:#d1fae5;color:#065f46;font-weight:800;padding:3px 10px;border-radius:6px;font-size:12px}

/* Converter */
.ke-converter{background:#fff;border:1px solid #e7e5e4;border-radius:20px;padding:28px}
.ke-converter-note{font-size:13px;color:#78716c;margin:0 0 18px}
.ke-converter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.ke-converter-grid label{font-size:12px;font-weight:700;color:#44403c;display:flex;flex-direction:column;gap:6px}
.ke-converter-grid input{padding:12px 14px;border:1.5px solid #e7e5e4;border-radius:12px;font-size:15px;
  font-weight:700;color:#1c1917;outline:none;width:100%}
.ke-converter-grid input:focus{border-color:#e11d48}
.ke-converter-grid input[readonly]{background:#f5f5f4;color:#059669}
@media(max-width:640px){.ke-index-updated{position:static;display:inline-block;margin-bottom:12px}}
