:root{
  --wh-bg:#020617;
  --wh-surface:#050816;
  --wh-surface-alt:#0b1120;
  --wh-text:#e5e7eb;
  --wh-muted:#9ca3af;
  --wh-accent:#22c55e;
  --wh-accent-soft:rgba(34,197,94,0.12);
  --wh-border:#1f2937;
  --wh-border-soft:#111827;
  --wh-radius-card:16px;
  --wh-radius-pill:999px;
  --wh-transition-fast:120ms ease-out;
  --wh-transition:160ms ease-out;
}

body{
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:14px;
  line-height:1.5;
}
h1,h2,h3,h4{ font-weight:600; color:var(--wh-text); }

/* badges: solid + white text */
.wh-badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  color:#fff !important;
}
.wh-badge--instock{ background:#14532d !important; }
.wh-badge--preorder{ background:#78350f !important; }
.wh-badge--outofstock{ background:#7f1d1d !important; }
.wh-badge--unknown{ background:#334155 !important; }

/* product layout: main + sticky sidebar */
body.single-wh_product .wh-product-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 340px;
  gap:20px;
  align-items:start;
}
body.single-wh_product .wh-product-sidebar{
  position:sticky;
  top:18px;
}
@media (max-width:1024px){
  body.single-wh_product .wh-product-layout{ grid-template-columns:1fr; }
  body.single-wh_product .wh-product-sidebar{ position:static; }
}

/* gallery: thumbs left, main right */
body.single-wh_product .wh-gallery{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:12px;
  margin:12px 0;
  align-items:start;
}
body.single-wh_product .wh-gallery__thumbs{
  display:flex;
  flex-direction:column;
  gap:8px;
}
body.single-wh_product .wh-gallery__thumbs img{
  width:76px; height:76px;
  object-fit:cover; object-position:center;
  border-radius:10px;
  border:1px solid #374151;
  cursor:pointer;
  opacity:.92;
  user-select:none;
  -webkit-user-drag:none;
  transition:transform var(--wh-transition), box-shadow var(--wh-transition), border-color var(--wh-transition), opacity var(--wh-transition);
}
body.single-wh_product .wh-gallery__thumbs img:hover,
body.single-wh_product .wh-gallery__thumbs img:focus{
  transform:translateY(-1px);
  border-color:var(--wh-accent);
  box-shadow:0 10px 20px rgba(0,0,0,.35);
  opacity:1;
  outline:none;
}
body.single-wh_product .wh-gallery__thumbs img.is-active{
  border-color:var(--wh-accent);
  box-shadow:0 0 0 2px rgba(34,197,94,.18);
  opacity:1;
}

/* zoom wrapper */
body.single-wh_product .wh-zoom{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  border:1px solid #374151;
  background:#020617;
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  cursor:zoom-in;
  touch-action:none;
}
body.single-wh_product .wh-zoom img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  transition:opacity var(--wh-transition-fast);
}

body.single-wh_product .wh-zoom.is-zooming{ cursor:zoom-out; }
body.single-wh_product .wh-zoom.is-zooming img{ opacity:0; }
body.single-wh_product .wh-zoom__lens{
  position:absolute;
  width:140px;
  height:140px;
  border-radius:14px;
  border:2px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.08);
  box-shadow:0 16px 30px rgba(0,0,0,.35);
  pointer-events:none;
  opacity:0;
  transform:translate(-9999px, -9999px);
  transition:opacity var(--wh-transition-fast);
  backdrop-filter: blur(1px);
}
body.single-wh_product .wh-zoom.is-zooming .wh-zoom__lens{ opacity:1; }

/* price history container (existing) */
.wh-price-history{
  border:1px solid var(--wh-border);
  background:var(--wh-surface);
  border-radius:16px;
  padding:12px;
  margin:16px 0;
}
.wh-price-history__title{
  font-weight:800;
  margin:0 0 8px;
  color:var(--wh-text);
}
.wh-price-history__note{
  font-size:12px;
  color:var(--wh-muted);
  margin:6px 0 10px;
}
.wh-price-history__row{
  display:flex;
  gap:10px;
  align-items:center;
  margin:0 0 10px;
}
.wh-price-history select{
  background:var(--wh-surface-alt);
  border:1px solid var(--wh-border);
  color:var(--wh-text);
  border-radius:10px;
  padding:6px 10px;
  font-size:13px;
}

.wh-price--updating{
  opacity:.65;
  transition:opacity 160ms ease-out;
}

/* mobile gallery */
@media (max-width:768px){
  body.single-wh_product .wh-gallery{
    grid-template-columns:1fr;
  }
  body.single-wh_product .wh-gallery__thumbs{
    flex-direction:row;
    overflow:auto;
    padding-bottom:4px;
  }
}

/* =========================
   (2) Card “Drop/Restock” badges
   ========================= */
.wh-card__badges{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }

.wh-badge--drop{
  background: rgba(34,197,94,0.18) !important;
  border: 1px solid rgba(34,197,94,0.35);
  color: #fff !important;
}
.wh-badge--restock{
  background: rgba(59,130,246,0.18) !important;
  border: 1px solid rgba(59,130,246,0.35);
  color: #fff !important;
}

/* =========================
   (3) Sticky mobile action bar
   ========================= */
.wh-mobilebar{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9999;
  background: rgba(2,6,23,0.92);
  border-top:1px solid var(--wh-border);
  padding:10px 12px env(safe-area-inset-bottom);
  display:none;
  gap:10px;
  backdrop-filter: blur(10px);
}
.wh-mobilebar .wh-btn{ flex:1; }
.wh-mobilebar__share{ flex:0 0 auto; min-width:84px; }

.wh-mobilebar__buy.is-disabled{
  pointer-events:none;
  opacity:.55;
}

@media (max-width:1024px){
  body.single-wh_product .wh-mobilebar{ display:flex; }
  body.single-wh_product{ padding-bottom: 76px; }
}

/* =========================
   (7) Watch & Alerts panel
   ========================= */
.wh-alert-prefs{
  border:1px solid var(--wh-border);
  background: var(--wh-surface);
  border-radius: var(--wh-radius-card);
  padding: 12px;
  margin: 12px 0;
}
.wh-alert-prefs__title{
  font-weight:800;
  color:var(--wh-text);
  margin:0 0 10px;
}
.wh-alert-prefs__note{
  color:var(--wh-muted);
  font-size:13px;
  margin:0 0 10px;
}
.wh-toggle{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px;
  border:1px solid var(--wh-border-soft);
  background: var(--wh-surface-alt);
  border-radius: 14px;
  margin: 0 0 10px;
}
.wh-toggle input{ position:absolute; opacity:0; pointer-events:none; }
.wh-toggle__ui{
  width:44px; height:26px;
  border-radius: 999px;
  border:1px solid var(--wh-border);
  background: rgba(255,255,255,0.06);
  position:relative;
  flex:0 0 auto;
  margin-top:2px;
}
.wh-toggle__ui:after{
  content:"";
  width:22px; height:22px;
  border-radius: 999px;
  background:#e5e7eb;
  position:absolute;
  left:2px; top:1px;
  transition: transform var(--wh-transition);
}
.wh-toggle input:checked + .wh-toggle__ui{
  background: var(--wh-accent-soft);
  border-color: rgba(34,197,94,0.35);
}
.wh-toggle input:checked + .wh-toggle__ui:after{
  transform: translateX(18px);
  background: #fff;
}
.wh-toggle__text strong{ display:block; color:var(--wh-text); font-size:14px; }
.wh-toggle__text span{ display:block; color:var(--wh-muted); font-size:12px; margin-top:2px; }

.wh-threshold{
  border:1px solid var(--wh-border-soft);
  background: var(--wh-surface-alt);
  border-radius:14px;
  padding:10px;
  margin: 0 0 10px;
}
.wh-threshold__row{ display:flex; gap:10px; justify-content:space-between; align-items:center; }
.wh-threshold__input{
  display:flex; align-items:center; gap:6px;
  border:1px solid var(--wh-border);
  border-radius:12px;
  padding:6px 10px;
}
.wh-threshold__input input{
  width:120px;
  background:transparent;
  border:0;
  outline:none;
  color:var(--wh-text);
}
.wh-threshold__sym{ color:var(--wh-muted); font-weight:700; }
.wh-lock{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  color:#fff;
  background:#334155;
}
.wh-threshold__hint{ color:var(--wh-muted); font-size:12px; margin-top:8px; }
.wh-threshold__preview{ color:var(--wh-muted); font-size:12px; margin-top:8px; }

.wh-alert-prefs__save{ width:100%; min-height:44px; }

.wh-toast{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--wh-border);
  background: rgba(34,197,94,0.10);
  color: var(--wh-text);
  font-size:13px;
}

