/* Ultipin Wholesale Theme — from ultipin-wholesale-preview.html */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@900&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap');

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#F1F4F9;
  --sidebar-bg:#FFFFFF;
  --card:#FFFFFF;
  --border:#E2E8F0;
  --border-soft:#EEF1F7;
  --t1:#0F172A;
  --t2:#1E293B;
  --t3:#334155;
  --primary:#2563EB;
  --primary-light:#EFF6FF;
  --primary-mid:#BFDBFE;
  --orange:#F97316;
  --orange-light:#FFF7ED;
  --teal:#0891B2;
  --teal-light:#ECFEFF;
  --teal-dark:#0E7490;
  --success-bg:#DCFCE7;
  --success-text:#166534;
  --danger-bg:#FEE2E2;
  --danger-text:#991B1B;
  --warn-bg:#FEF3C7;
  --warn-text:#92400E;
  --info-bg:#DBEAFE;
  --info-text:#1E40AF;
  --purple-bg:#DBEAFE;
  --purple-text:#1E3A8A;
  --pagination-active-bg:#1E3A8A;
  --pagination-active-border:#1E3A8A;
  --font:'Plus Jakarta Sans',-apple-system,sans-serif;
  --mono:'JetBrains Mono',monospace;
  --r-sm:6px; --r-md:8px; --r-lg:12px; --r-xl:16px;
  --shadow-sm:0 1px 3px rgba(15,23,42,.06);
  --shadow-md:0 4px 16px rgba(15,23,42,.1);
  --sidebar-w:240px;
  --sidebar-mini-w:72px;
  --scrollbar-size:52px;
  --scrollbar-thumb:#2563EB;
  --scrollbar-thumb-hover:#3B82F6;
  --scrollbar-track:rgba(37,99,235,.08);
  --scrollbar-track-solid:#E8EEF6;
  --header-h:60px;
  --demo-nav-h:0px;
  --crisis-banner-h:0px;
  --sticky-cat-tabs:0px;
  --sticky-search-top:0px;
  --sticky-prod-toolbar:110px;
  --sticky-page-top:0px;
  --sticky-thead-top:110px;
  --sticky-main-thead-h:0px;
  --sticky-accord-catalog-h:0px;
  --sticky-accord-catalog-top:110px;
  --sticky-accord-offers-top:110px;
}
[data-theme="dark"]{
  --bg:#0B1220;
  --sidebar-bg:#1E293B;
  --card:#1E293B;
  --border:#334155;
  --border-soft:#273344;
  --t1:#F1F5F9;
  --t2:#94A3B8;
  --t3:#64748B;
  --primary:#3B82F6;
  --primary-light:#1E3A5F;
  --primary-mid:#2563EB;
  --orange-light:#431407;
  --teal-light:#0C4A6E;
  --success-bg:#052e16;
  --success-text:#86efac;
  --danger-bg:#450a0a;
  --danger-text:#fca5a5;
  --warn-bg:#451a03;
  --warn-text:#fcd34d;
  --info-bg:#1e3a5f;
  --info-text:#93c5fd;
  --purple-bg:#1E3A5F;
  --purple-text:#93C5FD;
  --pagination-active-bg:#3B82F6;
  --pagination-active-border:#2563EB;
  --scrollbar-thumb:#3B82F6;
  --scrollbar-thumb-hover:#60A5FA;
  --scrollbar-track:rgba(59,130,246,.12);
  --scrollbar-track-solid:#0B1220;
}
body{font-family:var(--font);background:var(--bg);color:var(--t1);font-size:16px;line-height:1.5;transition:background .2s,color .2s;overflow:hidden;height:100vh}
body:has(.crisis-banner){--crisis-banner-h:41px}
a{color:inherit;text-decoration:none}
button{font-family:var(--font);cursor:pointer}

/* ─── APP SHELL ─── */
.app-shell{display:flex;height:calc(100vh - var(--crisis-banner-h));min-height:0;overflow:hidden;position:relative}

/* list/search: only .pages-container scrolls — chrome (sidebar, cat-tabs, Filters, Search, thead, open accordion heads) stays fixed */

