:root{
  --bg:#0b0f17;
  --card:#121a27;
  --muted:#8aa0b8;
  --text:#eaf2ff;
  --accent:#4dd7ff;
}

*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.card{width:min(420px,92vw);background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}
label{display:block;margin-top:12px;color:var(--muted);font-size:14px}
input,select,textarea{width:100%;margin-top:6px;background:#0c1320;color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px}
button{margin-top:16px;width:100%;padding:12px;border:0;border-radius:12px;background:var(--accent);color:#04101a;font-weight:700;cursor:pointer}
.error{color:#ff7b7b}

.admin-shell{width:100%;min-height:100vh}
.admin-header{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(11,15,23,.92);backdrop-filter:blur(10px)}
.brand{font-weight:800}
.admin-nav{display:flex;gap:12px;flex-wrap:wrap}
.admin-nav a{color:var(--muted)}
.admin-nav a.nav-active{color:var(--accent);font-weight:700}
.autopost-toggle{all:unset;cursor:pointer;font-size:13px;font-weight:600;padding:4px 10px;border-radius:8px;white-space:nowrap}
.autopost-toggle.on{color:#22c55e}
.autopost-toggle.on::before{content:"\1F7E2 "}
.autopost-toggle.off{color:#ef4444}
.autopost-toggle.off::before{content:"\1F534 "}
.admin-main{padding:18px 16px}

.container{width:min(1100px,92vw);margin:0 auto;padding:16px}
.public-header{position:sticky;top:0;background:rgba(11,15,23,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:20}
.public-header-inner{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900}
.logo img{width:34px;height:34px;border-radius:8px;object-fit:cover;background:#fff}
.search{flex:1;display:flex;gap:10px}
.search input{margin-top:0}

.deal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.deal-grid {
  background: var(--card);
  padding: 14px;
  border-radius: 18px;
}

@media (max-width: 950px){ .deal-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 640px){ .deal-grid{grid-template-columns:1fr} }

.deal-card {
  border: none;                     /* reset everything */
  border-radius: 12px;
}

/* Only add separator where you really want it */
.deal-grid .deal-card-wrap + .deal-card-wrap .deal-card {
  border-top: 1px solid var(--border);
}
.deal-card .img{aspect-ratio:16/9;background:#0c1320;display:block}
.deal-card .img img{width:100%;height:100%;object-fit:cover;display:block}
.deal-card .body{padding:12px}
.deal-card .img img.logo-fallback {
  object-fit: contain;
  padding: 20px;
  background: #0c1320;
}

.meta{color:var(--muted);font-size:13px}
.price{display:flex;gap:10px;align-items:baseline;margin-top:8px}
.price .now{font-size:20px;font-weight:900}
.price .was{color:var(--muted);text-decoration:line-through;font-size:14px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.badge{font-size:12px;padding:5px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}

.mobile-bottom-nav{
  display:none;
  position:fixed;left:0;right:0;bottom:0;
  background:rgba(11,15,23,.95);
  border-top:1px solid var(--border);
  padding:10px 10px calc(10px + env(safe-area-inset-bottom));
  z-index:30;
}
.mobile-bottom-nav .row{display:flex;justify-content:space-around;gap:6px}
.mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font-size:12px}
.mobile-bottom-nav a strong{font-size:12px;color:var(--text);font-weight:700}

@media (max-width: 760px){
  .mobile-bottom-nav{display:block}
  body{padding-bottom:78px} /* space for bottom nav */
}

.deal-card-wrap {
  position: relative;
}
.deal-card-wrap::before {
  display: none !important;
}
.deal-card::before {
  display: block;
}

.admin-actions.inside-card {
  padding: 8px 12px 12px;
  background: var(--card);
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  border-radius: 0 0 16px 16px;
}

.admin-actions {
  display: flex;
  gap: 6px;
  margin-top: 6px;
}

.admin-actions a {
  font-size: 11px;
  padding: 4px 6px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
}

.admin-actions a:first-child {
  background: #000;
  color: #fff;
}

.admin-actions a:last-child {
  background: #1877F2;
  color: #fff;
}

/* Taxonomy Admin */
.tax-container{width:min(1100px,96vw);margin:0 auto}
.tax-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.tax-header h1{margin:0;font-size:22px}
.tax-count{color:var(--muted);font-size:14px}

.tax-flash{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:14px}
.tax-flash-ok{background:#0d2818;color:#4dff91;border:1px solid #1a4d2e}
.tax-flash-err{background:#2a0f0f;color:#ff7b7b;border:1px solid #4d1a1a}

.tax-quick-add{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:16px}
.tax-quick-fields{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.tax-quick-fields input{flex:1;min-width:140px;margin-top:0;padding:9px 12px;font-size:14px}
.tax-quick-fields button{flex:0 0 auto;margin-top:0;width:auto;padding:9px 18px;font-size:14px;border-radius:10px;white-space:nowrap}

.tax-bulk-bar{align-items:center;gap:12px;padding:10px 14px;background:#1a1a2e;border:1px solid var(--accent);border-radius:10px;margin-bottom:10px;font-size:14px;color:var(--accent)}

.tax-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border)}
.tax-table{width:100%;border-collapse:collapse;font-size:14px}
.tax-table thead{background:rgba(255,255,255,.03)}
.tax-table th{text-align:left;padding:10px 12px;color:var(--muted);font-weight:600;font-size:13px;border-bottom:1px solid var(--border);white-space:nowrap}
.tax-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
.tax-th-check{width:36px}
.tax-name{font-weight:600}
.tax-slug code{background:rgba(255,255,255,.06);padding:2px 6px;border-radius:4px;font-size:13px}
.tax-desc{color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tax-deals{text-align:center;font-weight:600;color:var(--accent)}
.tax-date{color:var(--muted);white-space:nowrap;font-size:13px}
.tax-actions{white-space:nowrap}
.tax-empty{text-align:center;padding:32px 12px;color:var(--muted)}

.tax-btn-sm{padding:5px 10px;border:0;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}
.tax-btn-edit{background:rgba(77,215,255,.15);color:var(--accent)}
.tax-btn-del{background:rgba(255,123,123,.12);color:#ff7b7b}
.tax-btn-save{background:var(--accent);color:#04101a}
.tax-btn-cancel{background:rgba(255,255,255,.08);color:var(--muted)}
.tax-btn-danger{padding:6px 14px;border:0;border-radius:8px;background:#b91c1c;color:#fff;cursor:pointer;font-size:13px;font-weight:600}

.tax-edit-row td{background:rgba(77,215,255,.04);padding:14px}
.tax-inline-form{margin:0}
.tax-inline-fields{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.tax-inline-fields label{flex:1;min-width:140px;font-size:12px;color:var(--muted);margin:0}
.tax-inline-fields label input{width:100%;margin-top:4px;padding:8px 10px;font-size:14px}
.tax-inline-btns{display:flex;gap:6px;align-items:flex-end;padding-bottom:1px}

.tax-pagination{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:14px;flex-wrap:wrap}
.tax-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:8px;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:13px;text-decoration:none}
.tax-pagination a:hover{border-color:var(--accent);color:var(--accent)}
.tax-page-current{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:8px;background:var(--accent);color:#04101a;font-size:13px;font-weight:700}
.tax-page-info{color:var(--muted);font-size:13px;margin-left:8px}

@media (max-width:640px){
  .tax-quick-fields{flex-direction:column}
  .tax-quick-fields input,.tax-quick-fields button{width:100%;min-width:0}
  .tax-inline-fields{flex-direction:column}
}

/* Chip picker (deal edit categories/tags) */
.chip-picker{margin-top:6px}
.chip-picker-search{display:block;width:100%;padding:9px 12px;background:#0c1320;color:var(--text);border:1px solid var(--border);border-radius:10px;font-size:13px;margin-bottom:8px}
.chip-picker-search:focus{outline:none;border-color:var(--accent)}
.chip-picker-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:calc(3 * 38px);overflow:hidden;transition:max-height .25s ease}
.chip-picker-wrap.expanded{max-height:none}
.chip-picker-wrap label{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:13px;cursor:pointer;margin:0;user-select:none;transition:all .12s;white-space:nowrap}
.chip-picker-wrap label:nth-child(4n+2),.chip-picker-wrap label:nth-child(4n+4){background:rgba(255,255,255,.03)}
.chip-picker-wrap label:hover{border-color:rgba(77,215,255,.4);color:var(--text)}
.chip-picker-wrap label.selected{background:rgba(77,215,255,.15);border-color:var(--accent);color:var(--accent);font-weight:600}
.chip-picker-wrap label input{display:none}
.chip-picker-footer{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:12px;color:var(--muted)}
.chip-picker-toggle{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0;font-weight:600;margin:0;width:auto}