/* =========================
   (8) Availability timeline
   ========================= */
.wh-avail{
  border:1px solid var(--wh-border);
  background: var(--wh-surface);
  border-radius: var(--wh-radius-card);
  padding: 12px;
  margin: 12px 0;
}
.wh-avail__head{ display:flex; justify-content:space-between; gap:10px; align-items:baseline; margin:0 0 10px; }
.wh-avail__title{ font-weight:800; color:var(--wh-text); }
.wh-avail__meta{ font-size:12px; color:var(--wh-muted); }
.wh-avail__bar{
  height:12px;
  border-radius:999px;
  overflow:hidden;
  background: rgba(255,255,255,0.06);
  border:1px solid var(--wh-border-soft);
  display:flex;
}
.wh-avail__seg{ height:100%; }
.wh-avail__seg--instock{ background: rgba(34,197,94,0.65); }
.wh-avail__seg--preorder{ background: rgba(245,158,11,0.65); }
.wh-avail__seg--outofstock{ background: rgba(148,163,184,0.35); }
.wh-avail__seg--unknown{ background: rgba(51,65,85,0.45); }
.wh-avail__legend{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:10px;
  color:var(--wh-muted);
  font-size:12px;
}
.wh-avail__key:before{
  content:"";
  display:inline-block;
  width:10px; height:10px;
  border-radius:3px;
  margin-right:6px;
  vertical-align:-1px;
}
.wh-avail__key--instock:before{ background: rgba(34,197,94,0.75); }
.wh-avail__key--preorder:before{ background: rgba(245,158,11,0.75); }
.wh-avail__key--outofstock:before{ background: rgba(148,163,184,0.45); }
.wh-avail__key--unknown:before{ background: rgba(51,65,85,0.65); }

