/* ============================================================
   VITRINE v4 skin — game-landing style over OpenCart 4 basic
   Loaded AFTER stylesheet.css → overrides. Remove this <link>
   + file to fully revert. STAGING.
   ============================================================ */
/* Google Fonts loaded via <link> in header.twig (avoids @import render-block) */

:root{
  --bs-body-bg:#0a0b10;
  --bs-body-color:#cfd3df;
  --bs-body-font-family:'Manrope',system-ui,sans-serif;
  --bs-primary:#37d0ff;
  --bs-primary-rgb:55,208,255;
  --bs-link-color:#37d0ff;
  --bs-link-color-rgb:55,208,255;
  --bs-link-hover-color:#8fe3ff;
  --bs-border-color:rgba(255,255,255,.08);
  --bs-heading-color:#f4f6fb;
  --vit-bg:#0a0b10; --vit-bg2:#0e1018; --vit-surface:#13141d; --vit-surface2:#1a1c27;
  --vit-line:rgba(255,255,255,.08);
  --vit-text:#f4f6fb; --vit-muted:#9aa1b4;
  --vit-cyan:#37d0ff; --vit-violet:#8b5cff; --vit-gold:#e9c66a; --vit-ember:#ff5a2c;
}

html, body{
  background:var(--vit-bg) !important;
  color:var(--bs-body-color);
  font-family:'Manrope',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden; /* full-bleed safety for #vit-home (100vw) */
}
#container{ background:var(--vit-bg); }

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5{
  font-family:'Oswald',sans-serif;
  letter-spacing:.01em;
  color:var(--vit-text) !important;
  text-transform:uppercase;
}
a{ color:var(--vit-cyan); text-decoration:none; }
a:hover{ color:#8fe3ff; }

/* ============ tagline strip (added in header.twig) ============ */
.vit-tagline{
  background:linear-gradient(90deg,var(--vit-bg),#161a2e 50%,var(--vit-bg));
  border-bottom:1px solid var(--vit-line);
  text-align:center; padding:8px 0;
  font-family:'Oswald'; font-size:11.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--vit-cyan); font-weight:500;
}

/* ============================================================
   COMBINED HEADER (partstore-style, dark) — single row:
   logo · phone · search · switchers · icon actions (+ compact cart)
   ============================================================ */
header{
  position:sticky; top:0; z-index:1030;
  background:#0a0b10 !important;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  padding:12px 0; border-bottom:1px solid var(--vit-line);
}
.hw-head{ display:flex; align-items:center; gap:20px; }
.hw-head__logo{ flex:0 0 auto; }

/* logo */
#logo a{ display:inline-block; line-height:0; }
#logo img{ display:block; height:54px; width:auto; max-width:100%;
  filter:drop-shadow(0 0 14px rgba(55,208,255,.18)); transition:filter .2s ease; }
#logo a:hover img{ filter:drop-shadow(0 0 20px rgba(55,208,255,.34)); }

/* phone block */
.hw-head__phone{ flex:0 0 auto; display:inline-flex; align-items:center; gap:11px; text-decoration:none; }
.hw-head__phone-ic{ width:40px; height:40px; flex:0 0 auto; border-radius:11px; display:flex; align-items:center; justify-content:center; background:rgba(55,208,255,.1); color:var(--vit-cyan); font-size:15px; transition:background .15s; }
.hw-head__phone:hover .hw-head__phone-ic{ background:rgba(55,208,255,.18); }
.hw-head__phone-t{ display:flex; flex-direction:column; line-height:1.25; font-family:'Manrope',sans-serif; }
.hw-head__phone-t small{ font-size:10.5px; letter-spacing:.02em; text-transform:uppercase; color:var(--vit-muted); }
.hw-head__phone-t b{ font-size:14px; color:var(--vit-text); font-weight:700; }
.hw-head__phone:hover .hw-head__phone-t b{ color:var(--vit-cyan); }

