/* ── RESET & TOKENS ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --g:#00a878;--g2:#007d5a;--g3:#e6f9f3;--g4:#cdf5e7;
  --ink:#111827;--ink2:#374151;--muted:#6B7280;--muted2:#9CA3AF;
  --border:#E5E7EB;--border2:#F3F4F6;
  --white:#fff;--bg:#F9FAFB;--bg2:#F3F4F6;
  --amber:#F59E0B;--amber2:#FEF3C7;
  --red:#EF4444;--red2:#FEE2E2;
  --shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --shadow-md:0 4px 16px rgba(0,0,0,.10);
  --shadow-lg:0 10px 40px rgba(0,0,0,.14);
  --r:12px;--r2:8px;--r3:999px;
}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;object-fit:cover}
button{cursor:pointer;font-family:'Manrope',sans-serif;border:none;outline:none}
input,select,textarea{font-family:'Manrope',sans-serif;outline:none}

/* ── ALERTS ── */
.alert{padding:12px 16px;border-radius:var(--r2);margin-bottom:16px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px}
.alert-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.alert-error{background:var(--red2);color:#991b1b;border:1px solid #fca5a5}
.alert-warning{background:var(--amber2);color:#92400e;border:1px solid #fcd34d}

/* ── LISTING CARD ── */
.lc{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:box-shadow .2s,transform .18s;text-decoration:none;display:block}
.lc:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.lc-img{height:155px;overflow:hidden;background:var(--bg2);position:relative;display:flex;align-items:center;justify-content:center}
.lc-img img{width:100%;height:100%;object-fit:cover}
.lc-img .no-img{font-size:48px;color:var(--muted2)}
.lc-badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px}
.badge{display:inline-block;border-radius:5px;padding:2px 8px;font-size:10px;font-weight:700;letter-spacing:.03em}
.badge-live{background:var(--red);color:#fff}
.badge-auction{background:#7c3aed;color:#fff}
.badge-fixed{background:var(--g);color:#fff}
.badge-featured{background:var(--amber);color:#fff}
.lc-wish{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;transition:transform .15s;color:var(--muted2)}
.lc-wish:hover{transform:scale(1.15);color:var(--red)}
.lc-body{padding:13px}
.lc-title{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px;color:var(--ink)}
.lc-loc{font-size:11.5px;color:var(--muted2);margin-bottom:9px}
.lc-sep{border:none;border-top:1px solid var(--border2);margin:8px 0}
.lc-foot{display:flex;justify-content:space-between;align-items:flex-end}
.lc-price-lbl{font-size:10.5px;color:var(--muted2);margin-bottom:1px}
.lc-price{font-family:'Sora',sans-serif;font-size:18px;font-weight:800;color:var(--g2)}
.lc-bids{font-size:11px;color:var(--muted2);margin-top:1px}
.lc-timer{font-size:12px;color:var(--amber);font-weight:700;text-align:right}
.lc-timer small{display:block;font-size:10.5px;color:var(--muted2);font-weight:400}

/* Tom Select theme overrides to match form-select style */
.ts-wrapper.form-select { padding: 0; border: none; }
.ts-wrapper .ts-control {
  width: 100%;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 14.5px;
  color: var(--ink);
  background: #fff;
  min-height: unset;
  box-shadow: none;
  cursor: pointer;
}
.ts-wrapper.focus .ts-control {
  border-color: var(--g);
  box-shadow: 0 0 0 4px rgba(0,168,120,.08);
}
.ts-wrapper.is-invalid .ts-control { border-color: var(--red); }
.ts-dropdown { border: 1.5px solid var(--border); border-radius: 10px; box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.ts-dropdown .ts-dropdown-content { max-height: 220px; }
.ts-dropdown .option { padding: 9px 14px; font-size: 14px; }
.ts-dropdown .option:hover, .ts-dropdown .option.active { background: var(--g3); color: var(--g2); }
.ts-dropdown-content .create { color: var(--muted); }

/* Category tree inside the select: group header is the parent, its own
   selectable option ("All X") and child options are indented beneath it. */
.ts-dropdown .optgroup-header { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); padding: 8px 14px 4px; }
.ts-dropdown .optgroup .option { padding-left: 26px; }
.ts-dropdown .optgroup .option:first-child { padding-left: 14px; font-weight: 600; }
.post-wrap{max-width:900px;margin:0 auto;padding:32px 20px 60px}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-bottom:24px;flex-wrap:wrap}
.breadcrumb a{color:var(--g2);font-weight:500}.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{color:var(--muted2)}

/* Progress steps */
.steps-bar{display:flex;align-items:center;margin-bottom:32px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 24px;gap:0}
.step-item{display:flex;align-items:center;gap:10px;flex:1}
.step-item:last-child .step-line{display:none}
.step-num{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-size:14px;font-weight:700;flex-shrink:0;transition:all .3s}
.step-num.done{background:var(--g);color:#fff}
.step-num.active{background:var(--ink);color:#fff}
.step-num.pending{background:var(--bg2);color:var(--muted)}
.step-label{font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}
.step-label.active{color:var(--ink)}
.step-line{flex:1;height:2px;background:var(--border2);margin:0 12px}
.step-line.done{background:var(--g)}

/* Form card */
.form-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:32px;margin-bottom:20px}
.form-card h2{font-family:'Sora',sans-serif;font-size:18px;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:10px}
.form-card h2 i{width:34px;height:34px;background:var(--g3);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--g2)}
.form-card .card-sub{font-size:13.5px;color:var(--muted);margin-bottom:22px;padding-left:44px}
.form-sep{border:none;border-top:1px solid var(--border2);margin:20px 0}

/* Form elements */
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--ink2);margin-bottom:6px}
.form-label span.req{color:var(--red);margin-left:2px}
.form-label .hint{font-weight:400;color:var(--muted2);font-size:11.5px;margin-left:6px}
.form-input,.form-select,.form-textarea{width:100%;border:1.5px solid var(--border);border-radius:10px;padding:11px 14px;font-size:14.5px;color:var(--ink);transition:border-color .2s,box-shadow .2s;background:#fff}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--g);box-shadow:0 0 0 4px rgba(0,168,120,.08);outline:none}
.form-input.is-invalid,.form-select.is-invalid,.form-textarea.is-invalid{border-color:var(--red)}
.form-textarea{min-height:130px;resize:vertical;line-height:1.6}
.invalid-feedback{font-size:12px;color:var(--red);margin-top:4px;display:flex;align-items:center;gap:4px}
.char-count{font-size:11.5px;color:var(--muted2);text-align:right;margin-top:4px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}

/* Description suggestion chips */
.suggestion-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.suggestion-chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--border);background:#fff;color:var(--ink,#1a1a1a);border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s;line-height:1.2}
.suggestion-chip:hover{border-color:var(--g)}
.suggestion-chip.active{background:var(--g3);border-color:var(--g);color:var(--g2)}
.suggestion-chip .fa-check{display:none;font-size:11px}
.suggestion-chip.active .fa-check{display:inline}
.suggestions-more{display:none}
.suggestions-more.show{display:contents}
.suggestions-toggle{margin-top:10px;background:none;border:0;color:var(--g2);font-weight:700;font-size:13px;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}
.suggestions-toggle:hover{text-decoration:underline}

/* Type toggle */
.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.type-option{border:2px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;position:relative}
.type-option:has(input:checked){border-color:var(--g);background:var(--g3)}
.type-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}
.type-option-inner{display:flex;align-items:flex-start;gap:12px}
.type-icon{width:40px;height:40px;border-radius:10px;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.type-option:has(input:checked) .type-icon{background:rgba(0,168,120,.15)}
.type-title{font-size:15px;font-weight:700;margin-bottom:3px}
.type-desc{font-size:12.5px;color:var(--muted);line-height:1.5}
.type-check{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--g);display:none;align-items:center;justify-content:center;color:#fff;font-size:11px}
.type-option:has(input:checked) .type-check{display:flex}

/* Image upload */
.image-upload-area{border:2px dashed var(--border);border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;position:relative}
.image-upload-area:hover{border-color:var(--g);background:var(--g3)}
.image-upload-area input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-icon{font-size:36px;color:var(--muted2);margin-bottom:10px}
.upload-title{font-size:15px;font-weight:600;color:var(--ink2);margin-bottom:4px}
.upload-sub{font-size:13px;color:var(--muted2)}
.image-previews{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.img-preview{width:90px;height:90px;border-radius:8px;border:1px solid var(--border);overflow:hidden;position:relative;flex-shrink:0}
.img-preview img{width:100%;height:100%;object-fit:cover}
.img-preview .remove-img{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.65);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.img-primary-badge{position:absolute;bottom:3px;left:3px;background:var(--g);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px}

/* Custom fields panel */
.custom-fields-panel{background:var(--bg2);border-radius:10px;padding:18px;margin-top:4px}
.custom-fields-panel .cf-loading{text-align:center;color:var(--muted);font-size:14px;padding:16px}

/* Price section */
.price-box{background:var(--bg2);border-radius:10px;padding:18px}
.price-box .form-input{background:#fff}
.price-note{font-size:12.5px;color:var(--muted);margin-top:8px;display:flex;align-items:flex-start;gap:6px}
.price-note i{color:var(--amber);flex-shrink:0;margin-top:2px}

/* Submit bar */
.submit-bar{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;position:sticky;bottom:20px;box-shadow:0 -4px 20px rgba(0,0,0,.06)}
.submit-bar-left{font-size:14px;color:var(--muted)}
.submit-bar-left strong{color:var(--ink);font-size:15px;display:block;margin-bottom:2px}
.submit-actions{display:flex;gap:10px}
.btn-draft{background:#fff;color:var(--muted);border:1.5px solid var(--border);border-radius:10px;padding:11px 22px;font-size:14px;font-weight:600;transition:all .2s}
.btn-draft:hover{border-color:var(--g);color:var(--g2)}
.btn-publish{background:var(--g);color:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:15px;font-weight:700;transition:background .2s;display:flex;align-items:center;gap:8px}
.btn-publish:hover{background:var(--g2)}

@media(max-width:640px){
  .form-card{padding:20px}
  .form-row-2,.form-row-3{grid-template-columns:1fr}
  .type-toggle{grid-template-columns:1fr}
  .submit-bar{position:static;flex-direction:column;text-align:center}
  .submit-actions{width:100%;flex-direction:column}
  .btn-draft,.btn-publish{width:100%;justify-content:center}
  .steps-bar{padding:12px 16px}
  .step-label{display:none}
}

/* ── NAV USER DROPDOWN ── */
.nav-user-menu{position:relative}
.nav-user-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:224px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.13);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .17s,transform .17s;z-index:400;overflow:hidden}
.nav-user-dropdown.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}
.nud-header{padding:14px 16px 12px;border-bottom:1px solid var(--border);background:var(--g3)}
.nud-name{font-size:13.5px;font-weight:700;color:var(--ink)}
.nud-email{font-size:11.5px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nud-links{padding:6px 0}
.nud-link{display:flex;align-items:center;gap:11px;padding:10px 16px;font-size:13.5px;font-weight:500;color:var(--ink2);text-decoration:none;transition:background .13s,color .13s}
.nud-link:hover{background:var(--bg2);color:var(--g2);text-decoration:none}
.nud-link i{width:16px;text-align:center;font-size:13px;color:var(--muted);flex-shrink:0}
.nud-link:hover i{color:var(--g2)}
.nud-divider{border:none;border-top:1px solid var(--border);margin:4px 0}
.nud-link.nud-logout{color:var(--red)}
.nud-link.nud-logout i{color:var(--red)}
.nud-link.nud-logout:hover{background:#fff5f5}

/* ── ACCOUNT SECTION ── */
.account-wrap{max-width:1240px;margin:36px auto 60px;padding:0 20px;display:grid;grid-template-columns:256px 1fr;gap:24px;align-items:start}
.account-sidebar{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;position:sticky;top:106px}
.account-user{padding:20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;background:var(--g3)}
.account-avatar{width:46px;height:46px;border-radius:50%;background:var(--g2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}
.account-user-name{font-size:13.5px;font-weight:700;color:var(--ink)}
.account-user-email{font-size:12px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:165px}
.account-nav{padding:8px 0}
.acc-nav-link{display:flex;align-items:center;gap:12px;padding:11px 20px;font-size:13.5px;font-weight:500;color:var(--ink2);text-decoration:none;transition:background .14s,color .14s;border-left:3px solid transparent}
.acc-nav-link:hover{background:var(--bg2);color:var(--g2);text-decoration:none}
.acc-nav-link.active{background:var(--g3);color:var(--g2);border-left-color:var(--g);font-weight:600}
.acc-nav-link i{width:18px;text-align:center;font-size:14px;flex-shrink:0}
.acc-nav-link.acc-logout{color:var(--red)}
.acc-nav-link.acc-logout i{color:var(--red)}
.acc-nav-link.acc-logout:hover{background:#fff5f5}
.acc-nav-divider{border:none;border-top:1px solid var(--border);margin:6px 0}
.account-card{background:#fff;border:1px solid var(--border);border-radius:var(--r)}
.account-card-header{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.account-card-header h2{font-size:16px;font-weight:700;color:var(--ink);margin:0}
.account-card-header i{color:var(--g2);font-size:16px}
.account-card-body{padding:28px 24px}
.account-empty{text-align:center;padding:64px 20px}
.account-empty i{font-size:52px;color:var(--muted2);margin-bottom:18px;display:block}
.account-empty h3{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:8px}
.account-empty p{font-size:14px;color:var(--muted);max-width:300px;margin:0 auto 24px;line-height:1.65}
.settings-section-title{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:22px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.settings-group{margin-bottom:20px}
.settings-label{display:block;font-size:13.5px;font-weight:600;color:var(--ink2);margin-bottom:6px}
.settings-input{width:100%;border:1.5px solid var(--border);border-radius:var(--r2);padding:11px 14px;font-size:14px;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s;font-family:'Manrope',sans-serif}
.settings-input:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(0,168,120,.1);outline:none}
.settings-input.is-invalid{border-color:var(--red)}
.settings-error{color:var(--red);font-size:12px;margin-top:5px;display:flex;align-items:center;gap:5px}
.settings-hint{font-size:12px;color:var(--muted);margin-top:5px}
.settings-actions{padding-top:6px}
.btn-save{display:inline-flex;align-items:center;gap:8px;background:var(--g);color:#fff;padding:11px 26px;border-radius:var(--r3);font-size:14px;font-weight:700;border:none;cursor:pointer;transition:background .2s;font-family:'Manrope',sans-serif;text-decoration:none}
.btn-save:hover{background:var(--g2);text-decoration:none;color:#fff}

@media(max-width:768px){
  .account-wrap{grid-template-columns:1fr}
  .account-sidebar{position:static}
  .account-user-email{max-width:100%}
}

/* ============================================================
   NEELAAM v2 — header / ticker / hero / home page / footer
   Palette: emerald (trust/PK) + auction gold (bids) on soft paper.
   Tokens below are namespaced --nv-* where they'd otherwise clash
   with the --ink/--muted/--shadow/--shadow-lg tokens the rest of
   the site (forms, account, listing cards) already relies on.
   ============================================================ */
:root{
  --nv-ink:       #1B2420;
  --ink-soft:     #3C4742;
  --nv-muted:     #6E7A73;
  --paper:        #F5F4EF;
  --card:         #FFFFFF;
  --line:         #E4E2D8;
  --emerald:      #0F6B4E;
  --emerald-dk:   #0A4A37;
  --emerald-tint: #E7F1EC;
  --gold:         #E39A2D;
  --gold-dk:      #B57414;
  --gold-tint:    #FBF1DF;
  --danger:       #C6432E;
  --danger-tint:  #F9E9E5;
  --nv-radius:    14px;
  --nv-radius-sm: 9px;
  --nv-shadow:    0 1px 2px rgba(27,36,32,.06), 0 8px 24px -12px rgba(27,36,32,.18);
  --nv-shadow-lg: 0 24px 60px -24px rgba(27,36,32,.35);
  --font-display: "Bricolage Grotesque", "Sora", sans-serif;
  --font-body:    "Public Sans", "Segoe UI", system-ui, sans-serif;
  --nv-max:       1200px;
}
.wrap{ max-width:var(--nv-max); margin:0 auto; padding:0 20px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px; justify-content:center;
  border:0; border-radius:999px; padding:10px 20px;
  font-family:var(--font-body); font-weight:600; font-size:14px;
  transition:background .15s, transform .1s; white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--emerald); color:#fff; }
.btn-primary:hover{ background:var(--emerald-dk); }
.btn-gold{ background:var(--gold); color:#3A2A08; }
.btn-gold:hover{ background:var(--gold-dk); color:#fff; }
.btn-ghost{ background:transparent; color:var(--nv-ink); border:1.5px solid var(--line); }
.btn-ghost:hover{ border-color:var(--ink-soft); }
.btn-lg{ padding:13px 26px; font-size:15px; }
.btn-block{ width:100%; }

/* ---------- Header (topbar) ---------- */
.topbar{
  background:var(--card); border-bottom:1px solid var(--line); font-family:var(--font-body);
}
.topbar-inner{ display:flex; align-items:center; gap:14px; height:66px; }
.logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.logo-mark{
  width:38px; height:38px; border-radius:11px; flex-shrink:0;
  background:var(--emerald); color:#fff; display:grid; place-items:center;
}
.logo-name{ font-family:var(--font-display); font-weight:700; font-size:21px; letter-spacing:-.02em; color:var(--nv-ink); }
.logo-name em{ color:var(--gold-dk); font-style:normal; }
.logo-name .urdu{ font-size:12px; color:var(--nv-muted); display:block; line-height:1; font-family:var(--font-body); letter-spacing:.14em; text-transform:uppercase; }

.top-actions{ margin-left:auto; display:flex; align-items:center; gap:14px; flex-shrink:0; }
.link-login{ font-family:var(--font-body); font-weight:600; font-size:14px; color:var(--ink-soft); padding:8px 6px; }
.link-login:hover{ color:var(--emerald-dk); }
.btn-sell{
  display:flex; align-items:center; gap:8px; background:var(--gold); color:var(--emerald-dk);
  font-family:var(--font-body); font-weight:800; font-size:14px; padding:10px 20px; border-radius:999px;
  box-shadow:inset 0 0 0 2px var(--emerald-dk); transition:transform .15s ease, background .15s ease;
}
.btn-sell:hover{ transform:translateY(-1px); background:var(--gold-tint); }
.btn-sell .short{ display:none; }

.nav-avatar{
  width:36px; height:36px; border-radius:50%; background:var(--emerald-tint);
  border:2px solid var(--emerald); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:13px; font-weight:700; color:var(--emerald-dk); cursor:pointer;
}

/* ---------- Search band — sticky signature element, shown on every page ---------- */
.search-band{
  position:sticky; top:0; z-index:300; font-family:var(--font-body);
  background:var(--emerald-dk);
  background-image:radial-gradient(circle at 88% -40%, rgba(227,154,45,.28), transparent 46%);
  border-bottom:3px solid var(--gold);
  transition:padding .2s ease;
}
.search-band .wrap{ padding-top:20px; padding-bottom:14px; transition:padding .2s ease; }
.search-band.shrunk .wrap{ padding-top:10px; padding-bottom:8px; }
.search-title{
  color:var(--gold-tint); font-family:var(--font-display); font-weight:600; font-size:14.5px;
  letter-spacing:.02em; margin-bottom:10px; display:flex; align-items:center; gap:8px;
}
.search-band.shrunk .search-title{ display:none; }
.pulse{ width:8px; height:8px; border-radius:50%; background:var(--gold); flex-shrink:0; animation:nv-pulse 1.6s infinite; }
@keyframes nv-pulse{
  0%{ box-shadow:0 0 0 0 rgba(227,154,45,.6); }
  70%{ box-shadow:0 0 0 9px rgba(227,154,45,0); }
  100%{ box-shadow:0 0 0 0 rgba(227,154,45,0); }
}
.search-form{ display:grid; grid-template-columns:230px 1fr 160px; gap:12px; }
.search-form .field{
  display:flex; align-items:center; gap:10px; width:100%; min-width:0; height:56px;
  background:var(--card); border:none; border-radius:var(--nv-radius); padding:0 16px;
  box-shadow:var(--nv-shadow); text-align:left; cursor:pointer;
}
.search-band.shrunk .search-form .field, .search-band.shrunk .btn-search{ height:46px; }
.search-form .field .ico{ font-size:17px; flex-shrink:0; }
.search-form .field select, .search-form .field input, .search-form .field .loc-text{
  width:100%; border:none; background:none; font:inherit; font-weight:600; color:var(--nv-ink);
  outline:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.search-form .field select, .search-form .field input{ height:100%; }
.search-form .field input::placeholder{ color:var(--nv-muted); font-weight:500; }
.search-form .field-loc{ border-left:5px solid var(--gold); }
.search-form .field-q{ cursor:text; position:relative; }

#search-suggestions{
  position:absolute; top:calc(100% + 8px); left:0; right:0;
  z-index:1000; margin:0; padding:6px 0; list-style:none; text-align:left;
  background:var(--card); border:1px solid var(--line); border-radius:var(--nv-radius-sm);
  box-shadow:var(--nv-shadow-lg); max-height:340px; overflow-y:auto;
}
.sugg-item{
  display:flex; align-items:center; gap:10px; padding:10px 16px; cursor:pointer;
  font-size:14px; font-weight:600; color:var(--nv-ink);
}
.sugg-item:hover, .sugg-item.is-active{ background:var(--emerald-tint); }
.sugg-item .fa{ color:var(--emerald); width:16px; flex-shrink:0; }
.sugg-text{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sugg-scope{ color:var(--nv-muted); font-weight:500; }
.sugg-count{ color:var(--nv-muted); font-size:12px; font-weight:600; }
.btn-search{
  display:flex; align-items:center; justify-content:center; gap:9px; height:56px;
  background:var(--gold); color:var(--emerald-dk); font-family:var(--font-body);
  font-weight:800; font-size:15.5px; border-radius:var(--nv-radius); box-shadow:var(--nv-shadow);
  transition:background .15s ease;
}
.btn-search:hover{ background:var(--gold-tint); }

.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* category strip — reuses .cat-strip/.cat-scroll/.cat-chip, recoloured for the dark band */
.search-band .cat-strip{ border-top:none; background:transparent; margin-top:12px; }
.search-band.shrunk .cat-strip{ margin-top:8px; }
.search-band .cat-scroll{ padding:0; }
.search-band .cat-chip{ color:#CFE3DA; }
.search-band .cat-chip:hover, .search-band .cat-chip.active{ background:rgba(255,255,255,.15); color:#fff; }

.cat-strip{ border-top:1px solid var(--line); background:var(--card); }
.cat-scroll{ display:flex; gap:6px; overflow-x:auto; padding:8px 0; scrollbar-width:none; }
.cat-scroll::-webkit-scrollbar{ display:none; }
.cat-chip{
  display:flex; align-items:center; gap:7px;
  padding:7px 14px; border-radius:999px; white-space:nowrap;
  font-family:var(--font-body); font-size:13.5px; font-weight:600; color:var(--ink-soft);
  border:1px solid transparent;
}
.cat-chip:hover{ background:var(--paper); }
.cat-chip.active{ background:var(--nv-ink); color:#fff; }
.cat-chip i{ font-size:13px; }

/* ---------- Ticker ---------- */
.ticker{ background:var(--nv-ink); color:#EDEAE0; overflow:hidden; position:relative; }
.ticker-inner{ display:flex; gap:48px; width:max-content; padding:8px 0; animation:nv-tick 40s linear infinite; }
.ticker:hover .ticker-inner{ animation-play-state:paused; }
@keyframes nv-tick{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.tick-item{ display:flex; align-items:center; gap:9px; font-family:var(--font-body); font-size:13px; white-space:nowrap; }
.tick-item .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.tick-item b{ color:var(--gold); font-weight:700; }

/* ---------- Hero ---------- */
.hero{ padding:52px 0 20px; font-family:var(--font-body); }
.hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:center; }
.hero .kicker{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--emerald-dk); background:var(--emerald-tint);
  border-radius:999px; padding:6px 14px; margin-bottom:18px;
}
.hero h1{ font-family:var(--font-display); line-height:1.15; margin:0; font-size:clamp(34px, 4.6vw, 56px); font-weight:700; letter-spacing:-.025em; color:var(--nv-ink); }
.hero h1 .gold{ color:var(--gold-dk); }
.hero p.lead{ font-size:17px; color:var(--ink-soft); max-width:52ch; margin:16px 0 26px; }
.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; }
.hero-stats{ display:flex; gap:34px; margin-top:34px; }
.hero-stats .stat b{ font-family:var(--font-display); font-size:24px; display:block; color:var(--nv-ink); }
.hero-stats .stat span{ font-size:12.5px; color:var(--nv-muted); text-transform:uppercase; letter-spacing:.08em; }

.hero-card{
  background:var(--card); border:1px solid var(--line); border-radius:20px;
  box-shadow:var(--nv-shadow-lg); overflow:hidden; position:relative;
  transform:rotate(1.2deg); display:block;
}
.hero-card .ph{ height:250px; }
.hero-card-body{ padding:18px 20px 20px; }
.hero-card-body h3{ font-family:var(--font-display); line-height:1.15; color:var(--nv-ink); }
.hero-card .live-badge{
  position:absolute; top:14px; left:14px;
  background:var(--danger); color:#fff; font-size:11.5px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase;
  padding:5px 11px; border-radius:999px; display:flex; gap:7px; align-items:center;
}
.live-badge .pulse{ width:7px; height:7px; border-radius:50%; background:#fff; animation:nv-pulse 1.4s infinite; }
@keyframes nv-pulse{ 0%,100%{opacity:1;} 50%{opacity:.25;} }

/* ---------- Placeholder imagery ---------- */
.ph{
  background:linear-gradient(135deg, #DCE6E0, #C4D4CB);
  display:grid; place-items:center; color:#7E948A; position:relative;
}
.ph .em{ font-size:44px; }
.ph.gold{ background:linear-gradient(135deg,#F2E3C6,#E4CB9A); color:#A98436; }
.ph.clay{ background:linear-gradient(135deg,#EAD9D2,#D8BBAE); color:#A57F6E; }
.ph.slate{ background:linear-gradient(135deg,#D8DEE6,#BCC7D4); color:#7C8CA0; }

/* ---------- Sections ---------- */
.section{ padding:44px 0; font-family:var(--font-body); }
.section-head{ display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:22px; }
.section-head h2{ font-family:var(--font-display); line-height:1.15; margin:0; font-size:clamp(22px,2.6vw,30px); letter-spacing:-.02em; color:var(--nv-ink); }
.section-head .sub{ color:var(--nv-muted); font-size:14px; margin-top:5px; }
.see-all{ font-weight:700; font-size:14px; color:var(--emerald-dk); white-space:nowrap; }
.see-all:hover{ text-decoration:underline; }

.cat-grid{ display:grid; grid-template-columns:repeat(8,1fr); gap:12px; }
.cat-tile{
  background:var(--card); border:1px solid var(--line); border-radius:var(--nv-radius);
  padding:18px 10px 14px; text-align:center; transition:border-color .15s, box-shadow .15s;
}
.cat-tile:hover{ border-color:var(--emerald); box-shadow:var(--nv-shadow); }
.cat-tile .em{ font-size:28px; display:block; margin-bottom:8px; }
.cat-tile b{ font-size:13px; font-weight:600; display:block; color:var(--nv-ink); }
.cat-tile span{ font-size:11.5px; color:var(--nv-muted); }

/* ---------- Auction cards (home) ---------- */
.card-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.acard{
  background:var(--card); border:1px solid var(--line); border-radius:var(--nv-radius);
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .15s, transform .15s;
}
.acard:hover{ box-shadow:var(--nv-shadow); transform:translateY(-2px); }
.acard-media{ position:relative; }
.acard-media .ph{ aspect-ratio:4/3; }
.acard .countdown{
  position:absolute; left:10px; bottom:10px;
  background:rgba(27,36,32,.88); color:#fff;
  font-size:12px; font-weight:700;
  padding:5px 11px; border-radius:999px; display:flex; align-items:center; gap:6px;
}
.fav{
  position:absolute; top:10px; right:10px; width:34px; height:34px;
  border-radius:50%; border:0; background:rgba(255,255,255,.92);
  display:grid; place-items:center; color:var(--ink-soft);
}
.fav:hover{ color:var(--danger); }
.fav.on{ color:var(--danger); }
.acard-body{ padding:13px 15px 15px; display:flex; flex-direction:column; gap:6px; flex:1; }
.acard .cat-tag{
  font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--emerald-dk);
}
.acard h3{ font-size:15.5px; font-weight:650; font-family:var(--font-body); line-height:1.35; margin:0; color:var(--nv-ink); }
.acard h3 a:hover{ color:var(--emerald-dk); }
.acard .bid-row{ display:flex; align-items:baseline; justify-content:space-between; margin-top:auto; padding-top:8px; }
.acard .bid-row .label{ font-size:11px; color:var(--nv-muted); text-transform:uppercase; letter-spacing:.07em; display:block; }
.acard .bid-row .price{ font-family:var(--font-display); font-weight:700; font-size:18px; color:var(--gold-dk); }
.acard .bid-row .bids{ font-size:12.5px; color:var(--nv-muted); }
.acard .loc{ display:flex; align-items:center; gap:5px; font-size:12.5px; color:var(--nv-muted); border-top:1px dashed var(--line); padding-top:9px; margin-top:9px; }

.hero-card .bid-row{ display:flex; align-items:baseline; justify-content:space-between; }
.hero-card .bid-row .label{ font-size:11px; color:var(--nv-muted); text-transform:uppercase; letter-spacing:.07em; display:block; }
.hero-card .bid-row .price{ font-family:var(--font-display); font-weight:700; font-size:18px; color:var(--gold-dk); }

/* ---------- How it works ---------- */
.how{ background:var(--card); border-block:1px solid var(--line); font-family:var(--font-body); }
.how-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.how-step{ padding:6px 4px; }
.how-step .icon{
  width:48px; height:48px; border-radius:14px; background:var(--emerald-tint);
  color:var(--emerald-dk); display:grid; place-items:center; margin-bottom:14px;
}
.how-step h3{ font-family:var(--font-display); line-height:1.15; margin:0; font-size:18px; margin-bottom:7px; color:var(--nv-ink); }
.how-step p{ color:var(--ink-soft); font-size:14px; margin:0; }

/* ---------- Sell banner ---------- */
.sell-banner{
  background:var(--emerald); color:#fff; border-radius:20px;
  padding:38px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px;
  background-image:radial-gradient(circle at 85% 20%, rgba(227,154,45,.35), transparent 45%);
}
.sell-banner h2{ font-family:var(--font-display); line-height:1.15; margin:0; font-size:clamp(22px,3vw,30px); letter-spacing:-.02em; }
.sell-banner p{ margin:8px 0 0; color:#D4E5DC; max-width:56ch; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--nv-ink); color:#C9CFC9; margin-top:56px; font-family:var(--font-body); }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px; padding:46px 0 34px; }
.site-footer .logo-name{ color:#fff; }
.site-footer p{ font-size:13.5px; color:#93A099; max-width:34ch; }
.site-footer h4{ color:#fff; font-size:14px; font-family:var(--font-body); font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px; }
.site-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:9px; font-size:14px; }
.site-footer ul a:hover{ color:#fff; }
.site-footer .footer-bottom{
  border-top:1px solid #2E3A34; padding:18px 0;
  display:flex; justify-content:space-between; gap:12px; font-size:13px; color:#7E8B84;
}

/* ---------- Location modal ---------- */
.modal-backdrop{
  position:fixed; inset:0; z-index:500; background:rgba(20,28,24,.55);
  display:none; align-items:center; justify-content:center; padding:20px; font-family:var(--font-body);
}
.modal-backdrop.open{ display:flex; }
.modal{
  background:var(--card); border-radius:18px; width:100%; max-width:440px;
  box-shadow:var(--nv-shadow-lg); padding:26px; position:relative;
  animation:nv-pop .18s ease-out;
}
@keyframes nv-pop{ from{ transform:scale(.96); opacity:0;} to{ transform:scale(1); opacity:1;} }
.modal h3{ font-family:var(--font-display); line-height:1.15; margin:0; font-size:20px; margin-bottom:4px; color:var(--nv-ink); }
.modal .sub{ color:var(--nv-muted); font-size:13.5px; margin:0 0 18px; }
.modal-close{
  position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:50%;
  border:0; background:var(--paper); color:var(--ink-soft); display:grid; place-items:center;
}
.geo-btn{
  width:100%; display:flex; align-items:center; gap:12px;
  border:1.5px solid var(--emerald); background:var(--emerald-tint);
  color:var(--emerald-dk); border-radius:12px; padding:13px 15px;
  font-family:var(--font-body); font-weight:600; font-size:14px; margin-bottom:8px; text-align:left;
}
.geo-btn:hover{ background:#DCEAE3; }
.geo-btn .hint{ display:block; font-weight:400; font-size:12px; color:var(--nv-muted); }
.geo-status{ font-size:12.5px; margin:6px 2px 0; color:var(--nv-muted); min-height:17px; }
.geo-status.err{ color:var(--danger); }
.geo-status.ok{ color:var(--emerald-dk); }
.divider{
  display:flex; align-items:center; gap:12px; color:var(--nv-muted);
  font-size:12px; text-transform:uppercase; letter-spacing:.1em; margin:16px 0;
}
.divider::before,.divider::after{ content:""; flex:1; height:1px; background:var(--line); }
.field{ margin-bottom:13px; }
.field label{ display:block; font-size:12.5px; font-weight:700; margin-bottom:6px; color:var(--ink-soft); }
.field select,.field input{
  width:100%; border:1.5px solid var(--line); border-radius:10px;
  padding:11px 12px; background:var(--card); font-family:var(--font-body); font-size:14px; color:var(--nv-ink);
}
.field select:focus,.field input:focus{ border-color:var(--emerald); outline:none; }
.btn:disabled{ opacity:.5; cursor:not-allowed; }
.loc-search-wrap{ position:relative; }
.loc-results{
  position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:20;
  background:var(--card); border:1.5px solid var(--line); border-radius:10px;
  box-shadow:var(--nv-shadow-lg); max-height:260px; overflow-y:auto;
}
.loc-result{
  width:100%; text-align:left; padding:10px 12px; border:0; background:none; cursor:pointer;
  display:flex; align-items:baseline; gap:6px; font-family:var(--font-body);
}
.loc-result:hover, .loc-result.active{ background:var(--paper); }
.loc-result-name{ font-weight:600; font-size:13.5px; color:var(--nv-ink); }
.loc-result-path{ font-size:11.5px; color:var(--nv-muted); }
.loc-type-badge{
  font-size:9.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--emerald-dk);
  background:var(--emerald-tint); border-radius:5px; padding:1px 6px; margin-left:auto; flex-shrink:0;
}
.loc-result-empty, .loc-result-loading{ padding:10px 12px; font-size:12.5px; color:var(--nv-muted); }

/* ---------- Responsive ---------- */
@media (max-width: 1020px){
  .cat-grid{ grid-template-columns:repeat(4,1fr); }
  .card-grid{ grid-template-columns:repeat(3,1fr); }
  .hero-grid{ grid-template-columns:1fr; gap:30px; }
  .hero-card{ transform:none; max-width:520px; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 820px){
  .card-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .how-grid{ grid-template-columns:1fr; gap:20px; }
  .sell-banner{ flex-direction:column; align-items:flex-start; padding:28px 24px; }
}
@media (max-width: 900px){
  .search-form{ grid-template-columns:1fr; }
  .btn-search{ height:50px; }
}
@media (max-width: 680px){
  .topbar-inner{ height:auto; flex-wrap:wrap; row-gap:8px; column-gap:10px; padding:10px 0; }
  .logo-name .urdu{ display:none; }
  .btn-sell .long{ display:none; }
  .btn-sell .short{ display:inline; }
  .cat-grid{ grid-template-columns:repeat(4,1fr); gap:8px; }
  .cat-tile{ padding:13px 6px 11px; }
  .cat-tile .em{ font-size:22px; }
  .cat-tile span{ display:none; }
  .hero{ padding:34px 0 8px; }
  .hero-stats{ gap:22px; }
  .section{ padding:32px 0; }
  .footer-grid{ grid-template-columns:1fr; gap:26px; padding:36px 0 26px; }
  .site-footer .footer-bottom{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 460px){
  .wrap{ padding:0 14px; }
  .card-grid{ grid-template-columns:1fr 1fr; }
  .acard h3{ font-size:14px; }
  .acard .bid-row .price{ font-size:16px; }
}

/* ---------- Listings page ---------- */
.page-head{ padding:28px 0 6px; font-family:var(--font-body); }
.crumbs{ font-size:13px; color:var(--nv-muted); display:flex; gap:7px; flex-wrap:wrap; }
.crumbs a{ color:var(--nv-muted); }
.crumbs a:hover{ color:var(--emerald-dk); }
.page-head h1{ font-family:var(--font-display); line-height:1.15; font-size:clamp(24px,3vw,34px); letter-spacing:-.02em; margin-top:8px; color:var(--nv-ink); }
.page-head .meta{ color:var(--nv-muted); font-size:14px; margin-top:5px; }

/* ---------- CMS page content (About/Terms/Privacy/Refund/Contact) ---------- */
.cms-content{ font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--ink-soft); }
.cms-content h1, .cms-content h2, .cms-content h3, .cms-content h4{
  font-family:var(--font-display); color:var(--nv-ink); line-height:1.25; margin:28px 0 12px;
}
.cms-content h1:first-child, .cms-content h2:first-child, .cms-content h3:first-child{ margin-top:0; }
.cms-content p{ margin:0 0 16px; }
.cms-content ul, .cms-content ol{ margin:0 0 16px; padding-left:22px; }
.cms-content li{ margin-bottom:6px; }
.cms-content a{ color:var(--emerald-dk); text-decoration:underline; }
.cms-content strong{ color:var(--nv-ink); }
.cms-content table{ border-collapse:collapse; width:100%; margin:0 0 16px; }
.cms-content table td, .cms-content table th{ border:1px solid var(--line); padding:8px 10px; }
.cms-empty{ color:var(--nv-muted); font-family:var(--font-body); font-size:14px; }

.listing-layout{ display:grid; grid-template-columns:260px 1fr; gap:26px; padding:22px 0 40px; align-items:start; font-family:var(--font-body); }

.filters{ background:var(--card); border:1px solid var(--line); border-radius:var(--nv-radius); padding:20px; position:sticky; top:84px; }
.filters h3{ font-size:16px; margin-bottom:16px; display:flex; justify-content:space-between; align-items:center; color:var(--nv-ink); }
.filters h3 .clear{ font-size:12.5px; color:var(--emerald-dk); font-weight:600; }
.fgroup{ border-top:1px solid var(--line); padding:15px 0; }
.fgroup:first-child{ border-top:0; padding-top:0; }
.fgroup:last-child{ padding-bottom:2px; }
.fgroup > b{ display:block; font-size:13px; margin-bottom:10px; color:var(--nv-ink); }
.check{ display:flex; align-items:center; gap:9px; font-size:13.5px; color:var(--ink-soft); padding:4.5px 0; cursor:pointer; }
.check input{ accent-color:var(--emerald); width:16px; height:16px; flex-shrink:0; }
.check .count{ margin-left:auto; font-size:12px; color:var(--nv-muted); }

/* Long option lists (e.g. a "Brand" custom field with 40+ values) scroll in place
   instead of stretching the whole filter sidebar. */
.fgroup-options{ max-height:210px; overflow-y:auto; padding-right:6px; }
.fgroup-options .check{ padding:4px 0; }
.price-inputs{ display:flex; gap:8px; align-items:center; }
.price-inputs input{ width:100%; border:1.5px solid var(--line); border-radius:9px; padding:8px 10px; font-size:13px; font-family:var(--font-body); color:var(--nv-ink); }
.price-inputs input:focus{ border-color:var(--emerald); outline:none; }
.price-inputs span{ color:var(--nv-muted); }

/* ---------- Filter tree (categories / location) ---------- */
.tree-root{ display:block; font-size:13.5px; color:var(--nv-muted); padding:4px 0; }
.tree-root:hover{ color:var(--emerald-dk); }
.tree-root.active{ color:var(--nv-ink); font-weight:700; }
.tree-parent{ font-size:13px; color:var(--nv-muted); padding:4px 0 4px 14px; }
.tree-list{ display:flex; flex-direction:column; padding-left:26px; }
.tree-item{ display:block; font-size:13.5px; color:var(--ink-soft); padding:4px 0; }
.tree-item:hover{ color:var(--emerald-dk); }
.tree-item.active{ color:var(--nv-ink); font-weight:700; }
.tree-count{ color:var(--nv-muted); font-weight:400; }
.tree-toggle{ display:flex; align-items:center; gap:6px; background:none; border:0; color:var(--emerald-dk); font-size:13px; font-weight:600; padding:6px 0 0 14px; cursor:pointer; font-family:var(--font-body); }
.tree-toggle:hover{ color:var(--emerald); }
.tree-toggle i{ font-size:11px; transition:transform .15s; }
.tree-toggle.open i{ transform:rotate(180deg); }

/* ---------- Location picker dropdown ---------- */
.loc-picker{ position:relative; }
.loc-picker-trigger{
  display:flex; align-items:center; gap:9px; width:100%; text-align:left; cursor:pointer;
  background:var(--card); border:1.5px solid var(--line); border-radius:var(--nv-radius);
  padding:11px 12px; font-family:var(--font-body); font-size:13.5px; font-weight:600; color:var(--nv-ink);
}
.loc-picker-trigger:hover{ border-color:var(--emerald); }
.loc-picker-trigger .ico{ flex-shrink:0; color:var(--emerald-dk); }
.loc-picker-trigger span{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.loc-picker-trigger .fa-chevron-down{ font-size:11px; color:var(--nv-muted); transition:transform .15s; flex-shrink:0; }
.loc-picker-trigger[aria-expanded="true"] .fa-chevron-down{ transform:rotate(180deg); }
.loc-picker-panel{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:20;
  background:var(--card); border:1.5px solid var(--line); border-radius:10px;
  box-shadow:var(--nv-shadow-lg); padding:10px 12px;
}
.loc-picker-crumbs{ padding-bottom:6px; margin-bottom:6px; border-bottom:1px solid var(--line); }
.loc-crumb{ display:block; font-size:13px; color:var(--nv-muted); padding:3px 0; }
.loc-crumb:hover{ color:var(--emerald-dk); }
.loc-crumb.lvl-1{ padding-left:14px; }
.loc-crumb.lvl-2{ padding-left:28px; }
.loc-crumb.active{ color:var(--nv-ink); font-weight:700; }
.loc-picker-search-wrap{ margin-bottom:6px; }
.loc-picker-search{
  width:100%; border:1.5px solid var(--line); border-radius:8px; padding:7px 10px;
  font-family:var(--font-body); font-size:13px; color:var(--nv-ink); background:var(--paper);
}
.loc-picker-search:focus{ border-color:var(--emerald); outline:none; }
.loc-picker-list{ max-height:230px; overflow-y:auto; padding-right:4px; }
.loc-picker-item{ display:block; font-size:13.5px; color:var(--ink-soft); padding:5px 4px; border-radius:6px; }
.loc-picker-item:hover{ color:var(--emerald-dk); background:var(--paper); }
.loc-picker-item[hidden]{ display:none; }
.loc-picker-empty{ font-size:12.5px; color:var(--nv-muted); padding:6px 4px; }

.toolbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; font-family:var(--font-body); }
.toolbar .chips{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.chip-filter{ display:inline-flex; align-items:center; gap:7px; background:var(--emerald-tint); color:var(--emerald-dk); border-radius:999px; padding:6px 8px 6px 13px; font-size:12.5px; font-weight:600; }
.chip-filter button,.chip-filter a{ border:0; background:none; color:inherit; padding:0; display:grid; place-items:center; width:16px; height:16px; border-radius:50%; font-size:11px; }
.chip-filter button:hover,.chip-filter a:hover{ background:rgba(10,74,55,.12); }
.filters-toggle{ display:none; }

.recent-searches{ margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.recent-searches-label{ display:block; font-size:12.5px; font-weight:700; color:var(--nv-muted); text-transform:uppercase; letter-spacing:.03em; margin-bottom:10px; }
.recent-searches-list{ display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; }
.recent-search-chip{
  display:inline-flex; align-items:center; background:var(--card); color:var(--nv-ink);
  border:1px solid var(--line); border-radius:999px; padding:7px 16px; font-size:13px; font-weight:600;
  transition:background .15s ease, border-color .15s ease;
}
.recent-search-chip:hover{ background:var(--emerald-tint); border-color:var(--emerald); color:var(--emerald-dk); }
.sort{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--nv-muted); }
.sort select{ border:1.5px solid var(--line); border-radius:9px; padding:8px 12px; font-size:13.5px; color:var(--nv-ink); background:var(--card); font-family:var(--font-body); cursor:pointer; }
.sort select:focus{ border-color:var(--emerald); outline:none; }

.pagination{ display:flex; justify-content:center; gap:6px; margin-top:30px; flex-wrap:wrap; }
.pagination a,.pagination span{ min-width:38px; height:38px; padding:0 8px; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--line); border-radius:9px; font-size:14px; font-weight:500; color:var(--ink-soft); transition:all .15s; }
.pagination a:hover{ border-color:var(--emerald); color:var(--emerald-dk); }
.pagination a.current,.pagination span.current{ background:var(--nv-ink); border-color:var(--nv-ink); color:#fff; }
.pagination span.disabled{ opacity:.4; border-color:var(--line); }

.results-empty{ text-align:center; padding:64px 20px; background:var(--card); border:1px solid var(--line); border-radius:var(--nv-radius); font-family:var(--font-body); }
.results-empty i{ font-size:44px; color:var(--nv-muted); margin-bottom:16px; display:block; }
.results-empty h3{ font-family:var(--font-display); font-size:19px; margin-bottom:8px; color:var(--nv-ink); }
.results-empty p{ color:var(--nv-muted); font-size:14px; margin-bottom:20px; }

@media(max-width:768px){
  .listing-layout{ grid-template-columns:1fr; }
  .filters{ display:none; }
  .filters.open{ display:block; position:static; margin-bottom:18px; }
  .filters-toggle{ display:inline-flex; }
  .toolbar{ align-items:flex-start; }
}

/* ---------- Listing detail page ---------- */
.detail-layout{ display:grid; grid-template-columns:1.5fr 1fr; gap:26px; padding:22px 0 40px; align-items:start; font-family:var(--font-body); }

.gallery{ background:var(--card); border:1px solid var(--line); border-radius:var(--nv-radius); overflow:hidden; }
.gallery-main{ position:relative; aspect-ratio:16/10; background:var(--paper); display:flex; align-items:center; justify-content:center; }
.gallery-main img{ width:100%; height:100%; object-fit:contain; cursor:zoom-in; }
.gallery-main .no-img{ font-size:64px; color:var(--nv-muted); }
.gallery-thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; padding:10px; }
.gallery-thumbs .thumb{ border:2px solid transparent; border-radius:9px; overflow:hidden; padding:0; background:var(--paper); cursor:pointer; aspect-ratio:4/3; }
.gallery-thumbs .thumb img{ width:100%; height:100%; object-fit:cover; }
.gallery-thumbs .thumb.active{ border-color:var(--emerald); }

.panel{ background:var(--card); border:1px solid var(--line); border-radius:var(--nv-radius); padding:22px; }
.panel + .panel{ margin-top:18px; }
.panel h2{ font-family:var(--font-display); line-height:1.15; font-size:19px; margin-bottom:14px; color:var(--nv-ink); }

.bid-panel{ position:sticky; top:84px; }
.bid-panel .status-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.status-pill{
  display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:700;
  letter-spacing:.07em; text-transform:uppercase; color:var(--danger);
  background:var(--danger-tint); border-radius:999px; padding:5px 12px;
}
.detail-title{ font-family:var(--font-display); line-height:1.2; font-size:clamp(20px,2.4vw,26px); letter-spacing:-.02em; color:var(--nv-ink); }
.detail-loc{ display:flex; align-items:center; gap:6px; color:var(--nv-muted); font-size:13.5px; margin-top:8px; }

.bid-current{
  background:var(--gold-tint); border:1px solid #EBD6AC; border-radius:12px;
  padding:16px 18px; margin:18px 0 14px;
  display:flex; justify-content:space-between; align-items:center; gap:10px;
}
.bid-current .label{ font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-dk); font-weight:700; }
.bid-current .amount{ font-family:var(--font-display); font-size:30px; font-weight:700; color:var(--nv-ink); line-height:1.1; }
.bid-current .meta{ font-size:12.5px; color:var(--nv-muted); }
.big-count{ text-align:right; }
.big-count .clock{ font-family:var(--font-display); font-size:21px; font-weight:700; font-variant-numeric:tabular-nums; color:var(--danger); }
.big-count span{ display:block; font-size:11px; color:var(--nv-muted); text-transform:uppercase; letter-spacing:.08em; }

.bid-form{ display:flex; gap:9px; margin-bottom:10px; }
.bid-form .bid-input{
  flex:1; display:flex; align-items:center; gap:6px;
  border:1.5px solid var(--line); border-radius:999px; padding:0 8px 0 16px;
}
.bid-form .bid-input:focus-within{ border-color:var(--gold-dk); }
.bid-form .cur{ font-size:13px; font-weight:700; color:var(--nv-muted); }
.bid-form input{ border:0; outline:none; width:100%; padding:12px 0; font-weight:600; background:transparent; font-family:var(--font-body); font-size:14.5px; color:var(--nv-ink); }
.quick-bids{ display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.quick-bids button{
  flex:1; border:1.5px solid var(--line); background:var(--paper); border-radius:999px;
  padding:7px 4px; font-size:12.5px; font-weight:600; color:var(--ink-soft); font-family:var(--font-body);
}
.quick-bids button:hover{ border-color:var(--gold-dk); color:var(--gold-dk); }
.bid-note{ font-size:12px; color:var(--nv-muted); text-align:center; margin:10px 0 0; }
.detail-notice{ font-size:12.5px; padding:10px 14px; border-radius:8px; display:flex; align-items:flex-start; gap:6px; margin-bottom:14px; }
.detail-notice.warn{ background:var(--gold-tint); border:1px solid #EBD6AC; color:var(--gold-dk); }
.detail-notice.err{ background:var(--danger-tint); border:1px solid #eab5a8; color:var(--danger); }

.seller{ display:flex; align-items:center; gap:13px; }
.avatar{
  width:48px; height:48px; border-radius:50%; background:var(--emerald); color:#fff;
  display:grid; place-items:center; font-weight:700; font-family:var(--font-display); font-size:17px; flex-shrink:0;
}
.seller b{ display:block; font-size:15px; color:var(--nv-ink); }
.seller .s-meta{ font-size:12.5px; color:var(--nv-muted); }
.verified{ color:var(--emerald-dk); font-weight:700; font-size:12px; display:inline-flex; gap:4px; align-items:center; }

/* Seller profile */
.seller-hero{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.seller-hero .avatar{ width:76px; height:76px; font-size:28px; }
.seller-hero h1{ font-family:var(--font-display); font-size:22px; margin:0 0 4px; color:var(--nv-ink); }
.seller-hero .s-meta{ font-size:13.5px; color:var(--nv-muted); }
.seller-stats{ display:flex; gap:22px; margin-top:10px; flex-wrap:wrap; }
.seller-stat b{ display:block; font-size:18px; color:var(--nv-ink); font-family:var(--font-display); }
.seller-stat span{ font-size:12px; color:var(--nv-muted); }

.star-rating{ display:inline-flex; gap:2px; color:#E5E7EB; font-size:15px; }
.star-rating .fa-star{ color:var(--gold, #D4A017); }
.star-rating.sm{ font-size:12px; }

/* Stars rendered value=5..1 in DOM, row-reverse so they display 1..5 left-to-right;
   hovering a star fills itself + all lower-value stars (its DOM-following siblings). */
.star-input{ display:inline-flex; flex-direction:row-reverse; gap:6px; font-size:24px; cursor:pointer; }
.star-input i{ color:#E5E7EB; transition:color .1s; }
.star-input i.active{ color:var(--gold, #D4A017); }
.star-input:hover i{ color:#E5E7EB; }
.star-input i:hover,.star-input i:hover ~ i{ color:var(--gold, #D4A017); }

.review-card{ padding:16px 0; border-bottom:1px solid var(--line); }
.review-card:last-child{ border-bottom:none; }
.review-card-head{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.review-card .avatar{ width:34px; height:34px; font-size:13px; }
.review-card-name{ font-weight:700; font-size:13.5px; color:var(--nv-ink); }
.review-card-date{ font-size:11.5px; color:var(--nv-muted); margin-left:auto; }
.review-card p{ font-size:13.5px; color:var(--ink-soft); margin:6px 0 0; }
.no-reviews{ font-size:13.5px; color:var(--nv-muted); padding:12px 0; }

.spec-table{ width:100%; border-collapse:collapse; font-size:14px; }
.spec-table td{ padding:9px 0; border-bottom:1px dashed var(--line); }
.spec-table td:first-child{ color:var(--nv-muted); width:42%; }
.spec-table tr:last-child td{ border-bottom:0; }

.desc p{ color:var(--ink-soft); font-size:14.5px; margin:0 0 12px; white-space:pre-line; }

@media(max-width:900px){
  .detail-layout{ grid-template-columns:1fr; }
  .bid-panel{ position:static; }
}
@media(max-width:480px){
  .gallery-thumbs{ grid-template-columns:repeat(4,1fr); gap:6px; padding:8px; }
  .bid-current .amount{ font-size:24px; }
  .quick-bids button{ flex-basis:calc(50% - 4px); }
}