/* =========================
   (12) Blur-up images + skeleton
   ========================= */
.wh-card__img{ background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)); }
.wh-card__img img{
  opacity:0;
  transition: opacity var(--wh-transition);
}
.wh-card__img.is-loaded img{ opacity:1; }

.wh-skel{
  border-radius:14px;
  background: rgba(255,255,255,0.06);
  border:1px solid var(--wh-border-soft);
  position:relative;
  overflow:hidden;
}
.wh-skel:after{
  content:"";
  position:absolute; inset:0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
  animation: wh-sheen 1.2s infinite;
}
@keyframes wh-sheen{
  100%{ transform: translateX(100%); }
}

/* ===========================
   WealthHerd Search
   =========================== */
.whx-search{ color:var(--wh-text); }
.whx-search__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
}
@media (min-width:1024px){
  .whx-search__layout{
    grid-template-columns:320px minmax(0,1fr);
    gap:18px;
    align-items:start;
  }
}

.wh-search-shell{ margin: 8px 0 24px; }
.wh-search-topbar{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin: 10px 0 14px;
}
.wh-search-topbar__title{ font-weight:800; color:var(--wh-text); font-size:18px; }
.wh-search-topbar__count{ color:var(--wh-muted); font-size:12px; margin-top:2px; }

.wh-btn{
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px; padding:10px 12px;
  border:1px solid var(--wh-border);
  background:var(--wh-surface-alt);
  color:var(--wh-text);
  cursor:pointer;
  transition:transform var(--wh-transition), opacity var(--wh-transition);
}
.wh-btn:hover{ transform:translateY(-1px); }
.wh-btn--apply{ background: rgba(34,197,94,0.12); border-color: rgba(34,197,94,0.35); }
.wh-btn--ghost{ background: transparent; }

@media (min-width:1024px){
  .wh-btn--filters{ display:none; }
}

/* Layout */
.wh-search-layout{
  display:grid;
  grid-template-columns: 320px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.wh-search-sidebar{
  position:sticky;
  top:18px;
  border:1px solid var(--wh-border);
  background:var(--wh-surface);
  border-radius: var(--wh-radius-card);
  padding:12px;
}
@media (max-width:1024px){
  .wh-search-layout{ grid-template-columns: 1fr; }
  .wh-search-sidebar{ display:none; }
}

/* Sidebar header */
.wh-search-sidebar__head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:10px;
}
.wh-search-sidebar__title{ font-weight:800; }
.wh-search-reset{ color:var(--wh-muted); text-decoration:none; font-size:12px; }
.wh-search-reset:hover{ color:var(--wh-text); }
.wh-search-results-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin:2px 0 12px;
}
.wh-search-results-head__title{
  margin:0;
  font-size:28px;
  line-height:1.15;
  letter-spacing:-0.02em;
  color:var(--wh-text);
}
.wh-search-results-head__meta{
  margin-top:6px;
  display:flex;
  align-items:baseline;
  gap:6px;
  color:rgba(229,231,235,.82);
}
.wh-search-results-head__count{
  font-weight:800;
  font-size:14px;
  color:rgba(229,231,235,.92);
}
.wh-search-results-head__label{
  font-size:13px;
  color:rgba(156,163,175,.92);
}

