/* NexCore Real Estate — Frontend CSS | Digital Mavenz Fze © 2025 */

:root { --nxc-primary:#1a3c5e; --nxc-accent:#c9a84c; }

.nxc-fe-wrap { font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; max-width:100%; color:#2d3748; }

/* ── Header ──────────────────────────────────────────────────── */
.nxc-fe-header { display:flex; align-items:center; gap:14px; margin-bottom:22px; padding-bottom:16px; border-bottom:2px solid var(--nxc-primary); }
.nxc-fe-header h2 { font-size:20px; font-weight:700; color:var(--nxc-primary); margin:0; }
.nxc-fe-header p  { font-size:12px; color:#718096; margin:3px 0 0; }
.nxc-fe-logo { height:36px; width:auto; }

/* ── Filters ─────────────────────────────────────────────────── */
.nxc-fe-filters { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.nxc-fe-input, .nxc-fe-select { border:1px solid #e2e8f0; border-radius:7px; padding:9px 14px; font-size:13px; color:#2d3748; background:#fff; transition:border-color .2s; }
.nxc-fe-input  { flex:1; min-width:200px; }
.nxc-fe-input:focus, .nxc-fe-select:focus { border-color:var(--nxc-primary); outline:none; box-shadow:0 0 0 3px rgba(26,60,94,.08); }

/* ── Table ───────────────────────────────────────────────────── */
.nxc-fe-table-wrap { overflow-x:auto; border-radius:10px; box-shadow:0 2px 12px rgba(0,0,0,.07); border:1px solid #e2e8f0; }
.nxc-fe-table { width:100%; border-collapse:collapse; font-size:13px; background:#fff; }
.nxc-fe-table thead th { background:var(--nxc-primary); color:#fff; padding:12px 14px; text-align:left; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; white-space:nowrap; cursor:pointer; user-select:none; }
.nxc-fe-table thead th:hover { background:rgba(26,60,94,.85); }
.nxc-fe-table tbody tr:nth-child(even) { background:#f8fafc; }
.nxc-fe-table tbody tr:hover { background:#eef2f7; }
.nxc-fe-table tbody td { padding:11px 14px; border-bottom:1px solid #e2e8f0; vertical-align:middle; }

/* ── Cells ───────────────────────────────────────────────────── */
.nxc-fe-ref { font-family:monospace; font-size:12px; background:#eef2f7; padding:2px 7px; border-radius:4px; color:#4a5568; }
.nxc-fe-title-cell { display:flex; align-items:center; gap:10px; }
.nxc-fe-thumb { width:42px; height:42px; object-fit:cover; border-radius:6px; border:1px solid #e2e8f0; flex-shrink:0; }
.nxc-fe-price { font-weight:700; color:var(--nxc-primary); }
.nxc-fe-empty { text-align:center; padding:40px; color:#718096; }

/* ── Badges ──────────────────────────────────────────────────── */
.nxc-fe-badge { display:inline-block; font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:.4px; white-space:nowrap; }
.nxc-fe-badge--sale    { background:#bee3f8; color:#2a4a7f; }
.nxc-fe-badge--rent    { background:#fef3c7; color:#92400e; }
.nxc-fe-badge--success { background:#c6f6d5; color:#276749; }
.nxc-fe-badge--danger  { background:#fed7d7; color:#9b2c2c; }
.nxc-fe-badge--warning { background:#fefcbf; color:#7b6309; }
.nxc-fe-badge--info    { background:#bee3f8; color:#2a4a7f; }
.nxc-fe-badge--default { background:#e2e8f0; color:#718096; }

/* ── Buttons ─────────────────────────────────────────────────── */
.nxc-fe-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border-radius:6px; font-size:12px; font-weight:600; cursor:pointer; border:1px solid var(--nxc-primary); background:transparent; color:var(--nxc-primary); transition:background .15s,color .15s; white-space:nowrap; }
.nxc-fe-btn:hover { background:var(--nxc-primary); color:#fff; }

/* ── Modal ───────────────────────────────────────────────────── */
.nxc-fe-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; }
.nxc-fe-modal__overlay { position:absolute; inset:0; background:rgba(0,0,0,.55); }
.nxc-fe-modal__box { position:relative; background:#fff; border-radius:12px; width:520px; max-width:95vw; box-shadow:0 20px 60px rgba(0,0,0,.2); z-index:1; overflow:hidden; }
.nxc-fe-modal__header { background:var(--nxc-primary); color:#fff; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; }
.nxc-fe-modal__header h3 { margin:0; font-size:16px; font-weight:600; }
.nxc-fe-modal__close { background:none; border:none; color:#fff; font-size:22px; cursor:pointer; }
.nxc-fe-modal__body { padding:20px; }
.nxc-fe-notice { padding:14px 18px; background:#bee3f8; border-radius:8px; color:#2a4a7f; font-size:13px; }
.nxc-fe-footer { text-align:right; font-size:11px; color:#a0aec0; margin-top:12px; }

@media(max-width:768px){
  .nxc-fe-filters { flex-direction:column; }
  .nxc-fe-input   { min-width:100%; }
  .nxc-fe-header  { flex-direction:column; align-items:flex-start; }
}