/* search — rounded pill; focus glow wraps the WHOLE component incl. button */
.hw-head__search{ flex:1 1 auto; min-width:0; }
.hw-head__search .hw-ac{ width:100%; }
.hw-head__search form.input-group{ margin-bottom:0 !important; flex-wrap:nowrap; border:1px solid var(--vit-line); border-radius:12px; background:var(--vit-surface); overflow:hidden; transition:border-color .15s ease, box-shadow .15s ease; }
.hw-head__search form.input-group:focus-within{ border-color:var(--vit-cyan); box-shadow:0 0 0 3px rgba(55,208,255,.16); }
.hw-head__search .form-control, header .form-control{ background:transparent !important; border:0 !important; box-shadow:none !important; color:var(--vit-text) !important; height:46px; padding-left:18px; font-size:14px; font-family:'Manrope',sans-serif; border-radius:0 !important; }
.hw-head__search .form-control::placeholder, header .form-control::placeholder{ color:var(--vit-muted); }
.hw-head__search .btn, header .input-group .btn{ background:linear-gradient(135deg,var(--vit-cyan),#2aa7e6) !important; border:0 !important; color:#04212c !important; border-radius:0 !important; padding-inline:20px; transition:filter .15s ease; }
.hw-head__search .btn:hover{ filter:brightness(1.07); }

/* language + currency switchers (clean, no flags) */
.hw-head__switch{ flex:0 0 auto; display:flex; align-items:center; gap:2px; }
.hw-head__switch form{ margin:0; }
.hw-sw__btn, .hw-head__switch .dropdown-toggle{ display:inline-flex; align-items:center; gap:6px; height:40px; padding:0 11px; border-radius:11px; color:var(--vit-muted); font-family:'Manrope',sans-serif; font-size:13px; font-weight:600; text-decoration:none; background:transparent; transition:color .15s, background .15s; white-space:nowrap; }
.hw-sw__btn i, .hw-head__switch .dropdown-toggle i{ font-size:13px; }
.hw-sw__btn:hover, .hw-head__switch .dropdown-toggle:hover{ color:#fff; background:rgba(255,255,255,.05); }
.hw-sw__btn.dropdown-toggle::after, .hw-head__switch .dropdown-toggle::after{ opacity:.5; margin-left:1px; }
.hw-head__switch img{ display:none !important; } /* kill OC default flags */

/* icon action buttons (account / wishlist / compare) */
.hw-head__actions{ flex:0 0 auto; display:flex; align-items:center; gap:6px; }
.hw-head__actions > *{ display:flex; align-items:center; } /* kill inline line-box descender so all 42px boxes align */
.hw-iconbtn{ position:relative; width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; border:1px solid var(--vit-line); background:var(--vit-surface); color:var(--vit-text); font-size:16px; text-decoration:none; cursor:pointer; transition:border-color .15s, color .15s, background .15s; }
.hw-iconbtn:hover{ border-color:var(--vit-cyan); color:var(--vit-cyan); background:rgba(55,208,255,.06); }
.hw-iconbtn.dropdown-toggle::after{ display:none; }

/* compact mini-cart toggle = icon button + count badge */
.hw-head__cart, .hw-head__cart .hwmini{ display:flex !important; align-items:center; margin:0 !important; }
#cart .hwmini__toggle, #cart > .btn{ width:42px !important; height:42px !important; padding:0 !important; display:inline-flex !important; align-items:center; justify-content:center; background:var(--vit-surface) !important; border:1px solid var(--vit-line) !important; color:var(--vit-text) !important; border-radius:12px !important; font-family:'Manrope',sans-serif !important; letter-spacing:0 !important; position:relative; }
#cart .hwmini__toggle::after{ display:none !important; }
#cart .hwmini__toggle i{ color:var(--vit-text) !important; margin:0 !important; font-size:16px; transition:color .15s; }
#cart .hwmini__toggle:hover{ border-color:var(--vit-cyan) !important; }
#cart .hwmini__toggle:hover i{ color:var(--vit-cyan) !important; }
.hwmini__count{ position:absolute; top:-6px; right:-6px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:linear-gradient(135deg,var(--vit-cyan),#2aa7e6); color:#04212c; font-family:'Manrope',sans-serif; font-size:11px; font-weight:700; line-height:18px; text-align:center; box-shadow:0 2px 6px rgba(0,0,0,.4); }

/* shared dropdown panels in header (account / currency / language) */
header .hw-head .dropdown-menu{ z-index:1060; background:var(--vit-surface); border:1px solid var(--vit-line); border-radius:10px; padding:6px; box-shadow:0 14px 36px rgba(0,0,0,.5); margin-top:8px; min-width:170px; }
header .hw-head .dropdown-menu .dropdown-item{ color:var(--vit-text); border-radius:7px; font-size:13px; padding:8px 12px; }
header .hw-head .dropdown-menu .dropdown-item:hover, header .hw-head .dropdown-menu .dropdown-item.active{ background:rgba(55,208,255,.1); color:var(--vit-cyan); }

/* responsive: logo + search share one row; switchers as a slim top strip */
@media (max-width:991px){
  .hw-head{ flex-wrap:wrap; gap:12px; row-gap:10px; }
  .hw-head__switch{ order:1; width:100%; justify-content:flex-end; }
  .hw-head__logo{ order:2; }
  .hw-head__search{ order:3; flex:1 1 0; }
  .hw-head__phone{ display:none; }
  .hw-head__actions{ display:none; }
}
@media (max-width:575.98px){ #logo img{ height:44px; } }

/* ============ main category menu (was bg-primary) ============ */
#menu.navbar, #menu{
  background:transparent !important; border:none; border-bottom:1px solid var(--vit-line);
  border-radius:0; margin-bottom:0; padding:0;
}
#menu .navbar-nav{ gap:4px; }
#menu .nav-link, #menu .nav-item > a{
  position:relative; padding:15px 16px !important;
  color:var(--vit-muted) !important; font-family:'Oswald'; text-transform:uppercase;
  letter-spacing:.08em; font-weight:600; font-size:13px;
}
#menu .nav-link:hover, #menu .nav-item > a:hover{ color:#fff !important; }
#menu .nav-link::after{
  content:""; position:absolute; left:16px; right:16px; bottom:9px; height:2px;
  background:linear-gradient(90deg,var(--vit-cyan),var(--vit-violet));
  transform:scaleX(0); transform-origin:left; transition:transform .3s; box-shadow:0 0 8px var(--vit-cyan);
}
#menu .nav-link:hover::after{ transform:scaleX(1); }
#menu #category{ color:var(--vit-text); font-family:'Oswald'; text-transform:uppercase; }
#menu .navbar-toggler{ color:var(--vit-text); border-color:var(--vit-line); }

/* ---- dropdowns dark ---- */
.dropdown-menu{ background:var(--vit-surface2); border:1px solid var(--vit-line); }
.dropdown-item{ color:var(--vit-muted); }
.dropdown-item:hover, .dropdown-item:focus{ background:rgba(55,208,255,.10); color:var(--vit-cyan); }
.dropdown-divider{ border-color:var(--vit-line); }

/* ---- buttons ---- */
.btn-primary{
  --bs-btn-bg:var(--vit-cyan); --bs-btn-border-color:var(--vit-cyan); --bs-btn-color:#08222b;
  --bs-btn-hover-bg:#5cd9ff; --bs-btn-hover-border-color:#5cd9ff; --bs-btn-hover-color:#08222b;
  --bs-btn-active-bg:#2bb6e0;
  font-family:'Oswald'; text-transform:uppercase; letter-spacing:.08em;
}
.btn-light, .btn-secondary, .btn-default{
  --bs-btn-bg:var(--vit-surface2); --bs-btn-border-color:var(--vit-line); --bs-btn-color:var(--vit-text);
  --bs-btn-hover-bg:#222433; --bs-btn-hover-border-color:var(--vit-line); --bs-btn-hover-color:var(--vit-cyan);
}

/* ---- product cards ---- */
.product-thumb{
  background:var(--vit-surface); border:1px solid var(--vit-line); border-radius:8px;
  overflow:hidden; transition:transform .3s, box-shadow .3s, border-color .3s; height:100%;
}
.product-thumb:hover{
  transform:translateY(-5px); border-color:rgba(55,208,255,.4);
  box-shadow:0 24px 50px -30px #000, 0 0 30px -18px var(--vit-cyan);
}
.product-thumb .description{ padding:14px; }
.product-thumb h4, .product-thumb .name a, .product-thumb .caption a{
  font-family:'Oswald'; color:var(--vit-text) !important; font-size:17px;
}
.product-thumb .price{ color:var(--vit-text); font-family:'Oswald'; font-weight:600; }
.product-thumb .price-new{ color:var(--vit-cyan); }
.product-thumb .price-old{ color:var(--vit-muted); text-decoration:line-through; }
.product-thumb .price-tax{ color:var(--vit-muted); }

/* ---- generic surfaces ---- */
.card, .list-group-item{ background:var(--vit-surface) !important; color:var(--bs-body-color) !important; border-color:var(--vit-line) !important; }
.table{ --bs-table-bg:transparent; --bs-table-color:var(--bs-body-color); border-color:var(--vit-line); }
.form-control, .form-select, .input-group-text{
  background:var(--vit-surface) !important; border-color:var(--vit-line) !important; color:var(--vit-text) !important;
}
.form-control::placeholder{ color:var(--vit-muted); }
.breadcrumb{ background:transparent; padding-left:0; }
.breadcrumb a{ color:var(--vit-muted); }
.breadcrumb-item.active{ color:var(--vit-text); }

/* ---- pagination ---- */
.pagination .page-link{ background:var(--vit-surface); border-color:var(--vit-line); color:var(--vit-muted); }
.pagination .page-link:hover{ color:var(--vit-cyan); }
.pagination .page-item.active .page-link{ background:var(--vit-cyan); border-color:var(--vit-cyan); color:#08222b; }

/* ---- alerts ---- */
#alert .alert, .alert{ border-radius:8px; }
#alert .alert-primary{ background:var(--vit-surface2); border-color:rgba(55,208,255,.4); color:var(--vit-text); }
.alert-success{ background:rgba(70,192,138,.12); border-color:rgba(70,192,138,.5); color:#bde9d6; }

/* ---- footer (colour only, keep base layout) ---- */
/* base theme positions footer absolute (buggy sticky-footer) → overlaps tall
   content. Force normal flow so it always sits below the page. */
footer{ position:static !important; background:var(--vit-bg2); border-top:1px solid var(--vit-line); color:var(--vit-muted); }
/* footer column titles — non-heading element (no <h5>): keeps SEO heading
   hierarchy clean while preserving the visual label. */
footer .footer-h{ color:var(--vit-gold); font-family:'Oswald'; font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:16px; }
footer a{ color:var(--vit-muted); }
footer a:hover{ color:var(--vit-cyan); }
footer hr{ border-color:var(--vit-line); }

hr{ border-color:var(--vit-line); }

/* ===================== HOBBYWRLD FACET FILTER ===================== */
.hw-filter{ background:var(--vit-surface); border:1px solid var(--vit-line); border-radius:14px; padding:16px 16px 8px; position:sticky; top:112px; }
/* desktop: filter must fill its column (was shrinking to ~225px, leaving a dead gap before the listing) */
@media (min-width:992px){
  .hw-filter-col.offcanvas-lg{ width:25%; min-width:0; }
  .hw-filter-col .offcanvas-body{ display:block; width:100%; padding:0; }
  .hw-filter{ display:block; width:100%; }
}
.hw-filter__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.hw-filter__title{ font-weight:700; color:var(--vit-text); font-size:15px; letter-spacing:.02em; }
.hw-filter__title i{ color:var(--vit-cyan); margin-right:6px; }
.hw-filter__reset{ font-size:12px; color:var(--vit-muted); text-decoration:none; white-space:nowrap; }
.hw-filter__reset:hover{ color:var(--vit-ember); }

.hw-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.hw-chip{ display:inline-flex; align-items:center; gap:6px; font-size:12px; padding:4px 10px; border-radius:20px;
  background:rgba(55,208,255,.12); border:1px solid rgba(55,208,255,.35); color:#cdeffb; text-decoration:none; }
.hw-chip{ max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.hw-chip span{ opacity:.7; font-size:11px; }
.hw-chip:hover{ background:rgba(255,90,44,.14); border-color:rgba(255,90,44,.5); color:#ffd2c4; }

.hw-group{ border-top:1px solid var(--vit-line); padding:12px 0; }
.hw-group:first-of-type{ border-top:none; padding-top:4px; }
.hw-group__label{ font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--vit-muted); margin-bottom:8px; font-weight:600; }

.hw-values{ list-style:none; margin:0; padding:0; max-height:248px; overflow:auto; }
.hw-values::-webkit-scrollbar{ width:8px; }
.hw-values::-webkit-scrollbar-thumb{ background:var(--vit-surface2); border-radius:8px; }
.hw-val{ display:flex; align-items:center; gap:9px; padding:6px; border-radius:8px; text-decoration:none; color:var(--vit-text); font-size:13.5px; transition:background .15s; }
.hw-val:hover{ background:var(--vit-surface2); color:var(--vit-text); }
.hw-box{ width:16px; height:16px; border-radius:5px; border:1.5px solid var(--vit-line); flex:0 0 auto; position:relative; background:var(--vit-bg2); transition:.15s; }
.hw-val.is-on .hw-box{ background:var(--vit-cyan); border-color:var(--vit-cyan); }
.hw-val.is-on .hw-box:after{ content:''; position:absolute; left:5px; top:1.5px; width:4px; height:9px; border:solid #08222b; border-width:0 2px 2px 0; transform:rotate(45deg); }
.hw-val__t{ flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.hw-val.is-on .hw-val__t{ color:#fff; font-weight:600; }
.hw-val__c{ flex:0 0 auto; font-size:11.5px; color:var(--vit-muted); background:var(--vit-bg2); border:1px solid var(--vit-line); border-radius:20px; padding:1px 8px; }
.hw-val:hover .hw-val__c{ color:var(--vit-cyan); }

/* price dual range */
.hw-price{ padding-top:6px; }
.hw-price__track{ position:relative; height:26px; }
.hw-price__track:before{ content:''; position:absolute; top:11px; left:0; right:0; height:4px; background:var(--vit-line); border-radius:3px; }
.hw-price__fill{ position:absolute; top:11px; height:4px; background:var(--vit-cyan); border-radius:3px; left:0; right:0; }
.hw-price__r{ position:absolute; top:5px; left:0; width:100%; height:16px; margin:0; -webkit-appearance:none; appearance:none; background:transparent; pointer-events:none; }
.hw-price__r::-webkit-slider-thumb{ -webkit-appearance:none; pointer-events:auto; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--vit-cyan); cursor:pointer; box-shadow:0 1px 5px rgba(0,0,0,.55); }
.hw-price__r::-moz-range-thumb{ pointer-events:auto; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--vit-cyan); cursor:pointer; }
.hw-price__vals{ display:flex; justify-content:space-between; font-size:13px; color:var(--vit-text); margin:8px 0 10px; font-variant-numeric:tabular-nums; }
.hw-price__apply{ width:100%; background:var(--vit-surface2); border:1px solid var(--vit-line); color:var(--vit-text); border-radius:8px; padding:7px; font-size:13px; cursor:pointer; transition:.15s; }
.hw-price__apply:hover{ background:var(--vit-cyan); color:#08222b; border-color:var(--vit-cyan); }

@media (max-width:991px){ .hw-filter{ position:static; margin-bottom:18px; } .hw-values{ max-height:200px; } }

/* ============================================================
   HOBBYWRLD category cards (grano-style) — above product grid
   ============================================================ */
.hw-catcards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:16px;
  margin:4px 0 28px;
}
.hw-catcard{
  position:relative;
  display:flex; flex-direction:column;
  background:var(--vit-surface);
  border:1px solid var(--vit-line);
  border-radius:14px;
  overflow:hidden;
  text-decoration:none;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.hw-catcard:hover{
  transform:translateY(-4px);
  border-color:var(--vit-cyan);
  box-shadow:0 10px 30px -8px rgba(55,208,255,.35);
}
.hw-catcard__img{
  display:block;
  aspect-ratio:1/1;
  background:var(--vit-bg2);
  overflow:hidden;
}
.hw-catcard__img img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.hw-catcard:hover .hw-catcard__img img{ transform:scale(1.06); }
/* placeholder tile when a category has no image yet */
.hw-catcard--noimg .hw-catcard__img{
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(55,208,255,.18), transparent 55%),
    radial-gradient(120% 120% at 100% 100%, rgba(124,92,255,.20), transparent 55%),
    var(--vit-surface2);
  position:relative;
}
.hw-catcard--noimg .hw-catcard__img:after{
  content:'\f1b2'; /* fa-cube */
  font-family:'Font Awesome 6 Free'; font-weight:900;
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:42px; color:rgba(255,255,255,.10);
}
.hw-catcard__name{
  font-family:'Oswald',sans-serif;
  font-weight:600;
  font-size:15px;
  letter-spacing:.3px;
  text-transform:uppercase;
  color:var(--vit-text);
  padding:12px 14px;
  line-height:1.25;
  flex:1 1 auto;
  transition:color .18s ease;
}
.hw-catcard:hover .hw-catcard__name{ color:var(--vit-cyan); }
.hw-catcard__count{
  position:absolute; top:10px; right:10px;
  background:rgba(8,12,20,.78);
  border:1px solid var(--vit-line);
  color:var(--vit-text);
  font-size:12px; font-weight:600;
  border-radius:20px;
  padding:2px 10px;
  backdrop-filter:blur(4px);
}
@media (max-width:575px){
  .hw-catcards{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .hw-catcard__name{ font-size:13px; padding:10px; }
}

/* ============================================================
   HOBBYWRLD product card (.hw-pcard) — premium dark, partstore-style
   Replaces OpenCart default .product-thumb in category/module grids.
   ============================================================ */
.hw-pcard{
  display:flex; flex-direction:column;
  height:100%;
  background:var(--vit-surface);
  border:1px solid var(--vit-line);
  border-radius:16px;
  overflow:hidden;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.hw-pcard:hover{
  transform:translateY(-4px);
  border-color:rgba(55,208,255,.55);
  box-shadow:0 14px 34px -10px rgba(55,208,255,.30);
}
/* image: light tile so collectible photos pop; CONTAIN — never crop figures */
.hw-pcard__img{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  background:#f4f5f8;
  padding:8px;
  overflow:hidden;
}
.hw-pcard__img img{
  display:block;
  width:100%; height:100%;
  object-fit:contain;
  transition:transform .35s ease;
}
.hw-pcard:hover .hw-pcard__img img{ transform:scale(1.05); }
.hw-pcard__badge{
  position:absolute; top:10px; left:10px; z-index:2;
  background:var(--vit-ember);
  color:#fff;
  font-family:'Oswald',sans-serif; font-weight:600;
  font-size:11px; letter-spacing:.6px; text-transform:uppercase;
  padding:3px 10px; border-radius:6px;
  box-shadow:0 4px 12px -2px rgba(255,90,44,.5);
}
.hw-pcard__body{
  display:flex; flex-direction:column;
  gap:9px;
  padding:14px;
  flex:1 1 auto;
}
.hw-pcard__avail{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:600;
  letter-spacing:.2px;
}
.hw-pcard__avail.is-in{ color:#3ddc84; }
.hw-pcard__avail.is-pre{ color:var(--vit-muted); }
.hw-pcard__title{
  margin:0;
  font-family:'Manrope',sans-serif;
  font-size:13.5px; font-weight:500; line-height:1.4;
  /* clamp to 3 lines so cards stay aligned */
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
}
.hw-pcard__title a{ color:var(--vit-text); text-decoration:none; transition:color .15s ease; }
.hw-pcard__title a:hover{ color:var(--vit-cyan); }
.hw-pcard__rating{ color:var(--vit-gold); font-size:12px; letter-spacing:1px; }
.hw-pcard__price{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:8px;
  margin-top:auto; /* pin price + button to the bottom for alignment */
}
.hw-pcard__price-now{
  font-family:'Oswald',sans-serif;
  font-weight:600; font-size:21px;
  color:var(--vit-text);
}
.hw-pcard__price-old{
  font-size:13px; color:var(--vit-muted);
  text-decoration:line-through;
}
.hw-pcard__form{
  display:flex; align-items:center; gap:8px;
  margin:0;
}
.hw-pcard__buy{
  flex:1 1 auto; min-width:0; height:44px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:0; cursor:pointer; white-space:nowrap; overflow:hidden;
  background:linear-gradient(135deg,#37d0ff,#2aa7e6);
  color:#04212c;
  font-family:'Oswald',sans-serif; font-weight:600;
  font-size:13.5px; letter-spacing:.3px; text-transform:uppercase;
  border-radius:10px; padding:0 12px;
  transition:filter .15s ease, transform .1s ease, box-shadow .15s ease;
}
.hw-pcard__buy span,.hw-pcard__buy{ text-overflow:ellipsis; }
.hw-pcard__buy:hover{ filter:brightness(1.08); box-shadow:0 8px 20px -6px rgba(55,208,255,.55); }
.hw-pcard__buy:active{ transform:translateY(1px); }
.hw-pcard__icon{
  flex:0 0 auto;
  width:44px; height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--vit-surface2);
  border:1px solid var(--vit-line);
  color:var(--vit-muted);
  border-radius:10px; cursor:pointer;
  font-size:14px;
  transition:.15s ease;
}
.hw-pcard__icon:hover{ color:var(--vit-cyan); border-color:var(--vit-cyan); background:var(--vit-surface); }
@media (max-width:575px){
  .hw-pcard__img{ padding:6px; }
  .hw-pcard__body{ padding:11px; gap:7px; }
  .hw-pcard__title{ font-size:12.5px; -webkit-line-clamp:2; }
  .hw-pcard__price-now{ font-size:17px; }
  .hw-pcard__buy{ font-size:12px; padding:9px 6px; letter-spacing:0; }
  /* 2-up on phones (partstore density): drop secondary icons, keep Buy */
  .hw-pcard__icon{ display:none; }
}

/* product grid: responsive CSS grid (theme overrides Bootstrap row-cols here).
   auto-fill keeps cards a sane size and avoids huge fixed tracks when sparse. */
#product-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:16px;
  margin:0;
}
#product-list > .col{
  width:auto; max-width:none; min-width:0;
  padding:0; margin:0;
}
@media (min-width:768px){ #product-list{ grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); } }

/* ============================================================
   HOBBYWRLD mobile shell (partstore-style): bottom nav, catalog
   button, offcanvas menu + filter drawer, header tidy-up.
   ============================================================ */

/* (header cart/account/switch styles now consolidated in the COMBINED HEADER block above) */

/* --- mobile catalog button --- */
.hw-catalog-bar{ margin:2px 0 10px; }
.hw-catalog-btn{
  width:100%;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border:0; cursor:pointer;
  background:linear-gradient(135deg,#37d0ff,#2aa7e6);
  color:#04212c;
  font-family:'Oswald',sans-serif; font-weight:600;
  font-size:16px; letter-spacing:.5px; text-transform:uppercase;
  border-radius:12px; padding:13px 16px;
  box-shadow:0 8px 22px -8px rgba(55,208,255,.6);
}
.hw-catalog-btn i{ font-size:18px; }

/* --- mobile filter trigger --- */
.hw-filter-open{
  width:100%;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  background:var(--vit-surface);
  border:1px solid var(--vit-line);
  color:var(--vit-text);
  border-radius:12px; padding:12px;
  font-family:'Oswald',sans-serif; font-weight:600; font-size:15px;
  letter-spacing:.4px; text-transform:uppercase;
  margin-bottom:16px;
}
.hw-filter-open i{ color:var(--vit-cyan); }
.hw-filter-open__dot{
  width:9px; height:9px; border-radius:50%;
  background:var(--vit-ember);
  display:inline-block; margin-left:2px;
}

/* --- offcanvas (filter drawer + menu) dark theme --- */
.hw-oc{
  color:var(--vit-text);
}
/* panel bg + side borders only for the real mobile drawers; on lg+ the filter
   renders inline, so no background "field" behind the filter card */
@media (max-width:991.98px){
  .hw-oc{
    background:var(--vit-bg2) !important;
    border-right:1px solid var(--vit-line) !important;
    border-left:1px solid var(--vit-line) !important;
  }
}
.hw-oc .offcanvas-header{
  border-bottom:1px solid var(--vit-line);
  background:var(--vit-surface);
}
.hw-oc .offcanvas-title{
  font-family:'Oswald',sans-serif; font-weight:600; font-size:18px;
  text-transform:uppercase; letter-spacing:.5px; color:var(--vit-text);
}
.hw-oc .btn-close{
  filter:invert(1) grayscale(1) brightness(1.6);
  opacity:.8;
}
.hw-oc--menu{ width:80% !important; max-width:330px; }

/* menu offcanvas links */
.hw-oc-list{ list-style:none; margin:0; padding:0; }
.hw-oc-list li{ border-bottom:1px solid var(--vit-line); }
.hw-oc-list a{
  display:flex; align-items:center; gap:14px;
  padding:14px 4px;
  color:var(--vit-text); text-decoration:none;
  font-size:15px; font-weight:500;
}
.hw-oc-list a i{ width:20px; text-align:center; color:var(--vit-cyan); }
.hw-oc-list a:hover{ color:var(--vit-cyan); }

/* --- mobile bottom navigation --- */
.hw-botnav{
  position:fixed; left:0; right:0; bottom:0; z-index:1040;
  display:flex;
  background:rgba(14,16,24,.96);
  backdrop-filter:blur(10px);
  border-top:1px solid var(--vit-line);
  box-shadow:0 -6px 24px -8px rgba(0,0,0,.6);
  padding:6px 2px calc(6px + env(safe-area-inset-bottom));
}
.hw-botnav__i{
  flex:1 1 0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  background:none; border:0; cursor:pointer;
  color:var(--vit-muted); text-decoration:none;
  font-size:10.5px; font-weight:600; letter-spacing:.2px;
  padding:4px 2px;
}
.hw-botnav__i i{ font-size:18px; line-height:1; }
.hw-botnav__i:hover,
.hw-botnav__i:active{ color:var(--vit-text); }
.hw-botnav__i--main{ color:var(--vit-text); }
.hw-botnav__cat{
  display:flex; align-items:center; justify-content:center;
  width:46px; height:34px; margin-top:-14px;
  background:linear-gradient(135deg,#37d0ff,#2aa7e6);
  color:#04212c; border-radius:12px;
  box-shadow:0 6px 16px -4px rgba(55,208,255,.7);
}
.hw-botnav__cat i{ font-size:18px; }

/* keep content clear of the fixed bottom nav + tidy header on mobile */
@media (max-width:991px){
  #container{ padding-bottom:66px; }
  /* drawers must sit ABOVE the sticky #top bar (z-index:1050) + bottom nav */
  .offcanvas-backdrop{ z-index:1090 !important; }
  .offcanvas, .offcanvas-lg{ z-index:1100 !important; }
  /* redundant blue МЕНЮ bar — catalog now opens via the offcanvas drawer */
  #menu{ padding:0 !important; min-height:0 !important; background:transparent !important; border:0 !important; }
  #menu > #category, #menu > .navbar-toggler{ display:none !important; }
  /* catalog drawer: category links as a vertical list */
  .hw-oc--cat .navbar-nav{ width:100%; }
  .hw-oc--cat .nav-item{ border-bottom:1px solid var(--vit-line); }
  .hw-oc--cat .nav-link,
  .hw-oc--cat .nav-item > .dropdown-item{ color:var(--vit-text) !important; padding:14px 4px !important; font-size:15px; font-weight:600; }
  .hw-oc--cat .nav-link:hover,
  .hw-oc--cat .dropdown-item:hover{ color:var(--vit-cyan) !important; background:transparent !important; }
  .hw-oc--cat .dropdown-menu{ position:static !important; transform:none !important; background:transparent !important; border:0 !important; padding:0 0 6px 14px !important; box-shadow:none !important; }
  .hw-oc--cat .dropdown-menu .dropdown-item{ padding:9px 4px !important; font-size:14px; font-weight:400; color:var(--vit-muted) !important; }
  /* cart preview module is redundant on mobile (cart lives in bottom nav) */
  #cart{ display:none !important; }
  /* header icon actions hidden on mobile — bottom nav handles them */
  .hw-head__actions{ display:none; }
  .hw-catalog-bar .container{ padding-left:12px; padding-right:12px; }
  /* full-width compare button is noise on mobile (.d-block uses !important) */
  #compare-total{ display:none !important; }
}
/* near-full filter drawer but leave a sliver of backdrop as a "drawer" cue */
@media (max-width:575px){
  #hwFilter.offcanvas-lg{ width:92% !important; }
}

/* ============================================================
   HOBBYWRLD nav fix — parent category links now navigate.
   Desktop: submenu opens on HOVER (click goes to the category).
   Mobile (offcanvas): children always expanded under the parent.
   ============================================================ */
@media (min-width:992px){
  #menu .nav-item.dropdown{ position:relative; }
  #menu .nav-item.dropdown:hover > .dropdown-menu{ display:block; }
  #menu .nav-item.dropdown > .dropdown-menu{
    margin-top:0; z-index:1031; border-top:2px solid var(--vit-cyan);
    box-shadow:0 18px 40px rgba(0,0,0,.45);
  }
  /* invisible hover-bridge so the menu doesn't close in the 0px gap */
  #menu .nav-item.dropdown:hover > .dropdown-menu::before{
    content:""; position:absolute; left:0; right:0; top:-6px; height:6px;
  }
  #menu .nav-link.dropdown-toggle{ cursor:pointer; }
}
@media (max-width:991px){
  /* mobile drawer: show every subcategory inline (no tap-to-expand needed) */
  .hw-oc--cat .nav-item.dropdown > .dropdown-menu{ display:none !important; }
}

/* ============================================================
   HOBBYWRLD component theming batch (2026-06-06)
   Flags · tooltips · product tabs · OC notifications · grid/list toggle
   ============================================================ */

/* --- language switcher flags: uniform crisp size --- */
#form-language .dropdown-toggle img, #form-language .dropdown-item img{
  width:auto; height:15px; border-radius:2px; vertical-align:-2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.14);
}
#form-language .dropdown-item img{ margin-right:8px; }

/* --- Bootstrap tooltips: dark + readable (fixes black boxes / dark text) --- */
.tooltip{ --bs-tooltip-bg:var(--vit-surface2); --bs-tooltip-color:var(--vit-text); --bs-tooltip-opacity:1; }
.tooltip-inner{
  background:var(--vit-surface2); color:var(--vit-text);
  border:1px solid var(--vit-line); border-radius:8px;
  font-size:12px; font-weight:600; padding:6px 10px;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}

/* --- Product page tabs (Description / Specifications / Reviews) --- */
.nav-tabs{ border-bottom:1px solid var(--vit-line); gap:4px; }
.nav-tabs .nav-link{
  color:var(--vit-muted); background:transparent;
  border:1px solid transparent; border-radius:10px 10px 0 0;
  font-family:'Oswald'; text-transform:uppercase; letter-spacing:.06em; font-size:13px;
}
.nav-tabs .nav-link:hover{ color:var(--vit-text); }
.nav-tabs .nav-link.active{
  color:var(--vit-cyan); background:var(--vit-surface);
  border-color:var(--vit-line) var(--vit-line) var(--vit-surface);
}
.tab-content{ padding:20px 2px; color:var(--vit-text); line-height:1.75; }
.tab-content p, .tab-content li, .tab-content td, .tab-content span, .tab-content div{ color:var(--vit-text); }
.tab-content h1,.tab-content h2,.tab-content h3,.tab-content h4{ font-family:'Oswald'; color:#fff; letter-spacing:.02em; }
.tab-content a{ color:var(--vit-cyan); }

/* tables (specifications) dark */
.table{ --bs-table-bg:transparent; --bs-table-color:var(--vit-text); color:var(--vit-text); }
.table > :not(caption) > * > *{ background:transparent !important; color:var(--vit-text); box-shadow:none; border-color:var(--vit-line) !important; }
.table-bordered, .table-bordered > :not(caption) > * > *{ border-color:var(--vit-line) !important; }

/* --- OpenCart action notifications (add to cart / wishlist / compare) --- */
#alert{
  position:fixed; top:84px; right:18px; left:auto; z-index:2000;
  width:auto; max-width:360px;
  display:flex; flex-direction:column; gap:10px; pointer-events:none;
}
#alert .alert{
  margin:0; pointer-events:auto; position:relative;
  background:var(--vit-surface2); border:1px solid var(--vit-line); color:var(--vit-text);
  border-radius:12px; padding:13px 40px 13px 44px; font-size:14px; line-height:1.5;
  box-shadow:0 14px 36px rgba(0,0,0,.55);
  animation:hwAlertIn .25s ease;
}
#alert .alert::before{ position:absolute; left:15px; top:14px; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:16px; }
#alert .alert a{ color:var(--vit-cyan); text-decoration:underline; }
#alert .alert-success{ border-color:rgba(61,220,132,.55); }
#alert .alert-success::before{ content:"\f058"; color:#3ddc84; }
#alert .alert-danger{ border-color:rgba(255,90,44,.55); color:#ffd2c4; }
#alert .alert-danger::before{ content:"\f06a"; color:var(--vit-ember); }
#alert .alert .btn-close{ filter:invert(.85); position:absolute; top:11px; right:11px; padding:6px; }
@keyframes hwAlertIn{ from{ opacity:0; transform:translateX(20px);} to{ opacity:1; transform:none;} }
@media (max-width:575px){ #alert{ left:12px; right:12px; max-width:none; top:70px; } }

/* --- grid / list view toggle --- */
.btn-group #button-grid, .btn-group #button-list{ width:42px; }
#button-grid.active, #button-list.active{
  background:var(--vit-cyan) !important; border-color:var(--vit-cyan) !important; color:#04212c !important;
}
/* LIST view: common.js adds the `product-list` class → full-width horizontal cards.
   Must override the grid display, else cards stay locked in one grid track and clip. */
#product-list.product-list{ display:block; }
#product-list.product-list > .col{ width:100%; margin-bottom:14px; }
#product-list.product-list .hw-pcard{ flex-direction:row; align-items:stretch; }
#product-list.product-list .hw-pcard__img{ width:210px; flex:0 0 210px; aspect-ratio:auto; }
#product-list.product-list .hw-pcard__body{ padding:18px; }
#product-list.product-list .hw-pcard__title{ -webkit-line-clamp:2; font-size:16px; }
#product-list.product-list .hw-pcard__price{ margin-top:12px; }
@media (max-width:575px){ #product-list.product-list .hw-pcard__img{ width:120px; flex-basis:120px; } }

/* ============================================================
   HOBBYWRLD fixes (2026-06-06 batch 3): top spacing + mini-cart dropdown
   ============================================================ */
/* breathing room between the top panel (nav/breadcrumb) and the filter+content */
#product-category > .breadcrumb{ margin-top:16px; margin-bottom:18px; }
#product-category > .row{ margin-top:6px; }

/* mini-cart dropdown — was rendering light (striped table on default bg); force dark */
#cart .dropdown-menu{
  background:var(--vit-surface2) !important; border:1px solid var(--vit-line);
  color:var(--vit-text); min-width:340px; border-radius:12px;
  box-shadow:0 18px 44px rgba(0,0,0,.55);
}
#cart .dropdown-menu .table{ color:var(--vit-text); margin-bottom:8px; }
#cart .dropdown-menu .table > :not(caption) > * > *{
  background:transparent !important; border-color:var(--vit-line) !important; color:var(--vit-text);
}
#cart .dropdown-menu a{ color:var(--vit-cyan); text-decoration:none; }
#cart .dropdown-menu a:hover{ text-decoration:underline; }
#cart .dropdown-menu strong{ color:var(--vit-text); }
#cart .dropdown-menu small, #cart .dropdown-menu .text-muted{ color:var(--vit-muted) !important; }
#cart .dropdown-menu .img-thumbnail{ background:#f4f5f8; border-color:var(--vit-line); padding:2px; }
#cart .dropdown-menu .btn-danger{
  --bs-btn-bg:transparent; --bs-btn-border-color:rgba(255,90,44,.5); --bs-btn-color:var(--vit-ember);
  --bs-btn-hover-bg:var(--vit-ember); --bs-btn-hover-border-color:var(--vit-ember); --bs-btn-hover-color:#fff;
}

/* ===== HOBBYWRLD: breadcrumb — clean + aligned; overrides OC arrows/glow/abs-positioning ===== */
.breadcrumb{ display:flex; flex-wrap:wrap; align-items:center; gap:0; list-style:none; background:transparent !important; border:0 !important; padding:12px 0 !important; margin:0 0 16px !important; font-family:'Manrope',system-ui,-apple-system,sans-serif; font-size:13.5px; line-height:1.5; }
.breadcrumb > li.breadcrumb-item{ display:inline-flex; align-items:center; padding:0 !important; margin:0 !important; position:static !important; white-space:nowrap; text-shadow:none !important; min-width:0; max-width:100%; }
.breadcrumb > li.breadcrumb-item:after{ content:none !important; display:none !important; }
.breadcrumb > li.breadcrumb-item + li.breadcrumb-item::before,
.breadcrumb-item + .breadcrumb-item::before{ content:"/" !important; color:#4b5160; padding:0 10px !important; margin:0 !important; font-size:13px; font-weight:400; line-height:1; display:inline-block; border:0 !important; width:auto !important; height:auto !important; transform:none !important; position:static !important; top:auto !important; right:auto !important; }
.breadcrumb-item a{ color:#9aa0ad; text-decoration:none; transition:color .15s; }
.breadcrumb-item a:hover{ color:#37d0ff; }
.breadcrumb-item:last-child a{ color:#e8eaf0; cursor:default; pointer-events:none; }
@media (max-width:575px){
  .breadcrumb{ font-size:12.5px; padding:10px 0 !important; }
  .breadcrumb > li.breadcrumb-item + li.breadcrumb-item::before, .breadcrumb-item + .breadcrumb-item::before{ padding:0 7px !important; }
  /* current-page (long name) truncates instead of overlapping/overflowing */
  .breadcrumb-item:last-child a{ display:inline-block; max-width:56vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:bottom; }
}

/* ===== HOBBYWRLD: product wishlist/compare action buttons (dark themed) ===== */
.hw-actbtns{ display:flex; gap:10px; flex-wrap:wrap; }
.hw-actbtn{ display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 16px; background:#14161d; color:#cfd3db; border:1px solid rgba(255,255,255,.14); border-radius:11px; font-size:13.5px; font-weight:600; cursor:pointer; transition:.15s; }
.hw-actbtn i{ font-size:15px; color:#9aa0ad; transition:.15s; }
.hw-actbtn:hover{ border-color:rgba(55,208,255,.5); color:#fff; background:#181b24; }
.hw-actbtn:hover i{ color:#37d0ff; }

/* ===== HOBBYWRLD: wishlist + compare pages — dark theme + mobile-safe (no off-screen overflow) ===== */
#product-compare, #account-wishlist{ color:#e8eaf0; }
#product-compare h1, #account-wishlist h1{ font-family:'Oswald',sans-serif; }
/* let wide tables scroll inside the content column instead of pushing the whole page off-screen */
#product-compare #content, #account-wishlist #content{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
#product-compare .table, #account-wishlist .table{ color:#e8eaf0; background:transparent; border-color:rgba(255,255,255,.10); margin-bottom:16px; }
#product-compare .table{ min-width:540px; }
#product-compare .table td, #product-compare .table th,
#account-wishlist .table td, #account-wishlist .table th{ background:#14161d !important; border-color:rgba(255,255,255,.08) !important; color:#e8eaf0; vertical-align:middle; }
#product-compare .table thead td, #product-compare .table thead th,
#account-wishlist .table thead td, #account-wishlist .table thead th{ background:#101218 !important; color:#fff; font-family:'Oswald',sans-serif; font-weight:600; }
#product-compare .table a, #account-wishlist .table a{ color:#37d0ff; text-decoration:none; }
#product-compare .table a:hover, #account-wishlist .table a:hover{ color:#7ee0ff; }
#product-compare .table .img-thumbnail, #account-wishlist .table .img-thumbnail,
#product-compare .table img, #account-wishlist .table img{ background:#f4f5f8; border:0; border-radius:8px; padding:4px; }
#product-compare .price-old, #account-wishlist .price-old{ color:#8b909c; text-decoration:line-through; }
#product-compare .price-new, #account-wishlist .price-new{ color:#fff; font-weight:600; }
@media (max-width:575px){
  #product-compare .table, #account-wishlist .table{ font-size:13px; }
}

/* ============================================================
   PRODUCT PAGE (.hw-pp) — partstore structure, dark theme
   ============================================================ */
.hw-pp{ color:#e8eaf0; }
.hw-pp__grid{ display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap:34px; align-items:start; margin-bottom:40px; }
@media (max-width:991px){ .hw-pp__grid{ grid-template-columns:1fr; gap:24px; } }

/* ---- Gallery ---- */
.hw-pp__gallery .image{ position:sticky; top:90px; }
@media (max-width:991px){ .hw-pp__gallery .image{ position:static; } }
.hw-pp__main{ display:block; background:#f4f5f8; border:1px solid rgba(255,255,255,.07); border-radius:16px; padding:22px; overflow:hidden; }
.hw-pp__main img{ width:100%; height:auto; max-height:560px; object-fit:contain; display:block; transition:transform .35s ease; }
.hw-pp__main:hover img{ transform:scale(1.03); }
.hw-pp__thumbs{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.hw-pp__thumb{ width:72px; height:72px; background:#f4f5f8; border:2px solid transparent; border-radius:10px; padding:6px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:border-color .18s ease; }
.hw-pp__thumb img{ max-width:100%; max-height:100%; object-fit:contain; }
.hw-pp__thumb.is-active, .hw-pp__thumb:hover{ border-color:#37d0ff; }

/* ---- Info column ---- */
.hw-pp__title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:27px; line-height:1.18; letter-spacing:.2px; color:#f4f6fb; margin:0 0 14px; }
@media (max-width:575px){ .hw-pp__title{ font-size:22px; } }
.hw-pp__meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-bottom:14px; }
.hw-pp__avail{ display:inline-flex; align-items:center; gap:7px; font-family:'Manrope',sans-serif; font-size:13px; font-weight:600; padding:6px 12px; border-radius:999px; }
.hw-pp__avail.is-in{ background:rgba(46,204,113,.13); color:#34d77f; border:1px solid rgba(46,204,113,.3); }
.hw-pp__avail.is-pre{ background:rgba(255,176,32,.12); color:#ffc34d; border:1px solid rgba(255,176,32,.3); }
.hw-pp__sku{ font-family:'Manrope',sans-serif; font-size:13px; color:#9aa0ad; display:inline-flex; align-items:center; gap:6px; }
.hw-pp__sku b{ color:#cdd2dc; font-weight:600; }
.hw-pp__copy{ border:0; background:transparent; color:#6b7180; cursor:pointer; padding:2px 4px; border-radius:6px; transition:color .15s, background .15s; }
.hw-pp__copy:hover{ color:#37d0ff; background:rgba(55,208,255,.1); }
.hw-pp__copy.is-copied{ color:#34d77f; }

.hw-pp__rating{ color:#ffb020; font-size:14px; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.hw-pp__rating .fa-regular{ color:#3a3f4b; }
.hw-pp__reviews-link{ color:#9aa0ad; font-family:'Manrope',sans-serif; font-size:13px; text-decoration:none; }
.hw-pp__reviews-link:hover{ color:#37d0ff; }

.hw-pp__price{ display:flex; align-items:baseline; flex-wrap:wrap; gap:14px; margin:4px 0 6px; }
.hw-pp__price-now{ font-family:'Oswald',sans-serif; font-weight:700; font-size:38px; line-height:1; color:#fff; }
.hw-pp__price-old{ font-family:'Oswald',sans-serif; font-size:21px; color:#8b909c; text-decoration:line-through; }
.hw-pp__price-extra{ list-style:none; margin:0 0 6px; padding:0; font-family:'Manrope',sans-serif; font-size:12.5px; color:#8b909c; }
.hw-pp__price-extra li{ margin:2px 0; }
.hw-pp__brand{ font-family:'Manrope',sans-serif; font-size:13.5px; color:#9aa0ad; margin:10px 0 4px; }
.hw-pp__brand a{ color:#37d0ff; text-decoration:none; font-weight:600; }
.hw-pp__brand a:hover{ color:#7ee0ff; }

/* ---- Options (dark form) ---- */
.hw-pp__options{ margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,.07); }
.hw-pp__opt-title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; text-transform:uppercase; letter-spacing:.4px; color:#cdd2dc; margin:0 0 12px; }
.hw-pp .form-label{ font-family:'Manrope',sans-serif; font-size:13px; font-weight:600; color:#b9bec9; margin-bottom:6px; }
.hw-pp .form-select, .hw-pp .form-control{ background:#14161d; border:1px solid rgba(255,255,255,.12); color:#e8eaf0; border-radius:10px; padding:10px 12px; font-family:'Manrope',sans-serif; font-size:14px; }
.hw-pp .form-select:focus, .hw-pp .form-control:focus{ background:#14161d; border-color:#37d0ff; box-shadow:0 0 0 3px rgba(55,208,255,.15); color:#fff; }
.hw-pp .form-select option{ background:#14161d; color:#e8eaf0; }
.hw-pp .form-check-label{ color:#cdd2dc; font-family:'Manrope',sans-serif; font-size:14px; }
.hw-pp .form-check-input{ background-color:#14161d; border-color:rgba(255,255,255,.25); }
.hw-pp .form-check-input:checked{ background-color:#37d0ff; border-color:#37d0ff; }

/* ---- Buy row ---- */
.hw-pp__buy{ display:flex; align-items:stretch; gap:12px; margin-top:22px; }
.hw-pp__qty{ display:inline-flex; align-items:center; background:#14161d; border:1px solid rgba(255,255,255,.12); border-radius:12px; overflow:hidden; flex:0 0 auto; }
.hw-pp__qbtn{ width:46px; height:54px; border:0; background:transparent; color:#cdd2dc; font-size:20px; cursor:pointer; transition:background .15s, color .15s; }
.hw-pp__qbtn:hover{ background:rgba(255,255,255,.06); color:#fff; }
.hw-pp__qinput{ width:48px; height:54px; border:0; background:transparent; color:#fff; text-align:center; font-family:'Oswald',sans-serif; font-size:17px; font-weight:600; }
.hw-pp__qinput:focus{ outline:none; }
.hw-pp__addcart{ flex:1 1 auto; min-width:0; height:54px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border:0; cursor:pointer; background:linear-gradient(135deg,#37d0ff,#2aa7e6); color:#04212c; font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; letter-spacing:.5px; text-transform:uppercase; border-radius:12px; padding:0 22px; box-shadow:0 10px 26px rgba(42,167,230,.32); transition:transform .15s ease, box-shadow .15s ease, filter .15s ease; }
.hw-pp__addcart:hover{ transform:translateY(-1px); filter:brightness(1.06); box-shadow:0 14px 32px rgba(42,167,230,.42); }
.hw-pp__addcart:active{ transform:translateY(0); }
.hw-pp__addcart:disabled{ opacity:.6; cursor:default; }
.hw-pp__minnote{ margin-top:12px; font-family:'Manrope',sans-serif; font-size:13px; color:#ffc34d; background:rgba(255,176,32,.1); border:1px solid rgba(255,176,32,.25); border-radius:10px; padding:9px 12px; }
.hw-pp #error-quantity{ color:#ff6b5e; font-size:13px; }

/* ---- Wishlist/Compare ---- */
.hw-pp__actform{ margin:14px 0 0; }
.hw-pp .hw-actbtns{ display:flex; gap:10px; flex-wrap:wrap; }
.hw-pp .hw-actbtn{ display:inline-flex; align-items:center; gap:8px; background:transparent; border:1px solid rgba(255,255,255,.14); color:#b9bec9; border-radius:10px; padding:9px 16px; font-family:'Manrope',sans-serif; font-size:13px; font-weight:600; cursor:pointer; transition:border-color .15s, color .15s, background .15s; }
.hw-pp .hw-actbtn:hover{ border-color:#37d0ff; color:#37d0ff; background:rgba(55,208,255,.07); }

/* ---- Trust / delivery box ---- */
.hw-pp__trust{ list-style:none; margin:22px 0 0; padding:16px; display:flex; flex-direction:column; gap:14px; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.01)); border:1px solid rgba(255,255,255,.08); border-radius:14px; }
.hw-pp__trust li{ display:flex; align-items:center; gap:14px; }
.hw-pp__trust li > i{ flex:0 0 auto; width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(55,208,255,.1); color:#37d0ff; font-size:16px; }
.hw-pp__trust b{ display:block; font-family:'Manrope',sans-serif; font-size:13.5px; font-weight:700; color:#e8eaf0; }
.hw-pp__trust span{ display:block; font-family:'Manrope',sans-serif; font-size:12.5px; color:#9aa0ad; margin-top:1px; }

/* ============ Stacked sections ============ */
.hw-pp__sections{ display:flex; flex-direction:column; gap:18px; margin-bottom:36px; }
.hw-pp__sec{ background:#101218; border:1px solid rgba(255,255,255,.07); border-radius:16px; padding:24px 26px; }
@media (max-width:575px){ .hw-pp__sec{ padding:18px 16px; } }
.hw-pp__sec-title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:20px; text-transform:uppercase; letter-spacing:.5px; color:#f4f6fb; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.07); }
.hw-pp__desc{ font-family:'Manrope',sans-serif; font-size:15px; line-height:1.7; color:#c4c9d4; }
.hw-pp__desc h2,.hw-pp__desc h3,.hw-pp__desc h4{ font-family:'Oswald',sans-serif; color:#e8eaf0; margin:22px 0 10px; font-weight:600; }
.hw-pp__desc p{ margin:0 0 12px; }
.hw-pp__desc ul,.hw-pp__desc ol{ margin:0 0 12px; padding-left:20px; }
.hw-pp__desc li{ margin:5px 0; }
.hw-pp__desc a{ color:#37d0ff; }
.hw-pp__desc img{ max-width:100%; height:auto; border-radius:10px; }

/* Spec table */
.hw-pp__spec{ width:100%; border-collapse:collapse; font-family:'Manrope',sans-serif; font-size:14px; }
.hw-pp__spec tr{ border-bottom:1px solid rgba(255,255,255,.06); }
.hw-pp__spec th{ text-align:left; font-weight:500; color:#9aa0ad; padding:11px 14px 11px 0; width:45%; vertical-align:top; }
.hw-pp__spec td{ color:#e3e6ec; padding:11px 0; }
.hw-pp__spec .hw-pp__spec-group td{ font-family:'Oswald',sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.4px; font-size:13px; color:#37d0ff; padding:16px 0 8px; }
.hw-pp__spec .hw-pp__spec-group{ border-bottom:0; }

/* Reviews block (OC-rendered) dark tweaks */
.hw-pp__reviews{ font-family:'Manrope',sans-serif; color:#c4c9d4; }
.hw-pp__reviews .form-control{ background:#14161d; border:1px solid rgba(255,255,255,.12); color:#e8eaf0; border-radius:10px; }
.hw-pp__reviews .btn-primary{ background:linear-gradient(135deg,#37d0ff,#2aa7e6); border:0; color:#04212c; font-weight:600; border-radius:10px; }
.hw-pp__reviews .list-unstyled, .hw-pp__reviews p{ color:#c4c9d4; }

/* ============================================================
   CART PAGE (.hw-cart) — dark, partstore-style
   ============================================================ */
#checkout-cart .hw-cart__title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:26px; text-transform:uppercase; letter-spacing:.4px; color:#f4f6fb; margin:0 0 20px; }
.hw-cart__weight{ color:#8b909c; font-size:16px; font-weight:400; }
.hw-cart{ display:grid; grid-template-columns: minmax(0,1fr) 340px; gap:26px; align-items:start; }
@media (max-width:991px){ .hw-cart{ grid-template-columns:1fr; gap:18px; } }

/* item cards */
.hw-cart__items{ display:flex; flex-direction:column; gap:12px; }
.hw-cart__item{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; background:#101218; border:1px solid rgba(255,255,255,.07); border-radius:14px; padding:14px; }
.hw-cart__item-img{ flex:0 0 auto; width:84px; height:84px; background:#f4f5f8; border-radius:10px; display:flex; align-items:center; justify-content:center; padding:6px; overflow:hidden; }
.hw-cart__item-img img{ max-width:100%; max-height:100%; object-fit:contain; }
.hw-cart__item-main{ flex:1 1 200px; min-width:0; }
.hw-cart__item-name{ font-family:'Manrope',sans-serif; font-weight:600; font-size:14.5px; color:#e8eaf0; text-decoration:none; line-height:1.35; display:block; }
.hw-cart__item-name:hover{ color:#37d0ff; }
.hw-cart__oos{ color:#ff6b5e; }
.hw-cart__item-meta{ list-style:none; margin:6px 0 0; padding:0; font-family:'Manrope',sans-serif; font-size:12px; color:#8b909c; }
.hw-cart__item-meta li{ margin:1px 0; }

.hw-cart__item-ctl{ flex:0 0 auto; display:flex; align-items:center; gap:8px; }
.hw-cart__stepper{ display:inline-flex; align-items:center; background:#14161d; border:1px solid rgba(255,255,255,.12); border-radius:10px; overflow:hidden; }
.hw-cart__qbtn{ width:34px; height:40px; border:0; background:transparent; color:#cdd2dc; font-size:17px; cursor:pointer; transition:background .15s,color .15s; }
.hw-cart__qbtn:hover{ background:rgba(255,255,255,.06); color:#fff; }
.hw-cart__qinput{ width:40px; height:40px; border:0; background:transparent; color:#fff; text-align:center; font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; }
.hw-cart__qinput:focus{ outline:none; }
.hw-cart__qinput.is-invalid{ color:#ff6b5e; }
.hw-cart__update{ width:40px; height:40px; border:1px solid rgba(255,255,255,.12); background:#14161d; color:#9aa0ad; border-radius:10px; cursor:pointer; transition:.15s; display:none; }
.hw-cart__update:hover{ border-color:#37d0ff; color:#37d0ff; }
.hw-cart__remove{ width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.12); background:#14161d; color:#9aa0ad; border-radius:10px; cursor:pointer; transition:.15s; text-decoration:none; }
.hw-cart__remove:hover{ border-color:rgba(255,90,77,.55); color:#ff6b5e; background:rgba(255,90,77,.08); }
.hw-cart__minnote{ display:block; color:#ffc34d; font-size:11px; margin-top:4px; }

.hw-cart__item-prices{ flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:4px; min-width:96px; }
.hw-cart__item-price{ font-family:'Manrope',sans-serif; font-size:13px; color:#8b909c; }
.hw-cart__item-total{ font-family:'Oswald',sans-serif; font-weight:700; font-size:18px; color:#fff; }
.hw-cart__plabel{ display:none; }

/* summary box */
.hw-cart__summary{ background:#101218; border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:20px; position:sticky; top:90px; }
@media (max-width:991px){ .hw-cart__summary{ position:static; } }
.hw-cart__sum-title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; text-transform:uppercase; letter-spacing:.5px; color:#cdd2dc; margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.08); }
.hw-cart__totals{ display:flex; flex-direction:column; gap:9px; margin-bottom:18px; }
.hw-cart__total-row{ display:flex; align-items:baseline; justify-content:space-between; font-family:'Manrope',sans-serif; font-size:13.5px; color:#9aa0ad; gap:12px; }
.hw-cart__total-row span:last-child{ color:#cdd2dc; }
.hw-cart__total-row--grand{ margin-top:6px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); }
.hw-cart__total-row--grand span:first-child{ font-family:'Oswald',sans-serif; font-size:15px; text-transform:uppercase; letter-spacing:.4px; color:#e8eaf0; }
.hw-cart__total-row--grand span:last-child{ font-family:'Oswald',sans-serif; font-weight:700; font-size:22px; color:#fff; white-space:nowrap; }
.hw-cart__checkout{ display:flex; align-items:center; justify-content:center; width:100%; height:50px; background:linear-gradient(135deg,#37d0ff,#7b5cff); color:#fff; font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; letter-spacing:.4px; text-transform:uppercase; border:0; border-radius:12px; text-decoration:none; box-shadow:0 8px 22px rgba(55,208,255,.22); transition:.18s; }
.hw-cart__checkout:hover{ filter:brightness(1.07); transform:translateY(-1px); color:#fff; box-shadow:0 12px 28px rgba(55,208,255,.32); }
.hw-cart__continue{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:12px; color:#9aa0ad; font-family:'Manrope',sans-serif; font-size:13.5px; font-weight:600; text-decoration:none; transition:color .15s; }
.hw-cart__continue:hover{ color:#37d0ff; }

/* next-step modules (coupon / shipping estimate accordion) */
.hw-cart__next{ margin-top:28px; }
.hw-cart__next-title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:18px; text-transform:uppercase; letter-spacing:.4px; color:#f4f6fb; margin:0 0 4px; }
.hw-cart__next-sub{ font-family:'Manrope',sans-serif; font-size:13px; color:#8b909c; margin:0 0 14px; }
.hw-cart__next .accordion{ --bs-accordion-bg:#101218; --bs-accordion-color:#e8eaf0; --bs-accordion-border-color:rgba(255,255,255,.08); --bs-accordion-btn-color:#e8eaf0; --bs-accordion-active-bg:#14161d; --bs-accordion-active-color:#37d0ff; --bs-accordion-btn-focus-box-shadow:0 0 0 3px rgba(55,208,255,.15); border-radius:12px; overflow:hidden; }
.hw-cart__next .accordion-button{ background:#14161d; color:#e8eaf0; font-family:'Manrope',sans-serif; font-weight:600; }
.hw-cart__next .accordion-button:not(.collapsed){ color:#37d0ff; background:#14161d; }
.hw-cart__next .form-control, .hw-cart__next .form-select{ background:#14161d; border:1px solid rgba(255,255,255,.12); color:#e8eaf0; border-radius:9px; }
.hw-cart__next .btn-primary{ background:linear-gradient(135deg,#37d0ff,#2aa7e6); border:0; color:#04212c; font-weight:600; border-radius:9px; }

/* empty cart */
.hw-cart__empty{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:30px 16px 50px; }
.hw-cart__empty-img{ height:230px; width:auto; margin-bottom:18px; }
.hw-cart__empty-title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:24px; text-transform:uppercase; color:#f4f6fb; margin:0 0 8px; }
.hw-cart__empty-text{ font-family:'Manrope',sans-serif; font-size:14px; color:#9aa0ad; margin:0 0 20px; }
.hw-cart__empty-btn{ width:auto; padding:0 30px; }

/* mobile: stack item cards, show price labels */
@media (max-width:575px){
  .hw-cart__item{ gap:12px; }
  .hw-cart__item-img{ width:64px; height:64px; }
  .hw-cart__item-main{ flex:1 1 calc(100% - 80px); }
  .hw-cart__item-ctl{ order:3; }
  .hw-cart__item-prices{ order:4; flex-direction:row; align-items:center; gap:14px; min-width:0; margin-left:auto; }
  .hw-cart__item-price, .hw-cart__item-total{ display:flex; flex-direction:column; }
  .hw-cart__plabel{ display:block; font-size:10px; text-transform:uppercase; letter-spacing:.4px; color:#6f7585; }
}

/* ============================================================
   CHECKOUT PAGE (#checkout-checkout / .hw-co) — dark, partstore-style
   ============================================================ */
.hw-co__title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:26px; text-transform:uppercase; letter-spacing:.4px; color:#f4f6fb; margin:0 0 20px; }
.hw-co__grid{ display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:26px; align-items:start; }
@media (max-width:991px){ .hw-co__grid{ grid-template-columns:1fr; gap:18px; } }
.hw-co__main{ display:flex; flex-direction:column; gap:16px; min-width:0; }

/* section cards (each module fieldset → card) */
#checkout-checkout fieldset{ background:#101218; border:1px solid rgba(255,255,255,.07); border-radius:14px; padding:20px 22px; margin:0; }
#checkout-checkout .hw-co__sec > div > form > fieldset + fieldset,
#checkout-checkout fieldset + fieldset{ margin-top:16px; }
#checkout-checkout legend{ font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; text-transform:uppercase; letter-spacing:.4px; color:#f4f6fb; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.08); float:none; width:100%; }
#checkout-checkout .hw-co__sec > div > p:first-child{ color:#9aa0ad; font-family:'Manrope',sans-serif; font-size:13px; margin:0 0 12px; }
#checkout-checkout .hw-co__sec a{ color:#37d0ff; text-decoration:none; }
#checkout-checkout .hw-co__sec a:hover{ color:#7ee0ff; }

/* form fields */
#checkout-checkout .form-label{ font-family:'Manrope',sans-serif; font-size:12.5px; font-weight:600; color:#b9bec9; margin-bottom:6px; }
#checkout-checkout .required .form-label::after,
#checkout-checkout .form-label.required::after{ content:" *"; color:#ff6b5e; }
#checkout-checkout .form-control, #checkout-checkout .form-select{ background:#14161d; border:1px solid rgba(255,255,255,.12); color:#e8eaf0; border-radius:10px; padding:10px 12px; font-family:'Manrope',sans-serif; font-size:14px; }
#checkout-checkout .form-control::placeholder{ color:#6f7585; }
#checkout-checkout .form-control:focus, #checkout-checkout .form-select:focus{ background:#14161d; border-color:#37d0ff; box-shadow:0 0 0 3px rgba(55,208,255,.15); color:#fff; }
#checkout-checkout .form-select option{ background:#14161d; color:#e8eaf0; }
#checkout-checkout .form-control[readonly]{ background:#101218; color:#cdd2dc; }
#checkout-checkout textarea.form-control{ min-height:90px; resize:vertical; }

/* input groups (shipping/payment method picker) */
#checkout-checkout .input-group-text{ background:#101218; border:1px solid rgba(255,255,255,.12); color:#37d0ff; border-radius:10px 0 0 10px; }
#checkout-checkout .input-group .form-control{ border-radius:0; }
#checkout-checkout .input-group .btn{ border-radius:0 10px 10px 0; }

/* radios / checkboxes / switches */
#checkout-checkout .form-check-label{ color:#cdd2dc; font-family:'Manrope',sans-serif; font-size:13.5px; }
#checkout-checkout .form-check-input{ background-color:#14161d; border-color:rgba(255,255,255,.25); }
#checkout-checkout .form-check-input:checked{ background-color:#37d0ff; border-color:#37d0ff; }
#checkout-checkout .form-check-input:focus{ box-shadow:0 0 0 3px rgba(55,208,255,.15); border-color:#37d0ff; }

/* buttons */
#checkout-checkout .btn-primary{ background:linear-gradient(135deg,#37d0ff,#2aa7e6); border:0; color:#04212c; font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:.3px; text-transform:uppercase; border-radius:10px; padding:10px 18px; transition:.15s; }
#checkout-checkout .btn-primary:hover{ filter:brightness(1.07); color:#04212c; }
#checkout-checkout .btn-light{ background:#14161d; border:1px solid rgba(255,255,255,.14); color:#cdd2dc; border-radius:10px; }
#checkout-checkout .btn-light:hover{ border-color:#37d0ff; color:#37d0ff; }

/* alerts inside checkout */
#checkout-checkout .alert{ border-radius:12px; font-family:'Manrope',sans-serif; font-size:13.5px; border:1px solid rgba(255,255,255,.1); }
#checkout-checkout .alert-danger{ background:rgba(255,90,77,.1); color:#ff8f85; border-color:rgba(255,90,77,.3); }
#checkout-checkout .alert-success{ background:rgba(46,204,113,.1); color:#5fe09a; border-color:rgba(46,204,113,.3); }
#checkout-checkout .alert-info{ background:rgba(55,208,255,.08); color:#7ee0ff; border-color:rgba(55,208,255,.25); }
#checkout-checkout .invalid-feedback{ color:#ff6b5e; font-size:12px; }

/* Nova Poshta picker box (override inline light styles) */
#checkout-checkout .khc-np{ background:#101218 !important; border:1px solid rgba(255,255,255,.08) !important; border-radius:14px !important; padding:18px 20px !important; }
#checkout-checkout .khc-np > div:first-child{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.4px; color:#37d0ff; font-size:14px; }
#checkout-checkout .khc-np .form-text{ color:#8b909c; }
#checkout-checkout .khc-np .list-group{ background:#14161d; border:1px solid rgba(255,255,255,.12); border-radius:10px; box-shadow:0 14px 36px rgba(0,0,0,.5); padding:4px; }
#checkout-checkout .khc-np .list-group-item{ background:transparent; color:#e8eaf0; border:0; border-radius:7px; font-family:'Manrope',sans-serif; font-size:13.5px; padding:8px 10px; }
#checkout-checkout .khc-np .list-group-item:hover{ background:rgba(55,208,255,.1); color:#37d0ff; }
#checkout-checkout .khc-np .list-group-item small{ color:#8b909c; }

/* order summary (right, sticky) */
.hw-co__side{ min-width:0; }
.hw-co__summary{ background:#101218; border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:20px; position:sticky; top:90px; }
@media (max-width:991px){ .hw-co__summary{ position:static; } }
.hw-co__sum-title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; text-transform:uppercase; letter-spacing:.5px; color:#cdd2dc; margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.08); }
#checkout-confirm .table{ color:#e8eaf0; margin:0; font-family:'Manrope',sans-serif; }
#checkout-confirm .table th{ font-family:'Oswald',sans-serif; font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.3px; color:#9aa0ad; border-color:rgba(255,255,255,.08); padding:8px 6px; }
#checkout-confirm .table td{ border-color:rgba(255,255,255,.06); color:#e3e6ec; font-size:13px; padding:10px 6px; vertical-align:top; }
#checkout-confirm .table a{ color:#e8eaf0; text-decoration:none; }
#checkout-confirm .table a:hover{ color:#37d0ff; }
#checkout-confirm .table small{ color:#8b909c; }
#checkout-confirm .table tfoot td{ font-family:'Oswald',sans-serif; }
#checkout-confirm .table tfoot tr:last-child td{ font-size:17px; color:#fff; }
#checkout-confirm .table tfoot tr:last-child strong{ color:#e8eaf0; }
#checkout-payment{ margin-top:8px; }
#checkout-payment .btn-primary{ display:flex; width:100%; align-items:center; justify-content:center; height:50px; font-size:15px; border-radius:12px; box-shadow:0 8px 22px rgba(55,208,255,.22); }

/* selection modals (shipping / payment method) */
#checkout-checkout ~ .modal .modal-content, .modal .modal-content{ }
#modal-shipping .modal-content, #modal-payment .modal-content{ background:#14161d; border:1px solid rgba(255,255,255,.1); border-radius:14px; color:#e8eaf0; }
#modal-shipping .modal-header, #modal-payment .modal-header{ border-bottom:1px solid rgba(255,255,255,.08); }
#modal-shipping .modal-title, #modal-payment .modal-title{ font-family:'Oswald',sans-serif; color:#f4f6fb; }
#modal-shipping .btn-close, #modal-payment .btn-close{ filter:invert(1) grayscale(1); opacity:.6; }
#modal-shipping .form-check-label, #modal-payment .form-check-label{ color:#cdd2dc; }
#modal-shipping .btn-primary, #modal-payment .btn-primary{ background:linear-gradient(135deg,#37d0ff,#2aa7e6); border:0; color:#04212c; font-weight:600; border-radius:10px; }

/* ============================================================
   CUSTOM CHECKOUT v2 (bespoke .hw-co) — partstore-style, dark
   (overrides the themed-module block above)
   ============================================================ */
.hw-co__title{ font-family:'Oswald',sans-serif; font-weight:600; font-size:26px; text-transform:uppercase; letter-spacing:.4px; color:#f4f6fb; margin:0 0 20px; }
.hw-co__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
@media (max-width:991px){ .hw-co__grid{ grid-template-columns:1fr; } }
.hw-co__main{ display:flex; flex-direction:column; gap:14px; min-width:0; }

/* section card (compact) */
.hw-co__sec{ background:#101218; border:1px solid rgba(255,255,255,.07); border-radius:14px; padding:16px 18px; }
.hw-co__sec-h{ display:flex; align-items:center; gap:9px; font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; text-transform:uppercase; letter-spacing:.4px; color:#f4f6fb; margin:0 0 13px; }
.hw-co__num{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:rgba(55,208,255,.14); color:#37d0ff; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; }

/* contacts tabs */
.hw-co__tabs{ display:flex; gap:8px; margin-bottom:16px; }
.hw-co__tab{ flex:1 1 0; padding:11px 12px; border:1px solid rgba(255,255,255,.12); background:#14161d; color:#9aa0ad; border-radius:10px; font-family:'Manrope',sans-serif; font-size:13.5px; font-weight:600; cursor:pointer; transition:.15s; }
.hw-co__tab:hover{ color:#e8eaf0; border-color:rgba(255,255,255,.2); }
.hw-co__tab.is-active{ border-color:#37d0ff; color:#37d0ff; background:rgba(55,208,255,.08); }

/* fields */
.hw-co__field{ position:relative; margin-bottom:10px; }
.hw-co__f2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:480px){ .hw-co__f2{ grid-template-columns:1fr; } }
.hw-co__lbl{ display:block; font-family:'Manrope',sans-serif; font-size:12px; font-weight:600; color:#b9bec9; margin-bottom:5px; }
.hw-co__inp{ width:100%; background:#14161d; border:1px solid rgba(255,255,255,.12); color:#e8eaf0; border-radius:9px; padding:9px 12px; font-family:'Manrope',sans-serif; font-size:13.5px; box-sizing:border-box; }
.hw-co__inp::placeholder{ color:#6f7585; }
.hw-co__inp:focus{ outline:none; border-color:#37d0ff; box-shadow:0 0 0 3px rgba(55,208,255,.15); }
select.hw-co__inp option{ background:#14161d; color:#e8eaf0; }
select.hw-co__inp:disabled{ opacity:.6; }
.hw-co__ta{ resize:vertical; min-height:78px; margin-top:10px; }
.hw-co__hint{ display:block; margin-top:5px; color:#6f7585; font-size:11.5px; font-family:'Manrope',sans-serif; }

/* autocomplete */
.hw-co__ac{ position:absolute; top:100%; left:0; right:0; z-index:60; margin-top:4px; background:#14161d; border:1px solid rgba(255,255,255,.12); border-radius:10px; box-shadow:0 14px 36px rgba(0,0,0,.5); max-height:260px; overflow:auto; padding:4px; }
.hw-co__ac-i{ display:block; width:100%; text-align:left; background:transparent; border:0; color:#e8eaf0; font-family:'Manrope',sans-serif; font-size:13.5px; padding:9px 10px; border-radius:7px; cursor:pointer; }
.hw-co__ac-i:hover{ background:rgba(55,208,255,.1); color:#37d0ff; }
.hw-co__ac-i small{ color:#8b909c; }
.hw-co__ac-i b{ color:#37d0ff; font-weight:700; margin-right:4px; }
.hw-co__ac-empty{ padding:10px 12px; color:#8b909c; font-family:'Manrope',sans-serif; font-size:13px; text-align:center; }

/* delivery / payment method cards */
.hw-co__methods{ display:flex; flex-direction:column; gap:10px; margin-top:6px; }
.hw-co__methods--pay{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
@media (max-width:520px){ .hw-co__methods--pay{ grid-template-columns:1fr; } }
.hw-co__method{ display:block; border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:13px 15px; cursor:pointer; transition:.15s; }
.hw-co__method--pay{ padding:12px 13px; display:flex; align-items:center; }
.hw-co__method--pay .hw-co__method-b{ font-size:13px; }
.hw-co__method:hover{ border-color:rgba(255,255,255,.2); }
.hw-co__method.is-active{ border-color:#37d0ff; background:rgba(55,208,255,.06); }
.hw-co__method > input[type="radio"]{ accent-color:#37d0ff; margin-right:10px; vertical-align:middle; }
.hw-co__method-b{ font-family:'Manrope',sans-serif; font-size:14px; font-weight:600; color:#e8eaf0; }
.hw-co__method-b i{ width:20px; text-align:center; color:#37d0ff; margin-right:6px; }
.hw-co__method-body{ margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); }
.hw-co__soon{ font-style:normal; font-size:11px; font-weight:700; text-transform:uppercase; color:#ffc34d; background:rgba(255,176,32,.12); border:1px solid rgba(255,176,32,.3); padding:1px 7px; border-radius:999px; margin-left:6px; }
.hw-co__note{ display:flex; gap:10px; align-items:flex-start; font-family:'Manrope',sans-serif; font-size:13px; color:#cdd2dc; background:rgba(55,208,255,.06); border:1px solid rgba(55,208,255,.18); border-radius:10px; padding:11px 13px; }
.hw-co__note i{ color:#37d0ff; margin-top:2px; }

/* checkboxes */
.hw-co__check{ display:flex; align-items:flex-start; gap:9px; margin-top:12px; font-family:'Manrope',sans-serif; font-size:13.5px; color:#cdd2dc; cursor:pointer; }
.hw-co__check input{ accent-color:#37d0ff; margin-top:2px; flex:0 0 auto; width:16px; height:16px; }
.hw-co__check--sm{ font-size:12.5px; color:#9aa0ad; }
.hw-co__check a{ color:#37d0ff; text-decoration:none; }

/* ---------- summary ---------- */
.hw-co__side{ min-width:0; }
.hw-co__summary{ background:#101218; border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:20px; position:sticky; top:90px; }
@media (max-width:991px){ .hw-co__summary{ position:static; } }
.hw-co__sum-h{ font-family:'Oswald',sans-serif; font-weight:600; font-size:16px; text-transform:uppercase; letter-spacing:.5px; color:#cdd2dc; margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.08); }
.hw-co__items{ display:flex; flex-direction:column; gap:14px; margin-bottom:14px; }
.hw-co__item{ display:grid; grid-template-columns:82px 1fr auto; gap:14px; align-items:center; }
.hw-co__item-img{ width:82px; height:82px; background:#f4f5f8; border-radius:10px; display:flex; align-items:center; justify-content:center; padding:6px; overflow:hidden; }
.hw-co__item-img img{ max-width:100%; max-height:100%; object-fit:contain; }
.hw-co__item-name{ display:block; font-family:'Manrope',sans-serif; font-size:13.5px; font-weight:600; color:#e8eaf0; text-decoration:none; line-height:1.35; max-height:2.7em; overflow:hidden; }
.hw-co__item-name:hover{ color:#37d0ff; }
.hw-co__item-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:7px; }
.hw-co__stepper{ display:inline-flex; align-items:center; background:#14161d; border:1px solid rgba(255,255,255,.12); border-radius:8px; overflow:hidden; }
.hw-co__qbtn{ width:26px; height:28px; border:0; background:transparent; color:#cdd2dc; font-size:15px; cursor:pointer; }
.hw-co__qbtn:hover{ background:rgba(255,255,255,.06); color:#fff; }
.hw-co__qval{ min-width:26px; text-align:center; font-family:'Oswald',sans-serif; font-weight:600; font-size:14px; color:#fff; }
.hw-co__item-total{ font-family:'Oswald',sans-serif; font-weight:700; font-size:14px; color:#fff; white-space:nowrap; }
.hw-co__item-rm{ width:26px; height:26px; border:0; background:transparent; color:#6f7585; cursor:pointer; border-radius:6px; }
.hw-co__item-rm:hover{ color:#ff6b5e; background:rgba(255,90,77,.1); }

.hw-co__delivery-line{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0; border-top:1px solid rgba(255,255,255,.08); font-family:'Manrope',sans-serif; font-size:13px; color:#9aa0ad; }
.hw-co__delivery-line span:last-child{ color:#cdd2dc; font-weight:600; text-align:right; }

.hw-co__coupon{ display:flex; gap:8px; margin:6px 0 14px; }
.hw-co__coupon .hw-co__inp{ flex:1 1 auto; }
.hw-co__coupon-btn{ flex:0 0 auto; border:1px solid rgba(255,255,255,.14); background:#14161d; color:#cdd2dc; border-radius:10px; padding:0 16px; font-family:'Manrope',sans-serif; font-size:13px; font-weight:600; cursor:pointer; transition:.15s; }
.hw-co__coupon-btn:hover{ border-color:#37d0ff; color:#37d0ff; }

.hw-co__totals{ display:flex; flex-direction:column; gap:8px; padding:14px 0; border-top:1px solid rgba(255,255,255,.08); }
.hw-co__total-row{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-family:'Manrope',sans-serif; font-size:13.5px; color:#9aa0ad; }
.hw-co__total-row span:last-child{ color:#cdd2dc; }
.hw-co__total-row--grand span:first-child{ font-family:'Oswald',sans-serif; font-size:15px; text-transform:uppercase; letter-spacing:.4px; color:#e8eaf0; }
.hw-co__total-row--grand span:last-child{ font-family:'Oswald',sans-serif; font-weight:700; font-size:22px; color:#fff; white-space:nowrap; }

.hw-co__place{ display:flex; align-items:center; justify-content:center; width:100%; height:52px; margin-top:16px; border:0; cursor:pointer; background:linear-gradient(135deg,#37d0ff,#7b5cff); color:#fff; font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; letter-spacing:.5px; text-transform:uppercase; border-radius:12px; box-shadow:0 8px 22px rgba(55,208,255,.22); transition:.18s; }
.hw-co__place:hover{ filter:brightness(1.07); transform:translateY(-1px); box-shadow:0 12px 28px rgba(55,208,255,.32); }

/* order success — order number */
#common-success .hw-ordernum{ font-family:'Manrope',sans-serif; font-size:16px; color:#cdd2dc; margin:0 0 16px; }
#common-success .hw-ordernum strong{ font-family:'Oswald',sans-serif; font-weight:700; font-size:28px; color:#37d0ff; letter-spacing:.5px; vertical-align:-2px; }

/* ---- pagination: never overflow mobile (wrap + compact) ---- */
.pagination{ flex-wrap:wrap; row-gap:6px; }
@media (max-width:600px){
  .pagination .page-link{ padding:6px 11px; font-size:14px; }
  .pagination{ justify-content:center; }
}

/* ---- mobile catalog drawer: subcats COLLAPSED by default, cyan chevron expands ---- */
@media (max-width:991.98px){
  .hw-oc--cat .nav-item.dropdown{ position:relative; }
  .hw-oc--cat .nav-item.dropdown.hw-open > .dropdown-menu{ display:block !important; }
  .hw-subtoggle{
    position:absolute; right:2px; top:8px; width:36px; height:36px; border-radius:50%;
    border:1px solid rgba(55,208,255,.5); background:rgba(55,208,255,.08); color:var(--vit-cyan);
    display:flex; align-items:center; justify-content:center; font-size:13px; cursor:pointer;
    transition:transform .25s ease, background .15s ease;
  }
  .hw-subtoggle:active{ background:rgba(55,208,255,.2); }
  .hw-oc--cat .nav-item.hw-open > .hw-subtoggle{ transform:rotate(180deg); }
  .hw-oc--cat .nav-item.dropdown > .nav-link{ padding-right:48px !important; }
}
/* drawers above EVERYTHING (some devices showed the sticky header over the drawer top) */
.offcanvas, .offcanvas-lg{ z-index:3000 !important; }
.offcanvas-backdrop{ z-index:2990 !important; }

/* HOBBYWRLD 2026-06-11: the page wrapper <div> is position:absolute, which breaks
   normal stacking — the inline filter sidebar and the search autocomplete were
   painting OVER the sticky header. On desktop (no offcanvas drawer) lift the header
   above them; keep it low on mobile so the filter DRAWER stays on top. */
@media (min-width:992px){
  header{ z-index:3050 !important; }
}
#alert{ z-index:3100 !important; }