.wh-search-filters-open{
  display:none;
  border:1px solid var(--wh-border);
  background:var(--wh-surface-alt);
  color:var(--wh-text);
  border-radius:12px;
  padding:10px 12px;
  font-weight:700;
  cursor:pointer;
  transition:transform var(--wh-transition), border-color var(--wh-transition), background var(--wh-transition);
}
.wh-search-filters-open:hover{
  transform:translateY(-1px);
  border-color:rgba(34,197,94,.45);
}
@media (max-width:1024px){
  .wh-search-filters-open{ display:inline-flex; }
}

/* Sidebar section titles: stronger + Amazon-like */
.wh-search-filter-group h3{
  margin:0 0 10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(156,163,175,.92);
}

/* Status pills (works with your existing label>input+span markup) */
.wh-search-filter-option{
  display:inline-flex;
  align-items:center;
  margin:0 8px 8px 0;
  position:relative;
}
.wh-search-filter-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.wh-search-filter-option span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(31,41,55,.95);
  background:rgba(11,17,32,.72);
  color:rgba(229,231,235,.90);
  font-weight:800;
  font-size:12px;
  transition:transform var(--wh-transition-fast), border-color var(--wh-transition-fast), background var(--wh-transition-fast);
}
.wh-search-filter-option span:hover{
  transform:translateY(-1px);
  border-color:rgba(34,197,94,.35);
}
.wh-search-filter-option input:checked + span{
  border-color:var(--wh-accent);
  background:var(--wh-accent-soft);
  color:rgba(229,231,235,.95);
}

/* Make result count inside the control bar more readable (if present) */
.wh-search-main-header-right span{
  color:rgba(229,231,235,.80);
  font-weight:800;
}
/* Filter groups */
.wh-filter-group{ padding:10px 0; border-top:1px solid rgba(255,255,255,0.06); }
.wh-filter-group:first-of-type{ border-top:0; padding-top:0; }
.wh-filter-group__title{ font-weight:700; margin-bottom:8px; }

/* Status pills */
.wh-pill-row{ display:flex; flex-wrap:wrap; gap:8px; }
.wh-pill{
  display:inline-flex; align-items:center;
  border:1px solid rgba(255,255,255,0.10);
  background: var(--wh-surface-alt);
  border-radius:999px;
  padding:7px 10px;
  cursor:pointer;
  user-select:none;
  transition: transform var(--wh-transition), border-color var(--wh-transition);
}
.wh-pill:hover{ transform: translateY(-1px); border-color: rgba(34,197,94,0.35); }
.wh-pill input{ position:absolute; opacity:0; pointer-events:none; }
.wh-pill span{ font-size:12px; color:var(--wh-text); }
.wh-pill input:checked + span{
  color:#fff;
  font-weight:800;
}
.wh-pill:has(input:checked){
  border-color: rgba(34,197,94,0.55);
  box-shadow: 0 0 0 2px rgba(34,197,94,0.12);
}

/* Price range */
.wh-price-range__fields{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}
.wh-field label{ display:block; font-size:11px; color:var(--wh-muted); margin-bottom:6px; }
.wh-money-input{
  display:flex; align-items:center;
  border:1px solid rgba(255,255,255,0.10);
  background: var(--wh-surface-alt);
  border-radius:12px;
  padding:8px 10px;
  gap:8px;
}
.wh-money-input__sym{ color:var(--wh-muted); font-weight:800; }
.wh-money-input input{
  width:100%;
  border:0; outline:0;
  background:transparent;
  color:var(--wh-text);
  font-size:13px;
}

