/* ---------- Polished v2 Theme (Site) ---------- */
:root{
  --bg:#0b0f10;           /* page background */
  --surface:#11161a;      /* elevated card */
  --surface-2:#0f1418;    /* subdued card */
  --border:#1e2933;
  --text:#e7edf2;
  --text-weak:#a9b4bf;
  --muted:#94a3b8;
  --primary:#ff6a00;
  --primary-600:#ff7d1a;
  --ring:rgba(255,106,0,.38);
  --shadow:0 8px 22px rgba(0,0,0,.28);
  --radius:14px;
}

/* Global baseline */
html,body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
a{color:var(--text);text-decoration:none}
a:hover{color:#fff}
small, .muted{color:var(--text-weak)}

/* Header */
.site-header{background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,0));border:none!important;box-shadow:none!important}
.site-header .brand{font-weight:800;letter-spacing:.2px}

/* Cards / surfaces */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.card.subtle{background:var(--surface-2)}

/* Buttons */
.btn, button, .cta{
  background:var(--primary); color:#000; font-weight:800;
  border:0; border-radius:var(--radius); padding:14px 22px;
  box-shadow:0 8px 22px rgba(255,106,0,.18); transition:.18s ease;
}
.btn:hover,button:hover,.cta:hover{ transform:translateY(-1px); background:var(--primary-600)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn.ghost:hover{border-color:var(--primary);color:#fff}

/* Inputs */
.input, input[type=text], input[type=email], input[type=search], textarea, select{
  background:var(--surface-2); color:var(--text); border:1px solid var(--border);
  border-radius:12px; padding:12px 14px; outline:0; width:100%;
}
.input:focus, input:focus, textarea:focus, select:focus{ box-shadow:0 0 0 3px var(--ring); border-color:var(--primary)}

/* Feature badges row */
.badges{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.badges .store{display:inline-flex;align-items:center; gap:12px;
  background:#0a0d10;border:1px solid var(--border);border-radius:12px;padding:12px 16px;color:#fff;
  box-shadow:0 6px 16px rgba(0,0,0,.22);
}
.badges .store .sub{display:block;font-size:.72rem;color:var(--text-weak)}
.badges .store .title{display:block;font-size:1.05rem;font-weight:800}

/* Footer */
.site-footer{color:var(--text-weak);border-top:1px solid var(--border);padding:18px 0}

/* Admin: tabs */
.tabs{display:flex;gap:10px;margin-bottom:10px}
.tab{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:12px;cursor:pointer}
.tab.active{border-color:var(--primary); box-shadow:0 0 0 2px var(--ring) inset}
.tab:focus{outline:none; box-shadow:0 0 0 3px var(--ring)}

.panel{background:transparent}

/* Admin: map container */
#adminMap, .admin-map, .mapbox{min-height:520px;background:var(--surface-2);border:1px solid var(--border);border-radius:16px; overflow:hidden}

/* Admin: cards/sections */
.section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px}

/* Make hero button centered on small widths */
.hero .cta-wrap{display:flex;justify-content:center}