/* ─── SIDEBAR ─── */
.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;transition:width .15s ease,background .2s,border-color .2s,box-shadow .15s}
.sidebar-brand{min-height:var(--header-h);padding:10px 12px 8px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;gap:8px;flex-shrink:0}
.sidebar-logo{height:var(--header-h);padding:0 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;flex-shrink:0;overflow:hidden}
.sidebar-logo-link{color:inherit;text-decoration:none;display:flex;align-items:center;min-width:0;overflow:hidden}
.sidebar-logo-link:hover{color:inherit;text-decoration:none}
.sidebar-brand-controls{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.sidebar-fixed-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  height:32px;padding:0 12px;border-radius:999px;
  border:1px solid rgba(37,99,235,.35);
  background:linear-gradient(135deg,#DBEAFE,#EFF6FF);
  color:#1E3A8A;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:none;
  cursor:pointer;transition:all .15s ease;font-family:var(--font);
}
.sidebar-fixed-btn .fixed-label{
  letter-spacing:.06em;line-height:1;display:inline-flex;align-items:center;
}
.sidebar-fixed-btn .aside-chevron{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:13px;line-height:1;font-weight:700;
  height:11px;margin:0;padding:0;
  transform:translateY(-1px); /* «/» glyph sits low — optical center with FIXED */
}
.aside-chevron-expand{display:none}
body.sidebar-mini:not(.sidebar-hover-open) .aside-chevron-collapse{display:none}
body.sidebar-mini:not(.sidebar-hover-open) .aside-chevron-expand{display:inline-flex}
.sidebar-fixed-btn:hover{border-color:#2563EB;color:#1D4ED8;box-shadow:0 0 0 3px rgba(37,99,235,.14)}
.sidebar-fixed-btn.is-active{
  background:linear-gradient(135deg,#2563EB,#1E3A8A);color:#fff;
  /* opaque deep border — transparent + radius paints a bright fringe at pill tip */
  border-color:#1E3A8A;
  box-shadow:0 4px 12px rgba(29,78,216,.28);
  background-clip:padding-box;
}
.sidebar-fixed-btn.is-active:hover{
  border-color:#1E3A8A;color:#fff;
  box-shadow:0 4px 12px rgba(29,78,216,.28);
}
[data-theme="dark"] .sidebar-fixed-btn{
  color:#93C5FD;border-color:rgba(59,130,246,.45);
  background:linear-gradient(135deg,rgba(59,130,246,.14),rgba(30,58,95,.2));
}
[data-theme="dark"] .sidebar-fixed-btn:hover{border-color:#60A5FA;color:#93C5FD;box-shadow:0 0 0 3px rgba(59,130,246,.16)}
[data-theme="dark"] .sidebar-fixed-btn.is-active{
  color:#fff;background:linear-gradient(135deg,#3B82F6,#1E3A8A);
  border-color:#1E3A8A;
  box-shadow:0 4px 14px rgba(30,58,138,.4);
  background-clip:padding-box;
}
[data-theme="dark"] .sidebar-fixed-btn.is-active:hover{
  border-color:#1E3A8A;color:#fff;
  box-shadow:0 4px 14px rgba(30,58,138,.4);
}

/* Hover-mini sidebar (desktop) */
@media(min-width:1025px){
  body.sidebar-mini .sidebar{
    width:var(--sidebar-mini-w);
  }
  body.sidebar-mini.sidebar-hover-open .sidebar{
    width:var(--sidebar-w);
    z-index:360;
    box-shadow:var(--shadow-md);
  }
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar .sidebar-widgets,
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar .sidebar-section,
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar .nav-label,
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar .sidebar-footer,
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar .fixed-label{
    display:none!important;
  }
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar-brand{
    padding:10px 8px;align-items:center;
  }
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar-logo-link{
    justify-content:center;width:100%;
  }
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar-logo-link .ultipin-wordmark,
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar-logo-link svg{
    max-width:40px;overflow:hidden;
  }
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar-brand-controls{width:100%}
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar-fixed-btn{
    width:100%;padding:0;min-width:0;
  }
  body.sidebar-mini:not(.sidebar-hover-open) .nav-item{
    justify-content:center;padding:10px 8px;gap:0;
  }
  body.sidebar-mini:not(.sidebar-hover-open) .sidebar-nav{padding:4px 6px 8px}
}
.logo-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#F97316,#F43F5E);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;flex-shrink:0}
.logo-text{font-size:17px;font-weight:700;color:var(--t1)}
.logo-badge{font-size:9px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.12em;margin-top:1px}
.sidebar-widgets{padding:10px 10px 4px}
.user-widget{padding:10px 12px;background:var(--bg);border-radius:var(--r-lg);border:1px solid var(--border);margin-bottom:8px}
.uw-label{font-size:9px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.uw-row{display:flex;align-items:center;gap:8px}
.uw-star{width:22px;height:22px;background:var(--warn-bg);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;color:#fff}
.uw-star--tier0,.uw-star--tier4{background:linear-gradient(135deg,#f1f5f9,#94a3b8);color:#64748b}
.uw-star--tier1{background:linear-gradient(135deg,#ff6b6b,#c0392b)}
.uw-star--tier2{background:linear-gradient(135deg,#ff9f43,#e67e22)}
.uw-star--tier3{background:linear-gradient(135deg,#ffd43b,#f39c12);color:#7c4a00}
.uw-star--tier5{background:linear-gradient(135deg,#a5f3fc,#38bdf8);color:#0c4a6e}
.uw-name{font-size:13px;font-weight:700;color:var(--t1);line-height:1.2}
.uw-disc{font-size:11px;color:var(--orange);font-weight:600;margin-top:1px}
.credits-widgets-stack{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}
.credits-widget{padding:10px 12px;background:linear-gradient(135deg,var(--teal-light),#F0FDFA);border:1px solid #A5F3FC;border-radius:var(--r-lg);margin-bottom:0;transition:background .2s, border-color .2s}
.credits-widget--wallet.is-active-wallet{border-color:#34D399;box-shadow:0 0 0 1px rgba(52,211,153,.35)}
[data-theme="dark"] .credits-widget{background:linear-gradient(135deg,#0C4A6E,#0F3349);border-color:#164E63}
[data-theme="dark"] .credits-widget--wallet.is-active-wallet{border-color:#10B981}
.cw-wallet-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.cw-wallet-row .cw-wallet-amt{font-size:18px;font-weight:700;font-family:var(--mono);line-height:1.2;flex:1;min-width:0}
.wallet-toggle-btn{flex-shrink:0;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:none;cursor:pointer;border-radius:50%;transition:transform .15s ease, opacity .15s ease;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:36px 36px}
.wallet-toggle-btn--on{background-image:url('../img/wallet-toggle-on.png')}
.wallet-toggle-btn--off{background-image:url('../img/wallet-toggle-off.png')}
.wallet-toggle-btn img{display:none!important}
.wallet-toggle-btn:hover{transform:scale(1.06)}
.wallet-toggle-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.dashboard-wallet-card .wallet-toggle-btn{flex-shrink:0}
.dashboard-wallet-cards{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.dashboard-wallet-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-md);padding:10px 12px}
.dashboard-wallet-card.is-active-wallet{border-color:rgba(52,211,153,.65);background:rgba(52,211,153,.12)}
.dashboard-wallet-card__label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.85;margin-bottom:4px}
.dashboard-wallet-card__row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dashboard-wallet-card__amt{font-size:17px;font-weight:700;font-family:var(--mono)}
.hdr-credit-pill__wallet{font-size:11px;font-weight:700;opacity:.85;margin-right:4px}
.hdr-credit-pill__amt{font-weight:700}
.wallet-mismatch-popup{border-radius:var(--r-lg)!important;padding:20px 18px 16px!important}
.wallet-mismatch-actions{flex-direction:column!important;gap:8px!important;width:100%}
.wallet-mismatch-actions .wallet-mismatch-yes,.wallet-mismatch-actions .wallet-mismatch-no{width:100%;margin:0!important;font-size:12px!important;letter-spacing:.02em}
.cw-label{font-size:9px;font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}
.cw-amount{font-size:14px;font-weight:600;color:var(--t1);font-family:var(--mono);line-height:1.45}
.cw-wallet-line{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-top:2px}
.cw-wallet-label{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--t3);text-transform:uppercase}
.cw-wallet-amt{font-weight:700}
.dashboard-wallet-balances{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.dashboard-wallet-line{display:flex;justify-content:space-between;gap:12px;font-size:15px;font-weight:600}
.dashboard-wallet-line span{opacity:.85;font-size:12px;letter-spacing:.03em}
.wholesale-payment-badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#FCE7F3;color:#9D174D;border:1px solid #F9A8D4}
[data-theme="dark"] .wholesale-payment-badge{background:#500724;color:#FBCFE8;border-color:#9D174D}
.accord-payment-cell{text-align:center;vertical-align:middle}
.sidebar-section{padding:12px 20px 4px;font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.1em}
.sidebar-nav{padding:4px 8px 8px}
.nav-item{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:var(--r-md);color:var(--t2);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;user-select:none}
.nav-item:hover{background:var(--bg);color:var(--t1)}
.nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:600}
.nav-icon{width:17px;height:17px;flex-shrink:0;opacity:.55}
.nav-item.active .nav-icon{opacity:1}
.api-doc-env-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.api-doc-env-card{padding:16px 18px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card)}
.api-doc-env-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--t3);margin-bottom:8px}
.api-doc-env-url-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.api-doc-env-url{flex:1;min-width:0;font-family:var(--mono);font-size:12px;word-break:break-all;padding:8px 10px;background:var(--bg);border-radius:var(--r-sm);border:1px solid var(--border)}
.api-doc-copy-btn{flex-shrink:0}
.api-doc-card .card-body{padding:20px 22px}
.api-doc-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.api-doc-tab{padding:8px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg);color:var(--t2);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.api-doc-tab:hover{border-color:var(--primary);color:var(--primary)}
.api-doc-tab.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}
.api-doc-panel{display:none}
.api-doc-panel.active{display:block}
.api-doc-content{font-size:14px;line-height:1.65;color:var(--t2)}
.api-doc-content h3,.api-doc-content h4{color:var(--t1);margin:1.25em 0 .5em;font-weight:700}
.api-doc-content h3{font-size:17px}
.api-doc-content h4{font-size:15px}
.api-doc-content p{margin:0 0 .85em}
.api-doc-content ul,.api-doc-content ol{margin:0 0 1em;padding-left:1.35em}
.api-doc-content code{font-family:var(--mono);font-size:12px;padding:2px 6px;background:var(--bg);border-radius:4px;border:1px solid var(--border)}
.api-doc-content pre{margin:0 0 1em;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);overflow-x:auto}
.api-doc-content pre code{display:block;padding:0;border:none;background:transparent;font-size:12px;line-height:1.5;white-space:pre}
.api-doc-table{width:100%;border-collapse:collapse;margin:0 0 1em;font-size:13px}
.api-doc-table th,.api-doc-table td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
.api-doc-table th{background:var(--bg);font-weight:700;color:var(--t1)}
.api-doc-empty{color:var(--t3)}
.sidebar-footer{margin-top:auto;flex-shrink:0;padding:12px 20px;border-top:1px solid var(--border);font-size:15px;color:var(--t3);text-align:center}
.footer-brand-link{display:inline-block;color:inherit;text-decoration:none;transition:color .15s,opacity .15s}
.footer-brand-link:hover{color:var(--primary);opacity:1}

/* ─── CONTENT WRAPPER ─── */
.content-wrap{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}

/* ─── SHARED HEADER ─── */
.top-header{height:var(--header-h);background:var(--card);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 6px 0 16px;position:sticky;top:0;z-index:200;flex-shrink:0;transition:background .2s,border-color .2s}
.hdr-search{flex:1;max-width:680px;position:relative;padding:2px;border-radius:22px;background:linear-gradient(125deg,#0B1220,#1E293B,#0F172A,#1D4ED8,#2563EB,#334155,#1E3A8A,#0B1220);background-size:280% 280%;animation:ultipin-wordmark-shift 10s ease-in-out infinite}
[data-theme="dark"] .hdr-search{background-image:linear-gradient(125deg,#0B1220,#1E293B,#334155,#2563EB,#64748B,#94A3B8,#1E3A8A,#0B1220)}
.hdr-search input{width:100%;padding:10px 40px 10px 36px;border:none;border-radius:20px;font-size:14px;background:var(--bg);color:var(--t1);font-family:var(--font);transition:all .15s}
.hdr-search input:focus{outline:none}
.hdr-search input::-webkit-search-cancel-button{display:none}
.hdr-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--t3);pointer-events:none}
.hdr-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#ef4444;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s,transform .15s}
.hdr-search-clear:hover{background:#dc2626;transform:translateY(-50%) scale(1.1)}
.hdr-right{display:flex;align-items:center;gap:6px;margin-left:auto;padding-right:0}
.hdr-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);color:var(--t2);cursor:pointer;transition:all .15s;position:relative;border:none;background:transparent}
.hdr-icon-btn:hover{color:var(--primary);background:var(--primary-light);border-radius:var(--r-md)}
.hdr-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:var(--primary);border-radius:50%;font-size:9px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--card)}
.hdr-sep{width:1px;height:22px;background:var(--border);flex-shrink:0}
.hdr-currency{padding:6px 11px;border:1px solid var(--border);border-radius:var(--r-md);font-size:13px;font-weight:700;color:var(--t2);background:var(--card);cursor:pointer}
.hdr-credit-pill{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:20px;background:linear-gradient(135deg,#ECFEFF,#F0FDFA);border:1px solid #A5F3FC;font-size:13px;font-weight:700;color:var(--teal-dark);font-family:var(--mono);cursor:pointer;white-space:nowrap;transition:all .15s}
[data-theme="dark"] .hdr-credit-pill{background:linear-gradient(135deg,#0C4A6E,#0F3349);border-color:#164E63;color:#22D3EE}
.hdr-credit-pill:hover{opacity:.85}
.hdr-greeting{font-size:14px;font-weight:500;color:var(--t2)}
.hdr-greeting strong{color:var(--t1)}
.hdr-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#1E3A8A);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0}
.theme-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;padding:2px;border-radius:50%;background:linear-gradient(125deg,#0B1220,#1E293B,#0F172A,#1D4ED8,#2563EB,#334155,#1E3A8A,#0B1220);background-size:280% 280%;animation:ultipin-wordmark-shift 10s ease-in-out infinite;cursor:pointer;color:#fff;font-size:16px;transition:all .2s ease;box-shadow:0 0 12px rgba(29,78,216,.4)}
[data-theme="dark"] .theme-btn{background-image:linear-gradient(125deg,#0B1220,#1E293B,#334155,#2563EB,#64748B,#94A3B8,#1E3A8A,#0B1220);box-shadow:0 0 14px rgba(37,99,235,.45)}
.theme-btn:hover{transform:scale(1.1);box-shadow:0 0 18px rgba(255,20,147,.5)}
.theme-btn .icon-sun{display:none;filter:brightness(10)}
.theme-btn .icon-moon{display:block;filter:brightness(10)}
[data-theme="dark"] .theme-btn .icon-sun{display:block}
[data-theme="dark"] .theme-btn .icon-moon{display:none}

/* ─── PAGES ─── */
.pages-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.page{display:none}
.page.active{display:block}
.main{padding:8px 24px;max-width:1440px}
body[data-page-type2="list_product"] .main,
body[data-page-type2="search_product"] .main{
  max-width:none;
  width:100%;
  /* was 24px right; keep ~30% so canvas sits closer to scrollbar */
  padding-right:7px;
}
body[data-page-type2="list_product"] .prod-wrap,
body[data-page-type2="list_product"] .table-wrap,
body[data-page-type2="list_product"] #datatable_product,
body[data-page-type2="search_product"] .prod-wrap,
body[data-page-type2="search_product"] .table-wrap,
body[data-page-type2="search_product"] #datatable_product{width:100%}

/* ─── STICKY PRODUCT LIST LAYOUT ─── */
body[data-page-type2="list_product"]{
  --sticky-page-top:calc(var(--sticky-cat-tabs) + var(--sticky-search-top));
  --sticky-thead-top:calc(var(--sticky-page-top) + var(--sticky-prod-toolbar));
  --prod-table-max-h:none;
}
body[data-page-type2="list_product"] .cat-tabs-shell,
body[data-page-type2="search_product"] .cat-tabs-shell{
  position:sticky;top:0;z-index:90;
  margin-bottom:6px;
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  box-shadow:var(--shadow-sm);
  background:var(--card);
  overflow:hidden;
}
body[data-page-type2="list_product"] .cat-tabs-shell .cat-tabs,
body[data-page-type2="search_product"] .cat-tabs-shell .cat-tabs{
  position:static;
  margin-bottom:0;
  border:none;
  border-radius:0;
  box-shadow:none;
  border-bottom:1px solid var(--border);
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--border) transparent;
}
body[data-page-type2="list_product"] .cat-tabs-shell .cat-tabs::-webkit-scrollbar,
body[data-page-type2="search_product"] .cat-tabs-shell .cat-tabs::-webkit-scrollbar{height:5px}
body[data-page-type2="list_product"] .cat-tabs-shell .cat-tabs::-webkit-scrollbar-thumb,
body[data-page-type2="search_product"] .cat-tabs-shell .cat-tabs::-webkit-scrollbar-thumb{
  background:var(--border);
  border-radius:999px;
}
/* Product list/search scrollport — only this region scrolls; thick steel-blue scrollbar fills edge */
body[data-page-type2="list_product"] .pages-container,
body[data-page-type2="search_product"] .pages-container{
  flex:1;
  min-height:0;
  overflow-x:auto;
  overflow-y:scroll;
  -webkit-overflow-scrolling:touch;
  /* no scrollbar-gutter:stable — on Win overlay scrollbars it reserves a black strip beside a thin thumb */
  scrollbar-width:auto;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track-solid);
}
body[data-page-type2="list_product"] .pages-container::-webkit-scrollbar,
body[data-page-type2="search_product"] .pages-container::-webkit-scrollbar{
  width:52px!important;
  height:52px!important;
  background:var(--scrollbar-track-solid)!important;
}
body[data-page-type2="list_product"] .pages-container::-webkit-scrollbar-button,
body[data-page-type2="search_product"] .pages-container::-webkit-scrollbar-button{
  display:none!important;
  width:0!important;
  height:0!important;
}
body[data-page-type2="list_product"] .pages-container::-webkit-scrollbar-track,
body[data-page-type2="search_product"] .pages-container::-webkit-scrollbar-track{
  background:var(--scrollbar-track-solid)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body[data-page-type2="list_product"] .pages-container::-webkit-scrollbar-thumb,
body[data-page-type2="search_product"] .pages-container::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#3B82F6,#2563EB 40%,#1E3A8A)!important;
  border:0!important;
  border-radius:8px!important;
  background-clip:border-box!important;
  box-shadow:none!important;
  min-height:72px!important;
}
body[data-page-type2="list_product"] .pages-container::-webkit-scrollbar-thumb:hover,
body[data-page-type2="search_product"] .pages-container::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#60A5FA,#3B82F6)!important;
}
[data-theme="dark"] body[data-page-type2="list_product"] .pages-container::-webkit-scrollbar-thumb,
[data-theme="dark"] body[data-page-type2="search_product"] .pages-container::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#60A5FA,#3B82F6 40%,#1E3A8A)!important;
}
[data-theme="dark"] body[data-page-type2="list_product"] .pages-container::-webkit-scrollbar-thumb:hover,
[data-theme="dark"] body[data-page-type2="search_product"] .pages-container::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#93C5FD,#60A5FA)!important;
}
body[data-page-type2="list_product"] .pages-container::-webkit-scrollbar-corner,
body[data-page-type2="search_product"] .pages-container::-webkit-scrollbar-corner{
  background:var(--scrollbar-track-solid)!important;
}
body[data-page-type2="list_product"] .content-wrap,
body[data-page-type2="search_product"] .content-wrap{
  overflow:hidden;
  min-height:0;
  position:relative;
}
/* Hide native overlay scrollbar; thick-scrollbar.js paints a real 36px rail */
body[data-page-type2="list_product"] .pages-container.ws-thick-scroll-host,
body[data-page-type2="search_product"] .pages-container.ws-thick-scroll-host,
body[data-page-type2="list_open_value"] .pages-container.ws-thick-scroll-host{
  scrollbar-width:none!important;
  padding-right:0;
}
body[data-page-type2="list_product"] .pages-container.ws-thick-scroll-host::-webkit-scrollbar,
body[data-page-type2="search_product"] .pages-container.ws-thick-scroll-host::-webkit-scrollbar,
body[data-page-type2="list_open_value"] .pages-container.ws-thick-scroll-host::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.ws-thick-scroll{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:36px;
  z-index:120;
  background:var(--scrollbar-track-solid);
  border-left:1px solid var(--border);
  display:none;
  pointer-events:auto;
  cursor:grab;
}
.ws-thick-scroll-thumb{
  position:absolute;
  left:3px;
  right:3px;
  top:0;
  width:auto;
  min-height:48px;
  border-radius:8px;
  background:linear-gradient(180deg,#3B82F6,#2563EB 40%,#1E3A8A);
  box-shadow:0 0 0 1px rgba(15,23,42,.08);
  cursor:grab;
  touch-action:none;
  will-change:transform;
}
[data-theme="dark"] .ws-thick-scroll-thumb{
  background:linear-gradient(180deg,#60A5FA,#3B82F6 40%,#1E3A8A);
  box-shadow:0 0 0 1px rgba(255,255,255,.12);
}
.ws-thick-scroll.is-dragging,
.ws-thick-scroll.is-dragging .ws-thick-scroll-thumb{
  cursor:grabbing;
}
.ws-thick-scroll.is-dragging .ws-thick-scroll-thumb,
.ws-thick-scroll-thumb:hover{
  background:linear-gradient(180deg,#60A5FA,#3B82F6);
}
[data-theme="dark"] .ws-thick-scroll.is-dragging .ws-thick-scroll-thumb,
[data-theme="dark"] .ws-thick-scroll-thumb:hover{
  background:linear-gradient(180deg,#93C5FD,#60A5FA);
}
body[data-page-type2="list_product"] .pages-container.ws-thick-scroll-host,
body[data-page-type2="search_product"] .pages-container.ws-thick-scroll-host,
body[data-page-type2="list_open_value"] .pages-container.ws-thick-scroll-host{
  /* leave room so content isn't under the rail */
  margin-right:0;
  width:calc(100% - 36px);
  box-sizing:border-box;
}
body[data-page-type2="list_product"] .cat-tabs-shell .cat-tab,
body[data-page-type2="search_product"] .cat-tabs-shell .cat-tab{
  padding:10px 16px;
  margin-bottom:0;
}
body[data-page-type2="list_product"] .cat-tabs-shell .cat-tab:last-child,
body[data-page-type2="search_product"] .cat-tabs-shell .cat-tab:last-child{padding-right:20px}
body[data-page-type2="list_product"] .search-page-sticky{
  position:sticky;top:0;z-index:88;background:var(--bg);
  padding-bottom:4px;margin:0 -24px 16px;padding-left:24px;padding-right:24px;
  box-shadow:0 1px 0 var(--border-soft);
}
body[data-page-type2="list_product"] .search-page-sticky .breadcrumb{margin-bottom:12px}
body[data-page-type2="list_product"] .search-page-sticky .card.mb-4{margin-bottom:0!important}
body[data-page-type2="list_product"] .filter-panel{
  position:sticky;
  top:var(--sticky-page-top);
  z-index:85;
  max-height:calc(100vh - var(--header-h) - var(--sticky-page-top) - 24px);
  overflow-y:auto;
}
body[data-page-type2="list_product"] .prod-wrap{
  overflow:visible;
  border:none;
  box-shadow:none;
  background:transparent;
}
body[data-page-type2="list_product"] .table-wrap{
  border:1px solid var(--border);
  border-top:none;
  border-radius:0 0 var(--r-xl) var(--r-xl);
  /* visible: sticky accordion offer headers break under overflow:hidden */
  overflow:visible;
  max-height:none;
  background:var(--card);
  box-shadow:var(--shadow-sm);
}
body[data-page-type2="list_product"] .prod-toolbar-sticky{
  position:sticky;
  top:var(--sticky-page-top);
  z-index:80;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
body[data-page-type2="list_product"] .prod-table-head{
  background:var(--card);
  padding:10px 14px;
  border-bottom:1px solid var(--border);
  align-items:flex-start;
  gap:12px;
}
body[data-page-type2="list_product"] .product-table-header-pager-row,
body[data-page-type2="search_product"] .product-table-header-pager-row{
  display:inline-flex;
  align-items:center;
  margin-left:auto;
  flex-shrink:0;
  padding:0;
}
body[data-page-type2="list_product"] .product-table-header-pager-row.is-hidden,
body[data-page-type2="search_product"] .product-table-header-pager-row.is-hidden{
  display:none;
}
body[data-page-type2="list_product"] .prod-table-head .prod-table-title{
  flex-shrink:0;
}
body[data-page-type2="list_product"] .prod-table-head__main{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1;
  min-width:0;
  flex-wrap:wrap;
}
body[data-page-type2="list_product"] .product-table-header-pager{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:32px;
}
body[data-page-type2="list_product"] .product-table-header-pager:not(.has-pager){
  min-height:0;
}
body[data-page-type2="list_product"] .category-search-hint{
  display:flex;
  align-items:flex-start;
  gap:8px;
  max-width:min(100%,640px);
  flex:1;
  min-width:200px;
  padding:6px 10px;
  font-size:12px;
  line-height:1.45;
  color:#1E293B;
  background:var(--bg);
  border:1px solid var(--border-soft);
  border-radius:var(--r-md);
  opacity:.92;
  transition:opacity .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease,color .2s ease;
}
body[data-page-type2="list_product"] .category-search-hint__text{
  color:#1E293B;
}
body[data-page-type2="list_product"] .category-search-hint__icon{
  flex-shrink:0;
  margin-top:1px;
  color:#334155;
}
body[data-page-type2="list_product"] .category-search-hint__em{
  font-style:italic;
  color:#334155;
}
[data-theme="dark"] body[data-page-type2="list_product"] .category-search-hint,
[data-theme="dark"] body[data-page-type2="list_product"] .category-search-hint__text{
  color:#E2E8F0;
}
[data-theme="dark"] body[data-page-type2="list_product"] .category-search-hint__icon{
  color:#CBD5E1;
}
[data-theme="dark"] body[data-page-type2="list_product"] .category-search-hint__em{
  color:#F8FAFC;
}
body[data-page-type2="list_product"] .category-search-hint__link{
  display:inline;
  padding:0;
  margin:0 2px;
  border:none;
  background:none;
  font:inherit;
  font-weight:600;
  color:var(--primary);
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-underline-offset:2px;
  transition:color .2s ease,text-decoration-color .2s ease;
}
body[data-page-type2="list_product"] .category-search-hint:hover{
  opacity:1;
  border-color:var(--border);
  box-shadow:var(--shadow-sm);
  transform:translateY(-1px);
}
body[data-page-type2="list_product"] .category-search-hint:hover .category-search-hint__link{
  text-decoration-color:currentColor;
}
body[data-page-type2="list_product"] .category-search-hint__link:hover,
body[data-page-type2="list_product"] .category-search-hint__link:focus-visible{
  color:var(--primary);
}
body[data-page-type2="list_product"] .category-search-hint__link:focus-visible{
  outline:2px solid var(--primary-mid);
  outline-offset:2px;
  border-radius:2px;
}
body[data-page-type2="list_product"] .category-pagination-search-hint{
  font-size:25px;
  line-height:1.35;
  text-align:center;
  padding:48px 24px;
  color:var(--t2);
}
[data-theme="dark"] body[data-page-type2="list_product"] .category-pagination-search-hint{
  color:var(--t2);
}
.hdr-search.hdr-search--hint-pulse{
  box-shadow:0 0 0 2px var(--primary-mid),var(--shadow-sm);
  border-color:var(--primary);
  transition:box-shadow .3s ease,border-color .3s ease;
}
@media(max-width:900px){
  body[data-page-type2="list_product"] .prod-table-head{
    flex-direction:column;
    align-items:stretch;
  }
  body[data-page-type2="list_product"] .prod-table-head__main{
    width:100%;
  }
  body[data-page-type2="list_product"] .category-search-hint{
    max-width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  body[data-page-type2="list_product"] .category-search-hint,
  body[data-page-type2="list_product"] .category-search-hint:hover,
  .hdr-search.hdr-search--hint-pulse{
    transition:none;
    transform:none;
  }
}
body[data-page-type2="list_product"] .prod-toolbar-sticky .prod-search-row{
  padding:8px 14px 10px;
  margin:0;
}
body[data-page-type2="list_product"] .prod-toolbar-sticky .prod-search-row.mb-4{margin-bottom:0!important}
body[data-page-type2="list_product"] #datatable_product{
  border-collapse:separate;
  border-spacing:0;
}
body[data-page-type2="list_product"] #datatable_product > thead > tr > th{
  position:sticky;
  top:var(--sticky-thead-top);
  z-index:79;
  background:var(--card);
  box-shadow:0 1px 0 var(--border);
  color:var(--t1);
}
body[data-page-type2="list_product"] #datatable_product tbody tr.child{
  position:relative;
  z-index:1;
}
body[data-page-type2="list_product"] #datatable_product tbody tr.child .accord-inner{
  overflow-x:auto;
}

/* ─── SEARCH PRODUCT LIST LAYOUT (matches list_product toolbar + cat tabs) ─── */
body[data-page-type2="search_product"]{
  --sticky-page-top:calc(var(--sticky-cat-tabs) + var(--sticky-search-top));
  --sticky-thead-top:calc(var(--sticky-page-top) + var(--sticky-prod-toolbar));
  --prod-table-max-h:none;
}
body[data-page-type2="search_product"] .product-layout{gap:16px}
body[data-page-type2="search_product"] .filter-panel{
  position:sticky;
  top:var(--sticky-page-top);
  z-index:85;
  max-height:calc(100vh - var(--header-h) - var(--sticky-page-top) - 24px);
  overflow-y:auto;
}
body[data-page-type2="search_product"] .prod-wrap{
  overflow:visible;
  border:none;
  box-shadow:none;
  background:transparent;
}
body[data-page-type2="search_product"] .table-wrap{
  border:1px solid var(--border);
  border-top:none;
  border-radius:0 0 var(--r-xl) var(--r-xl);
  /* visible: sticky accordion offer headers break under overflow:hidden */
  overflow:visible;
  max-height:none;
  background:var(--card);
  box-shadow:var(--shadow-sm);
}
body[data-page-type2="search_product"] .prod-toolbar-sticky{
  position:sticky;
  top:var(--sticky-page-top);
  z-index:80;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--r-xl) var(--r-xl) 0 0;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
body[data-page-type2="search_product"] .prod-table-head{
  background:var(--card);
  padding:10px 14px;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
body[data-page-type2="search_product"] .prod-table-head__main{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1;
  min-width:0;
  flex-wrap:wrap;
  width:100%;
}
body[data-page-type2="search_product"] .prod-table-head .prod-table-title{
  flex-shrink:0;
}
body[data-page-type2="search_product"] .prod-toolbar-sticky .prod-search-row{
  padding:8px 14px 10px;
  margin:0;
}
body[data-page-type2="search_product"] .prod-toolbar-sticky .prod-search-row.mb-4{margin-bottom:0!important}
body[data-page-type2="search_product"] .search-result-hint{
  padding:0 14px 10px;
  font-size:12px;
  line-height:1.45;
  color:var(--t2);
  border-bottom:1px solid var(--border-soft);
}
body[data-page-type2="search_product"] #datatable_product{
  border-collapse:separate;
  border-spacing:0;
}
body[data-page-type2="search_product"] #datatable_product > thead > tr > th{
  position:sticky;
  top:var(--sticky-thead-top);
  z-index:79;
  background:var(--card);
  box-shadow:0 1px 0 var(--border);
  color:var(--t1);
}

/* Accordion open: catalog row + offer sub-header stick below main thead; Close removes body.accord-sticky-open */
body.accord-sticky-open[data-page-type2="list_product"] #datatable_product > thead > tr > th,
body.accord-sticky-open[data-page-type2="search_product"] #datatable_product > thead > tr > th{
  z-index:81;
}
body.accord-sticky-open[data-page-type2="list_product"] #datatable_product tbody tr.accord-active > td,
body.accord-sticky-open[data-page-type2="search_product"] #datatable_product tbody tr.accord-active > td{
  position:sticky;
  top:var(--sticky-accord-catalog-top);
  z-index:80;
  background:var(--primary-light);
  box-shadow:0 1px 0 var(--primary-mid);
}
body.accord-sticky-open #datatable_product tbody tr.accord-active+tr.child .accord-inner.accord-full-width,
body.accord-sticky-open[data-page-type2="list_product"] #datatable_product tbody tr.child .accord-inner,
body.accord-sticky-open[data-page-type2="search_product"] #datatable_product tbody tr.child .accord-inner{
  overflow-x:visible;
  overflow-y:visible;
}
body.accord-sticky-open .accord-offers-wrap{
  overflow:visible;
}
body.accord-sticky-open #datatable_product tbody tr.accord-offers-head-row > td{
  position:sticky;
  top:var(--sticky-accord-offers-top);
  z-index:79;
  padding:0!important;
  background:var(--card)!important;
  border-left:1px solid var(--primary-mid);
  border-right:1px solid var(--primary-mid);
  border-top:none!important;
  border-bottom:none!important;
  box-shadow:0 1px 0 var(--border);
  vertical-align:top;
}
body.accord-sticky-open #datatable_product tbody tr.accord-offers-head-row + tr.child > td{
  border-top:none!important;
  /* keep first offer row clear of sticky offer column headers */
  padding-top:0!important;
}
body.accord-sticky-open .accord-offers-sticky-head{
  width:100%;
  overflow:hidden;
  background:var(--card);
  position:relative;
  z-index:2;
}
body.accord-sticky-open .accord-offers-body{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  width:100%;
  position:relative;
  z-index:1;
}
body.accord-sticky-open .accord-offer-table--head{
  margin:0;
}
body.accord-sticky-open .accord-offer-table--head thead th{
  background:var(--card);
  position:relative;
  z-index:2;
}

/* ─── PAGE HEADER ROW ─── */
.page-heading{margin-bottom:20px}
.page-title{font-size:22px;font-weight:700;color:var(--t1)}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--t3);margin-bottom:16px}
.breadcrumb a{color:var(--primary)}
.breadcrumb .sep{opacity:.5}

/* ─── CARDS ─── */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:background .2s,border-color .2s}
.card-head{padding:15px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card-title{font-size:14px;font-weight:700;color:var(--t1)}
.card-body{padding:18px}

/* ─── STAT CARDS ─── */
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;box-shadow:var(--shadow-sm);transition:background .2s,border-color .2s}
.stat-card.s-teal{background:linear-gradient(135deg,var(--teal),#06B6D4);border-color:transparent}
.stat-label{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.stat-card.s-teal .stat-label{color:rgba(255,255,255,.75)}
.stat-value{font-size:26px;font-weight:700;color:var(--t1);font-family:var(--mono)}
.stat-card.s-teal .stat-value{color:#fff}

/* ─── TIER BANNER ─── */
.tier-banner{border-radius:var(--r-xl);background:#0F172A;display:flex;margin-bottom:18px;overflow:hidden}
.tier-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;gap:4px;border-right:1px solid rgba(255,255,255,.08)}
.tier-item:last-child{border-right:none}
.tier-orb{width:40px;height:40px;border-radius:50%;margin-bottom:5px}
.tier-orb--compact{width:32px;height:32px}
.tier-orb--0,.tier-orb--4{background:radial-gradient(circle,#f8fafc,#cbd5e1)}
.tier-orb--1{background:radial-gradient(circle,#ff6b6b,#c0392b)}
.tier-orb--2{background:radial-gradient(circle,#ff9f43,#e67e22)}
.tier-orb--3{background:radial-gradient(circle,#ffd43b,#f39c12)}
.tier-orb--5{background:radial-gradient(circle,#a5f3fc,#38bdf8)}
.tier-disc--0,.tier-disc--4{color:#e2e8f0}
.tier-disc--1{color:#ff9999}
.tier-disc--2{color:#ffa94d}
.tier-disc--3{color:#ffe066}
.tier-disc--5{color:#7dd3fc}
.tier-disc--compact{font-size:10px}
.tier-name-t{font-size:10px;font-weight:700;color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.05em}
.tier-name-t--compact{font-size:9px}
.tier-num{font-size:9px;color:rgba(255,255,255,.4);margin-bottom:3px}
.tier-spend{font-size:10px;color:rgba(255,255,255,.45);text-align:center}
.tier-disc{font-size:11px;font-weight:700;text-align:center}

/* ─── TABLES ─── */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{font-size:12px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;padding:11px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;background:var(--bg)}
td{padding:11px 10px;border-bottom:1px solid var(--border-soft);color:var(--t2);vertical-align:middle;font-size:14px}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--bg)}
.price{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--t1);font-variant-numeric:tabular-nums}
span.price,.ulti-price.price,td .price{min-width:4.5rem;display:inline-block}
td.price,th.price{display:table-cell;vertical-align:middle}
.accord-price-cell{display:table-cell!important;vertical-align:middle;text-align:center}
.tabular-nums{font-variant-numeric:tabular-nums}
.order-code{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--primary)}

/* ─── PRODUCT TABLE ─── */
.prod-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);overflow:hidden;transition:background .2s,border-color .2s}
.prod-table-head{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.prod-table-title{font-size:14px;font-weight:700;color:var(--t1)}
.prod-search-row{padding:10px 14px 0;display:flex;gap:8px;align-items:stretch}
.prod-search{padding:12px 12px;border:1px solid var(--border);border-radius:var(--r-md);font-size:13px;line-height:1.4;min-height:44px;background:var(--bg);color:var(--t1);font-family:var(--font);box-sizing:border-box}
.prod-id-search{width:80px;flex-shrink:0}
.prod-search-field-wrap{position:relative;flex:0 0 40%;max-width:40%;min-width:200px;display:flex;align-items:stretch}
.prod-search-field-wrap .prod-name-search{width:100%;flex:1;padding-right:40px;box-sizing:border-box}
@media(max-width:768px){
  .prod-search-field-wrap{flex:1 1 auto;max-width:100%}
}

/* Product table col widths */
.prod-table{width:100%;border-collapse:collapse;table-layout:fixed}
#datatable_product{table-layout:fixed}
.col-id{width:65px}
.col-product{width:auto;min-width:140px}
.col-promo{width:112px;min-width:112px;text-align:center}
.col-denomination{width:72px;min-width:72px;text-align:center}
.col-currency{width:56px;min-width:56px;text-align:center}
.col-platform{width:88px;text-align:center}
.col-region{width:68px;text-align:center}
.col-restriction{width:82px;text-align:center}
.col-language{width:68px;text-align:center}
.col-stock{width:100px;text-align:center}
.col-action{width:100px;text-align:center}

.prod-table th.col-id,
.prod-table th.col-product,
.prod-table th.col-promo,
.prod-table th.col-denomination,
.prod-table th.col-currency,
.prod-table th.col-platform,.prod-table th.col-region,.prod-table th.col-restriction,
.prod-table th.col-language,.prod-table th.col-stock,.prod-table th.col-action{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;
  color:var(--t1);padding:10px 6px;border-bottom:1px solid var(--border);
}

#datatable_product thead th{
  color:var(--t1);
  font-weight:700;
}

#datatable_product thead th.sorting:before,
#datatable_product thead th.sorting:after,
#datatable_product thead th.sorting_asc:before,
#datatable_product thead th.sorting_asc:after,
#datatable_product thead th.sorting_desc:before,
#datatable_product thead th.sorting_desc:after{
  color:var(--t1);
  opacity:.55;
}

#datatable_product thead th.sorting_asc:before,
#datatable_product thead th.sorting_desc:after{
  opacity:.9;
}

.prod-table th.col-promo,
.prod-table th.col-platform,.prod-table th.col-region,.prod-table th.col-restriction,
.prod-table th.col-language,.prod-table th.col-stock,.prod-table th.col-action{text-align:center}

.prod-table td.col-promo,
.prod-table td.col-platform,.prod-table td.col-region,.prod-table td.col-restriction,
.prod-table td.col-language,.prod-table td.col-stock,.prod-table td.col-action{
  text-align:center;padding:4px 5px;vertical-align:middle;
}

.prod-table td.col-product{padding:4px 8px;vertical-align:middle}

/* Catalog rows: +20% vertical height (padding only; logo size unchanged) */
body[data-page-type2="list_product"] #datatable_product tbody > tr:not(.child):not(.accord-offers-head-row) > td,
body[data-page-type2="search_product"] #datatable_product tbody > tr:not(.child):not(.accord-offers-head-row) > td{
  padding-top:8px;
  padding-bottom:8px;
}

.prod-name-cell{display:flex;align-items:center;gap:8px}
.prod-name-cell .prod-name{flex:1;min-width:0}
.prod-name-cell .prod-accord-toggle:last-of-type{margin-left:2px}
.prod-accord-toggle{
  flex-shrink:0;
  width:24px;
  height:24px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(37,99,235,.35);
  border-radius:999px;
  background:linear-gradient(145deg,#DBEAFE,#EFF6FF);
  color:#1E3A8A;
  cursor:pointer;
  transition:transform .2s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
  box-shadow:0 0 0 0 rgba(37,99,235,0);
  overflow:hidden;
  background-clip:padding-box;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.prod-accord-toggle:hover{
  color:#1D4ED8;
  border-color:#2563EB;
  background:linear-gradient(145deg,#BFDBFE,#DBEAFE);
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}
.prod-accord-toggle:active{transform:scale(.94)}
.prod-accord-toggle__icon{display:block;transition:transform .2s ease}
tr.accord-active .prod-accord-toggle{
  color:#fff;
  border-color:#1E3A8A;
  background:linear-gradient(135deg,#2563EB,#1E3A8A);
  background-clip:padding-box;
  box-shadow:0 2px 6px rgba(15,23,42,.25);
}
tr.accord-active .prod-accord-toggle:hover{
  color:#fff;
  border-color:#1E3A8A;
  box-shadow:0 2px 6px rgba(15,23,42,.25);
}
tr.accord-active .prod-accord-toggle__icon{transform:rotate(180deg)}
[data-theme="dark"] .prod-accord-toggle{
  color:#93C5FD;
  border-color:#1E3A8A;
  background:linear-gradient(145deg,rgba(59,130,246,.22),rgba(30,58,95,.35));
  background-clip:padding-box;
  box-shadow:none;
}
[data-theme="dark"] .prod-accord-toggle:hover{
  color:#fff;
  border-color:#1E3A8A;
  background:linear-gradient(145deg,#3B82F6,#1E3A8A);
  background-clip:padding-box;
  box-shadow:0 0 0 2px rgba(30,58,138,.4);
}
[data-theme="dark"] tr.accord-active .prod-accord-toggle{
  color:#fff;
  border-color:#1E3A8A;
  background:linear-gradient(135deg,#3B82F6,#1E3A8A);
  background-clip:padding-box;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
[data-theme="dark"] tr.accord-active .prod-accord-toggle:hover{
  color:#fff;
  border-color:#1E3A8A;
  box-shadow:0 2px 8px rgba(0,0,0,.35);
}
.prod-thumb{width:24px;height:24px;border-radius:6px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.prod-name{font-size:15px;font-weight:500;color:var(--t1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* List/search: wrap long titles to 2 lines without growing catalog row height */
#datatable_product .prod-name{
  flex:1;
  min-width:0;
  font-size:14px;
  font-weight:500;
  line-height:1.65;
  max-height:3.3em;
  margin-top:-1px;
  white-space:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}
.promo-date-card{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:78px;
  padding:5px 9px;
  border-radius:14px;
  border:1px solid rgba(37,99,235,.20);
  background:linear-gradient(135deg,#F8FAFF,#EEF6FF);
  box-shadow:0 4px 12px rgba(15,23,42,.06);
  color:#1E3A8A;
  line-height:1.15;
  white-space:normal;
}
.promo-date-card__mark{
  margin-bottom:2px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  color:#64748B;
}
.promo-date-card__date{
  display:block;
  font-size:12px;
  font-weight:800;
  font-family:var(--mono);
  font-variant-numeric:tabular-nums;
  color:#1D4ED8;
}
.promo-date-card__date--to{color:#0F172A}
.promo-date-card--list{min-width:82px}
.promo-date-card--accordion{
  align-items:flex-start;
  min-width:86px;
  border-radius:16px;
  padding:5px 10px;
}
.promo-date-card--empty{
  min-width:38px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid var(--border-soft);
  background:var(--bg);
  box-shadow:none;
  color:var(--t3);
  font-size:12px;
  font-weight:700;
}
[data-theme="dark"] .promo-date-card{
  background:linear-gradient(135deg,#172554,#1E293B);
  border-color:rgba(96,165,250,.28);
  box-shadow:0 4px 14px rgba(0,0,0,.22);
  color:#BFDBFE;
}
[data-theme="dark"] .promo-date-card__mark{color:#93A4B8}
[data-theme="dark"] .promo-date-card__date{color:#93C5FD}
[data-theme="dark"] .promo-date-card__date--to{color:#F8FAFC}
[data-theme="dark"] .promo-date-card--empty{
  background:#1E293B;
  color:#64748B;
  border-color:#334155;
  box-shadow:none;
}

/* Accordion */
.accord-row td{padding:0!important;border-bottom:1px solid var(--border)!important;background:transparent!important}
.accord-row:hover td{background:transparent!important}
.accord-inner{padding:0;background:var(--bg);border-top:2px solid var(--primary-mid)}
.accord-inner.accord-active-body{background:var(--card);border-top:none}
.accord-sup-block{border-bottom:1px solid var(--border)}
.accord-sup-block:last-child{border-bottom:none}
.accord-sup-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border-soft);flex-wrap:wrap}
.accord-sup-id{font-family:var(--mono);font-size:12px;color:var(--t3)}
.accord-bulk-table{width:100%;border-collapse:collapse}
.accord-bulk-table th{font-size:11px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.06em;padding:8px 14px;background:var(--bg);border-bottom:1px solid var(--border);text-align:center}
.accord-bulk-table td{padding:9px 14px;font-size:13px;border-bottom:1px solid var(--border-soft);text-align:center;color:var(--t2)}
.accord-bulk-table tr:last-child td{border-bottom:none}
.accord-bulk-table tr.bulk-win td{background:var(--success-bg);color:var(--success-text)!important}
.accord-bulk-table tr.bulk-win td.you-get{font-weight:700;color:var(--success-text)!important}
.accord-close-row{padding:10px 16px;background:var(--bg);border-top:1px solid var(--border);display:flex;justify-content:flex-end}
.accord-inner.accord-full-width{width:100%;overflow-x:auto}
.accord-offers-head-source{display:none}
.accord-offers-wrap{width:100%}
.accord-offers-sticky-head{width:100%}
.accord-offers-body{width:100%}
.accord-offer-table{width:100%;border-collapse:collapse;table-layout:fixed}
.accord-offer-table--head thead th,
.accord-offer-table thead th{
  position:static;
  top:auto;
  z-index:1;
  font-size:10px;
  font-weight:700;
  color:var(--t1);
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:4px 8px;
  background:var(--bg);
  border-bottom:1px solid var(--border);
  text-align:center;
  white-space:nowrap;
  box-shadow:none;
}
.accord-offer-table tr.accord-offer-gap td{
  height:3px;
  padding:0!important;
  background:var(--border);
  border:none!important;
  line-height:0;
}
.accord-offer-table td{padding:4px 8px;font-size:13px;border-bottom:1px solid var(--border-soft);text-align:center;color:var(--t2);vertical-align:middle}
.accord-offer-table tbody tr.accord-tier-row{height:20px}
.accord-offer-table .accord-rowspan-cell{vertical-align:middle;padding:4px 8px}
.accord-offer-table .accord-col-promo{
  text-align:left;
  min-width:88px;
  max-width:100px;
  padding-left:6px;
  padding-right:4px;
  overflow:hidden;
}
.accord-offer-table th.accord-col-promo{text-align:left;padding-left:6px}
.accord-offer-table .accord-col-platform{
  text-align:center;
  min-width:76px;
  padding-left:8px;
  padding-right:6px;
}
.accord-offer-table .promo-date-badge{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  white-space:normal;
  text-align:left;
  line-height:1.35;
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  padding:4px 10px;
  max-width:100%;
  border-radius:20px;
  background:#F8FAFC;
  color:#475569;
  border:1px solid var(--border);
  box-shadow:none;
}
.accord-offer-table .promo-date-badge--empty{
  background:var(--bg)!important;
  color:var(--t3)!important;
  border:1px solid var(--border-soft)!important;
  font-size:12px;
  padding:3px 9px;
}
[data-theme="dark"] .accord-offer-table .promo-date-badge{
  background:#334155;
  color:#CBD5E1;
  border-color:#475569;
}
[data-theme="dark"] .accord-offer-table .promo-date-badge--empty{
  background:#1E293B!important;
  color:#64748B!important;
  border-color:#475569!important;
}
.accord-tier-cell{padding:0 8px;vertical-align:middle}
.accord-tier-cell .accord-cell-inner{display:flex;align-items:center;justify-content:center;min-height:20px;line-height:1.2;width:100%}
.accord-col-denomination{min-width:56px;font-variant-numeric:tabular-nums}
.accord-col-currency{min-width:44px;font-weight:600;color:var(--t1)}
.accord-col-stock{min-width:72px}
.accord-col-action{width:48px;min-width:48px}
.accord-offer-table tr.bulk-win td{background:transparent;color:var(--t2)!important}
.accord-offer-table tr.bulk-win td.you-get{font-weight:700;color:var(--t1)!important}
.accord-offer-label{background:transparent!important;color:var(--t1)!important;font-weight:700;white-space:nowrap}
.accord-offer-separator{height:3px;background:var(--border);margin:0}
.accord-cart-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--primary);border-radius:var(--r-md);text-decoration:none;transition:background .15s}
.accord-cart-btn:hover{background:var(--primary-light);text-decoration:none}
.accord-add-link{color:var(--primary);font-weight:600;font-size:13px;text-decoration:none}
.accord-add-link:hover{text-decoration:underline}
#datatable_product tbody tr.accord-active>td{background:var(--primary-light);border-top:1px solid var(--primary-mid);border-bottom:none!important;border-left:none;border-right:none;box-shadow:none}
#datatable_product tbody tr.accord-active>td:first-child{border-left:1px solid var(--primary-mid);border-top-left-radius:var(--r-lg);box-shadow:inset 3px 0 0 var(--primary)}
#datatable_product tbody tr.accord-active>td:last-child{border-right:1px solid var(--primary-mid);border-top-right-radius:var(--r-lg)}
#datatable_product tbody tr.accord-active:hover>td{background:var(--primary-light)}
#datatable_product tbody tr.accord-active+tr.child>td{background:var(--card)!important;border:1px solid var(--primary-mid)!important;border-top:none!important;border-bottom-left-radius:var(--r-lg);border-bottom-right-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:0!important}
#datatable_product tbody tr.accord-active+tr.child:hover>td{background:var(--card)!important}
[data-theme="dark"] #datatable_product tbody tr.accord-active>td:first-child{box-shadow:inset 3px 0 0 var(--primary)}
#datatable_product_wrapper .product-table-footer{padding:13px 16px;border-top:1px solid var(--border-soft);display:flex;justify-content:center;align-items:center;border-radius:0 0 var(--r-xl) var(--r-xl);overflow:hidden;background:var(--card)}
body[data-page-type2="list_product"] #datatable_product_wrapper .product-table-footer,
body[data-page-type2="search_product"] #datatable_product_wrapper .product-table-footer{
  border-radius:0 0 calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px);
}
#datatable_product_wrapper .product-table-footer .col-sm-12{display:flex;justify-content:center}
#datatable_product_wrapper .dataTables_paginate,
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate,
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate{display:flex!important;align-items:center;gap:5px;float:none!important;margin:0!important;padding:0!important;flex-wrap:wrap;justify-content:center}
#datatable_product_wrapper .dataTables_paginate ul.pagination,
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate ul.pagination,
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate ul.pagination{display:flex!important;align-items:center;gap:5px;margin:0!important;padding:0!important;list-style:none;flex-wrap:wrap;justify-content:center;border:none}
#datatable_product_wrapper .dataTables_paginate .paginate_button,
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate .paginate_button,
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate .paginate_button{margin:0!important;padding:0!important;border:none!important;background:transparent!important}
#datatable_product_wrapper .dataTables_paginate .paginate_button .page-link,
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate .paginate_button .page-link,
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate .paginate_button .page-link,
#datatable_product_wrapper .dataTables_paginate .paginate_button:not(.page-item),
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate .paginate_button:not(.page-item),
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate .paginate_button:not(.page-item){min-width:30px;height:30px;padding:0 8px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:var(--r-sm)!important;font-size:13px!important;font-weight:600;line-height:1;border:1px solid var(--border)!important;background:var(--card)!important;color:var(--t2)!important;box-shadow:none!important}
#datatable_product_wrapper .dataTables_paginate .paginate_button.active .page-link,
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate .paginate_button.active .page-link,
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate .paginate_button.active .page-link,
#datatable_product_wrapper .dataTables_paginate .paginate_button.current,
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate .paginate_button.current,
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate .paginate_button.current{background:var(--pagination-active-bg)!important;border-color:var(--pagination-active-border)!important;color:#fff!important}
#datatable_product_wrapper .dataTables_paginate .paginate_button:not(.active):not(.disabled) .page-link:hover,
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate .paginate_button:not(.active):not(.disabled) .page-link:hover,
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate .paginate_button:not(.active):not(.disabled) .page-link:hover,
#datatable_product_wrapper .dataTables_paginate .paginate_button:hover:not(.current):not(.active):not(.disabled),
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate .paginate_button:hover:not(.current):not(.active):not(.disabled),
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate .paginate_button:hover:not(.current):not(.active):not(.disabled){border-color:var(--pagination-active-border)!important;color:var(--purple-text)!important;background:var(--card)!important}
#datatable_product_wrapper .dataTables_paginate .paginate_button.disabled .page-link,
body[data-page-type2="list_product"] .product-table-header-pager .dataTables_paginate .paginate_button.disabled .page-link,
body[data-page-type2="search_product"] .product-table-header-pager .dataTables_paginate .paginate_button.disabled .page-link{opacity:.45;pointer-events:none}
body[data-page-type2="search_product"] .product-table-header-pager{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
}
body[data-page-type2="search_product"] .product-table-header-pager:not(.has-pager){
  min-height:0;
}
#datatable_product_wrapper .dataTables_info{display:none!important}

/* ─── OPEN-VALUE list: Gift Card padding / pager parity ─── */
body[data-page-type2="list_open_value"]{
  --sticky-page-top:calc(var(--sticky-cat-tabs) + var(--sticky-search-top));
  --sticky-thead-top:calc(var(--sticky-page-top) + var(--sticky-prod-toolbar));
}
body[data-page-type2="list_open_value"] .cat-tabs-shell{
  position:sticky;top:0;z-index:90;
  margin-bottom:6px;
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  box-shadow:var(--shadow-sm);
  background:var(--card);
  overflow:hidden;
}
body[data-page-type2="list_open_value"] .cat-tabs-shell .cat-tabs{
  position:static;margin-bottom:0;border:none;border-radius:0;box-shadow:none;
  border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden;
}
body[data-page-type2="list_open_value"] .cat-tabs-shell .cat-tab{padding:10px 16px;margin-bottom:0}
body[data-page-type2="list_open_value"] .pages-container{
  flex:1;min-height:0;overflow-x:auto;overflow-y:scroll;-webkit-overflow-scrolling:touch;
  scrollbar-width:auto;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track-solid);
}
body[data-page-type2="list_open_value"] .content-wrap{overflow:hidden;min-height:0;position:relative}
body[data-page-type2="list_open_value"] .main{
  max-width:none;
  width:100%;
  /* Match Gift Card: leave room for thick rail; avoid canvas covering scrollbar */
  padding-right:7px;
  box-sizing:border-box;
}
body[data-page-type2="list_open_value"] .prod-wrap{
  overflow:visible;border:none;box-shadow:none;background:transparent;width:100%;
}
body[data-page-type2="list_open_value"] .prod-toolbar-sticky{
  position:sticky;top:var(--sticky-page-top);z-index:80;
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-xl) var(--r-xl) 0 0;overflow:hidden;box-shadow:var(--shadow-sm);
}
body[data-page-type2="list_open_value"] .prod-table-head{
  background:var(--card);padding:10px 14px;border-bottom:1px solid var(--border);
  align-items:flex-start;gap:12px;
}
body[data-page-type2="list_open_value"] .prod-table-head__main{
  display:flex;align-items:center;gap:12px;flex:1;min-width:0;flex-wrap:wrap;
}
body[data-page-type2="list_open_value"] .table-wrap{
  border:1px solid var(--border);border-top:none;
  border-radius:0 0 var(--r-xl) var(--r-xl);
  overflow:visible;max-height:none;background:var(--card);box-shadow:var(--shadow-sm);
  width:100%;
}
body[data-page-type2="list_open_value"] #openValueTable{width:100%}
/* Product column first — fixed layout was splitting 12 cols equally and crushing titles */
#openValueTable{table-layout:fixed;width:100%}
#openValueTable th.col-product,
#openValueTable td.col-product{
  width:28%;
  min-width:220px;
  padding:8px 10px;
  vertical-align:middle;
}
#openValueTable th.col-platform,
#openValueTable td.col-platform{width:88px;min-width:72px;text-align:center;padding:6px 4px}
#openValueTable th.col-region,
#openValueTable td.col-region{width:68px;min-width:56px;text-align:center;padding:6px 4px}
#openValueTable th.col-restriction,
#openValueTable td.col-restriction{width:82px;min-width:64px;text-align:center;padding:6px 4px}
#openValueTable th.col-denomination,
#openValueTable td.col-denomination{width:72px;min-width:64px;text-align:center;padding:6px 4px}
#openValueTable th.col-currency,
#openValueTable td.col-currency{width:56px;min-width:48px;text-align:center;padding:6px 4px}
#openValueTable th.col-ov-tier,
#openValueTable td.col-ov-tier,
#openValueTable th.col-ov-disc,
#openValueTable td.col-ov-disc,
#openValueTable th.col-ov-price,
#openValueTable td.col-ov-price{width:72px;min-width:56px;text-align:center;padding:6px 4px;white-space:nowrap}
#openValueTable th.col-ov-pay,
#openValueTable td.col-ov-pay{width:88px;min-width:72px;text-align:center;padding:6px 4px}
#openValueTable th.col-stock,
#openValueTable td.col-stock{width:90px;min-width:72px;text-align:center;padding:6px 4px}
#openValueTable th.col-ov-denom-input,
#openValueTable td.col-ov-denom-input{width:140px;min-width:120px;text-align:left;padding:8px 8px;vertical-align:middle}
#openValueTable th.col-ov-qty,
#openValueTable td.col-ov-qty{width:130px;min-width:110px;text-align:left;padding:8px 8px;vertical-align:middle}
/* Unify all OV headers — same as Gift Card .prod-table th */
#openValueTable thead th{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
  color:var(--t1);
  padding:10px 6px;
  border-bottom:1px solid var(--border);
  background:var(--bg);
}
#openValueTable thead th.col-ov-denom-input,
#openValueTable thead th.col-ov-qty{text-align:left;padding:10px 8px}
#openValueTable thead th.sorting:before,
#openValueTable thead th.sorting:after,
#openValueTable thead th.sorting_asc:before,
#openValueTable thead th.sorting_asc:after,
#openValueTable thead th.sorting_desc:before,
#openValueTable thead th.sorting_desc:after{
  color:var(--t1);
  opacity:.55;
}
#openValueTable thead th.sorting_asc:before,
#openValueTable thead th.sorting_desc:after{opacity:.9}
#openValueTable .prod-name-cell{gap:10px;min-width:0;width:100%}
#openValueTable .prod-name-cell--plain{align-items:flex-start}
#openValueTable .prod-name{
  flex:1;
  min-width:0;
  font-size:14px;
  font-weight:500;
  line-height:1.45;
  white-space:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  max-height:3.1em;
  color:var(--t1);
}

/* Open-Value denom / qty controls */
#openValueTable .ov-action{
  display:block;
  min-width:0;
}
#openValueTable .ov-denom-field{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:3px;
  min-width:0;
}
#openValueTable .ov-denom-row{
  display:flex;
  align-items:center;
  gap:6px;
}
#openValueTable .ov-qty-cell{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
#openValueTable .ov-input{
  height:34px;
  box-sizing:border-box;
  margin:0;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--bg);
  color:var(--t1);
  font-family:var(--font);
  font-size:13px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  line-height:1.2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:border-color .15s,box-shadow .15s,background .15s;
  -moz-appearance:textfield;
}
#openValueTable .ov-input::-webkit-outer-spin-button,
#openValueTable .ov-input::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}
#openValueTable .ov-input:hover{border-color:var(--border)}
#openValueTable .ov-input:focus{
  outline:none;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(37,99,235,.18);
  background:var(--card);
}
#openValueTable .ov-face-input{width:92px;min-width:80px;flex-shrink:0}
#openValueTable .ov-qty-input{width:52px;min-width:48px;flex-shrink:0;text-align:center;padding:0 6px}
#openValueTable .ov-currency{
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--t3);
  flex-shrink:0;
  min-width:2.2em;
}
#openValueTable .ov-denom-hint{
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.2;
  color:var(--danger-text,#E11D48);
  min-height:14px;
  padding-left:2px;
}
#openValueTable .ov-denom-hint[hidden]{display:none!important}
#openValueTable .ov-input--invalid{
  border-color:var(--danger-border,#FCA5A5)!important;
  background:var(--danger-bg,#FEF2F2)!important;
  color:var(--danger-text,#BE123C)!important;
  box-shadow:0 0 0 3px rgba(225,29,72,.12)!important;
}
[data-theme="dark"] #openValueTable .ov-input--invalid{
  background:rgba(127,29,29,.35)!important;
  border-color:#F87171!important;
  color:#FECACA!important;
}
#openValueTable .ov-input--pulse{animation:ovInputPulse .45s ease}
@keyframes ovInputPulse{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-3px)}
  75%{transform:translateX(3px)}
}
#openValueTable .ov-add-btn{
  height:34px;
  padding:0 14px;
  border:none;
  border-radius:999px;
  background:var(--primary,#2563EB);
  color:#fff;
  font-family:var(--font);
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  flex-shrink:0;
  transition:filter .15s,transform .12s;
}
#openValueTable .ov-add-btn:hover{filter:brightness(1.06)}
#openValueTable .ov-add-btn:active{transform:scale(.97)}
#openValueTable_wrapper .product-table-footer{
  padding:13px 16px;border-top:1px solid var(--border-soft);
  display:flex;justify-content:center;align-items:center;
  border-radius:0 0 calc(var(--r-xl) - 1px) calc(var(--r-xl) - 1px);
  overflow:hidden;background:var(--card);
}
#openValueTable_wrapper .product-table-footer .col-sm-12{display:flex;justify-content:center}
#openValueTable_wrapper .dataTables_paginate{
  display:flex!important;align-items:center;gap:5px;float:none!important;
  margin:0!important;padding:0!important;flex-wrap:wrap;justify-content:center;
}
#openValueTable_wrapper .dataTables_paginate ul.pagination{
  display:flex!important;align-items:center;gap:5px;margin:0!important;padding:0!important;
  list-style:none!important;flex-wrap:wrap;justify-content:center;border:none;
}
#openValueTable_wrapper .dataTables_paginate ul.pagination > li::marker,
#openValueTable_wrapper .dataTables_paginate ul.pagination > li::before{content:none!important;display:none!important}
#openValueTable_wrapper .dataTables_paginate .paginate_button{
  margin:0!important;padding:0!important;border:none!important;background:transparent!important;
  list-style:none!important;
}
#openValueTable_wrapper .dataTables_paginate .paginate_button .page-link,
#openValueTable_wrapper .dataTables_paginate .paginate_button:not(.page-item){
  min-width:30px;height:30px;padding:0 8px!important;display:inline-flex!important;
  align-items:center;justify-content:center;border-radius:var(--r-sm)!important;
  font-size:13px!important;font-weight:600;line-height:1;
  border:1px solid var(--border)!important;background:var(--card)!important;
  color:var(--t2)!important;box-shadow:none!important;
}
#openValueTable_wrapper .dataTables_paginate .paginate_button.active .page-link,
#openValueTable_wrapper .dataTables_paginate .paginate_button.current{
  background:var(--pagination-active-bg)!important;
  border-color:var(--pagination-active-border)!important;color:#fff!important;
}
#openValueTable_wrapper .dataTables_paginate .paginate_button:not(.active):not(.disabled) .page-link:hover,
#openValueTable_wrapper .dataTables_paginate .paginate_button:hover:not(.current):not(.active):not(.disabled){
  border-color:var(--pagination-active-border)!important;color:var(--purple-text)!important;
  background:var(--card)!important;
}
#openValueTable_wrapper .dataTables_paginate .paginate_button.disabled .page-link{opacity:.45;pointer-events:none}
#openValueTable_wrapper .dataTables_info,
#openValueTable_wrapper .dataTables_length{display:none!important}

.copy-slide-overlay.open{display:block}
.copy-slide-panel{position:fixed;top:0;right:0;width:min(420px,92vw);height:100vh;background:var(--card);border-left:1px solid var(--border);box-shadow:var(--shadow-md);z-index:8501;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s ease}
.copy-slide-overlay.open .copy-slide-panel{transform:translateX(0)}
.copy-slide-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
.copy-slide-title{font-size:15px;font-weight:700;color:var(--t1);flex:1;min-width:0}
.copy-slide-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.copy-slide-body{flex:1;overflow-y:auto;padding:16px 18px;font-size:14px;color:var(--t2);user-select:text}
.copy-slide-head .copy-btn{padding:7px 14px;font-size:12px;font-weight:700;letter-spacing:.04em;border-radius:var(--r-md)}
/* Slide panel close — SVG icon (not .popup-close; avoids global × styles) */
.copy-slide-close{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;min-width:32px;min-height:32px;
  margin:0;padding:0;border:none;border-radius:50%;
  color:#E11D48;background:#FEE2E2;
  cursor:pointer;box-sizing:border-box;flex-shrink:0;
  transition:background .15s,color .15s,transform .15s;
}
.copy-slide-close-icon{display:block;width:18px;height:18px;pointer-events:none}
.copy-slide-close:hover{color:#BE123C;background:#FECDD3}
.copy-slide-close:active{transform:scale(.96)}
.copy-slide-close:focus-visible{outline:2px solid #FB7185;outline-offset:2px}
[data-theme="dark"] .copy-slide-close{color:#FECDD3;background:#991B1B}
[data-theme="dark"] .copy-slide-close:hover{color:#FFF1F2;background:#B91C1C}

/* Region / language country chips inside slide panel */
.wholesale-tag-grid{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.wholesale-tag{
  display:inline-flex;align-items:center;max-width:100%;
  padding:7px 12px;border-radius:var(--r-md);
  font-size:13px;font-weight:500;line-height:1.35;
  color:var(--t1);background:var(--bg);
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .wholesale-tag{
  color:#E2E8F0;background:#0F172A;border-color:#475569;
  box-shadow:none;
}
[data-theme="dark"] .copy-slide-body .wholesale-tag{background:#1E293B;border-color:#64748B;color:#F1F5F9}
.copy-slide-body .wholesale-tag-grid{margin-top:4px}
/* Legacy inline chips (cached HTML) — force readable in dark mode */
.copy-slide-body div.rounded[style*="f3f3f3"],
.copy-slide-body div.rounded[style*="background-color"]{
  display:inline-flex!important;align-items:center;
  margin:0 8px 8px 0!important;padding:7px 12px!important;
  border-radius:var(--r-md)!important;
  font-size:13px!important;font-weight:500!important;line-height:1.35!important;
  color:var(--t1)!important;background:var(--bg)!important;
  border:1px solid var(--border)!important;
  box-shadow:var(--shadow-sm)!important;
}
[data-theme="dark"] .copy-slide-body div.rounded[style*="f3f3f3"],
[data-theme="dark"] .copy-slide-body div.rounded[style*="background-color"]{
  color:#F1F5F9!important;background:#1E293B!important;border-color:#64748B!important;
  box-shadow:none!important;
}

/* ─── BADGES ─── */
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}
.badge-success{background:var(--success-bg);color:var(--success-text)}
.badge-danger{background:var(--danger-bg);color:var(--danger-text)}
.badge-warn{background:var(--warn-bg);color:var(--warn-text)}
.badge-restriction{background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE}
[data-theme="dark"] .badge-restriction{background:#1E3A5F;color:#93C5FD;border-color:#2563EB}
.badge-info{background:var(--info-bg);color:var(--info-text)}
.badge-purple{background:var(--purple-bg);color:var(--purple-text)}
.badge-gray{background:#F1F5F9;color:#475569}
[data-theme="dark"] .badge-gray{background:#334155;color:#94A3B8}
.badge-orange{background:var(--orange-light);color:#9A3412}
.badge-teal{background:var(--teal-light);color:var(--teal-dark)}
[data-theme="dark"] .badge-teal{background:#0C4A6E;color:#22D3EE}
.stock-total{background:var(--purple-bg);color:var(--purple-text);font-weight:700;font-size:12px;padding:3px 9px;border-radius:20px}

/* Clickable badge */
.badge-clickable{cursor:pointer;transition:all .15s;user-select:none}
.badge-clickable:hover{filter:brightness(.9);transform:translateY(-1px)}
.badge-multi-region{white-space:normal;line-height:1.15;text-align:center;max-width:64px;padding:4px 7px;font-size:11px;font-weight:700}
.prod-table td.col-region .badge-multi-region{display:inline-flex;flex-direction:column;align-items:center}
.badge-multi-language{font-weight:700;font-size:12px;letter-spacing:.02em}
.prod-table td.col-language .badge-multi-language{min-width:44px;justify-content:center}

/* REGION / LANGUAGE / RESTRICTION: empty = gray, filled = accent (see WHOLESALE-BADGE-COLORS.md) */
.prod-table td.col-region .badge-gray,
.prod-table td.col-language .badge-gray,
.prod-table td.col-restriction .badge-gray{background:#F1F5F9;color:#64748B;border:1px solid #E2E8F0}
[data-theme="dark"] .prod-table td.col-region .badge-gray,
[data-theme="dark"] .prod-table td.col-language .badge-gray,
[data-theme="dark"] .prod-table td.col-restriction .badge-gray{background:#334155;color:#94A3B8;border-color:#475569}
.prod-table td.col-region .badge-info{font-weight:700}
.prod-table td.col-language .badge-teal{font-weight:700}
.prod-table td.col-restriction .badge-restriction{font-weight:700;letter-spacing:.02em}
.copy-slide-body .wholesale-tag-grid-header{display:none!important}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 15px;border-radius:var(--r-md);font-size:14px;font-weight:600;border:1px solid var(--border);background:var(--card);color:var(--t1);cursor:pointer;transition:all .15s;white-space:nowrap;font-family:var(--font)}
.btn:hover{border-color:var(--t3);background:var(--bg)}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn-primary:hover{background:#1D4ED8;border-color:#1D4ED8}
/* Dark: SEE STOCKS / primary — deep blue, not bright #3B82F6 */
[data-theme="dark"] .btn-primary,
[data-theme="dark"] .see-stock{
  background:linear-gradient(135deg,#1E40AF,#1E3A8A);
  border-color:#1E3A8A;
  color:#fff;
  box-shadow:0 2px 8px rgba(15,23,42,.35);
}
[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .see-stock:hover{
  background:linear-gradient(135deg,#1D4ED8,#1E3A8A);
  border-color:#1E40AF;
}
.btn-sm{padding:5px 11px;font-size:12px}
.btn-teal{background:var(--teal);border-color:var(--teal);color:#fff}
.btn-teal:hover{background:#0E7490}
.btn-success{background:#059669;border-color:#059669;color:#fff}
.btn-danger-soft{background:var(--danger-bg);border-color:#FCA5A5;color:var(--danger-text)}

/* Sign up submit — loading / pending review */
#kt_login_signup_submit{transition:background .2s,border-color .2s,color .2s,box-shadow .2s,opacity .2s}
#kt_login_signup_submit.btn-signup--loading,
#kt_login_signup_verify.btn-signup--loading,
#kt_reg_check_submit.btn-signup--loading{opacity:.88;cursor:wait;pointer-events:none}
#kt_login_signup_submit.btn-signup--review,
#kt_login_signup_verify.btn-signup--review,
#kt_reg_check_submit.btn-signup--review{background:var(--success-bg);border-color:#86EFAC;color:var(--success-text);cursor:default;pointer-events:none;box-shadow:0 0 0 3px rgba(134,239,172,.28)}
#kt_login_signup_submit.btn-signup--review:hover,
#kt_login_signup_verify.btn-signup--review:hover,
#kt_reg_check_submit.btn-signup--review:hover{background:#BBF7D0;border-color:#4ADE80;color:#14532D}
[data-theme="dark"] #kt_login_signup_submit.btn-signup--review,
[data-theme="dark"] #kt_login_signup_verify.btn-signup--review,
[data-theme="dark"] #kt_reg_check_submit.btn-signup--review{box-shadow:0 0 0 3px rgba(34,197,94,.2)}
.signup-step-2{margin-top:4px;padding-top:16px;border-top:1px solid var(--border-soft)}
.signup-verify-hint{font-size:13px;color:var(--t2);line-height:1.55;margin:0 0 14px}
.signup-verify-hint strong{color:var(--t1);font-weight:600}
.signup-verify-hint a{color:var(--primary);font-weight:600;text-decoration:none}
.signup-verify-hint a:hover{text-decoration:underline}
.signup-status-banner{font-size:13px;line-height:1.55;padding:12px 14px;border-radius:var(--r-md);margin:0 0 14px;border:1px solid transparent}
.signup-status-banner--info{background:var(--info-bg);border-color:#93C5FD;color:var(--info-text)}
.signup-status-banner--success{background:var(--success-bg);border-color:#86EFAC;color:var(--success-text)}
.signup-status-banner--warning{background:var(--orange-light);border-color:#FDBA74;color:#9A3412}
.signup-step--locked .form-input,.signup-step--locked .form-select{opacity:.72;background:var(--bg);cursor:not-allowed}
.signup-step--locked .field-optional{opacity:.65}
[data-theme="dark"] .signup-status-banner--warning{background:#431407;color:#FDBA74;border-color:#9A3412}
.signup-resend-btn{display:block;margin-top:10px;width:100%;padding:10px 14px;border:1px solid var(--border-soft);background:var(--surface);color:var(--t1);font-size:13px;font-weight:600;border-radius:var(--r-md);cursor:pointer;transition:border-color .2s,color .2s,opacity .2s}
.signup-resend-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.signup-resend-btn:disabled{opacity:.65;cursor:not-allowed}

/* ─── FILTER PANEL ─── */
.product-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}
.product-layout.product-layout-full{grid-template-columns:1fr}
.d-none{display:none!important}
.btn-danger-soft{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-bg)}
.btn-danger-soft:hover{filter:brightness(.96)}
.popup-form-body{padding:16px 18px;max-height:min(70vh,520px);overflow-y:auto}
.popup-form-body .form-group:last-child{margin-bottom:0}
.alert-danger-soft{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text)}
.checkout-grid{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:start}
@media(max-width:900px){.checkout-grid{grid-template-columns:1fr}}
.filter-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);position:sticky;top:calc(var(--header-h) + 24px);max-height:calc(100vh - var(--header-h) - 48px);overflow-y:auto;transition:background .2s,border-color .2s}
/* list_product overrides top/max-height in STICKY PRODUCT LIST LAYOUT block */
.filter-head{padding:13px 15px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--card);z-index:5}
.filter-title{font-size:13px;font-weight:700;color:var(--t1);display:flex;align-items:center;gap:6px}
.filter-body{padding:10px}
.filter-sec{margin-bottom:10px}
.filter-sec:has(.filter-chip-scroll){margin-bottom:8px}
.filter-sec:has(.filter-chip-scroll) .filter-search-inp{margin-bottom:5px}
.filter-sec-head{font-size:10px;font-weight:700;color:var(--t3);text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px;display:flex;align-items:center;justify-content:space-between}
.filter-sec-head a{font-size:10px;text-transform:none;letter-spacing:0;color:var(--danger-text);cursor:pointer;font-weight:600}
.chip-wrap{display:flex;flex-wrap:wrap;gap:6px}
.filter-chip-scroll{
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--border) transparent;
  padding-right:3px;
  align-content:flex-start;
}
.filter-chip-scroll--region{max-height:140px}
.filter-chip-scroll--currency{max-height:120px}
.filter-chip-scroll::-webkit-scrollbar{width:4px;height:4px}
.filter-chip-scroll::-webkit-scrollbar-track{background:transparent}
.filter-chip-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}
.chip{padding:4px 11px;border-radius:20px;border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--t2);cursor:pointer;background:var(--bg);display:flex;align-items:center;gap:4px;transition:all .12s}
.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}
.chip-wrap .chip input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.chip-wrap label.chip:has(input:checked){background:var(--primary);border-color:var(--primary);color:#fff}
.prod-thumb-img{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0}
.prod-thumb-img--brand{object-fit:contain;background:transparent}
.symbol .prod-thumb-img--brand,.symbol-75 .prod-thumb-img--brand{width:100%;height:100%;border-radius:6px}
.filter-sec-head button{background:none;border:none;font-size:11px;color:var(--primary);cursor:pointer;padding:0}
[data-theme="dark"] .filter-sec-head button{color:#FFFFFF}
[data-theme="dark"] .filter-sec-head button:hover{color:#E2E8F0}
[data-theme="dark"] .filter-sec-head:has(#clearPlatform),
[data-theme="dark"] .filter-sec-head:has(#clearArea),
[data-theme="dark"] .filter-sec-head:has(#clearCurrency){
  color:#FFFFFF;
}
.filter-search-inp{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;background:var(--bg);margin-bottom:5px;color:var(--t1);font-family:var(--font)}
.clear-all-btn{width:100%;padding:6px;border:1px solid #FCA5A5;border-radius:var(--r-md);background:var(--danger-bg);color:var(--danger-text);font-size:12px;font-weight:600;margin-top:8px;cursor:pointer;font-family:var(--font)}

/* CATEGORY TABS */
.cat-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--card);overflow-x:auto;flex-shrink:0;transition:background .2s,border-color .2s}
.cat-tab{padding:12px 16px;font-size:13px;font-weight:600;color:var(--t3);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-family:var(--font);transition:all .15s}
.cat-tab.active{color:var(--primary);border-color:var(--primary)}
.cat-tab:hover:not(.active){color:var(--t1)}

/* ─── CAT GRID ─── */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px;margin-bottom:24px}
.cat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s}
a.cat-card,a.cat-tab{display:block;text-decoration:none;color:inherit}
.cat-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-mid);transform:translateY(-2px)}
.cat-visual{
  position:relative;height:110px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:var(--cv-bg,linear-gradient(145deg,var(--bg) 0%,var(--border) 100%));
}
.cat-visual::before{
  content:"";position:absolute;inset:0;opacity:.55;pointer-events:none;
  background:radial-gradient(ellipse 70% 80% at 88% 12%,rgba(255,255,255,.55),transparent 58%);
}
.cat-visual::after{
  content:"";position:absolute;inset:auto 0 0 0;height:42%;opacity:.22;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(15,23,42,.08));
}
[data-theme="dark"] .cat-visual::before{opacity:.28;background:radial-gradient(ellipse 70% 80% at 88% 12%,rgba(255,255,255,.14),transparent 58%)}
[data-theme="dark"] .cat-visual::after{opacity:.35;background:linear-gradient(180deg,transparent,rgba(0,0,0,.25))}
.cat-visual-glyph{
  position:relative;z-index:1;width:50px;height:50px;flex-shrink:0;
  background:center/contain no-repeat;
  filter:drop-shadow(0 2px 8px rgba(15,23,42,.14));
}
[data-theme="dark"] .cat-visual-glyph{filter:drop-shadow(0 3px 10px rgba(0,0,0,.45))}

.cat-visual--gift{--cv-bg:linear-gradient(145deg,#FFFBEB 0%,#FEF3C7 42%,#FDE68A 100%)}
[data-theme="dark"] .cat-visual--gift{--cv-bg:linear-gradient(145deg,#1C1917 0%,#422006 48%,#713F12 100%)}
.cat-visual--gift .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='9' y='21' width='30' height='22' rx='3' fill='%23F59E0B'/%3E%3Cpath d='M24 21V10M17 14c0-3 3-5 7-5s7 2 7 5-3 5-7 5-7-2-7-5z' fill='%23FBBF24'/%3E%3Cpath d='M9 26h30' stroke='%23B45309' stroke-width='2'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--gift .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='9' y='21' width='30' height='22' rx='3' fill='%23FBBF24'/%3E%3Cpath d='M24 21V10M17 14c0-3 3-5 7-5s7 2 7 5-3 5-7 5-7-2-7-5z' fill='%23FDE68A'/%3E%3Cpath d='M9 26h30' stroke='%23FCD34D' stroke-width='2'/%3E%3C/svg%3E")}

.cat-visual--game{--cv-bg:linear-gradient(145deg,#EEF2FF 0%,#C7D2FE 55%,#A5B4FC 100%)}
[data-theme="dark"] .cat-visual--game{--cv-bg:linear-gradient(145deg,#0F172A 0%,#1E1B4B 50%,#312E81 100%)}
.cat-visual--game .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M10 24a14 14 0 0128 0v4a6 6 0 01-6 6H30l-3 4h-6l-3-4h-2a6 6 0 01-6-6v-4z' fill='%234F46E5'/%3E%3Ccircle cx='18' cy='24' r='3' fill='%23E0E7FF'/%3E%3Crect x='30' y='21' width='3' height='6' rx='1' fill='%23E0E7FF'/%3E%3Crect x='27' y='24' width='9' height='3' rx='1' fill='%23E0E7FF'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--game .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M10 24a14 14 0 0128 0v4a6 6 0 01-6 6H30l-3 4h-6l-3-4h-2a6 6 0 01-6-6v-4z' fill='%23818CF8'/%3E%3Ccircle cx='18' cy='24' r='3' fill='%23C7D2FE'/%3E%3Crect x='30' y='21' width='3' height='6' rx='1' fill='%23C7D2FE'/%3E%3Crect x='27' y='24' width='9' height='3' rx='1' fill='%23C7D2FE'/%3E%3C/svg%3E")}

.cat-visual--antivirus{--cv-bg:linear-gradient(145deg,#ECFDF5 0%,#A7F3D0 55%,#6EE7B7 100%)}
[data-theme="dark"] .cat-visual--antivirus{--cv-bg:linear-gradient(145deg,#022C22 0%,#064E3B 50%,#065F46 100%)}
.cat-visual--antivirus .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 6l14 5v11c0 9-6 15-14 19-8-4-14-10-14-19V11l14-5z' fill='%2310B981'/%3E%3Cpath d='M17 24l5 5 9-10' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--antivirus .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 6l14 5v11c0 9-6 15-14 19-8-4-14-10-14-19V11l14-5z' fill='%2334D399'/%3E%3Cpath d='M17 24l5 5 9-10' stroke='%2306472B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E")}

.cat-visual--software{--cv-bg:linear-gradient(145deg,#F0F9FF 0%,#BAE6FD 55%,#7DD3FC 100%)}
[data-theme="dark"] .cat-visual--software{--cv-bg:linear-gradient(145deg,#082F49 0%,#0C4A6E 50%,#075985 100%)}
.cat-visual--software .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='10' y='12' width='28' height='8' rx='2' fill='%230EA5E9'/%3E%3Crect x='10' y='22' width='28' height='8' rx='2' fill='%2338BDF8'/%3E%3Crect x='10' y='32' width='18' height='6' rx='2' fill='%237DD3FC'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--software .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='10' y='12' width='28' height='8' rx='2' fill='%2338BDF8'/%3E%3Crect x='10' y='22' width='28' height='8' rx='2' fill='%237DD3FC'/%3E%3Crect x='10' y='32' width='18' height='6' rx='2' fill='%23BAE6FD'/%3E%3C/svg%3E")}

.cat-visual--prepaid{--cv-bg:linear-gradient(145deg,#FFF7ED 0%,#FED7AA 55%,#FDBA74 100%)}
[data-theme="dark"] .cat-visual--prepaid{--cv-bg:linear-gradient(145deg,#1C1917 0%,#431407 50%,#7C2D12 100%)}
.cat-visual--prepaid .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='8' y='14' width='32' height='22' rx='4' fill='%23F97316'/%3E%3Crect x='8' y='20' width='32' height='6' fill='%23EA580C'/%3E%3Crect x='12' y='30' width='10' height='3' rx='1' fill='%23FFEDD5'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--prepaid .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='8' y='14' width='32' height='22' rx='4' fill='%23FB923C'/%3E%3Crect x='8' y='20' width='32' height='6' fill='%23FDBA74'/%3E%3Crect x='12' y='30' width='10' height='3' rx='1' fill='%23FFEDD5'/%3E%3C/svg%3E")}

.cat-visual--currency{--cv-bg:linear-gradient(145deg,#FFFBEB 0%,#FDE68A 48%,#FBBF24 100%)}
[data-theme="dark"] .cat-visual--currency{--cv-bg:linear-gradient(145deg,#292524 0%,#44403C 50%,#57534E 100%)}
.cat-visual--currency .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='20' cy='26' r='11' fill='%23EAB308'/%3E%3Ccircle cx='30' cy='20' r='9' fill='%23FACC15'/%3E%3Cpath d='M20 21v10M17 24h6' stroke='%23A16207' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--currency .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='20' cy='26' r='11' fill='%23FACC15'/%3E%3Ccircle cx='30' cy='20' r='9' fill='%23FDE047'/%3E%3Cpath d='M20 21v10M17 24h6' stroke='%23713F12' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}

.cat-visual--steam{--cv-bg:#000}
[data-theme="dark"] .cat-visual--steam{--cv-bg:#000}
.cat-visual--steam .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/steam.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--steam .cat-visual-glyph{background-image:url("../img/product-icons/steam.png")}

.cat-visual--epic{--cv-bg:#000}
[data-theme="dark"] .cat-visual--epic{--cv-bg:#000}
.cat-visual--epic .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/epic-games.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--epic .cat-visual-glyph{background-image:url("../img/product-icons/epic-games.png")}

.cat-visual--ea{--cv-bg:#000}
[data-theme="dark"] .cat-visual--ea{--cv-bg:#000}
.cat-visual--ea .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/electronic-arts-ea.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--ea .cat-visual-glyph{background-image:url("../img/product-icons/electronic-arts-ea.png")}

.cat-visual--microsoft{--cv-bg:#000}
[data-theme="dark"] .cat-visual--microsoft{--cv-bg:#000}
.cat-visual--microsoft .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/microsoft.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--microsoft .cat-visual-glyph{background-image:url("../img/product-icons/microsoft.png")}

.cat-visual--ubisoft{--cv-bg:#000}
[data-theme="dark"] .cat-visual--ubisoft{--cv-bg:#000}
.cat-visual--ubisoft .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/ubisoft.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--ubisoft .cat-visual-glyph{background-image:url("../img/product-icons/ubisoft.png")}

.cat-visual--battlenet{--cv-bg:#000}
[data-theme="dark"] .cat-visual--battlenet{--cv-bg:#000}
.cat-visual--battlenet .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/battlenet-blizzard.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--battlenet .cat-visual-glyph{background-image:url("../img/product-icons/battlenet-blizzard.png")}

.cat-visual--razergold{--cv-bg:#000}
[data-theme="dark"] .cat-visual--razergold{--cv-bg:#000}
.cat-visual--razergold .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/razer-gold.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--razergold .cat-visual-glyph{background-image:url("../img/product-icons/razer-gold.png")}

.cat-visual--apple{--cv-bg:#000}
[data-theme="dark"] .cat-visual--apple{--cv-bg:#000}
.cat-visual--apple .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/apple.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--apple .cat-visual-glyph{background-image:url("../img/product-icons/apple.png")}

.cat-visual--netflix{--cv-bg:#000}
[data-theme="dark"] .cat-visual--netflix{--cv-bg:#000}
.cat-visual--netflix .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/netflix.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--netflix .cat-visual-glyph{background-image:url("../img/product-icons/netflix.png")}

.cat-visual--roblox{--cv-bg:#000}
[data-theme="dark"] .cat-visual--roblox{--cv-bg:#000}
.cat-visual--roblox .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/roblox.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--roblox .cat-visual-glyph{background-image:url("../img/product-icons/roblox.png")}

.cat-visual--riot{--cv-bg:#000}
[data-theme="dark"] .cat-visual--riot{--cv-bg:#000}
.cat-visual--riot .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/riot.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--riot .cat-visual-glyph{background-image:url("../img/product-icons/riot.png")}

.cat-visual--valorant{--cv-bg:#000}
[data-theme="dark"] .cat-visual--valorant{--cv-bg:#000}
.cat-visual--valorant .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/valorant.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--valorant .cat-visual-glyph{background-image:url("../img/product-icons/valorant.png")}

.cat-visual--gta{--cv-bg:#000}
[data-theme="dark"] .cat-visual--gta{--cv-bg:#000}
.cat-visual--gta .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/gta-grand-theft-auto.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--gta .cat-visual-glyph{background-image:url("../img/product-icons/gta-grand-theft-auto.png")}

.cat-visual--minecraft{--cv-bg:#000}
[data-theme="dark"] .cat-visual--minecraft{--cv-bg:#000}
.cat-visual--minecraft .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/minecraft.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--minecraft .cat-visual-glyph{background-image:url("../img/product-icons/minecraft.png")}

.cat-visual--nintendo{--cv-bg:#000}
[data-theme="dark"] .cat-visual--nintendo{--cv-bg:#000}
.cat-visual--nintendo .cat-visual-glyph{
  width:56px;height:56px;
  background-image:url("../img/product-icons/nintendo.png");
  background-color:#000;
}
[data-theme="dark"] .cat-visual--nintendo .cat-visual-glyph{background-image:url("../img/product-icons/nintendo.png")}

/* ─── SOFTWARE / SECURITY BRAND CAT COVERS ─── */
.cat-visual--abbyy,.cat-visual--acronis,.cat-visual--eset,.cat-visual--fsecure,.cat-visual--trendmicro,.cat-visual--panda,.cat-visual--bitdefender,.cat-visual--kaspersky,.cat-visual--mcafee,.cat-visual--norton,.cat-visual--avast,.cat-visual--avg,.cat-visual--nordvpn,.cat-visual--surfshark{--cv-bg:#000}
[data-theme="dark"] .cat-visual--abbyy,[data-theme="dark"] .cat-visual--acronis,[data-theme="dark"] .cat-visual--eset,[data-theme="dark"] .cat-visual--fsecure,[data-theme="dark"] .cat-visual--trendmicro,[data-theme="dark"] .cat-visual--panda,[data-theme="dark"] .cat-visual--bitdefender,[data-theme="dark"] .cat-visual--kaspersky,[data-theme="dark"] .cat-visual--mcafee,[data-theme="dark"] .cat-visual--norton,[data-theme="dark"] .cat-visual--avast,[data-theme="dark"] .cat-visual--avg,[data-theme="dark"] .cat-visual--nordvpn,[data-theme="dark"] .cat-visual--surfshark{--cv-bg:#000}
.cat-visual--abbyy .cat-visual-glyph,.cat-visual--acronis .cat-visual-glyph,.cat-visual--eset .cat-visual-glyph,.cat-visual--fsecure .cat-visual-glyph,.cat-visual--trendmicro .cat-visual-glyph,.cat-visual--panda .cat-visual-glyph,.cat-visual--bitdefender .cat-visual-glyph,.cat-visual--kaspersky .cat-visual-glyph,.cat-visual--mcafee .cat-visual-glyph,.cat-visual--norton .cat-visual-glyph,.cat-visual--avast .cat-visual-glyph,.cat-visual--avg .cat-visual-glyph,.cat-visual--nordvpn .cat-visual-glyph,.cat-visual--surfshark .cat-visual-glyph{width:56px;height:56px;background-color:#000}
.cat-visual--abbyy .cat-visual-glyph{background-image:url("../img/product-icons/abbyy-finereader.png")}
.cat-visual--acronis .cat-visual-glyph{background-image:url("../img/product-icons/acronis-true-image.png")}
.cat-visual--eset .cat-visual-glyph{background-image:url("../img/product-icons/eset-nod32.png")}
.cat-visual--fsecure .cat-visual-glyph{background-image:url("../img/product-icons/f-secure.png")}
.cat-visual--trendmicro .cat-visual-glyph{background-image:url("../img/product-icons/trend-micro.png")}
.cat-visual--panda .cat-visual-glyph{background-image:url("../img/product-icons/panda-security.png")}
.cat-visual--bitdefender .cat-visual-glyph{background-image:url("../img/product-icons/bitdefender.png")}
.cat-visual--kaspersky .cat-visual-glyph{background-image:url("../img/product-icons/kaspersky.png")}
.cat-visual--mcafee .cat-visual-glyph{background-image:url("../img/product-icons/mcafee.png")}
.cat-visual--norton .cat-visual-glyph{background-image:url("../img/product-icons/norton.png")}
.cat-visual--avast .cat-visual-glyph{background-image:url("../img/product-icons/avast.png")}
.cat-visual--avg .cat-visual-glyph{background-image:url("../img/product-icons/avg.png")}
.cat-visual--nordvpn .cat-visual-glyph{background-image:url("../img/product-icons/nord-vpn.jpg")}
.cat-visual--surfshark .cat-visual-glyph{background-image:url("../img/product-icons/surfshark.png")}

.cat-visual--promotion{--cv-bg:linear-gradient(145deg,#FFFBEB 0%,#FEF3C7 48%,#FDE68A 100%)}
[data-theme="dark"] .cat-visual--promotion{--cv-bg:linear-gradient(145deg,#292524 0%,#44403C 48%,#57534E 100%)}
.cat-visual--promotion .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M12 10h18l8 8v20H12V10z' fill='%23F59E0B'/%3E%3Ccircle cx='30' cy='14' r='5' fill='%23FBBF24'/%3E%3Cpath d='M16 22h16M16 28h12' stroke='%23FFFBEB' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--promotion .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M12 10h18l8 8v20H12V10z' fill='%23FBBF24'/%3E%3Ccircle cx='30' cy='14' r='5' fill='%23FDE68A'/%3E%3Cpath d='M16 22h16M16 28h12' stroke='%2344403C' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}

.cat-visual--bestseller{--cv-bg:linear-gradient(145deg,#F5F3FF 0%,#DDD6FE 55%,#C4B5FD 100%)}
[data-theme="dark"] .cat-visual--bestseller{--cv-bg:linear-gradient(145deg,#1E1B4B 0%,#312E81 50%,#4338CA 100%)}
.cat-visual--bestseller .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 8l4 10h11l-9 7 3 11-9-6-9 6 3-11-9-7h11l4-10z' fill='%238B5CF6'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--bestseller .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M24 8l4 10h11l-9 7 3 11-9-6-9 6 3-11-9-7h11l4-10z' fill='%23A78BFA'/%3E%3C/svg%3E")}

.cat-visual--default{--cv-bg:linear-gradient(145deg,#F8FAFC 0%,#E2E8F0 55%,#CBD5E1 100%)}
[data-theme="dark"] .cat-visual--default{--cv-bg:linear-gradient(145deg,#1E293B 0%,#334155 50%,#475569 100%)}
.cat-visual--default .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='10' y='10' width='12' height='12' rx='2' fill='%2364748B'/%3E%3Crect x='26' y='10' width='12' height='12' rx='2' fill='%2394A3B8'/%3E%3Crect x='10' y='26' width='12' height='12' rx='2' fill='%2394A3B8'/%3E%3Crect x='26' y='26' width='12' height='12' rx='2' fill='%23CBD5E1'/%3E%3C/svg%3E")}
[data-theme="dark"] .cat-visual--default .cat-visual-glyph{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Crect x='10' y='10' width='12' height='12' rx='2' fill='%2394A3B8'/%3E%3Crect x='26' y='10' width='12' height='12' rx='2' fill='%23CBD5E1'/%3E%3Crect x='10' y='26' width='12' height='12' rx='2' fill='%23CBD5E1'/%3E%3Crect x='26' y='26' width='12' height='12' rx='2' fill='%23E2E8F0'/%3E%3C/svg%3E")}

.cat-body{padding:14px 16px;display:flex;align-items:center;justify-content:space-between}
.cat-name{font-size:14px;font-weight:700;color:var(--t1)}
.cat-arrow{width:24px;height:24px;border-radius:50%;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--t3)}

/* ─── SECTION HEADER ─── */
.sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.sec-title{font-size:16px;font-weight:700;color:var(--t1)}

/* ─── GRID ─── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mt-4{margin-top:16px} .mb-4{margin-bottom:16px} .mb-2{margin-bottom:8px}

/* ─── FORMS ─── */
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--t2);margin-bottom:5px}
.form-input{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-md);font-size:14px;color:var(--t1);background:var(--card);font-family:var(--font);transition:all .15s}
.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}
.form-select{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-md);font-size:14px;color:var(--t1);background:var(--card);font-family:var(--font)}
.form-textarea{width:100%;padding:10px 13px;border:1px solid var(--border);border-radius:var(--r-md);font-size:14px;color:var(--t1);background:var(--card);resize:vertical;min-height:110px;font-family:var(--font)}

/* ─── CREDIT LAYOUT ─── */
.credit-layout{display:grid;grid-template-columns:190px 1fr;background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-sm)}
.credit-layout--single{grid-template-columns:1fr}
.credit-menu{border-right:1px solid var(--border);padding:10px}
.credit-menu-item{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:var(--r-md);font-size:14px;font-weight:500;color:var(--t2);cursor:pointer;transition:all .15s}
.credit-menu-item.active{background:var(--primary);color:#fff}
.credit-menu-item:hover:not(.active){background:var(--bg)}
.credit-content{padding:24px}
.credit-info-box{padding:18px;background:linear-gradient(135deg,#ECFDF5,#D1FAE5);border-radius:var(--r-lg);border:1px solid #6EE7B7}
[data-theme="dark"] .credit-info-box{background:linear-gradient(135deg,#064E3B,#052e16);border-color:#065F46}
.credit-info-title{font-size:14px;font-weight:700;color:#065F46;margin-bottom:7px}
[data-theme="dark"] .credit-info-title{color:#6EE7B7}
.credit-info-text{font-size:14px;color:#047857;line-height:1.65}
[data-theme="dark"] .credit-info-text{color:#34D399}

/* SweetAlert2 on wholesale shell (credit load, etc.) — theme-aware (incl. dark) */
.swal2-container{z-index:25000!important}
.swal2-container.swal2-backdrop-show{background:rgba(15,23,42,.45)!important}
[data-theme="dark"] .swal2-container.swal2-backdrop-show{background:rgba(2,6,23,.78)!important}
.swal2-popup.credit-swal-popup{
  font-family:var(--font);
  border-radius:var(--r-xl);
  padding:1.5rem 1.25rem 1.25rem;
  max-width:min(420px,calc(100vw - 32px));
  background:var(--card)!important;
  color:var(--t1)!important;
  border:1px solid var(--border);
  box-shadow:var(--shadow-md);
}
[data-theme="dark"] .swal2-popup.credit-swal-popup{
  box-shadow:0 16px 48px rgba(0,0,0,.55);
}
.swal2-popup.credit-swal-popup .swal2-title{
  font-size:1.125rem;
  font-weight:700;
  color:var(--t1)!important;
  padding:0 0 .5rem;
}
.swal2-popup.credit-swal-popup .swal2-html-container,
.swal2-popup.credit-swal-popup .swal2-content{
  font-size:14px;
  line-height:1.55;
  color:var(--t2)!important;
}
.swal2-popup.credit-swal-popup .credit-swal-hint{
  margin-top:12px;
  font-size:13px;
  line-height:1.55;
  color:var(--t3)!important;
}
.swal2-popup.credit-swal-popup .swal2-icon{
  margin:0.75rem auto 0.5rem;
  border-width:3px;
}
.swal2-popup.credit-swal-popup .swal2-icon.swal2-question{
  border-color:var(--primary-mid)!important;
  color:var(--primary)!important;
}
[data-theme="dark"] .swal2-popup.credit-swal-popup .swal2-icon.swal2-question{
  border-color:#3B82F6!important;
  color:#93C5FD!important;
}
.swal2-popup.credit-swal-popup .swal2-icon.swal2-warning{
  border-color:var(--warn-text)!important;
  color:var(--warn-text)!important;
}
.swal2-popup.credit-swal-popup .swal2-icon.swal2-success{
  border-color:var(--success-text)!important;
}
.swal2-popup.credit-swal-popup .swal2-icon.swal2-success [class^=swal2-success-line],
.swal2-popup.credit-swal-popup .swal2-icon.swal2-success .swal2-success-ring{
  border-color:var(--success-text)!important;
  background:transparent!important;
}
.swal2-popup.credit-swal-popup .swal2-icon.swal2-error{
  border-color:var(--danger-text)!important;
  color:var(--danger-text)!important;
}
.swal2-popup.credit-swal-popup .credit-swal-actions{
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:1rem;
}
.swal2-popup.credit-swal-popup .btn{
  min-width:120px;
  margin:0;
  font-family:var(--font);
  font-weight:600;
  border-radius:var(--r-md);
  padding:8px 16px;
}
.swal2-popup.credit-swal-popup .btn-success{background:#16a34a;border:1px solid #16a34a;color:#fff}
[data-theme="dark"] .swal2-popup.credit-swal-popup .btn-success{background:#15803d;border-color:#22c55e;color:#fff}
.swal2-popup.credit-swal-popup .btn-primary{background:var(--primary);border:1px solid var(--primary);color:#fff}
.swal2-popup.credit-swal-popup .btn-light{
  background:var(--bg);
  border:1px solid var(--border);
  color:var(--t1);
}
[data-theme="dark"] .swal2-popup.credit-swal-popup .btn-light{
  background:#0F172A;
  border-color:var(--border);
  color:var(--t1);
}

/* ─── CONTACT ─── */
.contact-grid{display:grid;grid-template-columns:1fr 300px;gap:20px}
.contact-info-box{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-xl);padding:20px}
.ci-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border-soft);font-size:14px}
.ci-row:last-child{border-bottom:none}
.ci-label{color:var(--t3);font-weight:600}
.captcha-img{padding:8px 16px;background:#1a1a2e;border-radius:var(--r-md);font-family:var(--mono);font-size:15px;color:#fff;letter-spacing:.12em;user-select:none}

/* ─── PAGINATION ─── */
.pagination{display:flex;align-items:center;gap:5px;padding:13px 16px;border-top:1px solid var(--border-soft)}
.pg-info{font-size:13px;color:var(--t3);flex:1}
.pg-btn{width:30px;height:30px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;color:var(--t2);transition:all .15s;font-family:var(--font)}
.pg-btn.active{background:var(--pagination-active-bg);border-color:var(--pagination-active-border);color:#fff}
.pg-btn:hover:not(.active){border-color:var(--pagination-active-border);color:var(--purple-text)}

/* ─── EMPTY STATE ─── */
.empty{text-align:center;padding:44px;color:var(--t3)}
.empty-icon{font-size:40px;margin-bottom:12px}
.empty-title{font-size:16px;font-weight:600;color:var(--t2);margin-bottom:5px}
.empty-sub{font-size:14px}

/* ─── TIER TABLE ─── */
.tier-table th{padding:13px 18px}
.tier-table td{padding:13px 18px;font-size:14px}

/* ─── POPUP OVERLAY ─── */
.popup-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:8000;align-items:center;justify-content:center}
.popup-overlay.open{display:flex}
.popup-box{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);width:360px;max-width:90vw;box-shadow:var(--shadow-md);overflow:hidden;transition:background .2s}
.popup-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.popup-title{font-size:15px;font-weight:700;color:var(--t1)}
.popup-close{background:none;border:none;font-size:18px;color:var(--t3);cursor:pointer;line-height:1;padding:2px 6px;border-radius:4px}
.popup-close:hover{background:var(--danger-bg);color:var(--danger-text)}
/* Add to Basket modal — red circle close (same as header search clear) */
.popup-head .hdr-search-clear.popup-modal-close{position:static;transform:none;flex-shrink:0}
.popup-head .hdr-search-clear.popup-modal-close:hover{transform:scale(1.1)}
.popup-list{max-height:280px;overflow-y:auto;padding:10px 0}
.popup-list-item{padding:8px 18px;font-size:14px;color:var(--t2);border-bottom:1px solid var(--border-soft)}
.popup-list-item:last-child{border-bottom:none}
.popup-foot{padding:12px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}
.copy-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r-md);background:var(--primary);color:#fff;border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:var(--font)}
.copy-btn:hover{background:#1D4ED8}
.copy-btn.copied{background:#059669}

/* ─── AUTH ─── */
.auth-wrap{display:none;position:fixed;inset:var(--demo-nav-h) 0 0 0;background:linear-gradient(135deg,#EFF6FF,#EDE9FE);align-items:center;justify-content:center;padding:24px;z-index:500}
.auth-wrap.open{display:flex}
.auth-card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:36px;box-shadow:var(--shadow-md)}
.auth-logo{display:flex;align-items:center;margin-bottom:28px;justify-content:center}
.auth-title{font-size:22px;font-weight:700;text-align:center;margin-bottom:6px}
.auth-sub{font-size:14px;color:var(--t2);text-align:center;margin-bottom:24px}
#login-status-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#kt_login_signin_submit.btn-login--loading{opacity:.85;cursor:wait}
#kt_login_signin_submit.btn-login-success{
  width:100%;margin-top:16px;padding:12px;border:none;border-radius:var(--r-md);
  background:linear-gradient(135deg,#059669 0%,#10B981 45%,#34D399 100%);
  color:#fff;font-size:15px;font-weight:700;letter-spacing:.02em;
  box-shadow:0 4px 14px rgba(16,185,129,.45);
  animation:loginSuccessPulse .55s ease-in-out infinite,loginSuccessShine 1.2s ease-in-out infinite;
  position:relative;overflow:hidden
}
#kt_login_signin_submit.btn-login-success::before{
  content:'\2713';display:inline-block;margin-right:8px;font-size:16px;font-weight:800;
  animation:loginSuccessCheck .4s ease-out forwards
}
@keyframes loginSuccessPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.02)}
}
@keyframes loginSuccessShine{
  0%,100%{filter:brightness(1)}
  50%{filter:brightness(1.12)}
}
@keyframes loginSuccessCheck{
  from{opacity:0;transform:scale(.5)}
  to{opacity:1;transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  #kt_login_signin_submit.btn-login-success{animation:none}
  #kt_login_signin_submit.btn-login-success::before{animation:none}
}
.divider{display:flex;align-items:center;gap:10px;color:var(--t3);font-size:12px;margin:14px 0}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--border)}

/* ─── SCROLLBAR (global fallback; list/search uses custom thick rail) ─── */
html{
  scrollbar-width:auto;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track-solid);
}
::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size);background:var(--scrollbar-track-solid)}
::-webkit-scrollbar-button{display:none;width:0;height:0}
::-webkit-scrollbar-track{background:var(--scrollbar-track-solid);border-radius:0}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#3B82F6,#2563EB 40%,#1E3A8A);
  border-radius:8px;
  border:0;
  background-clip:border-box;
  min-height:72px;
}
::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#60A5FA,#3B82F6);
}
[data-theme="dark"] ::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#60A5FA,#3B82F6 40%,#1E3A8A);
}
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#93C5FD,#60A5FA);
}
/* Compact scrollbars for chips / cat tabs only */
.cat-tabs-shell .cat-tabs,
.filter-chip-scroll{
  scrollbar-width:thin;
  scrollbar-color:var(--border) transparent;
}
.cat-tabs-shell .cat-tabs::-webkit-scrollbar,
.filter-chip-scroll::-webkit-scrollbar{width:5px;height:5px}
.cat-tabs-shell .cat-tabs::-webkit-scrollbar-thumb,
.filter-chip-scroll::-webkit-scrollbar-thumb{background:var(--border);border:none;box-shadow:none;border-radius:10px}

.legacy-wizard-host .card.card-custom{border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm)}
.legacy-wizard-host .btn-primary{background:var(--primary);border-color:var(--primary)}
:root{--bg1:var(--card);--bg2:var(--bg);--bg3:var(--border-soft);--b3:var(--border);--b2:var(--border);--rlg:var(--r-xl);--rmd:var(--r-md);--sans:var(--font);--rx-sm:var(--r-md);--rx:var(--r-xl)}

/* Crisis banner */
.crisis-banner{padding:10px 20px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}
.crisis-banner.yellow{background:var(--warn-bg);color:var(--warn-text);border-bottom:1px solid #FCD34D}
.crisis-banner.orange,.crisis-banner.red{background:var(--danger-bg);color:var(--danger-text);border-bottom:1px solid #FCA5A5}

/* Mobile sidebar */
.sidebar-toggle{display:none;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--card);align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--t2)}
@media(max-width:1024px){
  .sidebar{position:fixed;left:0;top:0;z-index:400;transform:translateX(-100%);transition:transform .2s;box-shadow:var(--shadow-md)}
  .sidebar.open{transform:translateX(0)}
  .sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:399}
  .sidebar-backdrop.open{display:block}
  .sidebar-toggle{display:flex}
  .stat-grid{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .product-layout{grid-template-columns:1fr}
  .filter-panel{position:static;max-height:none}
  body[data-page-type2="list_product"] .filter-panel{
    position:sticky;
    top:var(--sticky-page-top);
    max-height:calc(100vh - var(--header-h) - var(--sticky-page-top) - 16px);
    z-index:85;
  }
  .filter-chip-scroll--region{max-height:130px}
  .filter-chip-scroll--currency{max-height:110px}
  .contact-grid{grid-template-columns:1fr}
  .hdr-greeting{display:none}
}
@media(max-width:768px){
  .hdr-search{max-width:280px}
  .hdr-credit-pill span{display:none}
}

/* Profile dropdown */
.hdr-profile-wrap{position:relative}
.hdr-profile-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);min-width:180px;box-shadow:var(--shadow-md);z-index:300;overflow:hidden}
.hdr-profile-menu.open{display:block}
.hdr-profile-menu a{display:block;padding:10px 14px;font-size:13px;color:var(--t2);border-bottom:1px solid var(--border-soft)}
.hdr-profile-menu a:last-child{border-bottom:none}
.hdr-profile-menu a:hover{background:var(--bg);color:var(--t1)}

/* Currency dropdown */
.hdr-currency-wrap{position:relative}
.hdr-currency-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);min-width:140px;box-shadow:var(--shadow-md);z-index:300;overflow:hidden}
.hdr-currency-menu.open{display:block}
.hdr-currency-menu button{display:block;width:100%;text-align:left;padding:10px 14px;font-size:13px;color:var(--t2);background:none;border:none;border-bottom:1px solid var(--border-soft);cursor:pointer;font-family:var(--font)}
.hdr-currency-menu button:hover{background:var(--bg);color:var(--t1)}

.form-label--required::after{content:" *";color:var(--danger-text);font-weight:700}
.field-optional{font-size:11px;color:var(--t3);display:block;margin-bottom:4px}

/* ─── PLATFORM ICON FILTER ─── */
.platform-icon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.platform-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:6px;border:2px solid var(--border);border-radius:var(--r-lg);cursor:pointer;background:var(--card);transition:border-color .15s,background .15s,box-shadow .15s}
.platform-icon-btn input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.platform-icon-btn img{width:36px;height:36px;object-fit:contain;display:block;border-radius:10px}
.platform-icon-btn img[alt="Xbox"]{width:40px;height:40px}
.platform-icon-btn img[alt="Nintendo"]{width:70px;height:70px}
.platform-icon-btn img[alt="PSN"]{width:47px;height:47px}
.platform-icon-btn:hover{border-color:var(--primary-mid);background:var(--primary-light)}
.platform-icon-btn.on,.platform-icon-btn:has(input:checked){border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 2px rgba(37,99,235,.18)}
[data-theme="dark"] .platform-icon-btn{background:var(--card);border-color:var(--border)}
[data-theme="dark"] .platform-icon-btn:hover{border-color:var(--primary-mid);background:rgba(37,99,235,.12)}
[data-theme="dark"] .platform-icon-btn.on,[data-theme="dark"] .platform-icon-btn:has(input:checked){border-color:var(--primary);background:rgba(37,99,235,.18);box-shadow:0 0 0 2px rgba(37,99,235,.25)}