/* Dual range slider */
.wh-price-range__slider{
  position:relative;
  height:34px;
  border-radius:12px;
}
.wh-range__track{
  position:absolute; left:0; right:0; top:50%;
  height:6px; transform:translateY(-50%);
  background: rgba(255,255,255,0.10);
  border-radius:999px;
}
.wh-range__fill{
  position:absolute; top:0; bottom:0;
  background: rgba(34,197,94,0.35);
  border-radius:999px;
}
.wh-range{
  position:absolute; left:0; right:0; top:0; bottom:0;
  width:100%;
  background:transparent;
  -webkit-appearance:none;
  appearance:none;
  pointer-events:none; /* handles still work, track doesn't eat clicks */
}
.wh-range::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  pointer-events:auto;
  width:18px; height:18px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,0.65);
  background: rgba(2,6,23,0.9);
  box-shadow:0 12px 20px rgba(0,0,0,.35);
}
.wh-range::-moz-range-thumb{
  pointer-events:auto;
  width:18px; height:18px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,0.65);
  background: rgba(2,6,23,0.9);
  box-shadow:0 12px 20px rgba(0,0,0,.35);
}

/* Controls + chips */
.wh-search-controls{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  border:1px solid var(--wh-border);
  background:var(--wh-surface);
  border-radius: var(--wh-radius-card);
  padding:10px 12px;
  margin-bottom:12px;
}
.wh-search-controls label{ color:var(--wh-muted); font-size:12px; }
.wh-search-controls select{
  margin-left:6px;
  background:var(--wh-surface-alt);
  border:1px solid var(--wh-border);
  color:var(--wh-text);
  border-radius:10px;
  padding:6px 10px;
  font-size:13px;
}
.wh-search-chips{ display:flex; flex-wrap:wrap; gap:8px; margin: 0 0 14px; }
.wh-chip{
  display:inline-flex; gap:8px; align-items:center;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.10);
  background: var(--wh-surface-alt);
  color:var(--wh-text);
  text-decoration:none;
  font-size:12px;
}
.wh-chip--clear{ opacity:.8; }
.wh-chip:hover{ border-color: rgba(34,197,94,0.35); }

/* Pagination */
.wh-pagination{
  display:flex; gap:8px; justify-content:center;
  margin:18px 0 6px;
}
.wh-pagination a, .wh-pagination span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:36px; height:36px;
  padding:0 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.10);
  background: var(--wh-surface-alt);
  color:var(--wh-text);
  text-decoration:none;
}
.wh-pagination .current{
  border-color: rgba(34,197,94,0.55);
  box-shadow: 0 0 0 2px rgba(34,197,94,0.12);
}

/* Drawer */
.wh-search-drawer{ display:none; }
@media (max-width:1024px){
  .wh-search-drawer{
    display:block;
    position:fixed; inset:0;
    pointer-events:none;
    z-index:9999;
  }
  .wh-search-drawer__overlay{
    position:absolute; inset:0;
    background:rgba(0,0,0,.55);
    opacity:0;
    transition:opacity 160ms ease-out;
  }
  .wh-search-drawer__panel{
    position:absolute; right:0; top:0; bottom:0;
    width:min(92vw, 420px);
    background: var(--wh-bg);
    border-left:1px solid rgba(255,255,255,0.10);
    transform: translateX(102%);
    transition:transform 180ms ease-out;
    padding:12px;
    overflow:auto;
  }
  .wh-search-drawer__head{
    display:flex; justify-content:space-between; align-items:center;
    font-weight:800; margin-bottom:10px;
  }
  .wh-icon-btn{
    border:1px solid rgba(255,255,255,0.10);
    background: var(--wh-surface-alt);
    color:var(--wh-text);
    border-radius:12px;
    width:34px; height:34px;
    cursor:pointer;
  }
  .wh-search-drawer__footer{
    position:sticky;
    bottom:0;
    background: linear-gradient(to top, rgba(2,6,23,0.98), rgba(2,6,23,0.65));
    padding:10px 0 2px;
    display:flex; gap:10px;
  }
  .wh-search-drawer__footer .wh-btn{ flex:1; }
  .wh-search-drawer.is-open{ pointer-events:auto; }
  .wh-search-drawer.is-open .wh-search-drawer__overlay{ opacity:1; }
  .wh-search-drawer.is-open .wh-search-drawer__panel{ transform: translateX(0); }
  .wh-no-scroll{ overflow:hidden; }
}

.whx-search__mobilebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:6px 0 12px;
}
@media (min-width:1024px){
  .whx-search__mobilebar{ display:none; }
}

.whx-btn{
  border:1px solid var(--wh-border);
  background:transparent;
  color:var(--wh-text);
  border-radius:12px;
  padding:10px 12px;
  font-weight:900;
  cursor:pointer;
  transition:transform var(--wh-transition), background var(--wh-transition), border-color var(--wh-transition);
}
.whx-btn:hover{ transform:translateY(-1px); border-color:#334155; }
.whx-btn--primary{
  background:var(--wh-accent);
  border-color:transparent;
  color:#04110a;
}
.whx-btn--ghost{ background:var(--wh-surface); }

.whx-search__sidebar{ position:relative; }
@media (min-width:1024px){
  .whx-search__sidebar{
    position:sticky;
    top:18px;
    max-height:calc(100vh - 24px);
    overflow:auto;
    padding-right:4px;
  }
}

.whx-filtercard{
  border:1px solid var(--wh-border);
  background:var(--wh-surface);
  border-radius:var(--wh-radius-card);
  padding:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.whx-filtercard__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.whx-filtercard__title{ font-weight:1000; letter-spacing:-.2px; }
.whx-filtercard__reset{
  color:var(--wh-muted);
  font-size:12px;
  text-decoration:none;
}
.whx-filtercard__reset:hover{ color:var(--wh-text); }

.whx-filtergroup{
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:10px;
  margin-top:10px;
}
.whx-filtergroup__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  background:transparent;
  border:0;
  padding:6px 0;
  color:var(--wh-text);
  font-weight:1000;
  cursor:pointer;
}
.whx-filtergroup__chev{
  color:var(--wh-muted);
  transition:transform var(--wh-transition-fast);
}
.whx-filtergroup.is-collapsed .whx-filtergroup__chev{ transform:rotate(-90deg); }
.whx-filtergroup__body{ padding:6px 0 2px; }
.whx-filtergroup.is-collapsed .whx-filtergroup__body{ display:none; }

.whx-pillrow{ display:flex; flex-wrap:wrap; gap:8px; }
.whx-pill{
  position:relative;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  border-radius:999px;
  padding:8px 10px;
  cursor:pointer;
  user-select:none;
  transition:background var(--wh-transition), border-color var(--wh-transition), transform var(--wh-transition);
}
.whx-pill:hover{ transform:translateY(-1px); border-color:rgba(255,255,255,.20); }
.whx-pill input{ position:absolute; opacity:0; pointer-events:none; }
.whx-pill span{ font-size:12px; font-weight:1000; color:var(--wh-text); }
.whx-pill.is-active{
  border-color:rgba(34,197,94,.50);
  background:rgba(34,197,94,.12);
}
.whx-filters__apply{ width:100%; margin-top:12px; }

.whx-searchhead{
  border:1px solid var(--wh-border);
  background:var(--wh-surface);
  border-radius:var(--wh-radius-card);
  padding:12px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  margin-bottom:12px;
}
.whx-searchhead__title{
  font-size:16px;
  font-weight:1100;
  letter-spacing:-.3px;
}
.whx-searchhead__count{
  font-size:12px;
  color:var(--wh-muted);
  margin-top:2px;
}
.whx-controls{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.whx-control{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--wh-muted);
}
.whx-control select{
  background:var(--wh-surface-alt);
  border:1px solid var(--wh-border);
  border-radius:12px;
  padding:8px 10px;
  color:var(--wh-text);
  font-weight:900;
}

.whx-chips{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
}
.whx-chips__label{
  color:var(--wh-muted);
  font-size:12px;
  font-weight:900;
}
.whx-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:1000;
  color:var(--wh-text);
  text-decoration:none;
}
.whx-chip:hover{ border-color:rgba(255,255,255,.20); }
.whx-chips__clear{
  margin-left:auto;
  color:var(--wh-muted);
  font-size:12px;
  text-decoration:none;
}
.whx-chips__clear:hover{ color:var(--wh-text); }

.whx-pagination{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:center;
  margin:16px 0 6px;
}
.whx-pagination a,
.whx-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  border-radius:12px;
  padding:0 12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  color:var(--wh-text);
  text-decoration:none;
  font-weight:1000;
}
.whx-pagination .current{
  border-color:rgba(34,197,94,.50);
  background:rgba(34,197,94,.12);
}
.whx-pagination a:hover{ border-color:rgba(255,255,255,.20); }

.whx-empty{
  border:1px dashed rgba(255,255,255,.15);
  border-radius:var(--wh-radius-card);
  padding:18px;
  background:rgba(255,255,255,.02);
}
.whx-empty__title{ font-weight:1100; font-size:16px; }
.whx-empty__text{ color:var(--wh-muted); margin-top:4px; }

/* =========================
   Releases Calendar (Premium)
========================= */
.wh-releases{
  margin: 18px 0 28px;
}
.wh-releases__header{
  display:flex;
  gap:14px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}
.wh-releases__title{
  margin:0;
  font-size:28px;
  letter-spacing:-0.02em;
}
.wh-releases__subtitle{
  margin:6px 0 0;
  color:var(--wh-muted);
  font-size:14px;
}
.wh-releases__subtitle strong{ color:var(--wh-text); }
.wh-releases__count{
  margin-left:10px;
  padding:2px 8px;
  border:1px solid var(--wh-border);
  border-radius:999px;
  color:var(--wh-text);
  background:rgba(255,255,255,.03);
  font-size:12px;
}

.wh-releases__controls{
  width:min(760px, 100%);
  display:flex;
  gap:10px;
  flex-direction:column;
}
.wh-releases__nav{
  display:flex;
  align-items:center;
  gap:8px;
}
.wh-releases__month{
  flex:1;
  min-width:180px;
  background:var(--wh-surface-alt);
  border:1px solid var(--wh-border);
  color:var(--wh-text);
  border-radius:12px;
  padding:8px 10px;
}

.wh-releases__filters{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  background:var(--wh-surface);
  border:1px solid var(--wh-border);
  border-radius:16px;
  padding:10px;
}

.wh-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--wh-border);
  text-decoration:none;
  color:var(--wh-text);
  transition:transform var(--wh-transition), box-shadow var(--wh-transition), background var(--wh-transition);
}
.wh-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 22px rgba(0,0,0,.35);
}
.wh-btn--ghost{ background:rgba(255,255,255,.03); }
.wh-btn--primary{
  background:var(--wh-accent);
  color:#061018;
  border-color:transparent;
  font-weight:800;
}

.wh-seg{
  display:flex;
  border:1px solid var(--wh-border);
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.02);
}
.wh-seg__btn{
  padding:8px 10px;
  font-size:13px;
  color:var(--wh-muted);
  text-decoration:none;
  border-right:1px solid var(--wh-border);
  transition:background var(--wh-transition), color var(--wh-transition);
}
.wh-seg__btn:last-child{ border-right:none; }
.wh-seg__btn.is-active{
  background:rgba(34,197,94,.14);
  color:var(--wh-text);
}

.wh-releases__sort{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--wh-muted);
  font-size:13px;
}
.wh-releases__sortsel{
  background:var(--wh-surface-alt);
  border:1px solid var(--wh-border);
  color:var(--wh-text);
  border-radius:12px;
  padding:8px 10px;
}

.wh-view{
  margin-left:auto;
  display:flex;
  gap:6px;
}
.wh-view__btn{
  width:40px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid var(--wh-border);
  background:rgba(255,255,255,.03);
  color:var(--wh-muted);
  text-decoration:none;
}
.wh-view__btn.is-active{
  color:var(--wh-text);
  border-color:rgba(34,197,94,.55);
  box-shadow:0 0 0 2px rgba(34,197,94,.12);
}

.wh-releases__strip{
  margin-top:14px;
  border:1px solid var(--wh-border);
  background:var(--wh-surface);
  border-radius:16px;
  padding:12px;
}
.wh-releases__striptitle{
  font-weight:800;
  margin-bottom:10px;
  color:var(--wh-text);
}
.wh-releases__stripitems{
  display:flex;
  gap:10px;
  overflow:auto;
  padding-bottom:4px;
}
.wh-releases__mini{
  display:flex;
  gap:10px;
  align-items:center;
  min-width:260px;
  border:1px solid var(--wh-border);
  background:rgba(255,255,255,.02);
  border-radius:14px;
  padding:8px;
  text-decoration:none;
  color:var(--wh-text);
  transition:transform var(--wh-transition), box-shadow var(--wh-transition);
}
.wh-releases__mini:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 22px rgba(0,0,0,.35);
}
.wh-releases__mini img,
.wh-releases__miniPh{
  width:44px; height:44px;
  border-radius:12px;
  object-fit:cover;
  background:rgba(255,255,255,.06);
  flex:0 0 auto;
}
.wh-releases__miniTitle{
  font-size:13px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.wh-releases__body{ margin-top:16px; }

.wh-releases__bucket{
  margin-top:18px;
}
.wh-releases__bucketTitle{
  margin:0 0 10px;
  font-size:15px;
  color:var(--wh-text);
  font-weight:900;
  letter-spacing:.01em;
  opacity:.95;
}
.wh-releases__day{
  border:1px solid var(--wh-border);
  background:var(--wh-surface);
  border-radius:16px;
  padding:12px;
  margin:10px 0;
}
.wh-releases__dayHead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.wh-releases__dayTitle{
  font-size:14px;
  font-weight:900;
  color:var(--wh-text);
}
.wh-releases__dayCount{
  font-size:12px;
  color:var(--wh-muted);
}

.wh-releases__items{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.wh-releases__items--grid{
  grid-template-columns:repeat(2, minmax(0,1fr));
}
@media (max-width:1024px){
  .wh-releases__items--grid{ grid-template-columns:1fr; }
}

/* Compact card styling for releases (reuse whx_card markup, but make it horizontal) */
.wh-release-card .wh-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:10px;
  border-radius:16px;
  border:1px solid var(--wh-border);
  background:rgba(255,255,255,.02);
}
.wh-release-card .wh-card__img{
  width:78px;
  height:78px;
  border-radius:14px;
  overflow:hidden;
  flex:0 0 auto;
}
.wh-release-card .wh-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.wh-release-card .wh-card__body{
  flex:1 1 auto;
}
.wh-release-card .wh-card__title{
  margin:0 0 4px;
  font-size:14px;
  line-height:1.25;
}
.wh-release-card .wh-card__series{
  font-size:12px;
  color:var(--wh-muted);
  margin-bottom:8px;
}
.wh-release-card .wh-card__actions{
  flex:0 0 auto;
}
.wh-release-card .wh-btn-watchlist{
  border-radius:12px;
}

/* Empty state */
.wh-releases__empty{
  border:1px solid var(--wh-border);
  background:var(--wh-surface);
  border-radius:16px;
  padding:18px;
  text-align:left;
}
.wh-releases__empty h3{
  margin:0 0 6px;
}
.wh-releases__empty p{
  margin:0 0 12px;
  color:var(--wh-muted);
}
.wh-releases__emptyBtns{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.wh-locale-switch{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:40px; /* reserve height (no CLS) */
}
.wh-locale-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid var(--wh-border);
  background:var(--wh-surface-alt);
  color:var(--wh-text);
  cursor:pointer;
  font-weight:900;
  line-height:1;
}
.wh-locale-btn:focus{
  outline:none;
  box-shadow:0 0 0 2px rgba(34,197,94,0.18);
}
.wh-locale-flag{ font-size:16px; }
.wh-locale-code{ font-size:12px; letter-spacing:.08em; }
.wh-locale-chev{ color:var(--wh-muted); font-size:12px; }

.wh-locale-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:240px;
  padding:8px;
  margin:0;
  list-style:none;
  border-radius:14px;
  border:1px solid var(--wh-border);
  background:var(--wh-bg);
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  z-index:9999;
}
.wh-locale-item{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border-radius:12px;
  border:1px solid transparent;
  background:transparent;
  color:var(--wh-text);
  cursor:pointer;
  text-align:left;
}
.wh-locale-item:hover{
  background:rgba(255,255,255,0.03);
  border-color:rgba(255,255,255,0.08);
}
.wh-locale-item[aria-selected="true"]{
  border-color:rgba(34,197,94,0.35);
  background:rgba(34,197,94,0.10);
}
.wh-locale-name{ font-weight:900; font-size:13px; }

/* Pagination tweaks for releases */
.wh-pagination--releases ul{
  list-style:none;
  display:flex;
  gap:8px;
  padding:0;
  margin:14px 0 0;
  justify-content:center;
  flex-wrap:wrap;
}
.wh-pagination--releases a,
.wh-pagination--releases span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:38px;
  padding:0 10px;
  border-radius:12px;
  border:1px solid var(--wh-border);
  background:rgba(255,255,255,.03);
  color:var(--wh-text);
  text-decoration:none;
}
.wh-pagination--releases .current{
  background:rgba(34,197,94,.14);
  border-color:rgba(34,197,94,.55);
}

/* Mobile filter drawer */
.whx-drawer__overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:9998;
}
@media (max-width:1023px){
  .whx-search__sidebar{
    position:fixed;
    top:0;
    left:0;
    height:100vh;
    width:min(92vw, 380px);
    transform:translateX(-110%);
    transition:transform 220ms ease-out;
    z-index:9999;
    padding:12px;
    background:transparent;
  }
  .whx-search__sidebar.is-open{ transform:translateX(0); }
  .whx-filtercard{ height:calc(100vh - 24px); overflow:auto; }
}