/* =============================================================================
   ExpoPlus B2B Design System
   docs/design-system.md — "Industrial Clean"
   DO NOT regenerate; edit this file directly.
   ============================================================================= */

/* ── Disable sticky header ─────────────────────────────────────────────── */
.tvcmsheader-sticky,
.tvcmsheader-sticky.sticky,
header .tvcmsheader-sticky,
header .tvcmsheader-sticky.sticky {
  position: static !important;
  position: relative !important;
  top: auto !important;
  z-index: auto !important;
  animation: none !important;
  transition: none !important;
}
main {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.tv-main-div {
  flex: 1;
  display: flex;
  flex-direction: column;
}
#wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
  flex: 1;
}
header,
header .ep-header-wrap {
  position: static !important;
}

/* ── Unified keyframes ──────────────────────────────────────────────────── */
@keyframes ep-dropdown-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes ep-submenu-in {
  from { opacity: 0; transform: translateX(8px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ── 1. Google Fonts ─────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@600;700&family=JetBrains+Mono:wght@400;500&display=swap');

/* ── 2. CSS Variables ────────────────────────────────────────────────────── */
:root {
  /* Primary brand */
  --ep-primary:        rgb(16, 171, 160);
  --ep-primary-dark:   #0D8F86;
  --ep-primary-light:  #E6F7F6;

  /* Neutrals */
  --ep-ink:            #1A1F2E;
  --ep-ink-secondary:  #4A5568;
  --ep-ink-muted:      #8896AB;

  /* Surfaces */
  --ep-bg:             #F4F6F9;
  --ep-surface:        #FFFFFF;
  --ep-surface-alt:    #EEF1F5;

  /* Borders */
  --ep-border:         #DDE3ED;
  --ep-border-strong:  #B8C2D0;

  /* Semantic */
  --ep-success:        #27AE60;
  --ep-warning:        #F39C12;
  --ep-error:          #E74C3C;

  /* Unified transitions — use these everywhere */
  --ep-t-fast:         0.15s ease;
  --ep-t-base:         0.2s ease;
  --ep-t-slow:         0.3s ease;

  /* Layout */
  --ep-sidebar-w:      240px;
  --ep-header-top-h:   36px;
  --ep-header-main-h:  64px;

  /* Shadows */
  --ep-shadow-sm:      0 1px 3px rgba(26,31,46,0.08), 0 1px 2px rgba(26,31,46,0.06);
  --ep-shadow-md:      0 4px 12px rgba(26,31,46,0.12), 0 2px 6px rgba(26,31,46,0.08);

  /* Fonts */
  --ep-font-display:   'Barlow Condensed', sans-serif;
  --ep-font-body:      'Barlow', sans-serif;
  --ep-font-mono:      'JetBrains Mono', monospace;

  /* Radii */
  --ep-radius:         6px;
  --ep-radius-sm:      4px;

  /* Button system */
  --ep-btn-radius:     4px;
  --ep-btn-font:       'Barlow Condensed', sans-serif;
  --ep-btn-transform:  uppercase;
  --ep-btn-spacing:    0.06em;
  --ep-btn-transition: background 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, border-color 0.18s ease;

  --ep-btn-primary-bg:      #10ABA0;
  --ep-btn-primary-hover:   #0d9088;
  --ep-btn-primary-shadow:  0 2px 8px rgba(16,171,160,0.28);

  --ep-btn-dark-bg:         #1a2332;
  --ep-btn-dark-hover:      #252f42;
  --ep-btn-dark-shadow:     0 2px 8px rgba(26,35,50,0.22);

  --ep-btn-sm-padding:  7px 16px;
  --ep-btn-sm-font:     12px;
  --ep-btn-md-padding:  10px 22px;
  --ep-btn-md-font:     13px;
  --ep-btn-lg-padding:  12px 28px;
  --ep-btn-lg-font:     15px;
}

/* ── 3. Global Base ──────────────────────────────────────────────────────── */
html, body {
  overflow-x: hidden;
}
body {
  font-family: var(--ep-font-body) !important;
  background-color: var(--ep-bg) !important;
  color: var(--ep-ink) !important;
  font-size: 14px;
  line-height: 1.5;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* ── 4. HEADER WRAP — remove old tvcms styles ───────────────────────────── */
.ep-header-wrap {
  background: var(--ep-surface);
}
/* All containers use standard Bootstrap padding — no override needed */

/* ── 4a. Top Utility Bar ─────────────────────────────────────────────────── */
.ep-topbar {
  background: var(--ep-ink);
  border-bottom: 2px solid var(--ep-primary);
  color: rgba(255,255,255,0.9);
  height: var(--ep-header-top-h);
  font-family: var(--ep-font-body);
  font-size: 12px;
  font-weight: 500;
  display: flex;
  transition: none !important;
  margin-top: 0 !important;
  align-items: center;
  position: relative;
  z-index: 1005;
}
.ep-topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
.ep-topbar-left {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ep-topbar-right {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto !important;
}
.ep-topbar-info {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.ep-topbar-info svg {
  opacity: 0.6;
  flex-shrink: 0;
}
.ep-topbar-sep {
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,0.2);
}
/* Language switcher in top bar */
.ep-topbar .tvheader-language,
.ep-topbar #_desktop_language_selector {
  display: inline-flex !important;
  align-items: center;
}
.ep-topbar .language-selector .dropdown-toggle,
.ep-topbar .language-selector a {
  color: rgba(255,255,255,0.75) !important;
  font-size: 12px !important;
  font-family: var(--ep-font-body) !important;
  padding: 0 8px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.ep-topbar .language-selector a:hover,
.ep-topbar .language-selector .dropdown-toggle:hover {
  color: #fff !important;
}
.ep-topbar .language-selector .dropdown-menu {
  min-width: 110px !important;
  background: var(--ep-ink) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: var(--ep-radius-sm) !important;
  top: 100% !important;
}
.ep-topbar .language-selector .dropdown-item {
  color: rgba(255,255,255,0.75) !important;
  font-size: 12px !important;
  padding: 6px 12px !important;
}
.ep-topbar .language-selector .dropdown-item:hover {
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════════════════════════════════════
   5. 3-ROW HEADER  — Industrial Clean, ExpoPlus B2B
   Proportions: Row1 32px · Row2 80px · Row3 46px
   ══════════════════════════════════════════════════════════════════════════ */

/* Sticky wrapper */
#header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  box-shadow: 0 1px 0 var(--ep-border), 0 4px 16px rgba(26,31,46,0.07) !important;
  background: transparent !important;
}

/* Reset old tvcms header styles */
.tvcmsdesktop-top-header-wrapper { background: transparent !important; box-shadow: none !important; }
.tvcmsdesktop-top-second { display: none !important; }

/* ── ROW 1: TOPBAR (32px) ───────────────────────────────────────────────── */
.ep-topbar {
  background: var(--ep-ink);
  border-bottom: 2px solid var(--ep-primary);
  height: 32px;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1005; /* above ep-header-main (1004) so language dropdown can overlay row 2 */
}
.ep-topbar-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 32px !important;
}
.ep-topbar-left {
  display: flex;
  align-items: center;
  gap: 0;
}
.ep-topbar-right {
  display: flex;
  align-items: center;
  gap: 0;
  margin-left: auto !important;
}
.ep-topbar-link {
  font-family: var(--ep-font-body) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: rgba(255,255,255,0.82) !important;
  text-decoration: none !important;
  padding: 0 11px !important;
  line-height: 32px !important;
  transition: color var(--ep-t-fast), background var(--ep-t-fast) !important;
  white-space: nowrap;
}
.ep-topbar-link:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.1) !important;
}
/* Hairline dividers */
.ep-topbar-divider {
  width: 1px;
  height: 12px;
  background: rgba(255,255,255,0.22);
  flex-shrink: 0;
  align-self: center;
}
/* Phone + Email */
.ep-topbar-contact {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  line-height: 32px;
}
.ep-topbar-contact svg {
  opacity: 0.65;
  flex-shrink: 0;
  margin-top: 1px;
}
.ep-topbar-contact a {
  font-family: var(--ep-font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  color: rgba(255,255,255,0.92) !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color var(--ep-t-fast) !important;
}
.ep-topbar-contact a:hover { color: #fff !important; }
/* Language switcher (TVCMS ps_languageselector) */
.ep-topbar-lang { padding: 0 4px; display: flex; align-items: center; }
.ep-topbar-lang .tvcms-header-language { position: relative; }
.ep-topbar-lang .tv-language-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: var(--ep-font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.82) !important;
  text-decoration: none !important;
  padding: 0 8px !important;
  line-height: 32px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: color var(--ep-t-fast) !important;
}
.ep-topbar-lang .tv-language-btn:hover { color: #fff !important; }
.ep-topbar-lang .tv-language-btn .tv-language-span { display: none; }
.ep-topbar-lang .tv-language-btn .material-icons {
  font-size: 14px !important;
  color: rgba(255,255,255,0.6) !important;
}
.ep-topbar-lang .tv-language-dropdown {
  position: absolute !important;
  right: 0 !important;
  top: 100% !important; /* no gap — was calc(100%+4px) which broke hover continuity */
  padding-top: 4px !important; /* visual spacing via internal padding instead */
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 4px !important;
  min-width: 150px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2) !important;
  list-style: none !important;
  padding: 4px 0 !important;
  margin: 0 !important;
  z-index: 9999 !important;
  display: none;
}
/* Dropdown shown/hidden via JS (tvDropDownCommon + custom delay override) */
.ep-topbar-lang .tv-language-dropdown li a {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px 14px !important;
  color: #2c3e50 !important;
  font-size: 12px !important;
  font-family: var(--ep-font-body) !important;
  text-decoration: none !important;
  transition: background var(--ep-t-fast) !important;
  white-space: nowrap !important;
}
.ep-topbar-lang .tv-language-dropdown li a:hover {
  background: #f5f5f5 !important;
  color: var(--ep-primary) !important;
}
.ep-topbar-lang .tv-language-dropdown li.current a {
  background: #f0faf9 !important;
  color: var(--ep-primary) !important;
  font-weight: 600 !important;
}
.ep-topbar-lang .lang-flag { border-radius: 2px; }
/* Disable TVCMS page backdrop on dropdown open */
body .tv-main-div .half-wrapper-backdrop,
body.dropdown-open .tv-main-div .half-wrapper-backdrop {
  display: none !important;
}
.ep-topbar-lang .tvheader-language-btn-wrapper { position: relative; }
/* Hover bridge: invisible extension below button so mouse doesn't lose hover target */
.ep-topbar-lang .tvheader-language-btn-wrapper::after {
  content: '';
  position: absolute;
  top: 100%;
  left: -8px;
  right: -8px;
  height: 8px;
}

/* ── ROW 2: MAIN (80px) — Logo · Search · Actions ──────────────────────── */
.ep-header-main {
  background: #fff;
  border-bottom: 1px solid #eaecf0;
  position: relative;
}
.ep-header-main-inner {
  display: flex !important;
  align-items: center !important;
  height: 92px !important;
}
.ep-header-main-inner::after,
.ep-header-main-inner::before {
  display: none !important;
  content: none !important;
}

/* Logo */
.ep-logo { flex-shrink: 0; margin-right: 32px; }
.ep-logo-img { max-height: 64px !important; width: auto !important; }

/* Search bar — full width, visual weight */
.ep-search-wide {
  flex: 1 !important;
  min-width: 0 !important;
  margin-right: 32px;
  position: relative;
  z-index: 1010;
}
.ep-search-wide .tvsearch-result {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1010 !important;
}
.ep-search-wide .search-widget,
.ep-search-wide #search_widget {
  width: 100% !important;
  position: relative !important;
}
.ep-search-wide .search-widget form,
.ep-search-wide #search_widget form {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid #d0d5dd !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
  transition: border-color var(--ep-t-fast), box-shadow var(--ep-t-fast) !important;
  height: 46px !important;
  box-shadow: 0 1px 2px rgba(16,24,40,0.05) !important;
}
.ep-search-wide .search-widget form:focus-within,
.ep-search-wide #search_widget form:focus-within {
  border-color: var(--ep-primary) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(16,171,160,0.12) !important;
}
.ep-search-wide .search-widget form input[type="text"],
.ep-search-wide #search_widget form input[type="text"] {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  font-family: var(--ep-font-body) !important;
  font-size: 14px !important;
  color: var(--ep-ink) !important;
  padding: 0 16px !important;
  height: 44px !important;
  width: 100% !important;
}
.ep-search-wide .search-widget form input[type="text"]::placeholder,
.ep-search-wide #search_widget form input[type="text"]::placeholder {
  color: #9ca3af !important;
  font-weight: 400 !important;
}
/* Search submit button — clean icon only */
.ep-search-wide .search-widget form button,
.ep-search-wide .search-widget form button[type="submit"],
.ep-search-wide .search-widget form button.tvheader-search-btn,
.ep-search-wide .search-widget form button.tvall-inner-btn,
#header .ep-search-wide button[type="submit"],
.ep-search-wide #search_widget form button {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-left: 1px solid #e5e7eb !important;
  color: #9ca3af !important;
  padding: 0 16px !important;
  height: 44px !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: color 0.15s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  border-radius: 0 !important;
}
.ep-search-wide .search-widget form button:hover,
.ep-search-wide #search_widget form button:hover {
  color: var(--ep-primary) !important;
  background: transparent !important;
}
.ep-search-wide .search-widget form button .search,
.ep-search-wide #search_widget form button .search,
.ep-search-wide .search-widget form button i,
.ep-search-wide #search_widget form button i {
  color: inherit !important;
  fill: currentColor !important;
  font-size: 18px !important;
}
/* Hide tvcmssearch yellow SVG icon globally, replace with clean Material icon */
.search-widget form button svg,
.tvcmsheader-search form button svg {
  display: none !important;
}
.search-widget form button::before,
.tvcmsheader-search form button::before {
  content: '\e8b6' !important;
  font-family: 'Material Icons' !important;
  font-size: 20px !important;
  color: #9ca3af !important;
  -webkit-font-feature-settings: 'liga' !important;
  font-feature-settings: 'liga' !important;
}
/* Hide tvcmssearch open/close toggle icons in our header */
.ep-search-wide .tvheader-search-display-icon {
  display: none !important;
}
.ep-search-wide .tvsearch-header-display-wrappper {
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  width: 100% !important;
}
.ep-search-wide .tvsearch-top-wrapper {
  width: 100% !important;
}
.ep-search-wide .tvheader-top-search {
  width: 100% !important;
}
.ep-search-wide .tvheader-top-search-wrapper,
#header .ep-search-wide .tvheader-top-search-wrapper,
.tvheader-top-search-wrapper {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Account + Cart */
.ep-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}
.ep-account-btn {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  color: var(--ep-ink) !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  border: none !important;
  background: transparent !important;
  white-space: nowrap !important;
}
.ep-account-btn:hover {
  background: rgba(16,171,160,0.08) !important;
}
.ep-account-btn:hover svg {
  stroke: var(--ep-primary) !important;
}
.ep-account-label {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.15 !important;
}
.ep-account-sub {
  font-family: var(--ep-font-body) !important;
  font-size: 11px !important;
  color: #9ca3af !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}
.ep-account-label strong {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink) !important;
  font-weight: 600 !important;
}

/* Cart */
.ep-action-cart .blockcart,
.ep-action-cart .blockcart a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  border: 1.5px solid #e5e7eb !important;
  color: var(--ep-ink) !important;
  text-decoration: none !important;
  transition: background 0.15s, border-color 0.15s !important;
  white-space: nowrap !important;
  background: transparent !important;
}
.ep-action-cart .blockcart:hover,
.ep-action-cart .blockcart a:hover {
  background: transparent !important;
  border-color: transparent !important;
}
.ep-action-cart .blockcart:hover svg,
.ep-action-cart .blockcart a:hover svg {
  stroke: var(--ep-primary) !important;
  transition: stroke 0.15s ease !important;
}
.tvcms-header-cart .blockcart,
.tvcms-header-cart .blockcart a,
#_desktop_cart_manage .blockcart,
#_desktop_cart_manage .blockcart > a {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.ep-action-cart .cart-products-count {
  background: var(--ep-primary) !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  min-width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 3px !important;
  line-height: 1 !important;
}

/* ── ROW 3: NAV BAR (54px) ──────────────────────────────────────────────── */
.ep-header-nav {
  background: #fff;
  border-bottom: 1px solid #eaecf0;
  height: 54px;
  display: flex;
  align-items: center;
  overflow: visible !important;
  position: relative;
  z-index: 900;
}
.ep-header-nav-inner {
  display: flex !important;
  align-items: center !important;
  height: 54px !important;
  gap: 0 !important;
  overflow: visible !important;
  position: relative;
}

/* CATEGORY button */
.ep-category-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  background: var(--ep-primary) !important;
  color: #fff !important;
  font-family: var(--ep-font-display) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0 26px !important;
  height: 54px !important;
  text-decoration: none !important;
  transition: background 0.15s !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  user-select: none !important;
}
.ep-category-btn:hover,
.ep-category-btn[aria-expanded="true"] {
  background: #0d9e95 !important;
  color: #fff !important;
}

/* ── Category button wrap ────────────────────────────────────────────────── */
.ep-category-btn-wrap {
  position: relative !important;
  height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* ── Mega dropdown ───────────────────────────────────────────────────────── */
.ep-cat-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 280px !important;
  background: #fff !important;
  box-shadow: 0 8px 32px rgba(26,31,46,0.15) !important;
  border-top: 3px solid var(--ep-primary) !important;
  z-index: 9999 !important;
  display: none;
  overflow: visible !important;
}
.ep-cat-dropdown.ep-open,
.ep-category-btn-wrap:hover .ep-cat-dropdown {
  display: block !important;
  animation: ep-dropdown-in var(--ep-t-fast) forwards !important;
}

/* Nuclear reset — kill all module backgrounds/paddings */
#ep-cat-dropdown,
#ep-cat-dropdown .tvcmsverticalmenu-wrapper,
#ep-cat-dropdown .tvcmsvertical-menu-wrapper,
#ep-cat-dropdown .tvcmsvertical-menu-wrapper-data,
#ep-cat-dropdown #tvcmsdesktop-vertical-menu,
#ep-cat-dropdown .tvcmsverticalmenu,
#ep-cat-dropdown #tvverticalmenu,
#ep-cat-dropdown .tvallcategories,
#ep-cat-dropdown .tvcmsvertical-menu,
#ep-cat-dropdown ul.menu-content,
#ep-cat-dropdown li.level-1,
#ep-cat-dropdown .tv-vertical-menu-text-wrapper,
#ep-cat-dropdown .tvvertical-menu-all-text-block {
  background: #fff !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
#ep-cat-dropdown .tvcategory-title-wrapper,
#ep-cat-dropdown .tv-verticalmenu-title,
#ep-cat-dropdown .tvcmsverticalmenu-title {
  display: none !important;
}

/* Category list */
#ep-cat-dropdown ul.menu-content.tvverticalmenu-dropdown {
  list-style: none !important;
  margin: 0 !important;
  padding: 6px 0 !important;
  overflow: visible !important;
}

/* Level-1 item */
#ep-cat-dropdown .tvverticalmenu-dropdown > li.level-1 {
  position: relative !important;
  border-left: 3px solid transparent !important;
  transition: border-color 0.15s, background 0.15s !important;
}
#ep-cat-dropdown .tvverticalmenu-dropdown > li.level-1:hover {
  border-left-color: var(--ep-primary) !important;
  background: var(--ep-primary-light) !important;
}

/* Row inside level-1 */
#ep-cat-dropdown .tv-vertical-menu-text-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 !important;
}
#ep-cat-dropdown .tvvertical-menu-all-text-block {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  flex: 1 !important;
  text-decoration: none !important;
}
#ep-cat-dropdown .tvvertical-menu-dropdown-icon1 { display: none !important; }
#ep-cat-dropdown .tvvertical-menu-category {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ep-ink) !important;
  transition: color 0.12s !important;
}
#ep-cat-dropdown .tvverticalmenu-dropdown > li.level-1:hover .tvvertical-menu-category {
  color: var(--ep-primary-dark) !important;
}

/* Arrow icon */
#ep-cat-dropdown .tv-vertical-menu-icon-wrapper {
  padding: 0 12px 0 0 !important;
  display: flex !important;
  align-items: center !important;
}
#ep-cat-dropdown .tv-vertical-menu-icon-wrapper .tvvertical-menu-dropdown-icon.right {
  display: inline-block !important;
  font-family: 'Material Icons' !important;
  font-size: 16px !important;
  color: var(--ep-ink-muted) !important;
  transition: color 0.12s, transform 0.12s !important;
}
#ep-cat-dropdown .tvverticalmenu-dropdown > li.level-1:hover .tvvertical-menu-dropdown-icon.right {
  color: var(--ep-primary) !important;
  transform: translateX(2px) !important;
}
#ep-cat-dropdown .tvvertical-menu-dropdown-icon.down { display: none !important; }

/* Flyout submenu panel */
#ep-cat-dropdown .tvcmsvertical-sub-menu.menu-dropdown {
  position: absolute !important;
  top: -3px !important;
  left: 100% !important;
  min-width: 240px !important;
  background: #fff !important;
  box-shadow: 6px 8px 24px rgba(26,31,46,0.16) !important;
  border: none !important;
  padding: 4px 0 !important;
  z-index: 10000 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(6px) !important;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s !important;
}
#ep-cat-dropdown .tvverticalmenu-dropdown > li.level-1:hover > .tvcmsvertical-sub-menu.menu-dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
}

/* Submenu — nuclear reset all module padding/margin/border */
#ep-cat-dropdown .tvcmsvertical-sub-menu,
#ep-cat-dropdown .tvcmsvertical-sub-menu div,
#ep-cat-dropdown .tvcmsvertical-sub-menu ul,
#ep-cat-dropdown .tvcmsvertical-sub-menu li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  list-style: none !important;
  background: transparent !important;
  line-height: normal !important;
}

/* Submenu items — a tag carries all styling */
#ep-cat-dropdown .tvcmsvertical-sub-menu li a {
  display: flex !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 0 16px !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: inset 0 0 0 0 var(--ep-primary) !important;
  transition: background 0.12s, color 0.12s, box-shadow 0.12s !important;
  border: none !important;
}
#ep-cat-dropdown .tvcmsvertical-sub-menu li a:hover {
  background: var(--ep-primary-light) !important;
  color: var(--ep-primary-dark) !important;
  box-shadow: inset 3px 0 0 0 var(--ep-primary) !important;
}

/* ── Nav links ───────────────────────────────────────────────────────────── */
.ep-nav-links {
  display: flex !important;
  align-items: center !important;
  margin-left: 20px !important;
  gap: 4px !important;
}
.ep-nav-links a {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  text-decoration: none !important;
  padding: 0 22px !important;
  height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  position: relative !important;
  transition: color 0.15s !important;
}
.ep-nav-links a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 22px !important;
  right: 18px !important;
  height: 2px !important;
  background: var(--ep-primary) !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform 0.18s ease !important;
}
.ep-nav-links a:hover {
  color: var(--ep-primary) !important;
  background: transparent !important;
  transform: translateY(-2px) !important;
}
.ep-nav-links a:hover::after {
  transform: scaleX(1) !important;
}

/* ── 6. Category Sidebar ─────────────────────────────────────────────────── */
.tvcmsverticalmenu-wrapper,
#left-column .tvcmsverticalmenu-wrapper {
  background: var(--ep-surface) !important;
  border-radius: var(--ep-radius) !important;
  box-shadow: var(--ep-shadow-sm) !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
}

/* Category header */
.tvcmsverticalmenu-wrapper .tv-verticalmenu-title,
.tvcmsverticalmenu-title {
  background: var(--ep-primary) !important;
  color: #fff !important;
  font-family: var(--ep-font-display) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Category list items */
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li,
.tvcmsverticalmenu ul li {
  border-bottom: 1px solid var(--ep-border) !important;
  position: relative !important;
}
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li:last-child,
.tvcmsverticalmenu ul li:last-child {
  border-bottom: none !important;
}
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li a,
.tvcmsverticalmenu ul li a {
  font-family: var(--ep-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--ep-ink-secondary) !important;
  display: flex !important;
  align-items: center !important;
  padding: 10px 16px !important;
  text-decoration: none !important;
  transition: color var(--ep-t-fast), background var(--ep-t-fast) !important;
  position: relative !important;
}
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li a::before,
.tvcmsverticalmenu ul li a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--ep-primary);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.15s ease;
}
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li:hover > a,
.tvcmsverticalmenu ul li:hover > a {
  color: var(--ep-primary) !important;
  background: var(--ep-primary-light) !important;
}
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li:hover > a::before,
.tvcmsverticalmenu ul li:hover > a::before {
  transform: scaleX(1);
}

/* Active category */
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li.current > a,
.tvcmsverticalmenu ul li.current > a {
  color: var(--ep-primary) !important;
  background: var(--ep-primary-light) !important;
  font-weight: 600 !important;
}
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li.current > a::before,
.tvcmsverticalmenu ul li.current > a::before {
  transform: scaleX(1);
}

/* Arrow icon */
.tvcmsverticalmenu-wrapper ul.tvcms-verticalmenu li a .tv-arrow,
.tvcmsverticalmenu ul li a i.material-icons {
  margin-left: auto !important;
  font-size: 16px !important;
  color: var(--ep-ink-muted) !important;
}

/* ── 7. Product Cards ────────────────────────────────────────────────────── */
/* article wrapper — no visual border, just layout */
.product-miniature,
.tv-product-miniature-wrapper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}
.product-miniature:hover,
.tv-product-miniature-wrapper:hover {
  box-shadow: none !important;
  transform: none !important;
  border-color: transparent !important;
}
/* Actual card visual */
.tvproduct-wrapper {
  background: #fff !important;
  border-radius: var(--ep-radius) !important;
  box-shadow: none !important;
  border: 1px solid var(--ep-border) !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

/* Product image */
.product-miniature .product-thumbnail,
.tv-product-miniature-wrapper .tvcms-thumbnail-img,
.tvproduct-image {
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  padding: 16px !important;
  overflow: hidden !important;
  border-bottom: none !important;
  position: relative !important;
}
.product-miniature .product-thumbnail img,
.tv-product-miniature-wrapper .tvcms-thumbnail-img img,
.tvproduct-image img {
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
  transition: transform 0.3s ease !important;
}
.product-miniature:hover .product-thumbnail img,
.tv-product-miniature-wrapper:hover .tvcms-thumbnail-img img,
.tvproduct-wrapper:hover .tvproduct-image img {
  transform: scale(1.06) !important;
}

/* No-image placeholder */
.product-miniature .product-thumbnail .product-unavailable-img,
.tvcms-unavailable-img {
  background: var(--ep-surface-alt) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 160px !important;
}

/* Product name */
.product-miniature .product-description .product-title,
.tv-product-miniature-wrapper .tvcms-product-title a {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ep-ink) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.product-miniature .product-description .product-title a:hover,
.tv-product-miniature-wrapper .tvcms-product-title a:hover {
  color: var(--ep-primary) !important;
}

/* SKU / Reference */
.product-miniature .product-reference,
.tv-product-miniature-wrapper .product-reference,
.tvcms-product-ref {
  font-family: var(--ep-font-mono) !important;
  font-size: 11px !important;
  color: var(--ep-ink-muted) !important;
  margin-top: 3px !important;
}

/* Price */
.product-miniature .product-price-and-shipping .price,
.tv-product-miniature-wrapper .tvcms-product-price .price,
.tv-product-price .price,
.tvproduct-wrapper .price,
.product-price-and-shipping .price {
  font-family: var(--ep-font-display) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ep-primary) !important;
  letter-spacing: -0.01em !important;
}
/* Cards only (NOT product page) — centered */
.ep-price-dual:not(.ep-price-dual--product) {
  justify-content: center !important;
}
.ep-price-action {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ep-price-action .tv-product-price {
  width: 100%;
  display: flex;
  justify-content: center;
}
.ep-price-action .product-price-and-shipping {
  justify-content: center !important;
  width: auto !important;
}
.ep-price-dual:not(.ep-price-dual--product) .price {
  font-family: var(--ep-font-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ep-primary) !important;
}
.ep-price-dual:not(.ep-price-dual--product) .ep-price-box .price {
  color: var(--ep-navy, #1a2a3a) !important;
}
/* Regular/crossed price — separate line, centered */
.product-miniature .product-price-and-shipping .regular-price,
.tv-product-miniature-wrapper .regular-price,
.product-price-and-shipping .regular-price,
.ep-home-prod-price .ep-home-regular-price {
  font-family: var(--ep-font-body) !important;
  font-size: 11px !important;
  color: var(--ep-ink-muted) !important;
  text-decoration: line-through !important;
  flex-basis: 100% !important;
  display: block !important;
  text-align: center !important;
}

/* Hide star ratings on product cards (B2B) */
.product-miniature .star-rating,
.product-miniature .comments_note,
.product-miniature .grade-stars,
.tv-product-miniature-wrapper .star-rating,
.tv-product-miniature-wrapper .comments_note,
.tv-product-miniature-wrapper .grade-stars,
.product-miniature .tvcms-product-rating,
.tvcms-product-rating {
  display: none !important;
}

/* Add to cart button */
.product-miniature .product-description .add-to-cart,
.product-miniature .ajax_add_to_cart_button,
.tv-product-miniature-wrapper .ajax_add_to_cart_button {
  font-family: var(--ep-font-body) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  background: var(--ep-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ep-radius-sm) !important;
  padding: 9px 14px !important;
  cursor: pointer !important;
  transition: background 0.15s, transform 0.1s !important;
  width: 100% !important;
}
.product-miniature .ajax_add_to_cart_button:hover,
.tv-product-miniature-wrapper .ajax_add_to_cart_button:hover {
  background: var(--ep-primary-dark) !important;
}
.product-miniature .ajax_add_to_cart_button:active,
.tv-product-miniature-wrapper .ajax_add_to_cart_button:active {
  transform: scale(0.97) !important;
}

/* No-image placeholder */
.ep-no-image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 160px !important;
  background: var(--ep-surface-alt) !important;
}

/* SKU / Reference display on card */
.ep-sku {
  font-family: var(--ep-font-mono) !important;
  font-size: 10px !important;
  color: var(--ep-ink-muted) !important;
  margin-top: 2px !important;
  letter-spacing: 0.03em !important;
}

/* B2B: Login to see prices */
.ep-login-for-price {
  padding: 6px 0;
}
.ep-login-for-price a {
  display: inline-block;
  font-family: var(--ep-font-condensed), sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ep-primary) !important;
  text-decoration: none;
  border-bottom: 1px dashed var(--ep-primary);
  padding-bottom: 1px;
}
.ep-login-for-price a:hover {
  border-bottom-style: solid;
}
.ep-login-for-price--product {
  margin: 8px 0 16px;
}
.ep-login-for-price--product a {
  font-size: 15px;
  padding: 10px 20px;
  border: 2px solid var(--ep-primary);
  border-bottom: 2px solid var(--ep-primary);
  border-radius: var(--ep-radius);
  color: var(--ep-primary) !important;
}
.ep-login-for-price--product a:hover {
  background: var(--ep-primary);
  color: #fff !important;
}

/* ── 8. Section Headers (Latest Products, Featured etc.) ─────────────────── */
/* Real classes: .tvcms-main-title .tvmain-title h2 (NOT tvcmssection-title)  */
/* Overrides theme_custom_title_color_1_1.css (#2462ff) and broken fontFamily */
.tvcms-main-title .tvmain-title h2,
.tvnew-product-wrapper-box .tvmain-title h2,
.tvfeatured-product-wrapper-box .tvmain-title h2,
.tvbest-seller-wrapper-box .tvmain-title h2,
.tvnew-product-wrapper-box .tvcms-main-title h2,
.tvfeatured-product-wrapper-box .tvcms-main-title h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1A1F2E !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  position: relative !important;
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
  display: inline-block !important;
  line-height: 1.2 !important;
}
.tvcms-main-title .tvmain-title h2::after,
.tvnew-product-wrapper-box .tvmain-title h2::after,
.tvfeatured-product-wrapper-box .tvmain-title h2::after,
.tvbest-seller-wrapper-box .tvmain-title h2::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 36px !important;
  height: 3px !important;
  background: #10ABA0 !important;
  border-radius: 2px !important;
}
.tvcms-main-title .tvmain-sub-title h4 {
  display: none !important;
}
.tvcmsmain-title-wrapper {
  margin-bottom: 16px !important;
  padding-top: 20px !important;
}

/* VIEW ALL button — module sets display:none, override it */
.tvallproduct-link {
  display: block !important;
  margin-top: 16px !important;
  text-align: center !important;
}
a.all-product-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--ep-btn-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ep-btn-primary-bg) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: var(--ep-btn-spacing) !important;
  padding: var(--ep-btn-sm-padding) !important;
  border: 2px solid var(--ep-btn-primary-bg) !important;
  border-radius: var(--ep-btn-radius) !important;
  background: transparent !important;
  transition: var(--ep-btn-transition) !important;
  cursor: pointer !important;
}
a.all-product-link i.material-icons {
  display: none !important;
}
a.all-product-link:hover {
  background: var(--ep-btn-primary-bg) !important;
  color: #fff !important;
  box-shadow: var(--ep-btn-primary-shadow) !important;
}

/* Product section wrapper */
.tvnew-product-wrapper-box,
.tvfeatured-product-wrapper-box,
.tvbest-seller-wrapper-box {
  background: var(--ep-surface) !important;
  border-radius: var(--ep-radius) !important;
  padding: 28px 24px 24px !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  box-shadow: var(--ep-shadow-sm) !important;
}

/* ── 9. Benefits Strip ───────────────────────────────────────────────────── */
.ep-benefits {
  background: var(--ep-surface);
  border-top: 1px solid var(--ep-border);
  border-bottom: 1px solid var(--ep-border);
  padding: 16px 0;
  margin: 0 0 16px 0;
}
.ep-benefits .container {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.ep-benefit-item {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  padding: 0 16px;
  position: relative;
}
.ep-benefit-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ep-primary);
}
.ep-benefit-icon svg {
  width: 28px;
  height: 28px;
  stroke: var(--ep-primary);
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ep-benefit-text strong {
  display: block;
  font-family: var(--ep-font-body);
  font-size: 13px;
  font-weight: 600;
  color: var(--ep-ink);
  line-height: 1.2;
}
.ep-benefit-text span {
  font-family: var(--ep-font-body);
  font-size: 11px;
  color: var(--ep-ink-muted);
  line-height: 1.3;
}

/* ── 10. Buttons ─────────────────────────────────────────────────────────── */
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary {
  font-family: var(--ep-font-body) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  background: var(--ep-primary) !important;
  border-color: var(--ep-primary) !important;
  color: #fff !important;
  border-radius: var(--ep-radius-sm) !important;
  padding: 10px 20px !important;
  transition: background 0.15s, transform 0.1s !important;
}
.btn-primary:hover,
button.btn-primary:hover {
  background: var(--ep-primary-dark) !important;
  border-color: var(--ep-primary-dark) !important;
}
.btn-primary:active {
  transform: translateY(1px) !important;
}
.btn-secondary,
button.btn-secondary {
  font-family: var(--ep-font-body) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: 1.5px solid var(--ep-primary) !important;
  color: var(--ep-primary) !important;
  border-radius: var(--ep-radius-sm) !important;
  padding: 9px 20px !important;
  transition: background 0.15s !important;
}
.btn-secondary:hover {
  background: var(--ep-primary-light) !important;
}

/* ── 11. Breadcrumbs ─────────────────────────────────────────────────────── */
.breadcrumb {
  background: transparent !important;
  padding: 12px 0 !important;
  margin: 0 !important;
}
.breadcrumb-item {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-muted) !important;
}
.breadcrumb-item a {
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
}
.breadcrumb-item a:hover {
  color: var(--ep-primary) !important;
}
.breadcrumb-item.active {
  color: var(--ep-ink) !important;
}
.breadcrumb-item + .breadcrumb-item::before {
  color: var(--ep-border-strong) !important;
}

/* ── 12. Footer ──────────────────────────────────────────────────────────── */

/* Kill old TVCMS footer wrapper — replaced by ep-footer */
.footer-container.tvcmsfooter-background-image {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.tvfooter-storelogo-weapper,
.tvfooter-copy-payment-icon-wrapper,
.tvfooter-copy-payment-icon-content,
.tvfooter-logo-link-wrapper .tvfooter-storelogo-imformation,
.tvfooter-logo-link-wrapper > .tvfooter-storelogo-weapper {
  display: none !important;
}

/* ── ep-footer shell ──────────────────────────────────────────────────────── */
.ep-footer {
  background: var(--ep-ink);
  border-top: 3px solid var(--ep-primary);
  font-family: var(--ep-font-body);
  color: rgba(255,255,255,0.55);
}

/* ── Main section: 3-col asymmetric grid ─────────────────────────────────── */
.ep-footer-main {
  padding: 40px 0 32px;
}
.ep-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1.2fr 1.4fr;
  gap: 0 48px;
  align-items: start;
}
@media (max-width: 1024px) {
  .ep-footer-grid { grid-template-columns: 1.5fr 1fr 1.2fr; gap: 0 32px; }
}
@media (max-width: 768px) {
  .ep-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
  .ep-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .ep-footer-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* ── Brand block ─────────────────────────────────────────────────────────── */
.ep-footer-brand {}
.ep-footer-logo {
  margin-bottom: 10px;
}
.ep-footer-logo img {
  max-height: 36px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.8;
}
.ep-footer-tagline {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ep-primary);
  margin: 0 0 20px;
  font-family: var(--ep-font-display);
}
.ep-footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ep-footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(255,255,255,0.55) !important;
  font-size: 13px;
  text-decoration: none !important;
  transition: color 0.15s;
  line-height: 1.4;
}
.ep-footer-contact-item:hover {
  color: rgba(255,255,255,0.9) !important;
}
.ep-footer-contact-item svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 1px;
  stroke: var(--ep-primary);
}
.ep-footer-address {
  cursor: default;
}

/* ── Nav block (ps_linklist hook) ────────────────────────────────────────── */
.ep-footer-nav .tvfooter-title-wrapper {
  margin-bottom: 14px;
  pointer-events: none;
}
.ep-footer-nav .tvfooter-title {
  font-family: var(--ep-font-display) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--ep-primary) !important;
  padding-bottom: 8px;
  display: block;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.ep-footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ep-footer-nav ul li {
  margin-bottom: 0;
}
.ep-footer-nav ul li a {
  display: block;
  padding: 5px 0;
  font-size: 13px;
  color: rgba(255,255,255,0.5) !important;
  text-decoration: none !important;
  transition: color 0.15s, padding-left 0.15s;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  font-family: var(--ep-font-body);
}
.ep-footer-nav ul li:last-child a { border-bottom: none; }
.ep-footer-nav ul li a:hover {
  color: rgba(255,255,255,0.9) !important;
  padding-left: 6px;
}
/* Force all footer collapsibles open, hide toggle icons */
.ep-footer .tvfooter-toggle-icon-wrapper,
.ep-footer .tvfooter-title-wrapper { pointer-events: none; cursor: default; }
.ep-footer .tvfooter-toggle-icon-wrapper { display: none !important; }
.ep-footer .collapse { display: block !important; height: auto !important; }
/* Reset TVCMS col classes inside our grid cells */
.ep-footer-nav > div,
.ep-footer-account-block > div {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  flex: none !important;
}
/* Shopname fallback */
.ep-footer-shopname {
  font-family: var(--ep-font-display);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
}

/* ── Right block: hours + account ────────────────────────────────────────── */
.ep-footer-right {}

.ep-footer-hours-block {
  margin-bottom: 28px;
}
.ep-footer-col-title {
  font-family: var(--ep-font-display) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--ep-primary) !important;
  margin: 0 0 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  display: block;
}

/* Dot-leader hours rows */
.ep-hours-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 4px 0;
}
.ep-hours-row + .ep-hours-row {
  border-top: 1px solid rgba(255,255,255,0.04);
}
.ep-day {
  font-size: 12px;
  color: rgba(255,255,255,0.45);
  white-space: nowrap;
  font-family: var(--ep-font-body);
}
.ep-hours-dots {
  flex: 1;
  border-bottom: 1px dotted rgba(255,255,255,0.12);
  margin-bottom: 3px;
}
.ep-time {
  font-size: 12px;
  color: rgba(255,255,255,0.8);
  font-family: var(--ep-font-mono);
  font-weight: 500;
  white-space: nowrap;
}
.ep-hours-row--closed .ep-day,
.ep-hours-row--closed .ep-time {
  color: rgba(255,255,255,0.25);
}

/* Account links in footer */
.ep-footer-account-block .tvfooter-title { display: none !important; }
.ep-footer-account-block h4 {
  font-family: var(--ep-font-display) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--ep-primary) !important;
  margin: 0 0 12px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
.ep-footer-account-block h4 a {
  color: var(--ep-primary) !important;
  text-decoration: none !important;
  pointer-events: none;
}
.ep-footer-account-block ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ep-footer-account-block ul li a {
  display: block;
  padding: 4px 0;
  font-size: 13px;
  color: rgba(255,255,255,0.5) !important;
  text-decoration: none !important;
  transition: color 0.15s;
  font-family: var(--ep-font-body);
}
.ep-footer-account-block ul li a:hover {
  color: rgba(255,255,255,0.9) !important;
}

/* ── Bottom bar ───────────────────────────────────────────────────────────── */
.ep-footer-bottom {
  background: rgba(0,0,0,0.3);
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 14px 0;
}
.ep-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.ep-footer-copy {
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  font-family: var(--ep-font-body);
  letter-spacing: 0.02em;
  text-align: center;
}
.ep-footer-copy a {
  color: #7c4dbb !important;
  text-decoration: none !important;
  transition: color 0.15s;
}
.ep-footer-copy a:hover { color: #9d6dd6 !important; }

/* Payment icons */
.ep-footer-bottom-links { display: flex; align-items: center; gap: 8px; }
.ep-footer-bottom-links img { height: 20px; opacity: 0.4; }

/* ── Back to top ──────────────────────────────────────────────────────────── */
.ep-back-to-top {
  position: fixed;
  bottom: 28px;
  right: 24px;
  width: 38px;
  height: 38px;
  background: var(--ep-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(16,171,160,0.45);
  transition: background 0.2s, transform 0.2s, opacity 0.2s;
  z-index: 99;
  opacity: 0;
  pointer-events: none;
}
.ep-back-to-top.visible {
  opacity: 1;
  pointer-events: auto;
}
.ep-back-to-top:hover {
  background: var(--ep-primary-dark);
  transform: translateY(-2px);
}
.ep-back-to-top svg {
  width: 16px;
  height: 16px;
  stroke: #fff;
}

/* Hide old TVCMS back-to-top */
.tvbottom-to-top { display: none !important; }

/* ── 13. Badges ──────────────────────────────────────────────────────────── */
.badge,
.product-flag {
  font-family: var(--ep-font-body) !important;
  font-weight: 600 !important;
  font-size: 10px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 3px 7px !important;
  border-radius: 3px !important;
  line-height: 1 !important;
}
.product-flag.new,
.badge-new {
  background: var(--ep-primary) !important;
  color: #fff !important;
}
.product-flag.discount,
.product-flag.on-sale,
.badge-sale {
  background: var(--ep-error) !important;
  color: #fff !important;
}

/* ── Hide tvcmsverticalmenu displayNavFullWidth (we have our own nav bar) ── */
#header .tvcmsvertical-menu-wrapper-data,
#header .tvcmsvertical-menu-wrapper,
#header #tvcmsdesktop-vertical-menu,
/* Target the hook output outside .ep-header-wrap */
body > main .tv-main-div > header .tvcmsvertical-menu-wrapper-data {
  display: none !important;
}
/* But SHOW it inside our dropdown — use #header prefix to beat hide rule specificity */
#header .ep-cat-dropdown .tvcmsvertical-menu-wrapper-data,
#header .ep-cat-dropdown .tvcmsvertical-menu-wrapper,
#header .ep-cat-dropdown #tvcmsdesktop-vertical-menu {
  display: block !important;
}

/* Hide BRANDS block inside category dropdown */
.ep-cat-dropdown .sc-brands-block {
  display: none !important;
}

/* ── Account wrapper: kill legacy padding that pushes dropdown down ─────── */
.ep-action-account .tv-account-wrapper,
#tvcmsdesktop-account-button .tv-account-wrapper {
  padding: 0 !important;
}

/* Account dropdown: attached tight to the button */
.ep-action-account .tv-account-dropdown,
#tvcmsdesktop-account-button .tv-account-dropdown {
  top: calc(100% + 4px) !important;
  margin-top: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
.ep-action-account,
#tvcmsdesktop-account-button,
.tvcms-header-myaccount,
.tv-account-wrapper,
.ep-header-main,
.ep-header-main-inner,
.ep-header-main-inner .container {
  overflow: visible !important;
}

/* ── Account dropdown enhancements ─────────────────────────────────────── */
.ep-account-dropdown {
  min-width: 220px !important;
  padding: 0 0 4px !important;
  height: auto !important;
}
.ep-account-dropdown .ep-dropdown-header {
  font-family: var(--ep-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--ep-ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 10px 16px 6px !important;
  border-bottom: 1px solid var(--ep-border) !important;
  list-style: none !important;
}
.ep-account-dropdown li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 16px !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
  transition: background 0.12s, color 0.12s !important;
}
.ep-account-dropdown li a:hover {
  background: var(--ep-primary-light) !important;
  color: var(--ep-primary) !important;
}
.ep-account-dropdown li a svg {
  flex-shrink: 0;
  opacity: 0.5;
}
.ep-account-dropdown li a:hover svg {
  opacity: 1;
}
.ep-dropdown-sep {
  height: 1px !important;
  background: var(--ep-border) !important;
  margin: 4px 0 !important;
}
.ep-dropdown-item-small {
  border-top: none !important;
  padding: 0 !important;
  display: none !important;
}
/* Sign out link — flatten user-info wrapper */
.ep-account-dropdown li.tvcms-signin {
  border-top: 1px solid var(--ep-border) !important;
  padding: 0 !important;
  margin: 0 !important;
}
#header .ep-account-dropdown li.tvcms-signin .user-info {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  white-space: normal !important;
}
/* Hide duplicate account link (already shown above) */
#header .ep-account-dropdown li.tvcms-signin .user-info .account {
  display: none !important;
}
/* Style the logout link like other dropdown items */
#header .ep-account-dropdown li.tvcms-signin .user-info .logout {
  display: flex !important;
  align-items: center !important;
  padding: 7px 16px !important;
  margin: 0 !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
  transition: background 0.12s, color 0.12s !important;
}
#header .ep-account-dropdown li.tvcms-signin .user-info .logout:hover {
  background: rgba(239,68,68,0.06) !important;
  color: #ef4444 !important;
}
/* Currency block inside dropdown — hide, handled in topbar */
.ep-account-dropdown .tvheader-currency {
  display: none !important;
}

/* ── 14. Sidebar — hidden everywhere except category pages ───────────────── */
#left-column {
  display: none !important;
}
#content-wrapper.left-column {
  max-width: 100% !important;
  flex: 0 0 100% !important;
  -webkit-flex: 0 0 100% !important;
}
#content-wrapper.left-column.col-xl-10,
#content-wrapper.left-column.col-xl-9 {
  width: 100% !important;
  max-width: 100% !important;
}

/* ── 14b. Category page — enable sidebar ────────────────────────────────── */
body.page-category #left-column {
  display: block !important;
  flex: 0 0 280px !important;
  min-width: 280px !important;
  max-width: 280px !important;
  width: 280px !important;
  padding: 0 !important;
  overflow: visible !important;
}
/* Each facet checkbox list scrollable individually (not price slider) */
body.page-category #left-column .tvfilter-dropdown-wrapper {
  position: relative !important;
}
body.page-category #left-column .tvfilter-search-types-dropdown:not(.faceted-slider) {
  max-height: 260px !important;
  overflow-y: scroll !important;
  overflow-x: hidden !important;
  padding-right: 6px !important;
}
/* Always reserve scrollbar space, show thumb on parent hover */
body.page-category #left-column .tvfilter-search-types-dropdown:not(.faceted-slider)::-webkit-scrollbar { width: 5px; margin-left: 4px; }
body.page-category #left-column .tvfilter-search-types-dropdown:not(.faceted-slider)::-webkit-scrollbar-track { background: transparent; }
body.page-category #left-column .tvfilter-search-types-dropdown:not(.faceted-slider)::-webkit-scrollbar-thumb { background: transparent; border-radius: 5px; min-height: 30px; }
/* Show on facet block hover (parent .tvfilter-dropdown-wrapper) */
body.page-category #left-column .tvfilter-dropdown-wrapper:hover .tvfilter-search-types-dropdown:not(.faceted-slider)::-webkit-scrollbar-track { background: #f0f0f0; border-radius: 5px; }
body.page-category #left-column .tvfilter-dropdown-wrapper:hover .tvfilter-search-types-dropdown:not(.faceted-slider)::-webkit-scrollbar-thumb { background: #c4cad3; }
body.page-category #left-column .tvfilter-dropdown-wrapper:hover .tvfilter-search-types-dropdown:not(.faceted-slider)::-webkit-scrollbar-thumb:hover { background: #a0a8b4; }
/* Fade hint at bottom when list is scrollable */
body.page-category #left-column .tvfilter-dropdown-wrapper::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 44px;
  background: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,0.5) 50%, var(--ep-surface, #fff) 100%);
  pointer-events: none;
  z-index: 2;
  opacity: 1;
  transition: opacity 0.2s;
}
/* Hide fade when list is fully scrolled or short enough */
body.page-category #left-column .tvfilter-dropdown-wrapper.ep-scrolled-end::after {
  opacity: 0;
}
/* Price slider — keep overflow visible for handles */
body.page-category #left-column .tvfilter-search-types-dropdown.faceted-slider {
  max-height: none !important;
  overflow: visible !important;
}
body.page-category .tvcms-left-layout {
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
}
body.page-category #content-wrapper.left-column,
body.page-category #content-wrapper.left-column.col-xl-10,
body.page-category #content-wrapper.left-column.col-xl-9 {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: calc(100% - 300px) !important;
  width: calc(100% - 300px) !important;
}
body.page-category #products,
body.page-category #js-product-list,
body.page-category #main {
  width: 100% !important;
}
/* Hide TV CMS vertical menu (full category tree — already in header dropdown) */
body.page-category #left-column .tvcmsvertical-menu-wrapper-data,
body.page-category #left-column .tvcmsverticalmenu-wrapper,
body.page-category #left-column .tvleft-column-close-btn {
  display: none !important;
}
body.page-category #left-column .tvleft-column-remove {
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
/* ps_facetedsearch — full-width inside sidebar, no horizontal overflow */
body.page-category #left-column #search_filters,
body.page-category #left-column .tvleft-right-penal-all-block,
body.page-category #left-column .tvserach-filter-wrapper,
body.page-category #left-column .tvsearch-filter-content-wrapper,
body.page-category #left-column .facet,
body.page-category #left-column .tvfilter-dropdown-wrapper {
  width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}
body.page-category #left-column .tvfilter-search-types-dropdown {
  width: 100% !important;
  box-sizing: border-box !important;
}
body.page-category #left-column .tvfilter-search-types-dropdown li,
body.page-category #left-column .facet-label,
body.page-category #left-column .search-link {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Price slider — padding so handles don't clip at edges */
body.page-category #left-column .faceted-slider,
body.page-category #left-column #slider-range,
body.page-category #left-column [id^="slider-range_"] {
  padding: 0 8px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* ── Sidebar component styles ────────────────────────────────────────────── */
.ep-sidebar {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ep-sidebar-section {
  background: var(--ep-surface);
  border: 1px solid var(--ep-border);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
}
.ep-sidebar-title {
  font-family: var(--ep-font-condensed);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ep-ink-muted);
  padding: 10px 14px 8px;
  border-bottom: 1px solid var(--ep-border);
  background: var(--ep-surface-alt, #f7f8fa);
}
/* Subcategories */
.ep-sidebar-subcats {
  padding: 6px 0;
}
.ep-sidebar-subcat {
  display: block;
  padding: 7px 14px;
  font-family: var(--ep-font-body);
  font-size: 13px;
  color: var(--ep-ink-secondary);
  text-decoration: none;
  transition: background 0.12s, color 0.12s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ep-sidebar-subcat:hover {
  background: var(--ep-primary-light, #e8f8f7);
  color: var(--ep-primary);
}
.ep-sidebar-subcat.active {
  color: var(--ep-primary);
  font-weight: 600;
  background: var(--ep-primary-light, #e8f8f7);
}
/* Brand checkboxes */
.ep-sidebar-brands {
  padding: 6px 0;
  max-height: 340px;
  overflow-y: auto;
}
.ep-sidebar-brands::-webkit-scrollbar { width: 4px; }
.ep-sidebar-brands::-webkit-scrollbar-track { background: transparent; }
.ep-sidebar-brands::-webkit-scrollbar-thumb { background: var(--ep-border); border-radius: 2px; }
.ep-brand-check {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  cursor: pointer;
  transition: background 0.12s;
}
.ep-brand-check:hover { background: var(--ep-primary-light, #e8f8f7); }
.ep-brand-check input[type="checkbox"] {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  accent-color: var(--ep-primary);
  cursor: pointer;
  margin: 0;
}
.ep-brand-check-name {
  font-family: var(--ep-font-body);
  font-size: 13px;
  color: var(--ep-ink-secondary);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ep-brand-check.checked .ep-brand-check-name {
  color: var(--ep-primary);
  font-weight: 600;
}
.ep-brand-check-cnt {
  font-family: var(--ep-font-condensed);
  font-size: 11px;
  font-weight: 600;
  color: var(--ep-ink-muted);
  background: var(--ep-surface-alt);
  border-radius: 10px;
  padding: 1px 7px;
  min-width: 22px;
  text-align: center;
  flex-shrink: 0;
}

/* ── 14c. Page Background ─────────────────────────────────────────────────── */
#wrapper {
  background: var(--ep-bg) !important;
}
/* On homepage — no top padding (slider flush to delivery strip) */
.page-home #main .container,
.page-home #content-wrapper {
  padding-top: 0 !important;
}
/* Other pages — keep small top padding */
#main .container,
#content-wrapper {
  padding-top: 0px !important;
}

/* ── 16. Dropdown Menus ──────────────────────────────────────────────────── */
.tv-account-dropdown,
.tv-dropdown {
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius) !important;
  box-shadow: var(--ep-shadow-md) !important;
  background: var(--ep-surface) !important;
  padding: 4px 0 !important;
  min-width: 160px !important;
}
/* Account dropdown specific — tighter padding */
.ep-account-dropdown {
  padding: 0 !important;
}
.tv-account-dropdown .dropdown-item,
.tv-dropdown li a {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-secondary) !important;
  padding: 8px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.tv-account-dropdown .dropdown-item:hover,
.tv-dropdown li a:hover {
  background: var(--ep-primary-light) !important;
  color: var(--ep-primary) !important;
}

/* ── 17. Pagination ──────────────────────────────────────────────────────── */
.pagination .page-item .page-link {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-secondary) !important;
  border-color: var(--ep-border) !important;
  border-radius: var(--ep-radius-sm) !important;
  margin: 0 2px !important;
  transition: all 0.15s !important;
}
.pagination .page-item .page-link:hover {
  background: var(--ep-primary-light) !important;
  color: var(--ep-primary) !important;
  border-color: var(--ep-primary) !important;
}
.pagination .page-item.active .page-link {
  background: var(--ep-primary) !important;
  border-color: var(--ep-primary) !important;
  color: #fff !important;
}

/* ── 18. Forms ───────────────────────────────────────────────────────────── */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
select,
textarea {
  font-family: var(--ep-font-body) !important;
  font-size: 14px !important;
  color: var(--ep-ink) !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: var(--ep-radius-sm) !important;
  padding: 9px 12px !important;
  transition: border-color 0.15s !important;
  background: var(--ep-surface) !important;
}
.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
  border-color: var(--ep-primary) !important;
  box-shadow: 0 0 0 3px rgba(16,171,160,0.12) !important;
  outline: none !important;
}

/* ── 19. Alerts / Notifications ──────────────────────────────────────────── */
.alert-success {
  background: #E8F8EF !important;
  border-color: var(--ep-success) !important;
  color: var(--ep-success) !important;
  border-radius: var(--ep-radius) !important;
}
.alert-danger {
  background: #FDEBEB !important;
  border-color: var(--ep-error) !important;
  color: var(--ep-error) !important;
  border-radius: var(--ep-radius) !important;
}
.alert-warning {
  background: #FEF3E2 !important;
  border-color: var(--ep-warning) !important;
  color: #B7770D !important;
  border-radius: var(--ep-radius) !important;
}

/* ── 20. Back-to-top button ──────────────────────────────────────────────── */
.tvbottom-to-top .tvbottom-to-top-icon {
  background: var(--ep-primary) !important;
  color: #fff !important;
  border-radius: var(--ep-radius-sm) !important;
}
.tvbottom-to-top .tvbottom-to-top-icon:hover {
  background: var(--ep-primary-dark) !important;
}

/* ── 21. Product Cards — tvcmsnewproducts / carousel ───────────────────── */
/* article.product-miniature inside carousel = outer shell only, no border/shadow */
.tvnew-product-wrapper-box .product-miniature,
.tvfeatured-product-wrapper-box .product-miniature,
.tvbest-seller-wrapper-box .product-miniature {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Wrapper inside the owl carousel item */
.tvproduct-wrapper {
  background: #fff !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s, transform 0.2s !important;
  display: flex !important;
  flex-direction: column !important;
}
.tvproduct-wrapper:hover {
  box-shadow: 0 4px 20px rgba(16,171,160,0.12) !important;
  border-color: var(--ep-primary) !important;
  transform: none !important;
}
/* Image area — fixed height, image scales to fit without cropping */
.tvproduct-image {
  background: #fff !important;
  border-bottom: none !important;
  aspect-ratio: unset !important;
  height: 220px !important;
  min-height: unset !important;
  overflow: hidden !important;
  padding: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.tvproduct-image a.thumbnail,
.tvproduct-image a.product-thumbnail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
.tvproduct-image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 196px !important;
  object-fit: contain !important;
}
/* Gap between cards + top padding for hover shadow visibility */
.tvnew-product-wrapper-box .owl-stage,
.tvfeatured-product-wrapper-box .owl-stage,
.tvbest-seller-wrapper-box .owl-stage {
  padding-top: 8px !important;
}
.tvnew-product-wrapper-box .owl-item,
.tvfeatured-product-wrapper-box .owl-item,
.tvbest-seller-wrapper-box .owl-item {
  padding: 0 6px !important;
}
/* Info box */
.tvproduct-info-box-wrapper {
  padding: 14px 14px 14px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.tvproduct-name.product-title h6,
.tvproduct-name.product-title a h6 {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ep-ink) !important;
  line-height: 1.4 !important;
  margin: 0 0 6px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.tvproduct-name.product-title a:hover h6 {
  color: var(--ep-primary) !important;
}
/* SKU ref in cards */
.ep-sku,
.tvproduct-info-box-wrapper .product-reference {
  font-family: var(--ep-font-mono) !important;
  font-size: 10px !important;
  color: var(--ep-ink-muted) !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 8px !important;
}
/* Price + action row */
.ep-price-action {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: auto !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--ep-border, #e5e7eb) !important;
}
.ep-price-action .tv-product-price,
.ep-price-action .tvproduct-name-price-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
}
.ep-price-action .ep-qty-row {
  margin-top: 0 !important;
  margin-left: auto !important;
}
/* Fallback for non-logged / no ep-price-action wrapper */
.tv-product-price,
.tvproduct-name-price-wrapper {
  margin-top: auto !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
}
.tv-product-price .price,
.tvproduct-name-price-wrapper .price {
  font-family: var(--ep-font-display) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ep-primary) !important;
  letter-spacing: -0.01em !important;
}
/* Discount badge on product card */
.ep-discount-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #10ABA0;
  color: #fff;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 10px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 4px;
}
.ep-discount-until {
  font-weight: 400;
  font-size: 10px;
  opacity: 0.85;
}
/* Hide timer completely */
.product-timer, .tv-product-timer, [class*="countdown"] { display: none !important; }
/* Product page discount badge */
.ep-product-discount-info { margin: 8px 0; }
.ep-product-discount-info .ep-discount-badge {
  position: static;
  display: inline-flex;
  font-size: 12px;
  padding: 4px 12px;
}
/* Hide flags (NEW, etc) when discount badge present */
.ep-discount-badge ~ .tvproduct-hover-btn .product-flag,
.product-flags:has(~ .ep-discount-badge) { display: none !important; }
.ep-discount-badge + .product-flags,
.product-flag.new, .product-flag.on-sale { z-index: 4; }
.ep-discount-badge { z-index: 5; }
/* Regular (crossed) price — under main price, no extra width */
.product-price-and-shipping .regular-price {
  display: block !important;
  font-size: 11px !important;
  color: #9ca3af !important;
  text-decoration: line-through !important;
  font-weight: 400 !important;
  margin-top: -2px !important;
  line-height: 1 !important;
}
/* Hide reviews/stars in product cards */
.tvproduct-wrapper .star-rating,
.tvproduct-wrapper .comments_note,
.tvproduct-wrapper .grade-stars,
.tvproduct-wrapper [class*="star"],
.tvproduct-wrapper .tvcms-product-rating,
.tvcmsnew-product .star-rating,
.tvcmsnew-product .comments_note {
  display: none !important;
}
/* ── Industrial Selection hover ─────────────────────────────────────────── */
/* Cart button top-right — bypass common.css transition:all via @keyframes */
@keyframes ep-cart-in  { from { opacity: 0 } to { opacity: 1 } }
@keyframes ep-cart-out { from { opacity: 1 } to { opacity: 0 } }

/* Container: stretch over image, no transform, no opacity animation */
.tvproduct-wrapper.grid .tvproduct-hover-btn,
.tvproduct-wrapper.grid-2 .tvproduct-hover-btn {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  -webkit-transform: none !important;
  transition: none !important;
  -webkit-transition: none !important;
  z-index: 10 !important;
  pointer-events: none !important;
}
/* Hide everything except cart */
.tvproduct-hover-btn .tvproduct-quick-btn,
.tvproduct-hover-btn .tvproduct-wishlist,
.tvproduct-hover-btn .tvcompare-wrapper {
  display: none !important;
}
/* Cart wrapper: anchored top-right, kill all transforms */
.tvproduct-wrapper .tvproduct-hover-btn .tvproduct-cart-btn {
  display: block !important;
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transition: none !important;
  -webkit-transition: none !important;
  transition-delay: 0s !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: all !important;
  opacity: 0; /* no !important — animation must be able to override */
  animation: ep-cart-out 0.01s forwards;
}
.tvproduct-wrapper:hover .tvproduct-hover-btn .tvproduct-cart-btn {
  animation: ep-cart-in 0.18s ease forwards;
  transform: none !important;
  -webkit-transform: none !important;
}
/* Hide quick view, wishlist, compare — only cart */
.tvproduct-quick-btn,
.tvproduct-hover-btn [class*="wishlist"],
.tvproduct-hover-btn [class*="compare"],
.tvproduct-hover-btn [id*="wishlist"] {
  display: none !important;
}
/* Cart icon button — small circle, white bg, accent on hover */
/* Reset form wrapper */
.tvproduct-cart-btn form {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Button circle — override common.css #ffd741 background + 36px size */
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.95) !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.14) !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  transition: background 0.15s, border-color 0.15s !important;
  flex: unset !important;
}
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart:hover {
  background: var(--ep-primary) !important;
  border-color: var(--ep-primary) !important;
}
/* Icon — override common.css padding:8px width:36px height:36px */
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart i,
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart .material-icons {
  font-size: 16px !important;
  line-height: 1 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  color: var(--ep-ink) !important;
  display: block !important;
}
/* Keep out-of-stock icon hidden */
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart i.hide {
  display: none !important;
}
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart:hover i,
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart:hover .material-icons {
  color: #fff !important;
}
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart.disable,
.tvproduct-wrapper .tvproduct-cart-btn .tvproduct-add-to-cart[disabled] {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* Left accent stroke: draws upward from bottom on hover */
.tvproduct-wrapper::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: var(--ep-primary) !important;
  transform: scaleY(0) !important;
  transform-origin: bottom !important;
  transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 2 !important;
  border-radius: var(--ep-radius) 0 0 var(--ep-radius) !important;
}
.tvproduct-wrapper:hover::before {
  transform: scaleY(1) !important;
}

/* Very subtle teal wash over image on hover */
.tvproduct-image {
  position: relative !important;
}
.tvproduct-image::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(16, 171, 160, 0.05) !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.tvproduct-wrapper:hover .tvproduct-image::after {
  opacity: 1 !important;
}

/* Name accent on hover */
.tvproduct-wrapper:hover .tvproduct-name a h6 {
  color: var(--ep-primary) !important;
}

/* ── 22. Benefits strip ──────────────────────────────────────────────── */
/* ── 22–23. Strip components (top delivery + bottom reassurance) ─────────── */

/* TOP strip — light bg, flush to slider bottom */
.ep-strip--top {
  background: #fff !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  overflow: hidden !important;
}

/* Stats bar */
.ep-statsbar {
  background: #fff !important;
  border-bottom: 1px solid var(--ep-border) !important;
  width: 100% !important;
}
.ep-statsbar-inner {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
}
.ep-stat-block {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  padding: 22px 24px !important;
}
.ep-stat-icon {
  flex-shrink: 0 !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--ep-primary-light, #E6F7F6) !important;
  border-radius: 10px !important;
  color: var(--ep-primary) !important;
}
.ep-stat-icon svg {
  stroke: var(--ep-primary) !important;
}
.ep-stat-body {
  display: flex !important;
  flex-direction: column !important;
}
.ep-stat-number {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--ep-ink) !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
}
.ep-stat-label {
  font-family: 'Barlow', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--ep-ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-top: 4px !important;
}
.ep-stat-sep {
  width: 1px !important;
  background: var(--ep-border) !important;
  margin: 18px 0 !important;
  flex-shrink: 0 !important;
}
/* hide old strip classes if still rendered */
.ep-statsbar .ep-strip-list,
.ep-statsbar-delivery { display: none !important; }

/* BOTTOM strip — dark bg, right above footer */
.ep-strip--bottom {
  background: var(--ep-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Shared list */
.ep-strip-list {
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}

/* Top strip item */
.ep-strip--top .ep-strip-item {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 24px !important;
  border-right: 1px solid var(--ep-border) !important;
  position: relative !important;
  transition: background 0.2s !important;
}
.ep-strip--top .ep-strip-item:last-child {
  border-right: none !important;
}
.ep-strip--top .ep-strip-item:hover {
  background: rgba(16,171,160,0.05) !important;
}
/* accent bar on hover */
.ep-strip--top .ep-strip-item::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--ep-primary) !important;
  transform: scaleX(0) !important;
  transition: transform 0.2s !important;
}
.ep-strip--top .ep-strip-item:hover::after {
  transform: scaleX(1) !important;
}
.ep-strip--top .ep-strip-icon {
  flex-shrink: 0 !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(16,171,160,0.1) !important;
  border-radius: 8px !important;
  color: var(--ep-primary) !important;
  transition: background 0.2s !important;
}
.ep-strip--top .ep-strip-item:hover .ep-strip-icon {
  background: rgba(16,171,160,0.18) !important;
}
.ep-strip--top .ep-strip-icon svg {
  stroke: var(--ep-primary) !important;
  width: 20px !important;
  height: 20px !important;
}
.ep-strip--top .ep-strip-text {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ep-ink) !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
}
.ep-strip--top .ep-strip-item:hover .ep-strip-text {
  color: var(--ep-primary) !important;
}

/* Bottom strip item */
.ep-strip--bottom .ep-strip-item {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 24px 22px !important;
  border-right: 1px solid rgba(255,255,255,0.08) !important;
  transition: background 0.15s !important;
}
.ep-strip--bottom .ep-strip-item:last-child {
  border-right: none !important;
}
.ep-strip--bottom .ep-strip-item:hover {
  background: rgba(255,255,255,0.04) !important;
}
.ep-strip--bottom .ep-strip-icon {
  flex-shrink: 0 !important;
  width: 46px !important;
  height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(16,171,160,0.18) !important;
  border-radius: 10px !important;
  color: var(--ep-primary) !important;
}
.ep-strip--bottom .ep-strip-icon svg {
  stroke: var(--ep-primary) !important;
  width: 22px !important;
  height: 22px !important;
}
.ep-strip--bottom .ep-strip-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.ep-strip--bottom .ep-strip-body strong {
  font-family: var(--ep-font-display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  line-height: 1.2 !important;
}
.ep-strip--bottom .ep-strip-body span {
  font-family: var(--ep-font-body) !important;
  font-size: 12px !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.4 !important;
}

/* Legacy classes — keep hidden */
.ep-benefit-num { display: none !important; }
.ep-benefit-label { display: none !important; }
.ep-benefit-text { display: none !important; }

/* ── 24. Aggressive hide of any tvcms nav4 row outside our header ─────── */
/* Hide the displayNavFullWidth output that gets placed outside ep-header-wrap */
#header > .tvcmsvertical-menu-wrapper-data,
#header > div:not(.ep-header-wrap) .tvcmsvertical-menu-wrapper-data,
.tvheader-nav-offer-text,
.tvcms-offer-bar {
  display: none !important;
}

/* ── 25. Hide default blockreassurance module styles (clipart version) ─── */
/* Our template override uses ep-benefits-wrap — hide the default module li items */
#block-reassurance ul li img,
.block-reassurance ul li img,
#block-reassurance ul:not(.ep-benefits-list),
.block-reassurance ul:not(.ep-benefits-list) {
  display: none !important;
}
/* But keep tvcmscustomerservices fully hidden */
.tvcms-customerservices-wrapper,
.tvcmscustomerservices-wrap {
  display: none !important;
}

/* ── 26. Footer improvements ─────────────────────────────────────────── */
/* Reset Bootstrap row gutters — grid handles layout in ep-footer-columns */
.footer-container .row.ep-footer-columns {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Store info column: address lines */
.footer-container address,
.footer-container .tvfooter-contact-wrapper address {
  font-style: normal !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}
/* Newsletter label */
.footer-container .block_newsletter p,
.footer-container .block-newsletter p {
  font-size: 12px !important;
  color: rgba(255,255,255,0.45) !important;
  margin-bottom: 10px !important;
}
/* Payment icons row */
.tvfooter-payment-icon img,
.tvfooter-payment-icons img {
  filter: brightness(0) invert(1) !important;
  opacity: 0.4 !important;
  height: 20px !important;
  width: auto !important;
}
.tvfooter-payment-icon,
.tvfooter-payment-icons {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
/* Copyright line clean */
.tvfooter-copyright-text,
.footer-container .copyright {
  font-size: 11px !important;
  letter-spacing: 0.03em !important;
  color: rgba(255,255,255,0.3) !important;
}

/* ── 27. Fix excessive product section margins (theme.css defaults 100px) ── */
.tvcmsfeatured-product,
.tvcmsnew-product,
.tvcmsbest-seller-product,
.tvcmsspecial-product {
  margin-bottom: 24px !important;
  margin-top: 24px !important;
}
/* Slider — no bottom gap, flush to delivery strip */
.tvcmsslider-module-wrapper,
.tvcmsslider-module,
#tvcmsslider,
.tvcms-slider-offerbanner-wrapper,
.tvcms-main-slider,
.tv-main-slider,
.tvcmsmain-slider-wrapper,
.sc-slider-row {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.tvcms-slider-offerbanner-wrapper.container-fluid {
  padding: 0 !important;
}
.tvmain-slider-content-wrapper {
  display: none !important;
}
/* Fix: clip any gap below slider images */
.tvcmsmain-slider-wrapper,
.tvcms-main-slider,
.tv-main-slider,
#tvmain-slider {
  overflow: hidden !important;
}
/* Delivery strip — no gap from slider */
.ep-strip--top {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* No gap before footer strip */
.ep-strip--bottom {
  margin-bottom: 0 !important;
}
/* Delivery strip itself: flush to slider */
.sc-deliveryinfo-wrapper {
  margin-top: 0 !important;
}

/* =====================================================
   B2B Registration Form — ep_settings/register
   ===================================================== */
.ep-register-page {
  max-width: 560px;
  margin: 40px auto 60px;
  padding: 0 16px;
}
.ep-register-title {
  font-family: var(--ep-font-condensed);
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ep-text-primary);
  margin-bottom: 24px;
}
.ep-register-intro {
  color: var(--ep-text-muted);
  margin-bottom: 28px;
  line-height: 1.6;
}
.ep-form-errors {
  background: #fff3f3;
  border-left: 3px solid #e53e3e;
  padding: 12px 16px;
  margin-bottom: 20px;
  border-radius: var(--ep-radius);
}
.ep-form-errors p {
  margin: 0;
  color: #c53030;
  font-size: 14px;
}
.ep-register-form .ep-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ep-register-form .ep-form-group {
  margin-bottom: 20px;
}
.ep-register-form label {
  display: block;
  font-family: var(--ep-font-condensed);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ep-text-secondary);
  margin-bottom: 6px;
}
.ep-required {
  color: var(--ep-primary);
}
.ep-register-form input[type="text"],
.ep-register-form input[type="email"],
.ep-register-form input[type="tel"] {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--ep-border);
  border-radius: var(--ep-radius);
  font-family: var(--ep-font-base);
  font-size: 15px;
  color: var(--ep-text-primary);
  background: #fff;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.ep-register-form input:focus {
  outline: none;
  border-color: var(--ep-primary);
  box-shadow: 0 0 0 3px rgba(16,171,160,0.12);
}
.ep-btn-primary.ep-btn-submit {
  width: 100%;
  height: 48px;
  font-size: 15px;
  letter-spacing: 0.08em;
  margin-top: 8px;
}
.ep-login-hint {
  text-align: center;
  margin-top: 20px;
  color: var(--ep-text-muted);
  font-size: 14px;
}
.ep-login-hint a {
  color: var(--ep-primary);
  text-decoration: none;
}
/* Success state */
.ep-register-success {
  text-align: center;
  padding: 48px 24px;
  background: var(--ep-surface);
  border-radius: var(--ep-radius);
  box-shadow: var(--ep-shadow-sm);
}
.ep-success-icon {
  margin-bottom: 20px;
}
.ep-register-success h2 {
  font-family: var(--ep-font-condensed);
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.ep-register-success p {
  color: var(--ep-text-muted);
  line-height: 1.6;
  max-width: 400px;
  margin: 0 auto 28px;
}
.ep-btn-outline {
  display: inline-block;
  padding: 10px 28px;
  border: 2px solid var(--ep-primary);
  border-radius: var(--ep-radius);
  color: var(--ep-primary);
  font-family: var(--ep-font-condensed);
  font-weight: 700;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: all 0.2s;
}
.ep-btn-outline:hover {
  background: var(--ep-primary);
  color: #fff;
}

/* =====================================================
   CATEGORY LISTING PAGE
   ===================================================== */

/* --- Category Header Banner --- */
.tv-category-block-wrapper {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
  box-shadow: none !important;
}
.tv-category-cover {
  border-radius: var(--ep-radius) !important;
  overflow: hidden !important;
  max-height: 200px !important;
}
.tv-category-cover img {
  width: 100% !important;
  object-fit: cover !important;
  max-height: 200px !important;
}
.tv-all-page-main-title-wrapper {
  padding: 14px 0 6px !important;
}
.tv-all-page-main-title {
  font-family: var(--ep-font-condensed) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--ep-text-primary) !important;
}
#category-description {
  font-size: 14px !important;
  color: var(--ep-text-muted) !important;
  margin-top: 6px !important;
  line-height: 1.6 !important;
}

/* --- Subcategories Grid --- */
.tv-category-main-div {
  margin-bottom: 24px !important;
}
.tv-sub-category-title-wrapper {
  margin-bottom: 12px !important;
}
.tv-sub-category-title {
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: var(--ep-text-muted) !important;
}
.tvcategory-name-image {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.tv-sub-category-wrapper {
  flex: 0 0 auto !important;
}
.tv-sub-category-inner {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px 8px 8px !important;
  background: var(--ep-surface) !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius) !important;
  transition: border-color 0.18s, box-shadow 0.18s !important;
  cursor: pointer !important;
}
.tv-sub-category-inner:hover {
  border-color: var(--ep-primary) !important;
  box-shadow: 0 2px 8px rgba(16,171,160,0.12) !important;
}
.tv-category-image {
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
}
.tv-category-image img {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
  border-radius: 4px !important;
}
.tvcategory-name {
  line-height: 1 !important;
}
.tvcategory-name a.category-name {
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ep-text-primary) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.tvcategory-name a.category-name:hover {
  color: var(--ep-primary) !important;
}

/* --- Products Toolbar --- */
.tvleft-penal-product-top {
  margin-bottom: 16px !important;
}
.products-selection.tvall-block-box-shadows {
  background: var(--ep-surface) !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius) !important;
  padding: 10px 16px !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.tv-total-product-number {
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ep-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 !important;
}

/* View switcher icons */
.tvcmsproduct-grid-list {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
}
.tvproduct-view {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 9px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
  font-size: 12px !important;
  color: var(--ep-text-muted) !important;
}
.tvproduct-view:hover,
.tvproduct-view.active {
  background: rgba(16,171,160,0.1) !important;
  color: var(--ep-primary) !important;
}
.tvproduct-view svg path,
.tvproduct-view svg polygon {
  fill: currentColor !important;
}
.tvproduct-view span {
  font-family: var(--ep-font-condensed) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
}

/* Filter button */
.tv_search_filter_wrapper .tvleft-right-title-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 6px 12px !important;
  background: var(--ep-surface) !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: border-color 0.15s !important;
  font-size: 13px !important;
  color: var(--ep-text-secondary) !important;
}
.tv_search_filter_wrapper .tvleft-right-title-wrapper:hover {
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary) !important;
}
.tvproduct-top-filter-name {
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

/* Sort dropdown */
.tvall-page-shortby .sort-by {
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--ep-text-muted) !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}
.products-sort-order .select-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 7px 12px !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: 4px !important;
  background: #fff !important;
  font-size: 13px !important;
  font-family: var(--ep-font-base) !important;
  color: var(--ep-text-primary) !important;
  cursor: pointer !important;
  min-width: 160px !important;
  transition: border-color 0.15s !important;
}
.products-sort-order .select-title:hover {
  border-color: var(--ep-primary) !important;
}
.products-sort-order .dropdown-menu {
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius) !important;
  box-shadow: var(--ep-shadow-md) !important;
  padding: 4px 0 !important;
  min-width: 180px !important;
}
.products-sort-order .dropdown-menu .select-list {
  display: block !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  color: var(--ep-text-primary) !important;
  text-decoration: none !important;
  transition: background 0.12s !important;
}
.products-sort-order .dropdown-menu .select-list:hover,
.products-sort-order .dropdown-menu .select-list.current {
  background: rgba(16,171,160,0.08) !important;
  color: var(--ep-primary) !important;
}

/* --- Faceted Filters Bar --- */
#search_filters {
  margin-bottom: 16px !important;
}
.tvserach-filter-wrapper {
  background: var(--ep-surface) !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius) !important;
  padding: 12px 16px !important;
}
.tvsearch-filter-button-wrapper {
  margin-bottom: 10px !important;
}
.js-search-filters-clear-all {
  font-family: var(--ep-font-condensed) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: var(--ep-text-muted) !important;
  background: none !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: 4px !important;
  padding: 4px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
}
.js-search-filters-clear-all:hover {
  border-color: #e53e3e !important;
  color: #e53e3e !important;
}
.tvsearch-filter-content-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.facet {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 220px !important;
  padding: 0 !important;
}
.tvfilter-dropdown-wrapper {
  position: relative !important;
}
.facet-title.h6 {
  font-family: var(--ep-font-condensed) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--ep-text-muted) !important;
  margin-bottom: 6px !important;
}
.tvfilter-search-types-dropdown {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-height: 180px !important;
  overflow-y: auto !important;
}
.tvfilter-search-types-dropdown li {
  padding: 2px 0 !important;
}
.tvfilter-search-types-dropdown .facet-label {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 13px !important;
  color: var(--ep-text-primary) !important;
  cursor: pointer !important;
  padding: 3px 0 !important;
}
.tvfilter-search-types-dropdown .facet-label:hover {
  color: var(--ep-primary) !important;
}
.tvfilter-search-types-dropdown .facet-label.active {
  color: var(--ep-primary) !important;
  font-weight: 600 !important;
}
.facet-label .magnitude {
  color: var(--ep-text-muted) !important;
  font-size: 11px !important;
}
/* Custom checkbox style */
.custom-checkbox input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  accent-color: var(--ep-primary) !important;
}

/* --- Active Filters --- */
#js-active-search-filters {
  margin-bottom: 12px !important;
}
#js-active-search-filters.hide {
  display: none !important;
}
.active-filter-title {
  font-family: var(--ep-font-condensed) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: var(--ep-text-muted) !important;
  margin-bottom: 6px !important;
  display: inline !important;
}
#js-active-search-filters ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.filter-block {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px 10px !important;
  background: rgba(16,171,160,0.1) !important;
  border: 1px solid rgba(16,171,160,0.3) !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--ep-primary) !important;
}
.filter-block a {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--ep-primary) !important;
  opacity: 0.7 !important;
  transition: opacity 0.15s !important;
}
.filter-block a:hover {
  opacity: 1 !important;
}
.filter-block .material-icons {
  font-size: 14px !important;
}

/* --- Pagination --- */
.pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 32px 0 16px !important;
  flex-wrap: wrap !important;
}
.pagination .page-item .page-link,
.pagination li a,
.pagination li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: 4px !important;
  font-family: var(--ep-font-condensed) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ep-text-secondary) !important;
  background: #fff !important;
  text-decoration: none !important;
  transition: all 0.15s !important;
}
.pagination .page-item .page-link:hover,
.pagination li a:hover {
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary) !important;
}
.pagination .page-item.active .page-link,
.pagination li.current a,
.pagination li.active a {
  background: var(--ep-primary) !important;
  border-color: var(--ep-primary) !important;
  color: #fff !important;
}
.pagination .page-item.disabled .page-link {
  opacity: 0.4 !important;
  cursor: default !important;
}

/* =====================================================
   CATEGORY LISTING — REFINEMENTS
   ===================================================== */

/* --- Subcategory: hide images, pure chip style --- */
.tv-sub-category-wrapper .tv-category-image {
  display: none !important;
}
.tv-sub-category-inner {
  padding: 7px 16px !important;
  gap: 0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  border: 1.5px solid var(--ep-border) !important;
  transition: all 0.18s !important;
}
.tv-sub-category-inner:hover {
  border-color: var(--ep-primary) !important;
  background: rgba(16,171,160,0.06) !important;
  box-shadow: none !important;
}
.tvcategory-name a.category-name {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

/* --- Product grid on category page — match homepage cards --- */
#js-product-list .tvproduct-wrapper.grid,
#js-product-list .tvproduct-wrapper.grid-2 {
  background: #fff !important;
  border-radius: var(--ep-radius) !important;
  border: 1px solid var(--ep-border) !important;
  overflow: hidden !important;
  transition: transform 0.22s, box-shadow 0.22s !important;
  position: relative !important;
}
#js-product-list .tvproduct-wrapper.grid:hover,
#js-product-list .tvproduct-wrapper.grid-2:hover {
  transform: none !important;
  box-shadow: 0 4px 20px rgba(16,171,160,0.12) !important;
  border-color: var(--ep-primary) !important;
}
/* Accent left bar on hover */
#js-product-list .tvproduct-wrapper.grid::after,
#js-product-list .tvproduct-wrapper.grid-2::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; bottom: 0 !important;
  width: 3px !important;
  background: var(--ep-primary) !important;
  transform: scaleY(0) !important;
  transition: transform 0.22s !important;
}
#js-product-list .tvproduct-wrapper.grid:hover::after,
#js-product-list .tvproduct-wrapper.grid-2:hover::after {
  transform: scaleY(1) !important;
}
/* Image area */
#js-product-list .tvproduct-wrapper.grid .tvproduct-image,
#js-product-list .tvproduct-wrapper.grid-2 .tvproduct-image {
  background: #fff !important;
  border-bottom: none !important;
}
/* Product name */
#js-product-list .tvproduct-wrapper.grid .tvproduct-name h6,
#js-product-list .tvproduct-wrapper.grid-2 .tvproduct-name h6 {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--ep-text-primary) !important;
}
/* REF */
#js-product-list .tvproduct-wrapper.grid .ep-sku,
#js-product-list .tvproduct-wrapper.grid-2 .ep-sku {
  font-family: var(--ep-font-mono) !important;
  font-size: 11px !important;
  color: var(--ep-text-muted) !important;
  margin-top: 2px !important;
}
/* Price */
#js-product-list .tvproduct-wrapper.grid .price,
#js-product-list .tvproduct-wrapper.grid-2 .price {
  font-family: var(--ep-font-condensed) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--ep-primary) !important;
}
#js-product-list .tvproduct-wrapper.grid .ep-price-box .price,
#js-product-list .tvproduct-wrapper.grid-2 .ep-price-box .price {
  color: var(--ep-navy, #1a2a3a) !important;
}

/* Hide floating cart button on category page - use ep-add-form instead */
#js-product-list .tvproduct-hover-btn .tvproduct-cart-btn {
  display: none !important;
}

/* --- List view --- */
.tvproduct-wrapper.list {
  display: flex !important;
  background: #fff !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius) !important;
  overflow: hidden !important;
  margin-bottom: 10px !important;
  transition: box-shadow 0.2s !important;
}
.tvproduct-wrapper.list:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}
.tvproduct-wrapper.list .tvproduct-image {
  flex: 0 0 140px !important;
  width: 140px !important;
  min-height: 120px !important;
  background: #f8f9fb !important;
  border-right: 1px solid var(--ep-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px !important;
}
.tvproduct-wrapper.list .tvproduct-image img {
  max-height: 100px !important;
  object-fit: contain !important;
}
.tvproduct-wrapper.list .tvproductdescription-button-wrapper {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 20px !important;
  gap: 16px !important;
}
.tvproduct-wrapper.list .product-description {
  flex: 1 !important;
}
.tvproduct-wrapper.list .tvproduct-name h6 {
  font-size: 14px !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
  color: var(--ep-text-primary) !important;
}
.tvproduct-wrapper.list .tvproduct-cat-name {
  font-size: 11px !important;
  color: var(--ep-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 6px !important;
}
.tvproduct-wrapper.list .tv-product-desc {
  font-size: 12px !important;
  color: var(--ep-text-muted) !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.tvproduct-wrapper.list .price {
  font-family: var(--ep-font-condensed) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--ep-primary) !important;
}
.tvproduct-wrapper.list .tvall-product-btn-list {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}
.tvproduct-wrapper.list .tvproduct-cart-btn .tvproduct-add-to-cart {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 16px !important;
  background: var(--ep-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ep-radius) !important;
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  cursor: pointer !important;
  transition: opacity 0.18s !important;
  white-space: nowrap !important;
}
.tvproduct-wrapper.list .tvproduct-cart-btn .tvproduct-add-to-cart:hover {
  opacity: 0.88 !important;
}

/* --- Pagination refinement --- */
.tvcms-all-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px 0 8px !important;
  border-top: 1px solid var(--ep-border) !important;
  margin-top: 16px !important;
}
.tv-pagination-content {
  font-size: 13px !important;
  color: var(--ep-text-muted) !important;
}
.tv-pagination-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.tv-pagination-wrapper li a,
.tv-pagination-wrapper li span.spacer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 34px !important;
  padding: 0 8px !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: 4px !important;
  font-family: var(--ep-font-condensed) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ep-text-secondary) !important;
  background: #fff !important;
  text-decoration: none !important;
  transition: all 0.15s !important;
}
.tv-pagination-wrapper li a:hover {
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary) !important;
}
.tv-pagination-wrapper li.current a,
.tv-pagination-wrapper li.tv-pagination-li a {
  background: var(--ep-primary) !important;
  border-color: var(--ep-primary) !important;
  color: #fff !important;
}
.tv-pagination-wrapper li a.disabled {
  opacity: 0.4 !important;
  cursor: default !important;
  pointer-events: none !important;
}

/* =============================================================================
   5.5 Category Listing Page
   ============================================================================= */

/* ── Breadcrumb ────────────────────────────────────────────────────────────── */
nav.breadcrumb {
  padding: 12px 0 10px !important;
  margin-bottom: 4px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--ep-border) !important;
}
nav.breadcrumb ol {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
nav.breadcrumb li {
  display: flex !important;
  align-items: center !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-secondary) !important;
}
nav.breadcrumb li + li::before {
  content: '/' !important;
  margin: 0 8px !important;
  color: var(--ep-border-strong) !important;
  font-size: 14px !important;
}
nav.breadcrumb li a {
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
  transition: color var(--ep-t-fast) !important;
}
nav.breadcrumb li a:hover {
  color: var(--ep-primary) !important;
}
nav.breadcrumb li:last-child span,
nav.breadcrumb li:last-child a {
  color: var(--ep-primary) !important;
  font-weight: 600 !important;
  pointer-events: none !important;
}

/* ── Subcategory chips ─────────────────────────────────────────────────────── */
.ep-subcat-section {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px 16px !important;
  padding: 12px 0 14px !important;
  border-bottom: 2px solid var(--ep-border) !important;
  margin-bottom: 16px !important;
}
.ep-subcat-label {
  font-family: var(--ep-font-condensed) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ep-ink-muted) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.ep-subcat-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
}
.ep-subcat-chip {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 16px !important;
  background: var(--ep-surface) !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 20px !important;
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: all var(--ep-t-fast) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}
.ep-subcat-chip:hover,
.ep-subcat-chip.active {
  background: var(--ep-primary) !important;
  border-color: var(--ep-primary) !important;
  color: #fff !important;
  text-decoration: none !important;
}
/* Highlight current subcategory */
body[class*="category-id-"] .ep-subcat-chip.ep-chip-current {
  background: var(--ep-primary-light) !important;
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary-dark) !important;
}

/* ── Toolbar (products-top) ────────────────────────────────────────────────── */
.tvleft-penal-product-top {
  margin-bottom: 12px !important;
}
#js-product-list-top.products-selection {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: var(--ep-surface) !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius) !important;
  padding: 10px 16px !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
}
/* Product count */
.tv-total-product-number {
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ep-ink-muted) !important;
  margin: 0 !important;
}
/* View switcher — keep only Grid + List, hide rest */
.tvcmsproduct-grid-list {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.tvproduct-view {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 6px 10px !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all var(--ep-t-fast) !important;
  color: var(--ep-ink-muted) !important;
}
.tvproduct-view:hover,
.tvproduct-view.active {
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary) !important;
  background: var(--ep-primary-light) !important;
}
.tvproduct-view svg path,
.tvproduct-view svg polygon {
  fill: currentColor !important;
}
/* All view modes visible — user decides */
/* View label text */
.tvgrid-wrapper,
.tvlist-wrapper {
  font-family: var(--ep-font-condensed) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
/* Sort-by dropdown */
.tvall-page-shortby {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
.sort-by-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}
span.sort-by {
  font-family: var(--ep-font-body) !important;
  font-size: 12px !important;
  color: var(--ep-ink-muted) !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
.products-sort-order .select-title {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 6px !important;
  background: #fff !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ep-ink) !important;
  cursor: pointer !important;
  transition: border-color var(--ep-t-fast) !important;
  white-space: nowrap !important;
}
.products-sort-order .select-title:hover {
  border-color: var(--ep-primary) !important;
}
.products-sort-order .dropdown-menu {
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.10) !important;
  padding: 4px 0 !important;
  min-width: 200px !important;
}
.products-sort-order .dropdown-menu a {
  display: block !important;
  padding: 8px 16px !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
  transition: background var(--ep-t-fast) !important;
}
.products-sort-order .dropdown-menu a:hover {
  background: var(--ep-primary-light) !important;
  color: var(--ep-primary-dark) !important;
}
.products-sort-order .dropdown-menu a.current {
  color: var(--ep-primary) !important;
  font-weight: 600 !important;
}
/* Filter button */
.tv_search_filter_wrapper {
  margin-right: 8px !important;
}
.tvleft-right-title-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  font-family: var(--ep-font-condensed) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--ep-ink-secondary) !important;
  transition: all var(--ep-t-fast) !important;
}
.tvleft-right-title-wrapper:hover {
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary) !important;
}
.tvproduct-top-filter-name {
  font-size: 12px !important;
}

/* ── Active filters ────────────────────────────────────────────────────────── */
#js-active-search-filters:not(.hide) {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 8px 0 !important;
}

/* ── Listing page layout ───────────────────────────────────────────────────── */
#products {
  margin-top: 0 !important;
}
#js-product-list {
  box-shadow: none !important;
}
/* Do NOT override Bootstrap product grid — theme handles col-* classes */

/* Fix: theme bug — catelog/list wrappers always visible (wrong specificity in theme)
   Using high-specificity selectors to guarantee override */
html body #js-product-list .tvproduct-wrapper.grid-2  { display: none !important; }
html body #js-product-list .tvproduct-wrapper.list    { display: none !important; }
html body #js-product-list .tvproduct-wrapper.list-2  { display: none !important; }
html body #js-product-list .tvproduct-wrapper.catelog { display: none !important; }

html body #products.grid-2  #js-product-list .tvproduct-wrapper.grid-2  { display: block !important; }
html body #products.list    #js-product-list .tvproduct-wrapper.list    { display: flex  !important; }
html body #products.list-2  #js-product-list .tvproduct-wrapper.list-2  { display: flex  !important; }
html body #products.catelog #js-product-list .tvproduct-wrapper.catelog { display: block !important; }

/* =============================================================================
   Toolbar rebuild — ep-toolbar
   ============================================================================= */
.ep-toolbar {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: var(--ep-surface) !important;
  border: 1px solid var(--ep-border) !important;
  border-radius: var(--ep-radius, 6px) !important;
  padding: 10px 16px !important;
  margin-bottom: 16px !important;
}

/* Count */
.ep-toolbar-count {
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
.ep-count-num {
  font-family: var(--ep-font-condensed) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ep-ink) !important;
  line-height: 1 !important;
}
.ep-count-label {
  font-family: var(--ep-font-body) !important;
  font-size: 12px !important;
  color: var(--ep-ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* Push brands + sort to the right */
.ep-toolbar-brands { margin-left: auto !important; display: flex !important; flex-shrink: 0 !important; }

/* Brand dropdown */
.ep-brand-dropdown {
  position: relative !important;
  display: inline-block !important;
}
.ep-brand-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px 14px !important;
  background: var(--ep-surface) !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 6px !important;
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--ep-ink-secondary) !important;
  cursor: pointer !important;
  transition: all var(--ep-t-fast, 0.15s ease) !important;
  white-space: nowrap !important;
}
.ep-brand-btn:hover,
.ep-brand-btn.open {
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary) !important;
}
.ep-brand-btn svg { flex-shrink: 0 !important; }
.ep-chevron { transition: transform 0.15s ease !important; }
.ep-brand-btn.open .ep-chevron { transform: rotate(180deg) !important; }

.ep-brand-menu {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  min-width: 220px !important;
  background: var(--ep-surface) !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  z-index: 1000 !important;
  padding: 4px 0 !important;
  max-height: 320px !important;
  overflow-y: auto !important;
}
.ep-brand-menu.open { display: block !important; }

.ep-brand-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 16px !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
  transition: background var(--ep-t-fast, 0.15s) !important;
  cursor: pointer !important;
}
.ep-brand-item:hover { background: var(--ep-primary-light) !important; color: var(--ep-primary-dark) !important; }
.ep-brand-item.active { color: var(--ep-primary) !important; font-weight: 600 !important; }
.ep-brand-cnt {
  font-family: var(--ep-font-condensed) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--ep-ink-muted) !important;
  background: var(--ep-surface-alt) !important;
  border-radius: 10px !important;
  padding: 1px 7px !important;
  min-width: 24px !important;
  text-align: center !important;
}

/* Sort — matches ep-brand-btn style exactly */
.ep-toolbar-sort {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
/* Reset Bootstrap col-* classes inside toolbar sort */
.ep-toolbar-sort [class*="col-"],
.ep-toolbar-sort .col-sm-5,
.ep-toolbar-sort .col-md-5,
.ep-toolbar-sort .col-md-7,
.ep-toolbar-sort .col-sm-12,
.ep-toolbar-sort .col-xs-12 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}
/* "Sort by:" label */
.ep-toolbar-sort span.sort-by {
  font-family: var(--ep-font-body) !important;
  font-size: 12px !important;
  color: var(--ep-ink-muted) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}
/* Sort dropdown wrapper — reset Bootstrap cols */
.ep-toolbar-sort .products-sort-order {
  position: relative !important;
  width: auto !important;
  padding: 0 !important;
  flex: none !important;
  max-width: none !important;
}
/* Sort button — same as ep-brand-btn */
.ep-toolbar-sort .products-sort-order .select-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px 14px !important;
  background: var(--ep-surface) !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 6px !important;
  font-family: var(--ep-font-condensed) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--ep-ink-secondary) !important;
  cursor: pointer !important;
  transition: all var(--ep-t-fast, 0.15s ease) !important;
  white-space: nowrap !important;
  min-width: 140px !important;
  justify-content: space-between !important;
}
.ep-toolbar-sort .products-sort-order .select-title:hover,
.ep-toolbar-sort .products-sort-order.show .select-title {
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary) !important;
}
/* Replace material-icons chevron with clean CSS */
.ep-toolbar-sort .products-sort-order .select-title .material-icons {
  font-size: 16px !important;
  color: inherit !important;
  float: none !important;
  margin: 0 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}
/* Sort dropdown menu */
.ep-toolbar-sort .products-sort-order .dropdown-menu {
  right: 0 !important;
  left: auto !important;
  top: calc(100% + 6px) !important;
  min-width: 200px !important;
  border: 1.5px solid var(--ep-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  padding: 4px 0 !important;
}
.ep-toolbar-sort .products-sort-order .dropdown-menu a {
  display: block !important;
  padding: 8px 16px !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  color: var(--ep-ink-secondary) !important;
  text-decoration: none !important;
  transition: background var(--ep-t-fast, 0.15s) !important;
}
.ep-toolbar-sort .products-sort-order .dropdown-menu a:hover {
  background: var(--ep-primary-light) !important;
  color: var(--ep-primary-dark) !important;
}
.ep-toolbar-sort .products-sort-order .dropdown-menu a.current {
  color: var(--ep-primary) !important;
  font-weight: 600 !important;
}

/* Hide old toolbar classes that might leak */
.tvcmsproduct-grid-list { display: none !important; }
.tv-total-product { display: none !important; }
.tv_search_filter_wrapper { display: none !important; }

/* B2B Qty Control — product cards */
#products.grid .tvall-product-wrapper-info-box {
  margin: 0 !important;
  padding: 7.5px !important;
}

/* Active filters in toolbar — fixed-width row, chips flow between count and sort */
.ep-toolbar {
  flex-wrap: nowrap !important;
  min-height: 44px !important;
}
.ep-toolbar-count  { flex-shrink: 0 !important; }
.ep-toolbar-sort   { flex-shrink: 0 !important; }
.ep-toolbar-right .ep-toolbar-sort { margin-left: 0 !important; }

/* Right group — per-page + sort together */
.ep-toolbar-right {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

/* Per-page dropdown — mirrors sort style */
.ep-toolbar-perpage {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.ep-perpage-label {
  font-family: var(--ep-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--ep-text-muted) !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.ep-perpage-dropdown {
  position: relative !important;
}
.ep-perpage-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 5px 10px !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ep-navy) !important;
  border: 1px solid #dde0e4 !important;
  border-radius: 6px !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: border-color 0.15s, color 0.15s !important;
  white-space: nowrap !important;
}
.ep-perpage-toggle .material-icons {
  font-size: 16px !important;
  color: inherit !important;
}
.ep-perpage-toggle:hover,
.ep-perpage-dropdown.show .ep-perpage-toggle {
  border-color: var(--ep-primary) !important;
  color: var(--ep-primary) !important;
}
.ep-perpage-menu {
  right: 0 !important;
  left: auto !important;
  min-width: 100px !important;
  border: 1px solid #e8eaed !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1) !important;
  padding: 4px 0 !important;
  z-index: 100 !important;
}
.ep-pp-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 16px !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--ep-navy, #1a2744) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.15s !important;
  cursor: pointer !important;
}
.ep-pp-item:hover {
  background: rgba(16,171,160,0.06) !important;
  color: #0a7a72 !important;
}
.ep-pp-active {
  color: var(--ep-primary, #10aba0) !important;
  font-weight: 600 !important;
  background: rgba(16,171,160,0.06) !important;
}
.ep-pp-check {
  margin-left: 10px !important;
  color: var(--ep-primary, #10aba0) !important;
  font-size: 14px !important;
}
@media (max-width: 767px) {
  .ep-toolbar-perpage { display: none !important; }
}
.ep-toolbar-active-filters {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-left: 12px;
  flex: 0 1 auto;
  overflow: hidden;
}
.ep-af-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: var(--ep-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  font-family: var(--ep-font-body);
  padding: 3px 8px 3px 10px;
  border-radius: 20px;
  text-decoration: none;
  white-space: nowrap;
}
.ep-af-chip .ep-af-x {
  font-size: 13px;
  line-height: 1;
  opacity: 0.75;
  font-style: normal;
}
.ep-af-chip:hover { background: var(--ep-primary-dark, #0d8f85); color: #fff; }

/* Hide the standalone active filters section — shown in toolbar instead */
#js-active-search-filters,
#js-active-search-filters:not(.hide) {
  display: none !important;
}

.ep-add-form { margin-top: 6px; padding: 0 2px 2px; }
.ep-qty-row {
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
  z-index: 20;
}
.ep-qty-ctrl {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--ep-border);
  border-radius: 4px;
  overflow: hidden;
  width: 90px;
  height: 24px;
}
.ep-qty-btn {
  width: 20px;
  background: #f5f7fa;
  border: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 400;
  color: var(--ep-ink-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.12s, color 0.12s;
  flex-shrink: 0;
  line-height: 1;
  user-select: none;
}
.ep-qty-btn:hover { background: var(--ep-primary); color: #fff; }
.ep-qty-input {
  width: 100%;
  min-width: 0;
  border: none;
  border-left: 1px solid var(--ep-border);
  border-right: 1px solid var(--ep-border);
  text-align: center;
  font-family: var(--ep-font-mono, monospace);
  font-size: 11px;
  font-weight: 600;
  color: var(--ep-ink-primary);
  background: #fff;
  padding: 0;
  -moz-appearance: textfield;
}
.ep-qty-input::-webkit-inner-spin-button,
.ep-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; }
.ep-qty-input:focus { outline: none; }
.ep-add-btn {
  width: 26px;
  height: 24px;
  background: var(--ep-primary);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: background 0.12s, transform 0.1s;
  flex-shrink: 0;
  padding: 0;
}
.ep-add-btn:hover { background: var(--ep-primary-dark, #0d8f85); transform: scale(1.04); }
.ep-add-btn.disabled { background: var(--ep-border); cursor: not-allowed; pointer-events: none; }

/* ==========================================================================
   §15 PRODUCT PAGE — Clean Sections B2B
   ========================================================================== */

/* --- 15.1 Overall layout --- */
.tvproduct-page-wrapper { padding: 0; }
.tvprduct-image-info-wrapper.product-1 { margin: 0; padding: 16px 0; }

/* --- 15.2 Left column — Image --- */
.product-1 .tv-product-page-image {
  padding: 0 16px 0 0;
  align-self: flex-start;
}
.product-1 .images-container {
  position: relative;
  display: block !important;
}
/* Thumbnails hidden — single image full width */
.product-1 .product-images,
.product-1 .tvvertical-slider,
.product-1 .arrows,
.product-1 .product-cover .layer,
.product-1 .product-cover .image-caption,
.product-1 .product-cover .product-cover-modal { display: none !important; }
.product-1 .product-cover,
.product-1 .product-cover.col-xl-10,
.product-1 .product-cover.col-sm-9 {
  background: #fff;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 8px;
  display: block !important;
  text-align: center;
  padding: 0;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  height: auto !important;
  overflow: hidden;
}
.product-1 .product-cover .tvproduct-image-slider {
  position: relative !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  max-width: 500px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  display: block !important;
}
.product-1 .product-cover .js-qv-product-cover {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  mix-blend-mode: multiply;
  transform: none !important;
  display: block !important;
}

/* Flags — top-left badges */
.product-1 .tvproduct-flags { position: absolute; top: 12px; left: 12px; z-index: 5; list-style: none; padding: 0; margin: 0; }
.product-1 .product-flag {
  display: inline-block;
  padding: 4px 12px;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 3px;
  margin-bottom: 4px;
}
.product-1 .product-flag.new { display: none; }
.product-1 .product-flag.on-sale { background: #e74c3c; color: #fff; }
.product-1 .product-flag.pack { background: var(--ep-dark, #1A1F2E); color: #fff; }

/* Zoom layer + modal — disabled */
.product-1 .product-cover .layer { display: none !important; }
.product-1 .product-cover .tvproduct-image-slider { cursor: default; }
.js-product-images-modal, #product-modal { display: none !important; }
.zoomContainer, .zoomWindowContainer, .zoomWindow, .zoomLens { display: none !important; }

/* Thumbnail slider — hidden (single image per product) */
.product-1 .tvvertical-slider { display: none; }

/* No-image placeholder — reasonable size, centered */
.product-1 .ep-no-image-placeholder {
  display: block;
  max-width: 280px;
  max-height: 280px;
  margin: 40px auto;
  opacity: 0.35;
}

/* --- 15.3 Right column — Product info --- */
.product-1 .tv-product-page-content { padding-left: 8px; }

/* Title */
.product-1 .tvproduct-title-brandimage h1.h1 {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 26px;
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  line-height: 1.25;
  margin: 0 0 4px 0;
}

/* Brand logo — hide if no manufacturer or broken image */
.tvcms-product-brand-logo:empty { display: none; }
.tvcms-product-brand-logo { margin: 8px 0 0; overflow: hidden; }
.tvcms-product-brand-logo img { height: 28px !important; width: auto !important; opacity: 0.7; }
.tvcms-product-brand-logo img[alt=""] { display: none; }
.product-1 .tvcms-product-brand-logo { max-height: 40px; }

/* ART code + pack + country */
.ep-product-art {
  font-family: var(--ep-font-mono, 'JetBrains Mono', monospace);
  font-size: 15px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 4px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
}
.ep-art-label {
  font-weight: 700;
  color: var(--ep-primary, #10ABA0);
  margin-right: 6px;
  font-size: 14px;
  letter-spacing: 0.5px;
}
.ep-art-value {
  color: var(--ep-text, #2d3436);
  font-weight: 600;
  font-size: 16px;
}
.ep-art-sep {
  margin: 0 10px;
  color: var(--ep-border, #d0d5dd);
  font-weight: 300;
}
.ep-art-pack {
  font-weight: 600;
  color: var(--ep-text, #2d3436);
  font-size: 14px;
}
.ep-art-country {
  font-weight: 400;
  color: var(--ep-ink-secondary, #5a6069);
  font-size: 13px;
}

/* Prices section */
.product-1 .product-prices {
  padding: 12px 0;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  margin-bottom: 8px;
}
.product-1 .product-prices .price {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 28px;
  font-weight: 700;
  color: var(--ep-primary, #10ABA0);
}
.product-1 .product-prices .regular-price {
  font-size: 16px;
  color: var(--ep-text-light, #8a8f98);
  text-decoration: line-through;
}
.product-1 .product-prices .discount {
  display: inline-block;
  background: #fef3f2;
  color: #e74c3c;
  font-size: 12px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 3px;
  margin-left: 8px;
}
.product-1 .product-prices .tvproduct-tax-label { display: none; }
.product-1 .product-prices .tax-shipping-delivery-label {
  font-size: 12px;
  color: var(--ep-text-light, #8a8f98);
  margin-top: 4px;
}

/* Hide cart notifications on product page */
.page-product #notifications .alert-info { display: none; }

/* Product meta info block (stock, brand, EAN) */
.ep-product-meta {
  margin: 0 0 4px;
  padding: 12px 0 0;
}
.ep-meta-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 5px 0;
  font-size: 13px;
}
.ep-meta-label {
  font-weight: 700;
  color: var(--ep-text-light, #8a8f98);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.5px;
  min-width: 50px;
}
.ep-meta-val { color: var(--ep-dark, #1A1F2E); font-weight: 500; }
.ep-val-green { color: #087f6e; font-weight: 700; }
.ep-val-amber { color: #b8860b; font-weight: 600; }
.ep-meta-brand { color: var(--ep-primary, #10ABA0); text-decoration: none; font-weight: 600; }
.ep-meta-brand:hover { text-decoration: underline; }

/* Backorder label in product details */
.ep-backorder-label {
  color: #856404;
  font-weight: 600;
}

/* Short description */
.product-1 .tvproduct-page-decs {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ep-text, #2d3436);
  padding: 12px 0;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  margin-bottom: 16px;
}

/* --- 15.4 Actions — Qty + Add to Cart in one row --- */
.product-1 .tv-product-page-content .tvproduct-special-desc {
  border-top: none;
  padding: 8px 0 0;
}
.product-1 .product-information.tvproduct-special-desc { margin-top: 0; }

/* Row 1: [-] qty [+] Add to Cart — inline */
.product-1 .ep-cart-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Kill touchspin buttons but keep the input visible */
.product-1 .input-group-btn-vertical,
.product-1 .bootstrap-touchspin-prefix,
.product-1 .bootstrap-touchspin-postfix { display: none !important; }
.product-1 .bootstrap-touchspin {
  display: contents !important;
  border: none !important;
  background: none !important;
}

/* Custom qty control: [-] [input] [+] */
.product-1 .ep-qty-control {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.product-1 .ep-qty-btn {
  width: 38px;
  height: 42px;
  border: 1px solid var(--ep-border, #e5e7eb);
  background: #fff;
  font-size: 18px;
  font-weight: 400;
  color: var(--ep-dark, #1A1F2E);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s;
  user-select: none;
  line-height: 1;
  padding: 0;
}
.product-1 .ep-qty-btn:hover {
  background: var(--ep-bg-light, #f8f9fa);
  border-color: var(--ep-primary, #10ABA0);
}
.product-1 .ep-qty-minus { border-radius: 6px 0 0 6px; border-right: none; }
.product-1 .ep-qty-plus  { border-radius: 0 6px 6px 0; border-left: none; }
.product-1 .ep-qty-input {
  width: 48px;
  height: 42px;
  text-align: center;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
  -moz-appearance: textfield;
  appearance: textfield;
  padding: 0;
  margin: 0;
}
.product-1 .ep-qty-input::-webkit-inner-spin-button,
.product-1 .ep-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.product-1 .ep-qty-input:focus {
  border-color: var(--ep-primary, #10ABA0);
  outline: none;
}

/* Add to cart button */
.product-1 .ep-add-to-cart-btn {
  height: 42px;
  padding: 0 28px;
  background: var(--ep-primary, #10ABA0);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.15s;
  white-space: nowrap;
}
.product-1 .ep-add-to-cart-btn:hover { background: var(--ep-primary-dark, #0d8f85); }
.product-1 .ep-add-to-cart-btn .material-icons { font-size: 18px; }
.product-1 .ep-login-to-buy {
  background: transparent;
  border: 2px solid var(--ep-primary, #10ABA0);
  color: var(--ep-primary, #10ABA0);
  text-decoration: none !important;
}
.product-1 .ep-login-to-buy:hover { background: var(--ep-primary, #10ABA0); color: #fff; }
.product-1 .ep-add-to-cart-btn.disabled {
  background: var(--ep-border, #e5e7eb);
  color: var(--ep-text-light, #8a8f98);
  cursor: not-allowed;
  pointer-events: none;
}

/* Row 2: Wishlist only, Compare hidden */
.product-1 .ep-cart-extras {
  margin-top: 12px;
  display: flex;
  align-items: center;
  gap: 20px;
}
.product-1 .ep-cart-extras .tvcmsproduct-compare-btn { display: none !important; }
.product-1 .ep-cart-extras .tvproduct-wishlist-compare,
.product-1 .ep-cart-extras .tvproduct-wishlist,
.product-1 .ep-cart-extras .tvcmsproduct-compare-btn {
  display: inline-flex !important;
  align-items: center;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}
.product-1 .ep-cart-extras .tvproduct-wishlist-compare {
  gap: 20px;
}

/* Wishlist link */
.product-1 .ep-cart-extras .tvproduct-wishlist a {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  color: var(--ep-text-light, #8a8f98);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none !important;
  border: none !important;
  background: none !important;
  padding: 4px 0 !important;
  transition: color 0.15s;
}
.product-1 .ep-cart-extras .tvproduct-wishlist a:hover {
  color: var(--ep-primary, #10ABA0);
  background: none !important;
}
.product-1 .ep-cart-extras .tvproduct-wishlist .ep-wl-dropdown-item {
  padding: 13px 20px 13px 12px !important;
  background: transparent !important;
  display: flex !important;
}
.product-1 .ep-cart-extras .tvproduct-wishlist .ep-wl-item-default {
  background: #f8fffe !important;
}
.product-1 .ep-cart-extras .tvproduct-wishlist .ep-wl-dropdown-item:hover {
  background: #e6f7f6 !important;
  color: #10ABA0;
}
.product-1 .ep-cart-extras .tvproduct-wishlist .material-icons {
  font-size: 18px;
}
.product-1 .tvproduct-wishlist-icon { display: flex; align-items: center; gap: 6px; }
.product-1 .tvproduct-wishlist-icon::after {
  content: 'Add to Wishlist';
  font-family: var(--ep-font, 'Barlow', sans-serif);
  font-size: 13px;
  font-weight: 500;
}

/* Compare — hidden (B2B: only Wishlist kept) */
.product-1 .ep-cart-extras .tvcompare-wrapper,
.product-1 .ep-cart-extras .tvcmsproduct-compare-btn {
  display: none !important;
}


/* --- 15.5 Tabs — Product Description/Details --- */
.tvproduct-description-tab {
  margin-top: 32px;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 8px;
  overflow: hidden;
}
.tvproduct-description-tab .nav-tabs {
  background: var(--ep-bg-light, #f8f9fa);
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  padding: 0 16px;
  margin: 0;
}
.tvproduct-description-tab .nav-tabs .nav-item { margin: 0; }
.tvproduct-description-tab .nav-tabs .nav-link {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ep-text-light, #8a8f98);
  padding: 14px 20px;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  transition: color 0.15s, border-color 0.15s;
  background: transparent;
}
.tvproduct-description-tab .nav-tabs .nav-link:hover { color: var(--ep-text, #2d3436); }
.tvproduct-description-tab .nav-tabs .nav-link.active {
  color: var(--ep-primary, #10ABA0);
  border-bottom-color: var(--ep-primary, #10ABA0);
  background: transparent;
}
.tvproduct-description-tab .tab-content { padding: 24px; }

/* Product details data sheet */
.tvproduct-description-tab .product-features .data-sheet { margin: 0; }
.tvproduct-description-tab .product-features .data-sheet dt {
  font-weight: 600;
  color: var(--ep-text-light, #8a8f98);
  font-size: 13px;
  text-transform: uppercase;
  padding: 10px 0;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
}
.tvproduct-description-tab .product-features .data-sheet dd {
  font-size: 14px;
  color: var(--ep-dark, #1A1F2E);
  padding: 10px 0;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  margin: 0;
}
.tvproduct-description-tab .product-reference .label,
.tvproduct-description-tab .product-quantities .label,
.tvproduct-description-tab .product-manufacturer .label,
.tvproduct-description-tab .product-condition .label,
.tvproduct-description-tab .product-availability-date label {
  font-weight: 600;
  color: var(--ep-text-light, #8a8f98);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  margin-right: 8px;
}

/* Product details rows */
.tvproduct-description-tab .product-manufacturer,
.tvproduct-description-tab .product-reference,
.tvproduct-description-tab .product-quantities,
.tvproduct-description-tab .product-condition,
.tvproduct-description-tab .product-availability-date {
  padding: 10px 0;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  font-size: 14px;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.tvproduct-description-tab .product-manufacturer:first-child { padding-top: 0; }
.tvproduct-description-tab .product-manufacturer a {
  color: var(--ep-primary, #10ABA0);
  font-weight: 600;
  text-decoration: none;
}
.tvproduct-description-tab .product-manufacturer a:hover { text-decoration: underline; }

/* Hide empty out-of-stock block */
.tvproduct-description-tab .product-out-of-stock:empty { display: none; }

/* Features heading */
.tvproduct-description-tab .product-features { margin-top: 16px; }
.tvproduct-description-tab .product-features .h6 {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ep-dark, #1A1F2E);
  margin-bottom: 8px;
}

/* Description tab content */
.tvproduct-description-tab .product-description {
  font-size: 14px;
  line-height: 1.7;
  color: var(--ep-text, #2d3436);
  max-width: 800px;
}
.tvproduct-description-tab .product-description p { margin-bottom: 12px; }

/* --- 15.6 Accessories carousel --- */
.tvcmslike-product { margin-top: 40px; }
.tvcmslike-product .tvmain-title h2 {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ep-dark, #1A1F2E);
}

/* --- 15.7 Responsive --- */
@media (max-width: 767px) {
  .product-1 .tv-product-page-image { padding-right: 15px; margin-bottom: 20px; }
  .product-1 .tv-product-page-content { padding-left: 15px; }
  .product-1 .tvproduct-title-brandimage h1.h1 { font-size: 22px; }
  .product-1 .product-prices .price { font-size: 26px; }
}

/* =============================================================================
   §16 Cart Page — B2B Clean
   ============================================================================= */

/* -- 16.1 Global button override: dark (#1A1F2E) instead of theme color — tvsearch excluded -- */
.tvall-inner-btn:not(.tvheader-search-btn):not(.tvsearch-more-search):not(.form-control-submit),
.tvall-inner-btn:not(.tvheader-search-btn):not(.tvsearch-more-search):not(.form-control-submit):hover,
.tvall-inner-btn:not(.tvheader-search-btn):not(.tvsearch-more-search):not(.form-control-submit):focus,
a.tvall-inner-btn:not(.tvheader-search-btn):not(.tvsearch-more-search):not(.form-control-submit),
a.tvall-inner-btn:not(.tvheader-search-btn):not(.tvsearch-more-search):not(.form-control-submit):hover,
button.tvall-inner-btn:not(.tvheader-search-btn):not(.tvsearch-more-search):not(.form-control-submit) {
  background: var(--ep-dark, #1A1F2E) !important;
  border-color: var(--ep-dark, #1A1F2E) !important;
  color: #fff !important;
  transition: background 0.2s, box-shadow 0.2s;
}
.tvall-inner-btn:not(.tvsearch-more-search):not(.form-control-submit):hover,
a.tvall-inner-btn:not(.tvsearch-more-search):not(.form-control-submit):hover {
  background: #2a3142 !important;
  border-color: #2a3142 !important;
  box-shadow: 0 2px 8px rgba(26,31,46,0.25);
}
/* Override theme color CSS — keep button text white on hover */
.tvall-inner-btn:hover span,
.tvall-inner-btn:hover i { color: #fff !important; }

/* -- 16.2 Cart page layout -- */
.page-cart .cart-grid { gap: 24px; }
.page-cart .card.cart-container {
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: none;
  overflow: hidden;
  padding: 0;
}

/* -- 16.3 Cart header -- */
.ep-cart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
}
.ep-cart-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ep-dark, #1A1F2E);
  margin: 0;
}
.ep-cart-count {
  font-family: var(--ep-font, 'Barlow', sans-serif);
  font-size: 13px;
  font-weight: 500;
  color: var(--ep-text-light, #8a8f98);
}

/* -- 16.4 Table header -- */
.ep-cart-table-head {
  display: flex;
  align-items: center;
  padding: 8px 24px;
  background: var(--ep-bg, #F5F6F8);
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--ep-text-light, #8a8f98);
}
.ep-cart-table-head .ep-cart-col-img { width: 80px; flex-shrink: 0; }
.ep-cart-table-head .ep-cart-col-info { flex: 1; }
.ep-cart-table-head .ep-cart-col-qty { width: 90px; flex-shrink: 0; }
.ep-cart-table-head .ep-cart-col-total { width: 100px; flex-shrink: 0; text-align: right; }
.ep-cart-table-head .ep-cart-col-delete { width: 40px; flex-shrink: 0; }

/* -- 16.5 Product row -- */
.ep-cart-row-product {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  gap: 12px;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  transition: background 0.15s;
}
.ep-cart-row-product:last-child { border-bottom: none; }
.ep-cart-row-product:hover { background: #fafbfc; }
.ep-cart-row-product .ep-cart-col-img { flex-shrink: 0; }
.ep-cart-row-product .ep-cart-col-info { flex: 1; min-width: 0; }
.ep-cart-row-product .ep-cart-col-qty { width: 90px; flex-shrink: 0; }
.ep-cart-row-product .ep-cart-col-total { width: 100px; flex-shrink: 0; text-align: right; }
.ep-cart-row-product .ep-cart-col-delete { width: 40px; flex-shrink: 0; }

.ep-cart-row-product .ep-cart-col-img {
  width: 80px;
  height: 80px;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ep-cart-row-product .ep-cart-col-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
  box-sizing: border-box;
  mix-blend-mode: multiply;
}
.ep-cart-row-product .ep-cart-col-img img.ep-no-img { opacity: 0.3; }

/* Hide Bootstrap TouchSpin buttons in cart */
.page-cart .bootstrap-touchspin .input-group-btn-vertical,
.page-cart .input-group-btn-vertical { display: none !important; }
.page-cart .bootstrap-touchspin { display: flex !important; align-items: center; }

.ep-cart-col-info { min-width: 0; }
.ep-cart-product-name {
  display: block;
  font-family: var(--ep-font, 'Barlow', sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
  text-decoration: none;
  line-height: 1.4;
  margin-bottom: 4px;
}
.ep-cart-product-name:hover { color: var(--ep-primary, #10ABA0); }
.ep-cart-product-ref {
  font-family: var(--ep-font-mono, 'JetBrains Mono', monospace);
  font-size: 11px;
  color: var(--ep-text-light, #8a8f98);
  margin-bottom: 3px;
}
.ep-cart-product-unit-price {
  font-size: 12px;
  color: var(--ep-text-light, #8a8f98);
}

.ep-cart-col-qty { display: flex; align-items: center; }
.ep-cart-qty-input {
  width: 64px;
  height: 36px;
  text-align: center;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 6px;
  font-family: var(--ep-font, 'Barlow', sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
  -moz-appearance: textfield;
}
.ep-cart-qty-input::-webkit-inner-spin-button,
.ep-cart-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ep-cart-qty-input:focus { outline: none; border-color: var(--ep-primary, #10ABA0); }

.ep-cart-col-total {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
  text-align: right;
}

.ep-cart-col-delete { display: flex; align-items: center; justify-content: center; }
.ep-cart-delete {
  color: var(--ep-text-light, #8a8f98);
  transition: color 0.15s;
  display: flex;
}
.ep-cart-delete:hover { color: #e74c3c; }

/* -- 16.6 Cart summary (right column) -- */
.page-cart .card.cart-summary {
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 2px 12px rgba(26,31,46,0.06);
  overflow: hidden;
  position: sticky;
  top: 20px;
  background: #fff;
}
.page-cart .cart-summary .card-block { padding: 20px 24px; }
.page-cart .cart-summary .cart-summary-line {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 8px 0;
  font-family: var(--ep-font, 'Barlow', sans-serif);
  font-size: 14px; color: var(--ep-text, #2d3436);
}
.page-cart .cart-summary .cart-summary-line .label { font-weight: 500; }
.page-cart .cart-summary .cart-summary-line .value { font-weight: 600; }
.page-cart .cart-summary .cart-total {
  font-size: 18px;
  padding: 16px 0 8px;
  margin-top: 4px;
  border-top: 1px solid var(--ep-border, #e5e7eb);
}
.page-cart .cart-summary .cart-total .label {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px;
  font-size: 18px;
}
.page-cart .cart-summary .cart-total .value {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 24px; font-weight: 700; color: var(--ep-dark, #1A1F2E);
}
.page-cart .cart-summary .separator { display: none; }

/* -- 16.7 B2B notice -- */
.ep-cart-notice { padding: 12px 24px 16px; border-top: 1px solid var(--ep-border, #e5e7eb); }
.ep-cart-notice small {
  font-size: 12px; color: var(--ep-text-light, #8a8f98);
  line-height: 1.5; font-style: italic; display: block;
}

/* -- 16.8 Proceed to checkout button -- */
.page-cart .checkout.cart-detailed-actions { padding: 0 24px 24px; }
.page-cart .tvprocess-to-checkout { width: 100%; }
.page-cart .tvprocess-to-checkout .material-icons { font-size: 20px; }

/* -- 16.9 Continue shopping button -- */
.ep-cart-continue { margin-top: 16px; }

/* -- 16.10 Voucher form -- */
.page-cart .block-promo .promo-code {
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 6px; overflow: hidden;
}
.page-cart .block-promo input[type="text"] {
  border: none; padding: 10px 12px;
  font-family: var(--ep-font, 'Barlow', sans-serif); font-size: 13px;
}
.page-cart .block-promo .btn {
  background: var(--ep-dark, #1A1F2E) !important;
  border: none !important; color: #fff !important;
  font-size: 13px; font-weight: 600;
}

/* -- 16.11 Responsive -- */
@media (max-width: 991px) {
  .page-cart .cart-grid-body { margin-bottom: 0; margin-top: 8px; }
  .page-cart .card { margin-bottom: 0 !important; }
  /* Continue shopping — move next to checkout via CSS order */
  .page-cart .checkout.cart-detailed-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .page-cart .ep-cart-continue,
  .page-cart .cart-detailed-actions .ep-btn-outline {
    order: 2 !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
  }
  .page-cart .card.cart-summary { position: static; }
  .page-cart .cart-grid-body .card {
    border-radius: 8px 8px 0 0 !important;
    border-bottom: none !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
  }
  .page-cart .card.cart-summary {
    border-radius: 0 0 8px 8px !important;
    border-top: none !important;
    box-shadow: none !important;
  }
}
@media (max-width: 640px) {
  .ep-cart-table-head { display: none; }
  .ep-cart-row-product {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    padding: 8px 8px !important;
    gap: 8px !important;
  }
  .ep-cart-row-product .ep-cart-col-img {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    border-radius: 4px !important;
  }
  .ep-cart-row-product .ep-cart-col-img img { padding: 2px !important; }
  .ep-cart-row-product .ep-cart-col-info {
    flex: 1 !important;
    min-width: 0 !important;
  }
  .ep-cart-row-product .ep-cart-product-name {
    font-size: 11px !important;
    line-height: 1.2 !important;
    -webkit-line-clamp: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
  .ep-cart-row-product .ep-cart-product-ref { font-size: 9px !important; }
  .ep-cart-row-product .ep-cart-product-unit-price { font-size: 10px !important; }
  .ep-cart-row-product .ep-cart-col-qty {
    width: 40px !important;
    min-width: 40px !important;
  }
  .ep-cart-row-product .ep-cart-qty-input {
    width: 36px !important;
    height: 28px !important;
    font-size: 12px !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .ep-cart-row-product .ep-cart-col-total {
    width: auto !important;
    min-width: 50px !important;
    text-align: right !important;
    font-size: 12px !important;
  }
  .ep-cart-row-product .ep-cart-col-delete {
    width: 24px !important;
    min-width: 24px !important;
  }
  .ep-cart-row-product .ep-cart-col-delete svg {
    width: 14px !important;
    height: 14px !important;
  }
}

/* =============================================================================
   §17 Checkout Page — B2B Invoice Style
   ============================================================================= */

/* -- 17.0 Layout -- */
body#checkout .tv-main-div { overflow: visible !important; overflow-x: hidden !important; }
body#checkout #wrapper { padding-top: 24px !important; }

/* Hide PS checkout steps — kept in DOM for form processing */
body#checkout .ep-checkout-steps-hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* But make all step content visible so PS JS can interact */
body#checkout .ep-checkout-steps-hidden .checkout-step .content {
  display: block !important;
}
body#checkout .ep-checkout-steps-hidden .checkout-step {
  display: block !important;
}

/* Invoice centered layout */
body#checkout .ep-invoice-checkout,
body#order-confirmation .ep-invoice-checkout,
body.page-order-detail .ep-invoice-checkout {
  max-width: 860px;
  margin: 0 auto;
}

/* Confirmation page uses same invoice styles */
body#order-confirmation .ep-invoice,
body.page-order-detail .ep-invoice { max-width: 860px; margin: 0 auto; }

/* -- 17.1 Invoice container -- */
body#checkout .ep-invoice,
body#order-confirmation .ep-invoice,
body.page-order-detail .ep-invoice {
  background: #fff;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  overflow: hidden;
  font-family: var(--ep-font, 'Barlow', sans-serif);
}

/* -- 17.2 Invoice header -- */
body#checkout .ep-inv-header,
body#order-confirmation .ep-inv-header,
body.page-order-detail .ep-inv-header {
  padding: 28px 32px 20px;
  border-bottom: 2px solid var(--ep-dark, #1A1F2E);
}
body#checkout .ep-inv-title,
body#order-confirmation .ep-inv-title,
body.page-order-detail .ep-inv-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}
body#checkout .ep-inv-title h1,
body#order-confirmation .ep-inv-title h1,
body.page-order-detail .ep-inv-title h1 {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--ep-dark, #1A1F2E);
  margin: 0;
}
body#checkout .ep-inv-draft,
body#order-confirmation .ep-inv-draft,
body.page-order-detail .ep-inv-draft {
  font-family: var(--ep-font-mono, 'JetBrains Mono', monospace);
  font-size: 14px;
  color: var(--ep-text-light, #8a8f98);
  font-weight: 500;
}
body#checkout .ep-inv-company,
body#order-confirmation .ep-inv-company,
body.page-order-detail .ep-inv-company {
  font-size: 16px;
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
  margin-top: 6px;
}
body#checkout .ep-inv-company:empty,
body#order-confirmation .ep-inv-company:empty,
body.page-order-detail .ep-inv-company:empty { display: none; }
body#checkout .ep-inv-customer-name,
body#order-confirmation .ep-inv-customer-name,
body.page-order-detail .ep-inv-customer-name,
body#checkout [data-ep-addr-company] {
  font-size: 14px;
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
  margin-bottom: 4px;
}
body#checkout [data-ep-addr-company]:empty { display: none; }

/* -- 17.3 Addresses row -- */
body#checkout .ep-inv-addresses,
body#order-confirmation .ep-inv-addresses,
body.page-order-detail .ep-inv-addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 24px 32px;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
}
body#checkout .ep-inv-addr-label,
body#order-confirmation .ep-inv-addr-label,
body.page-order-detail .ep-inv-addr-label {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--ep-text-light, #8a8f98);
  margin-bottom: 6px;
}
body#checkout .ep-inv-addr-value,
body#order-confirmation .ep-inv-addr-value,
body.page-order-detail .ep-inv-addr-value {
  font-size: 14px;
  font-weight: 500;
  color: var(--ep-dark, #1A1F2E);
  line-height: 1.5;
}

body#checkout .ep-inv-addresses,
body#order-confirmation .ep-inv-addresses,
body.page-order-detail .ep-inv-addresses { position: relative; }
body#checkout .ep-inv-change-addr-main,
body#order-confirmation .ep-inv-change-addr-main,
body.page-order-detail .ep-inv-change-addr-main {
  position: absolute;
  top: 24px;
  right: 32px;
}

/* -- 17.9b Address modal -- */
body#checkout #ep-address-modal .modal-content {
  background: #fff;
  border-radius: 10px;
  border: none;
  box-shadow: 0 8px 40px rgba(0,0,0,0.15);
}
body#checkout #ep-address-modal .modal-header {
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  padding: 16px 24px;
}
body#checkout #ep-address-modal .modal-title {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ep-dark, #1A1F2E);
}
body#checkout #ep-address-modal .modal-body { padding: 20px 24px; }
body#checkout .ep-address-options { display: flex; flex-direction: column; gap: 8px; }
body#checkout .ep-addr-option {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 6px;
  padding: 14px 16px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}
body#checkout .ep-addr-option:hover { border-color: #ccc; }
body#checkout .ep-addr-option.selected {
  border-color: var(--ep-primary, #10ABA0);
  background: #f0faf9;
}
body#checkout .ep-addr-radio {
  width: 20px; height: 20px; flex-shrink: 0;
  border: 2px solid #ccc; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
body#checkout .ep-addr-option.selected .ep-addr-radio { border-color: var(--ep-primary, #10ABA0); }
body#checkout .ep-addr-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: transparent;
}
body#checkout .ep-addr-dot.checked { background: var(--ep-primary, #10ABA0); }
body#checkout .ep-addr-text {
  font-size: 14px;
  font-weight: 500;
  color: var(--ep-dark, #1A1F2E);
  line-height: 1.5;
}

body#checkout .ep-addr-same-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: var(--ep-dark, #1A1F2E);
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
}
body#checkout .ep-addr-same-label input[type="checkbox"] {
  width: 16px; height: 16px; accent-color: var(--ep-primary, #10ABA0);
}
body#checkout .ep-addr-section-title {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--ep-text-light, #8a8f98);
  margin: 16px 0 8px;
}
body#checkout .ep-addr-section-title:first-child { margin-top: 0; }

/* -- 17.4 Delivery row -- */
body#checkout .ep-inv-delivery,
body#order-confirmation .ep-inv-delivery,
body.page-order-detail .ep-inv-delivery {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 32px;
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  background: #fafbfc;
}
body#checkout .ep-inv-delivery-label,
body#order-confirmation .ep-inv-delivery-label,
body.page-order-detail .ep-inv-delivery-label {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ep-text-light, #8a8f98);
  margin-right: 10px;
}
body#checkout .ep-inv-delivery-value,
body#order-confirmation .ep-inv-delivery-value,
body.page-order-detail .ep-inv-delivery-value {
  font-size: 14px;
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
}
body#checkout .ep-inv-change-btn,
body#order-confirmation .ep-inv-change-btn,
body.page-order-detail .ep-inv-change-btn {
  background: none;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 4px;
  padding: 4px 14px;
  font-family: var(--ep-font, 'Barlow', sans-serif);
  font-size: 12px;
  font-weight: 600;
  color: var(--ep-primary, #10ABA0);
  cursor: pointer;
  transition: all 0.15s;
}
body#checkout .ep-inv-change-btn:hover,
body#order-confirmation .ep-inv-change-btn:hover,
body.page-order-detail .ep-inv-change-btn:hover {
  background: var(--ep-primary, #10ABA0);
  color: #fff;
  border-color: var(--ep-primary, #10ABA0);
}

/* -- 17.5 Items table -- */
body#checkout .ep-inv-items,
body#order-confirmation .ep-inv-items,
body.page-order-detail .ep-inv-items { padding: 0 32px; }

/* Items header with CHANGE button */
body#checkout .ep-inv-items-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0 10px;
  border-bottom: none;
}
body#checkout .ep-inv-items-title {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ep-text-light, #8a8f98);
}
body#checkout .ep-inv-change-cart {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ep-primary, #10ABA0);
  border: 1px solid var(--ep-primary, #10ABA0);
  border-radius: 4px;
  padding: 4px 10px;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
body#checkout .ep-inv-change-cart:hover {
  background: var(--ep-primary, #10ABA0);
  color: #fff;
}
body#checkout .ep-inv-table,
body#order-confirmation .ep-inv-table,
body.page-order-detail .ep-inv-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
body#checkout .ep-inv-table thead th,
body#order-confirmation .ep-inv-table thead th,
body.page-order-detail .ep-inv-table thead th {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ep-text-light, #8a8f98);
  padding: 12px 8px;
  border-bottom: 2px solid var(--ep-border, #e5e7eb);
  text-align: left;
}
body#checkout .ep-inv-th-num,
body#order-confirmation .ep-inv-th-num,
body.page-order-detail .ep-inv-th-num { width: 40px; }
body#checkout .ep-inv-th-qty,
body#order-confirmation .ep-inv-th-qty,
body.page-order-detail .ep-inv-th-qty { width: 60px; text-align: center !important; }
body#checkout .ep-inv-th-price,
body#order-confirmation .ep-inv-th-price,
body.page-order-detail .ep-inv-th-price,
body#checkout .ep-inv-th-total,
body#order-confirmation .ep-inv-th-total { width: 100px; text-align: right !important; }

body#checkout .ep-inv-table tbody td,
body#order-confirmation .ep-inv-table tbody td,
body.page-order-detail .ep-inv-table tbody td {
  padding: 10px 8px;
  border-bottom: 1px solid #f0f1f3;
  vertical-align: top;
  color: var(--ep-text, #2d3436);
}
body#checkout .ep-inv-table tbody tr:last-child td,
body#order-confirmation .ep-inv-table tbody tr:last-child td,
body.page-order-detail .ep-inv-table tbody tr:last-child td { border-bottom: none; }
body#checkout .ep-inv-num,
body#order-confirmation .ep-inv-num,
body.page-order-detail .ep-inv-num {
  font-family: var(--ep-font-mono, 'JetBrains Mono', monospace);
  font-size: 12px;
  color: var(--ep-text-light, #8a8f98);
}
body#checkout .ep-inv-pname,
body#order-confirmation .ep-inv-pname,
body.page-order-detail .ep-inv-pname {
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
  display: block;
}
body#checkout .ep-inv-pattr,
body#order-confirmation .ep-inv-pattr,
body.page-order-detail .ep-inv-pattr {
  font-size: 12px;
  color: var(--ep-text-light, #8a8f98);
  display: block;
  margin-top: 2px;
}
body#checkout .ep-inv-qty,
body#order-confirmation .ep-inv-qty,
body.page-order-detail .ep-inv-qty { text-align: center; font-weight: 600; white-space: nowrap; }
body#checkout .ep-inv-price,
body#order-confirmation .ep-inv-price,
body.page-order-detail .ep-inv-price {
  text-align: right;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-weight: 600;
}
body#checkout .ep-inv-total,
body#order-confirmation .ep-inv-total,
body.page-order-detail .ep-inv-total {
  text-align: right;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
}

/* -- 17.6 Totals -- */
body#checkout .ep-inv-totals,
body#order-confirmation .ep-inv-totals,
body.page-order-detail .ep-inv-totals {
  padding: 16px 32px;
  border-top: 2px solid var(--ep-dark, #1A1F2E);
}
body#checkout .ep-inv-total-row,
body#order-confirmation .ep-inv-total-row,
body.page-order-detail .ep-inv-total-row {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 32px;
}
body#checkout .ep-inv-grand-total .ep-inv-total-label,
body#order-confirmation .ep-inv-grand-total .ep-inv-total-label,
body.page-order-detail .ep-inv-grand-total .ep-inv-total-label {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--ep-dark, #1A1F2E);
}
body#checkout .ep-inv-grand-total .ep-inv-total-value,
body#order-confirmation .ep-inv-grand-total .ep-inv-total-value,
body.page-order-detail .ep-inv-grand-total .ep-inv-total-value {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 26px;
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
}

/* -- 17.6b Shipping row in tfoot (styled like product row) -- */
body#checkout .ep-inv-shipping-row td,
body#order-confirmation .ep-inv-shipping-row td,
body.page-order-detail .ep-inv-shipping-row td {
  border-top: 1px solid #f0f1f3;
  padding: 10px 8px;
  vertical-align: top;
  color: var(--ep-text, #2d3436);
}
body#checkout .ep-inv-shipping-num,
body#order-confirmation .ep-inv-shipping-num,
body.page-order-detail .ep-inv-shipping-num {
  color: var(--ep-text-light, #8a8f98);
}
body#checkout .ep-inv-shipping-total,
body#order-confirmation .ep-inv-shipping-total,
body.page-order-detail .ep-inv-shipping-total {
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
}
body#checkout .ep-shipping-free,
body#order-confirmation .ep-shipping-free {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: var(--ep-primary, #10ABA0);
  letter-spacing: 0.5px;
}

/* -- 17.7 Notice — hidden (shipping shown inline) -- */
body#checkout .ep-inv-notice { display: none; }

/* -- 17.7b Notes -- */
body#checkout .ep-inv-notes,
body#order-confirmation .ep-inv-notes,
body.page-order-detail .ep-inv-notes {
  padding: 16px 32px;
  border-top: 1px solid var(--ep-border, #e5e7eb);
}
body#checkout .ep-inv-notes-label,
body#order-confirmation .ep-inv-notes-label,
body.page-order-detail .ep-inv-notes-label {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--ep-text-light, #8a8f98);
  margin-bottom: 6px;
  display: block;
}
body#checkout .ep-inv-notes-field,
body#order-confirmation .ep-inv-notes-field,
body.page-order-detail .ep-inv-notes-field {
  width: 100%;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 13px;
  font-family: var(--ep-font-body);
  color: var(--ep-dark, #1A1F2E);
  resize: vertical;
  min-height: 44px;
  transition: border-color 0.15s;
}
body#checkout .ep-inv-notes-field:focus,
body#order-confirmation .ep-inv-notes-field:focus,
body.page-order-detail .ep-inv-notes-field:focus {
  outline: none;
  border-color: var(--ep-primary, #10ABA0);
}

/* -- 17.8 Footer: confirm + order button -- */
body#checkout .ep-inv-footer,
body#order-confirmation .ep-inv-footer,
body.page-order-detail .ep-inv-footer {
  padding: 24px 32px;
  border-top: 1px solid var(--ep-border, #e5e7eb);
  background: #fafbfc;
}
body#checkout .ep-inv-confirm-label,
body#order-confirmation .ep-inv-confirm-label,
body.page-order-detail .ep-inv-confirm-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  color: var(--ep-text, #2d3436);
  line-height: 1.4;
  margin-bottom: 16px;
}
body#checkout .ep-inv-confirm-label input[type="checkbox"],
body#order-confirmation .ep-inv-confirm-label input[type="checkbox"],
body.page-order-detail .ep-inv-confirm-label input[type="checkbox"] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--ep-primary, #10ABA0);
  cursor: pointer;
}
body#checkout .ep-inv-order-btn,
body#order-confirmation .ep-inv-order-btn,
body.page-order-detail .ep-inv-order-btn {
  display: block;
  width: 100%;
  padding: 16px 32px;
  background: var(--ep-primary, #10ABA0);
  border: none;
  border-radius: 6px;
  color: #fff;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  cursor: pointer;
  transition: background 0.2s, box-shadow 0.2s, opacity 0.2s;
}
body#checkout .ep-inv-order-btn:hover:not(:disabled),
body#order-confirmation .ep-inv-order-btn:hover:not(:disabled),
body.page-order-detail .ep-inv-order-btn:hover:not(:disabled) {
  background: #0d9488;
  box-shadow: 0 4px 16px rgba(16,171,160,0.35);
}
body#checkout .ep-inv-order-btn:disabled,
body#order-confirmation .ep-inv-order-btn:disabled,
body.page-order-detail .ep-inv-order-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* -- 17.9 Delivery modal -- */
body#checkout #ep-delivery-modal .modal-content {
  background: #fff;
  border-radius: 10px;
  border: none;
  box-shadow: 0 8px 40px rgba(0,0,0,0.15);
}
body#checkout #ep-delivery-modal .modal-header {
  border-bottom: 1px solid var(--ep-border, #e5e7eb);
  padding: 16px 24px;
}
body#checkout #ep-delivery-modal .modal-title {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ep-dark, #1A1F2E);
}
body#checkout #ep-delivery-modal .modal-body { padding: 20px 24px; }
body#checkout #ep-delivery-modal .continue,
body#checkout #ep-delivery-modal button[name="confirmDeliveryOption"] { display: none !important; }
body#checkout #ep-delivery-modal #hook-display-before-carrier,
body#checkout #ep-delivery-modal #hook-display-after-carrier,
body#checkout #ep-delivery-modal #extra_carrier { display: none !important; }
body#checkout .ep-delivery-options { display: flex; flex-direction: column; gap: 8px; }
body#checkout .ep-delivery-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 6px;
  padding: 12px 16px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
  margin: 0;
}
body#checkout .ep-delivery-item:hover { border-color: #ccc; }
body#checkout .ep-delivery-item.selected,
body#checkout .ep-delivery-item:has(input:checked) {
  border-color: var(--ep-primary, #10ABA0);
  background: #f0faf9;
}
body#checkout .ep-carrier-name {
  font-size: 14px; font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
}
body#checkout .ep-carrier-delay {
  font-size: 13px;
  color: var(--ep-text-light, #8a8f98);
  margin-left: auto;
}
body#checkout .ep-carrier-price {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 15px; font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
  white-space: nowrap;
}

/* -- 17.10 Responsive -- */
@media (max-width: 767px) {
  body#checkout .ep-inv-header,
body#order-confirmation .ep-inv-header,
  body.page-order-detail .ep-inv-header { padding: 20px 20px 16px; }
  body#checkout .ep-inv-addresses,
body#order-confirmation .ep-inv-addresses,
  body.page-order-detail .ep-inv-addresses { grid-template-columns: 1fr; gap: 16px; padding: 20px; }
  body#checkout .ep-inv-delivery,
body#order-confirmation .ep-inv-delivery,
  body.page-order-detail .ep-inv-delivery { padding: 14px 20px; }
  body#checkout .ep-inv-items,
body#order-confirmation .ep-inv-items,
  body.page-order-detail .ep-inv-items { padding: 0 16px; }
  body#checkout .ep-inv-totals,
body#order-confirmation .ep-inv-totals,
  body.page-order-detail .ep-inv-totals { padding: 14px 20px; }
  body#checkout .ep-inv-footer,
body#order-confirmation .ep-inv-footer,
  body.page-order-detail .ep-inv-footer { padding: 20px; }
  body#checkout .ep-inv-title,
body#order-confirmation .ep-inv-title h1,
  body.page-order-detail .ep-inv-title h1 { font-size: 22px; }
  body#checkout .ep-inv-grand-total,
body#order-confirmation .ep-inv-grand-total .ep-inv-total-value,
  body.page-order-detail .ep-inv-grand-total .ep-inv-total-value { font-size: 22px; }
}
@media (max-width: 991px) {
  /* Checkout — compact items table */
  body#checkout .ep-inv-items table th:first-child,
  body#checkout .ep-inv-items table td:first-child,
  body#order-confirmation .ep-inv-items table th:first-child,
  body#order-confirmation .ep-inv-items table td:first-child {
    display: none !important;
  }
  body#checkout .ep-inv-items table th:nth-child(4),
  body#checkout .ep-inv-items table td:nth-child(4),
  body#order-confirmation .ep-inv-items table th:nth-child(4),
  body#order-confirmation .ep-inv-items table td:nth-child(4) {
    display: none !important;
  }
  body#checkout .ep-inv-items table td,
  body#checkout .ep-inv-items table th {
    padding: 6px 4px !important;
    font-size: 11px !important;
  }
  body#checkout .ep-inv-items { padding: 0 8px !important; }
  body#checkout .ep-inv-header { padding: 12px !important; }
  body#checkout .ep-inv-addresses { padding: 12px !important; }
  body#checkout .ep-inv-delivery { padding: 10px 12px !important; }
  body#checkout .ep-inv-totals { padding: 10px 12px !important; }
  body#checkout .ep-inv-footer { padding: 12px !important; }
  body#checkout .ep-inv-title { font-size: 18px !important; }
  body#checkout .ep-inv-change-btn {
    font-size: 10px !important;
    padding: 3px 8px !important;
  }
  body#checkout .ep-inv-addr-label { font-size: 9px !important; margin-bottom: 0 !important; }
  body#checkout .ep-inv-addr-name { font-size: 12px !important; margin-bottom: 0 !important; }
  body#checkout .ep-inv-addr-line { font-size: 11px !important; }
  body#checkout .ep-inv-addresses {
    gap: 8px !important;
    padding: 8px 12px !important;
  }
  body#checkout .ep-inv-delivery {
    padding: 6px 12px !important;
    font-size: 11px !important;
  }
  body#checkout .ep-inv-carrier-name { font-size: 12px !important; }
  body#checkout .ep-inv-items-header { padding: 6px 4px !important; }
  body#checkout .ep-inv-items-title { font-size: 11px !important; }
  /* Modals above header */
  body#checkout .modal-backdrop {
    z-index: 99998 !important;
  }
  body#checkout .modal {
    z-index: 99999 !important;
  }
  body#checkout .modal-dialog {
    margin-top: 100px !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
  body#checkout .modal-header { padding: 10px 16px !important; }
  body#checkout .modal-body { padding: 12px 16px !important; }
  body#checkout .modal-title { font-size: 16px !important; }
  body#checkout .modal .close { top: 8px !important; right: 8px !important; }
  body#checkout .modal .address-item,
  body#checkout .modal label.label-radio {
    padding: 8px 10px !important;
    font-size: 13px !important;
    margin-bottom: 6px !important;
  }
  /* Delivery modal — compact carriers */
  body#checkout .ep-delivery-options { gap: 4px !important; }
  body#checkout .ep-delivery-item {
    padding: 8px 10px !important;
    gap: 8px !important;
  }
  body#checkout .ep-carrier-name { font-size: 13px !important; }
  body#checkout .ep-carrier-delay { font-size: 11px !important; }
  body#checkout #ep-delivery-modal .modal-body { padding: 12px !important; }

  /* Order confirmation + Order detail — compact mobile */
  body#order-confirmation #content-wrapper,
  body#order-confirmation #wrapper .container,
  body.page-order-detail #content-wrapper,
  body.page-order-detail #wrapper .container {
    padding: 0 2px !important;
  }
  body#order-confirmation .ep-inv-items table th:first-child,
  body#order-confirmation .ep-inv-items table td:first-child,
  body#order-confirmation .ep-inv-items table th:nth-child(4),
  body#order-confirmation .ep-inv-items table td:nth-child(4),
  body.page-order-detail .ep-inv-items table th:first-child,
  body.page-order-detail .ep-inv-items table td:first-child,
  body.page-order-detail .ep-inv-items table th:nth-child(4),
  body.page-order-detail .ep-inv-items table td:nth-child(4) {
    display: none !important;
  }
  body#order-confirmation .ep-inv-items table td,
  body#order-confirmation .ep-inv-items table th,
  body.page-order-detail .ep-inv-items table td,
  body.page-order-detail .ep-inv-items table th {
    padding: 6px 4px !important;
    font-size: 11px !important;
  }
  body.page-order-detail #content {
    margin: 16px auto 16px !important;
  }
  body.page-order-detail .ep-conf-actions {
    flex-direction: column;
    align-items: stretch;
    padding: 16px 20px 20px;
  }
  body.page-order-detail .ep-conf-btn {
    text-align: center;
  }
  body.page-order-detail .ep-conf-email-note {
    flex-wrap: wrap;
    gap: 6px;
  }

  /* My Account — compact */
  .page-customer-account #wrapper .container,
  .page-my-account #wrapper .container {
    padding: 0 8px !important;
  }
  .ep-account-card {
    padding: 12px 14px !important;
    gap: 10px !important;
  }
  .ep-account-card-title { font-size: 14px !important; }
  .ep-account-card-desc { font-size: 11px !important; }
  .ep-account-card svg { width: 28px !important; height: 28px !important; }
  .ep-account-welcome {
    padding: 12px 16px !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .ep-account-welcome h2 { font-size: 18px !important; margin: 0 !important; }
  .ep-account-company { font-size: 11px !important; }
  .ep-account-signout { font-size: 11px !important; margin: 0 !important; }
  /* CHANGE buttons — use flexbox in each section */
  body#checkout .ep-inv-addresses {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }
  body#checkout .ep-inv-addresses .ep-inv-addr {
    flex: 1 1 100% !important;
  }
  body#checkout .ep-inv-addresses > .ep-inv-change-btn {
    position: absolute !important;
    right: 12px !important;
    top: 8px !important;
  }
  body#checkout .ep-inv-addresses {
    position: relative !important;
  }
  body#checkout .ep-inv-delivery {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  body#checkout .ep-inv-delivery .ep-inv-change-btn {
    position: static !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
  }
  body#checkout .ep-inv-items-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 6px 4px !important;
  }
  body#checkout .ep-inv-items-header .ep-inv-change-btn {
    position: static !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
  }
  body#checkout .ep-inv-title { font-size: 18px !important; }
  body#checkout .ep-inv-ref { font-size: 12px !important; }
}

/* ==========================================================================
   §18 — Order Confirmation (B2B Invoice style — same as checkout but CONFIRMED)
   ========================================================================== */

/* Confirmed invoice — reuses .ep-invoice styles + watermark */
.ep-invoice-confirmed {
  position: relative;
  overflow: hidden;
}

/* Diagonal watermark */
.ep-inv-watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-35deg);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 120px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 8px;
  color: rgba(16, 171, 160, 0.12);
  pointer-events: none;
  z-index: 0;
  white-space: nowrap;
  user-select: none;
}

/* Confirmed badge (replaces #draft) */
.ep-inv-confirmed-badge {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  color: #10ABA0;
  background: rgba(16, 171, 160, 0.08);
  border: 1px solid rgba(16, 171, 160, 0.25);
  padding: 4px 12px;
  margin-left: 12px;
  vertical-align: middle;
}

.ep-conf-email-note {
  font-size: 13px;
  color: #888;
  padding: 8px 30px 0;
}
.ep-conf-email-note strong { color: #555; }

/* Top margin for confirmation page */
body#order-confirmation .ep-invoice-confirmed,
body.page-order-detail .ep-invoice-confirmed { margin-top: 0; margin-bottom: 40px; }

/* Read-only addresses (no Change button, position relative for watermark z-index) */
.ep-inv-addresses-readonly { position: relative; z-index: 1; }

/* Read-only notes */
.ep-inv-notes-readonly {
  padding: 12px 30px 16px;
  border-top: 1px solid #e8e8e8;
  position: relative;
  z-index: 1;
}
.ep-inv-notes-readonly .ep-inv-notes-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #999;
  margin-bottom: 4px;
}
.ep-inv-notes-text {
  font-size: 14px;
  color: #1A1F2E;
  line-height: 1.5;
}

/* Ensure all content above watermark */
.ep-invoice-confirmed .ep-inv-header,
.ep-invoice-confirmed .ep-inv-addresses,
.ep-invoice-confirmed .ep-inv-delivery,
.ep-invoice-confirmed .ep-inv-items,
.ep-invoice-confirmed .ep-inv-totals,
.ep-invoice-confirmed .ep-inv-notice,
.ep-invoice-confirmed .ep-inv-notes,
.ep-invoice-confirmed .ep-conf-details,
.ep-invoice-confirmed .ep-conf-actions,
.ep-invoice-confirmed .ep-conf-success-banner {
  position: relative;
  z-index: 1;
}

/* Success banner — separate box above invoice */
.ep-conf-success-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(16, 171, 160, 0.06);
  border: 1px solid rgba(16, 171, 160, 0.2);
  border-radius: 6px;
  padding: 18px 24px;
  margin: 30px auto 16px;
  max-width: 860px;
}
.ep-conf-success-banner svg { flex-shrink: 0; }
.ep-conf-success-text { display: flex; flex-direction: column; gap: 2px; }
.ep-conf-success-text strong {
  font-family: 'Barlow', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: #1A1F2E;
}
.ep-conf-success-text span {
  font-size: 13px;
  color: #6b7280;
}

/* Details row */
.ep-conf-details {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #e8e8e8;
}

.ep-conf-detail {
  flex: 1;
  padding: 16px 30px;
  border-right: 1px solid #e8e8e8;
}
.ep-conf-detail:last-child { border-right: none; }

.ep-conf-detail-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #999;
  margin-bottom: 4px;
}
.ep-conf-detail-value {
  font-size: 14px;
  font-weight: 600;
  color: #1A1F2E;
}

/* Reuse invoice table styles */
.ep-conf-items { padding: 0; }

/* Actions */
.ep-conf-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 24px 30px 32px;
}

.ep-conf-btn {
  display: inline-block;
  padding: 12px 28px;
  font-family: 'Barlow', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 0;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.ep-conf-btn-primary {
  background: #10ABA0;
  color: #fff;
  border: 2px solid #10ABA0;
}
.ep-conf-btn-primary:hover {
  background: #0e9a90;
  color: #fff;
  text-decoration: none;
}

.ep-conf-btn-outline {
  background: transparent;
  color: #1A1F2E;
  border: 2px solid #1A1F2E;
}
.ep-conf-btn-outline:hover {
  background: #1A1F2E;
  color: #fff;
  text-decoration: none;
}

/* Payment return info — hidden for B2B */
.ep-conf-payment-info { display: none; }
#content-hook_payment_return { display: none; }

/* Hide default PS card styling on confirmation */
#content-hook_order_confirmation { display: none; }
.tvorder-conformation-wrapper { display: none; }
body#order-confirmation .page-header { display: none; }
body#order-confirmation .breadcrumb { display: none; }
body#order-confirmation #content-hook-order-confirmation-footer { display: none; }
body#order-confirmation #registration-form { display: none; }

/* Reuse invoice table in confirmation */
.ep-confirmation .ep-inv-table { width: 100%; }
.ep-confirmation .ep-inv-totals { padding: 16px 30px; }
.ep-confirmation .ep-inv-notice { padding: 0 30px 8px; }

@media (max-width: 767px) {
  .ep-confirmation { margin: 0 10px 30px; }
  .ep-conf-header { padding: 30px 20px 20px; }
  .ep-conf-title { font-size: 22px; }
  .ep-conf-details { flex-direction: column; }
  .ep-conf-detail { border-right: none; border-bottom: 1px solid #e8e8e8; padding: 12px 20px; }
  .ep-conf-actions { flex-direction: column; align-items: stretch; padding: 20px; }
  .ep-conf-btn { text-align: center; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   §19 — My Account (B2B Dashboard)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hide default PS page title — we use custom welcome */
body.page-my-account #content .page-header { display: none; }

.ep-account {
  max-width: 740px;
  margin: 0 auto;
  padding: 20px 0 40px;
}

/* Welcome header */
.ep-account-welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 28px 28px 20px;
  border-bottom: 2px solid var(--ep-dark, #1A1F2E);
}
.ep-account-greeting h2 {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 26px;
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
  margin: 0;
}
.ep-account-company {
  display: block;
  font-size: 13px;
  color: #8a8f98;
  font-weight: 500;
  margin-top: 2px;
}
.ep-account-signout {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #8a8f98;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 4px;
  transition: all 0.2s;
}
.ep-account-signout:hover {
  color: #e74c3c;
  background: rgba(231, 76, 60, 0.06);
}

/* Cards grid */
.ep-account-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ep-account-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  text-decoration: none;
  color: var(--ep-dark, #1A1F2E);
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s;
}
.ep-account-card:first-child {
  border-top: 1px solid #f0f0f0;
}
.ep-account-card:hover {
  background: rgba(16, 171, 160, 0.04);
  padding-left: 28px;
}
.ep-account-card:hover .ep-account-card-icon {
  color: var(--ep-primary, #10ABA0);
}
.ep-account-card:hover .ep-account-card-arrow {
  color: var(--ep-primary, #10ABA0);
  transform: translateX(3px);
}

/* Primary card — Orders */
.ep-account-card-primary {
  background: rgba(16, 171, 160, 0.04);
  border-left: 3px solid var(--ep-primary, #10ABA0);
}
.ep-account-card-primary .ep-account-card-icon {
  color: var(--ep-primary, #10ABA0);
}

.ep-account-card-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  transition: color 0.2s;
}

.ep-account-card-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ep-account-card-title {
  font-family: var(--ep-font, 'Barlow', sans-serif);
  font-size: 15px;
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
}
.ep-account-card-desc {
  font-size: 13px;
  color: #8a8f98;
}

.ep-account-card-arrow {
  flex-shrink: 0;
  color: #ccc;
  transition: all 0.2s;
}

/* Hide default PS my-account link-item styling */
body.page-my-account .links { display: none; }

/* Hook items — style old-format links as ep-account cards */
.ep-account-hook-items {
  display: flex;
  flex-direction: column;
}
.ep-account-hook-items > a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  text-decoration: none;
  color: var(--ep-dark, #1A1F2E);
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s;
  float: none;
  width: auto;
}
.ep-account-hook-items > a:hover {
  background: rgba(16, 171, 160, 0.04);
  padding-left: 28px;
}
.ep-account-hook-items > a .link-item {
  display: flex;
  align-items: center;
  gap: 16px;
  border: none;
  padding: 0;
  background: none;
  font-family: var(--ep-font, 'Barlow', sans-serif);
  font-size: 15px;
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
}
.ep-account-hook-items > a .link-item i.material-icons {
  font-size: 24px;
  color: #6b7280;
  width: 44px;
  text-align: center;
}

/* Hook items bottom — hide alerts and invoices (invoices shown separately above) */
.ep-account-hook-items > a[id*="alert"],
.ep-account-hook-items > a[title*="alert" i] { display: none !important; }
.ep-account-hook-items > #customer-invoices-link { display: none !important; }

/* Wishlists icon — grey outline, not black filled */
.ep-account-hook-items > a .link-item i.material-icons {
  color: #6b7280 !important;
  -webkit-text-fill-color: #6b7280 !important;
}

/* Invoices hook wrapper */
.ep-account-hook-invoices { display: contents; }

/* White card wrapper */
body.page-my-account #content,
body[id="my-account"] #content {
  background: #fff;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  max-width: 740px;
  margin: 30px auto 40px;
}
body.page-my-account .page-content { padding: 0; }
body.page-my-account .page-footer { display: none; }

/* Hide PS page header — we have custom welcome */
body.page-my-account .page-header { display: none !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §20 — Orders History (B2B)
   ═══════════════════════════════════════════════════════════════════════════ */

/* White card wrapper — same as My Account */
body.page-order-history #content,
body.page-history #content {
  background: #fff;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  max-width: 860px;
  margin: 30px auto 40px;
}
body.page-order-history .page-content,
body.page-history .page-content { padding: 0; }
body.page-order-history .page-footer,
body.page-history .page-footer { display: none; }
body.page-order-history .page-header,
body.page-history .page-header { display: none !important; }
body.page-order-history .breadcrumb,
body.page-history .breadcrumb { display: none !important; }

.ep-orders {
  padding: 0;
}

/* Header */
.ep-orders-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 28px 18px;
  border-bottom: 2px solid var(--ep-dark, #1A1F2E);
}
.ep-orders-header h2 {
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 24px;
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.ep-orders-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #8a8f98;
  text-decoration: none;
  padding: 6px 12px;
  border-radius: 4px;
  transition: all 0.2s;
}
.ep-orders-back:hover {
  color: var(--ep-primary, #10ABA0);
  background: rgba(16, 171, 160, 0.06);
}

/* Table */
.ep-orders-table-wrap { overflow-x: auto; }
.ep-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--ep-font, 'Barlow', sans-serif);
}
.ep-orders-table thead th {
  padding: 12px 16px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8a8f98;
  border-bottom: 1px solid #e5e7eb;
  white-space: nowrap;
}
.ep-orders-table tbody td {
  padding: 14px 16px;
  font-size: 14px;
  color: var(--ep-dark, #1A1F2E);
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}
.ep-orders-table tbody tr:last-child td { border-bottom: none; }
.ep-orders-table tbody tr:hover { background: rgba(16, 171, 160, 0.02); }

.ep-orders-ref {
  font-family: var(--ep-font-mono, 'JetBrains Mono', monospace);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.ep-orders-date { color: #6b7280; white-space: nowrap; }
.ep-orders-total {
  font-weight: 600;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 15px;
}
.ep-orders-payment { color: #8a8f98; font-size: 13px; }

/* Status badge */
.ep-orders-status {
  display: inline-block;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  border-radius: 3px;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Invoice link */
.ep-orders-invoice-link {
  color: var(--ep-primary, #10ABA0);
  transition: color 0.2s;
}
.ep-orders-invoice-link:hover { color: var(--ep-dark, #1A1F2E); }
.ep-orders-no-invoice { color: #ccc; }

/* Action links */
.ep-orders-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
}
.ep-orders-action-link {
  font-size: 13px;
  font-weight: 500;
  color: var(--ep-primary, #10ABA0);
  text-decoration: none;
  transition: color 0.2s;
  white-space: nowrap;
}
.ep-orders-action-link:hover { color: var(--ep-dark, #1A1F2E); }
.ep-orders-reorder { color: #8a8f98; }
.ep-orders-reorder:hover { color: var(--ep-primary, #10ABA0); }

/* Empty state */
.ep-orders-empty {
  text-align: center;
  padding: 60px 20px;
  color: #8a8f98;
}
.ep-orders-empty svg { margin-bottom: 16px; }
.ep-orders-empty p {
  font-size: 15px;
  margin: 0;
}

/* Mobile cards */
.ep-orders-mobile { padding: 0 16px 16px; }
.ep-orders-mobile-card {
  display: block;
  text-decoration: none;
  color: var(--ep-dark, #1A1F2E);
  padding: 14px 0;
  border-bottom: 1px solid #f0f0f0;
  transition: background 0.15s;
}
.ep-orders-mobile-card:hover { background: rgba(16, 171, 160, 0.02); }
.ep-orders-mobile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.ep-orders-mobile-ref {
  font-family: var(--ep-font-mono, 'JetBrains Mono', monospace);
  font-size: 14px;
  font-weight: 600;
}
.ep-orders-mobile-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #8a8f98;
}
.ep-orders-mobile-total {
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 15px;
}

/* Breadcrumb — hide on my-account pages */
body[id="my-account"] .breadcrumb,
body.page-my-account .breadcrumb,
body.page-customer-account .breadcrumb { display: none !important; }


/* ═══════════════════════════════════════════════════════════════════════════
   §21 — Order Detail page (uses same ep-inv-* styles as confirmation via body.page-order-detail selectors)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Page wrapper */
body.page-order-detail #content {
  max-width: 860px;
  margin: 30px auto 40px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
body.page-order-detail .page-content { padding: 0; }
body.page-order-detail .page-footer { display: none; }
body.page-order-detail .page-header { display: none !important; }
body.page-order-detail .breadcrumb { display: none !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   §22 — Invoices page (sc_synchronization, reuses ep-orders-* classes)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Invoices page — use .ep-invoices-page class on wrapper for reliable targeting */
.ep-invoices-page { padding: 0; }
.ep-invoices-page ~ .page-footer { display: none; }

/* Also target via body class as fallback */
body[class*="page-module-sc_synchronization-invoices"] #content,
body[class*="page-module-sc_synchronization"] #content:has(.ep-invoices-page) {
  background: #fff;
  border: 1px solid var(--ep-border, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  max-width: 860px;
  margin: 30px auto 40px;
}
body[class*="page-module-sc_synchronization-invoices"] .page-content,
body[class*="page-module-sc_synchronization"] .page-content:has(.ep-invoices-page) { padding: 0; }
body[class*="page-module-sc_synchronization-invoices"] .page-footer,
body[class*="page-module-sc_synchronization"] .page-footer { display: none; }
body[class*="page-module-sc_synchronization-invoices"] .page-header,
body[class*="page-module-sc_synchronization"] .page-header { display: none !important; }
body[class*="page-module-sc_synchronization-invoices"] .breadcrumb,
body[class*="page-module-sc_synchronization"] .breadcrumb { display: none !important; }
body[class*="page-module-sc_synchronization-invoices"] #content-wrapper,
body[class*="page-module-sc_synchronization"] #content-wrapper { flex: 0 0 100% !important; max-width: 100% !important; }

/* Pagination */
.ep-invoices-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 16px 32px 24px;
}
.ep-invoices-page-info {
  font-size: 13px;
  color: var(--ep-text-light, #8a8f98);
  font-family: var(--ep-font-mono, 'JetBrains Mono', monospace);
}

/* Date + status in header */
body.page-order-detail .ep-conf-email-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  font-size: 13px;
  color: var(--ep-text-light, #8a8f98);
}

@media (max-width: 767px) {
  .ep-account { padding: 12px 0 30px; }
  .ep-account-welcome { flex-direction: column; align-items: flex-start; gap: 12px; }
  .ep-account-greeting h2 { font-size: 22px; }
  .ep-account-card { padding: 16px 16px; }
}

/* Orders / Invoices — compact on mobile */
@media (max-width: 767px) {
  body.page-order-history #content,
  body.page-history #content,
  body[class*="page-module-sc_synchronization-invoices"] #content,
  body[class*="page-module-sc_synchronization"] #content { margin: 16px auto 16px; }
  .ep-orders-status {
    font-size: 9px;
    padding: 2px 7px;
    letter-spacing: 0.02em;
  }
  .ep-orders-mobile-card { padding: 8px 0; }
  .ep-orders-mobile-top { margin-bottom: 2px; }
  .ep-orders-mobile-ref { font-size: 13px; }
  .ep-orders-mobile-meta { font-size: 11px; }
  .ep-orders-mobile-total { font-size: 13px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   §23 — Addresses (B2B)
   ═══════════════════════════════════════════════════════════════════════════ */

.ep-addr-delete {
  color: #e74c3c !important;
}
.ep-addr-delete:hover {
  color: #c0392b !important;
}

.ep-addr-footer {
  padding: 16px 32px 28px;
}
.ep-addr-footer .ep-conf-btn {
  display: inline-block;
  font-size: 13px;
  padding: 10px 24px;
}

.ep-addr-toast {
  margin: 0 32px 20px;
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 14px;
  text-align: center;
}
.ep-addr-toast-ok {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}
.ep-addr-toast-err {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

@media (max-width: 767px) {
  .ep-addr-footer { padding: 12px 16px 24px; }
  .ep-addr-toast { margin: 0 16px 16px; }
}

/* ============================================================
   §24 — Wishlist (tvcmswishlist)
   ============================================================ */

/* Expanded product block inside wishlist */
#block-order-detail { margin: 0 32px 24px; }

.ep-wl-products {
  border-top: 1px solid #e5e7eb;
  padding-top: 8px;
}
.ep-wl-products-empty {
  padding: 20px 0;
  color: #9ca3af;
  font-size: 14px;
  text-align: center;
}

.ep-wl-items-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Barlow', sans-serif;
}
.ep-wl-items-table thead th {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #8a8f98;
  padding: 8px 10px;
  border-bottom: 1px solid #e5e7eb;
  text-align: left;
}
.ep-wl-items-table tbody tr {
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.15s;
}
.ep-wl-items-table tbody tr:hover { background: #f9fafb; }
.ep-wl-items-table tbody td {
  padding: 10px 10px;
  font-size: 13px;
  color: #374151;
  vertical-align: middle;
}

.ep-wlp-name a {
  color: #1A1F2E;
  font-weight: 500;
  text-decoration: none;
}
.ep-wlp-name a:hover { color: #10ABA0; }

.ep-wlp-ref {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: #6b7280;
}

.ep-wlp-view .ep-wlp-btn-view {
  color: #10ABA0;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.ep-wlp-view .ep-wlp-btn-view:hover { text-decoration: underline; }

.ep-wlp-del { text-align: right; }
.ep-wlp-del a { color: #9ca3af; transition: color 0.15s; }
.ep-wlp-del a:hover { color: #ef4444; }

@media (max-width: 575px) {
  #block-order-detail { margin: 0 16px 16px; }
  .ep-wl-items-table thead { display: none; }
  .ep-wl-items-table tbody tr { display: block; padding: 8px 0; }
  .ep-wl-items-table tbody td { display: block; padding: 4px 0; }
  .ep-wlp-del { text-align: left; }
}

/* Wishlist products header + buttons */
.ep-wl-products-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0 10px;
  border-bottom: 2px solid #1A1F2E;
  margin-bottom: 0;
}
.ep-wl-products-count {
  font-size: 12px;
  color: #6b7280;
  font-family: 'Barlow', sans-serif;
}
.ep-wl-add-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #10ABA0;
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 5px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  cursor: pointer;
  transition: background 0.15s;
}
.ep-wl-add-all-btn:hover { background: #0e9990; }
.ep-wl-add-all-btn:disabled { opacity: 0.7; cursor: wait; }

.ep-wlp-atc { white-space: nowrap; }
.ep-wlp-btn-atc {
  background: none;
  border: 1px solid #d1d5db;
  color: #374151;
  padding: 5px 10px;
  border-radius: 4px;
  font-family: 'Barlow', sans-serif;
  font-size: 12px;
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
  white-space: nowrap;
}
.ep-wlp-btn-atc:hover { border-color: #10ABA0; color: #10ABA0; }
.ep-wlp-btn-atc:disabled { opacity: 0.6; cursor: wait; }

/* §25 — Wishlist add button (product page) */
.ep-wl-add-wrap { display: inline-block; }
.ep-wl-add-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Barlow', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #9ca3af;
  text-decoration: none !important;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  transition: color 0.2s;
  line-height: 1;
}
.ep-wl-add-btn:hover, .ep-wl-add-btn:focus { color: #10ABA0; outline: none; }
.ep-wl-add-btn:hover svg { stroke: #10ABA0; }
.ep-wl-add-btn svg { flex-shrink: 0; stroke: #9ca3af; transition: stroke 0.2s; }
.ep-wl-chevron { display: none; }

.ep-wl-dropdown-wrap { position: relative; display: inline-block; }
.ep-wl-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(26,31,46,0.14), 0 2px 8px rgba(26,31,46,0.06);
  min-width: 240px;
  z-index: 500;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.ep-wl-dd-header {
  padding: 10px 32px 8px !important;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #9ca3af;
  border-bottom: 1px solid #f3f4f6;
  background: #fafafa;
}
.ep-wl-dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 32px !important;
  font-family: 'Barlow', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #1A1F2E;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 0.12s, color 0.12s;
  white-space: nowrap;
  border-bottom: 1px solid #f3f4f6;
}
.ep-wl-dropdown-item:last-child { border-bottom: none; }
.ep-wl-dropdown-item svg { flex-shrink: 0; transition: fill 0.15s, stroke 0.15s; }
.ep-wl-dropdown-item:hover { background: #e6f7f6 !important; color: #10ABA0; }
.ep-wl-dropdown-item:hover svg { fill: #10ABA0; stroke: #10ABA0; }
.ep-wl-item-default { background: #f8fffe; }
.ep-wl-default-tag {
  margin-left: auto;
  font-size: 10px;
  font-family: 'Barlow', sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #10ABA0;
  background: #e6f7f6;
  padding: 3px 8px;
  border-radius: 3px;
}

/* ============================================================
   §26 — Login + Password pages
   ============================================================ */
body#authentication,
body#password { background: #f4f6f8 !important; }
body#authentication .tv-main-div,
body#password .tv-main-div,
body#authentication #wrapper,
body#password #wrapper,
body#authentication #main,
body#password #main { background: #f4f6f8 !important; }
body#authentication #left-column,
body#password #left-column { display: none !important; }
body#authentication #content-wrapper,
body#password #content-wrapper {
  background: #f4f6f8 !important;
  padding: 56px 16px 80px !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
body#authentication .ep-breadcrumb,
body#authentication nav.breadcrumb,
body#authentication .page-header,
body#authentication .ep-footer-top,
body#authentication .ep-footer-mid,
body#password .ep-breadcrumb,
body#password nav.breadcrumb,
body#password .page-header,
body#password .ep-footer-top,
body#password .ep-footer-mid { display: none !important; }

.ep-login-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.ep-login-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  padding: 40px 48px 36px;
  width: 100%;
  max-width: 460px;
}
/* New website notice on login */
.ep-login-notice {
  display: flex;
  gap: 12px;
  background: #e8f8f7;
  border: 1px solid var(--ep-primary, #10ABA0);
  border-radius: 6px;
  padding: 14px 16px;
  margin-bottom: 20px;
}
.ep-login-notice-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: var(--ep-primary, #10ABA0);
  color: #fff;
  font-weight: 800;
  font-size: 18px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.ep-login-notice-text {
  font-size: 13px;
  line-height: 1.5;
  color: #1a2a3a;
}
.ep-login-notice-text strong {
  font-size: 14px;
  display: block;
  margin-bottom: 4px;
}
.ep-login-notice-text p {
  margin: 3px 0 0;
  font-size: 12px;
  color: #4a5568;
}
.ep-login-notice-text a {
  color: var(--ep-primary, #10ABA0);
  font-weight: 600;
  text-decoration: underline;
}
.ep-login-brand {
  text-align: center;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 2px solid #1A1F2E;
}
.ep-login-logo {
  max-height: 44px;
  max-width: 180px;
  object-fit: contain;
  margin-bottom: 12px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.ep-login-tagline {
  font-family: 'Barlow', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #9ca3af;
  margin: 0;
}
.ep-login-form .ep-login-field { margin-bottom: 20px; }
.ep-login-form .ep-login-field label {
  display: block;
  font-family: 'Barlow', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 6px;
}
.ep-login-form .ep-login-field input {
  width: 100%;
  height: 42px;
  border: 1.5px solid #e5e7eb;
  border-radius: 3px;
  padding: 0 12px;
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  color: #1A1F2E;
  background: #fff;
  transition: border-color 0.15s;
  box-sizing: border-box;
}
.ep-login-form .ep-login-field input:focus {
  outline: none;
  border-color: #10ABA0;
}
.ep-login-form .ep-login-field .input-group {
  border: 1.5px solid #e5e7eb !important;
  border-radius: 3px !important;
  transition: border-color 0.15s;
}
.ep-login-form .ep-login-field .input-group:focus-within { border-color: #10ABA0 !important; }
.ep-login-form .ep-login-field .input-group .form-control {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  border-radius: 0 !important;
  height: 42px !important;
  padding: 0 12px !important;
  font-size: 15px !important;
  color: #1A1F2E !important;
  background: #fff !important;
}
.ep-login-form .ep-login-field .input-group .form-control:focus {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.ep-login-form .ep-login-field span.input-group-btn {
  border-left: 1px solid #e5e7eb !important;
  background: #f4f6f8 !important;
}
.ep-login-form .ep-login-field span.input-group-btn .btn {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #6b7280 !important;
  padding: 0 14px !important;
  height: 42px !important;
}
.ep-login-form .ep-login-field .input-group .btn {
  background: #f4f6f8;
  border: none;
  border-left: 1px solid #e5e7eb;
  padding: 0 14px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #6b7280;
  cursor: pointer;
  height: 42px;
}
.ep-login-forgot {
  text-align: right;
  margin-bottom: 24px;
  margin-top: -8px;
}
.ep-login-forgot a {
  font-family: 'Barlow', sans-serif;
  font-size: 13px;
  color: #10ABA0;
  text-decoration: none;
}
.ep-login-forgot a:hover { text-decoration: underline; }
.ep-login-btn {
  width: 100%;
  height: 46px;
  background: #10ABA0;
  color: #fff;
  border: none;
  border-radius: 3px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.15s;
}
.ep-login-btn:hover { background: #0e9990; }
.ep-login-register {
  text-align: center;
  margin-top: 24px;
  font-family: 'Barlow', sans-serif;
  font-size: 13px;
  color: #6b7280;
}
.ep-login-register a {
  color: #10ABA0;
  font-weight: 600;
  text-decoration: none;
  margin-left: 4px;
}
.ep-login-register a:hover { text-decoration: underline; }
@media (max-width: 520px) {
  .ep-login-card { padding: 28px 20px 24px; }
}
.ep-pw-title {
  font-family: 'Barlow', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1A1F2E;
  margin-bottom: 8px;
}
.ep-pw-desc {
  font-family: 'Barlow', sans-serif;
  font-size: 14px;
  color: #6b7280;
  margin-bottom: 24px;
  line-height: 1.5;
}
.ep-login-errors {
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 3px;
  padding: 10px 14px;
  margin-bottom: 16px;
  font-size: 13px;
  color: #dc2626;
}


/* ========================================================
   §27 — Search autocomplete dropdown
   ======================================================== */

.tvsearch-result {
  z-index: 9999 !important;
  margin-top: 4px !important;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.14) !important;
}

.tvcmssearch-dropdown {
  background: #fff;
  border: 1px solid #e5e7eb !important;
  border-bottom: 3px solid #10ABA0 !important;
  border-radius: 6px;
  padding: 12px !important;
}

/* Product items */
.tvsearch-dropdown-wrapper a {
  display: flex !important;
  align-items: center;
  padding: 8px 10px !important;
  border: none !important;
  border-bottom: 1px solid #f3f4f6 !important;
  border-radius: 4px;
  transition: background 0.15s;
  gap: 10px;
  text-decoration: none !important;
}
.tvsearch-dropdown-wrapper a:hover {
  background: #f0faf9 !important;
  border-color: #f0faf9 !important;
}
.tvsearch-dropdown-wrapper:last-child a {
  border-bottom: none !important;
}

.tvsearch-dropdown-img-block {
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0;
  border-radius: 4px;
  overflow: hidden;
  background: #f9f9f9;
}
.tvsearch-dropdown-img-block img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.tvsearch-dropdown-content-box {
  width: auto !important;
  flex: 1;
  padding-left: 0 !important;
}

.tvsearch-dropdown-title {
  font-family: 'Barlow', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1A1F2E !important;
  margin-bottom: 2px !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tvsearch-dropdown-price .tvsearch-dropdown-new-price {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #10ABA0 !important;
  float: none !important;
  margin-right: 6px;
}
.tvsearch-dropdown-price .tvsearch-dropdown-old-price {
  font-size: 11px !important;
  color: #9ca3af !important;
  float: none !important;
  text-decoration: line-through;
}

/* "No products found" message */
.tvsearch-dropdown-total {
  font-family: 'Barlow', sans-serif;
  font-size: 13px;
  color: #6b7280;
  padding: 8px 4px;
}

/* "MORE RESULT" button */
.tvsearch-more-search,
.tvsearch-more-search.tvall-inner-btn {
  background: transparent !important;
  border: 1.5px solid var(--ep-primary) !important;
  border-radius: 6px !important;
  color: var(--ep-primary) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 7px 24px !important;
  margin: 10px auto 4px !important;
  width: auto !important;
  display: table !important;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.tvsearch-more-search:hover,
.tvsearch-more-search.tvall-inner-btn:hover {
  background: var(--ep-primary) !important;
  color: #fff !important;
}
.tvsearch-more-search a,
.tvsearch-more-search.tvall-inner-btn a {
  color: inherit !important;
  text-decoration: none !important;
  display: block;
}

/* Items layout — full width list */
.tvsearch-all-dropdown-wrapper {
  margin: 0 !important;
}
.tvsearch-dropdown-wrapper {
  width: 100% !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   § 404 PAGE
   ========================================================================== */
.ep-404-wrap {
  max-width: 560px;
  margin: 60px auto 80px;
  text-align: center;
  padding: 48px 40px;
  background: #fff;
  border: 1px solid #eaecf0;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(26,31,46,0.06);
}
.ep-404-code {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 120px;
  font-weight: 700;
  line-height: 1;
  color: #10ABA0;
  letter-spacing: -4px;
}
.ep-404-line {
  width: 48px;
  height: 3px;
  background: var(--ep-primary);
  margin: 16px auto;
  border-radius: 2px;
}
.ep-404-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #1A1F2E;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 10px;
}
.ep-404-sub {
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  color: #6b7280;
  margin: 0 0 28px;
  line-height: 1.6;
}
.ep-404-search {
  margin-bottom: 24px;
}
.ep-404-search .search-widget,
.ep-404-search #search_widget { width: 100% !important; }
.ep-404-search .search-widget form,
.ep-404-search #search_widget form {
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid #d0d5dd !important;
  border-radius: 8px !important;
  background: #fff !important;
  overflow: hidden !important;
  height: 46px !important;
  box-shadow: 0 1px 2px rgba(16,24,40,0.05) !important;
}
.ep-404-search .search-widget form:focus-within,
.ep-404-search #search_widget form:focus-within {
  border-color: #10ABA0 !important;
  box-shadow: 0 0 0 3px rgba(16,171,160,0.12) !important;
}
.ep-404-search .search-widget form input[type="text"],
.ep-404-search #search_widget form input[type="text"] {
  flex: 1 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  font-size: 14px !important;
  padding: 0 14px !important;
  height: 100% !important;
  outline: none !important;
}
.ep-404-search .search-widget form button,
.ep-404-search #search_widget form button {
  background: transparent !important;
  border: none !important;
  border-left: 1px solid #eaecf0 !important;
  width: 46px !important;
  height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.ep-404-home-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 28px;
  background: #1A1F2E;
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.18s;
}
.ep-404-home-btn:hover { background: #252b3d; color: #fff; text-decoration: none; }

/* ==========================================================================
   § ABOUT US / CMS PAGES
   ========================================================================== */
.page-cms #left-column { display: none !important; }
.page-cms #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
.page-cms .breadcrumb { display: none !important; }
.page-cms #wrapper { background: #f4f6f8; padding-top: 0 !important; }
.page-cms .page-header { display: none !important; }
.page-cms #main { padding-top: 0 !important; margin-top: 0 !important; }
.cms-description p { padding-bottom: 0 !important; }

.ep-about-page { max-width: 1100px; margin: 0 auto; padding: 0 24px 80px; }

/* Hero */
.ep-about-hero {
  text-align: center;
  padding: 28px 24px 36px;
  border-bottom: 2px solid #10ABA0;
  margin-bottom: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ep-about-hero-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #10ABA0;
  margin-bottom: 20px;
}
.ep-about-hero-logo {
  max-height: 72px;
  width: auto;
  margin-bottom: 20px;
}
.ep-about-hero-sub {
  font-size: 17px;
  color: #6b7280;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.65;
  text-align: center;
}

/* Grid */
.ep-about-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
@media (max-width: 900px) { .ep-about-grid { grid-template-columns: 1fr; } }

/* Block */
.ep-about-block {
  background: #fff;
  border: 1px solid #eaecf0;
  border-radius: 10px;
  padding: 32px 28px;
}
.ep-about-block-num {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 36px;
  font-weight: 700;
  color: rgba(16,171,160,0.15);
  line-height: 1;
  margin-bottom: 12px;
}
.ep-about-block-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #1A1F2E;
  margin: 0 !important;
  padding-bottom: 12px;
  border-bottom: 2px solid #10ABA0;
}
.ep-about-block p {
  font-size: 14px;
  color: #4b5563;
  line-height: 1.7;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}
.ep-about-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 16px 0 0 0 !important;
  font-family: 'Barlow', sans-serif !important;
}
.ep-about-list li {
  font-family: 'Barlow', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  color: #4b5563 !important;
  line-height: 1.7 !important;
  padding: 9px 0;
  border-bottom: 1px solid #f3f4f6;
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 0 !important;
}
.ep-about-list li:last-child { border-bottom: none; }
.ep-about-list li::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10ABA0;
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 9px;
}

/* Contact block */
.ep-about-contact-list { display: flex; flex-direction: column; gap: 14px; margin: 16px 0 24px 0; }
.ep-about-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: 'Barlow', sans-serif !important;
  font-size: 14px;
  color: #4b5563;
  line-height: 1.5;
}
.ep-about-contact-item svg { color: #10ABA0; flex-shrink: 0; margin-top: 2px; }
.ep-about-contact-item a { color: #1A1F2E; text-decoration: none; }
.ep-about-contact-item a:hover { color: #10ABA0; }

.ep-about-cta {
  display: inline-block !important;
  padding: 10px 24px !important;
  background: #10ABA0 !important;
  color: #fff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  border: none !important;
  transition: background 0.18s !important;
  line-height: 1.4 !important;
}
.ep-about-cta:hover { background: #0d9890 !important; color: #fff !important; text-decoration: none !important; }

/* Hide infinite scroll end block */
#tv-back-top-wrapper { display: none !important; }

/* ==========================================================================
   § UNIFIED BUTTON SYSTEM — overrides all scattered button styles
   3 variants: PRIMARY (green) | DARK (navy) | OUTLINE (green border)
   ========================================================================== */

/* Base shared styles */
.ep-login-btn,
.ep-wl-add-all-btn,
.ep-conf-btn-primary,
.ep-conf-btn-outline,
.ep-inv-order-btn,
.ep-inv-change-btn,
.ep-btn-primary,
.ep-btn-outline,
.ep-register-submit,
.tvsearch-more-search,
.tvsearch-more-search.tvall-inner-btn,
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary,
.page-cart .btn-primary,
.tvall-inner-btn:not(.tvheader-search-btn):not(.ep-add-btn):not(.ep-qty-btn):not(.ep-category-btn) {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1.2 !important;
}

/* PRIMARY — green filled */
.ep-login-btn,
.ep-wl-add-all-btn,
.ep-conf-btn-primary,
.ep-inv-order-btn,
.ep-btn-primary,
.ep-register-submit,
.btn-primary,
button.btn-primary,
input[type="submit"].btn-primary,
.page-cart .btn-primary {
  background: #10ABA0 !important;
  border: 1.5px solid #10ABA0 !important;
  color: #fff !important;
}
.ep-login-btn:hover, .ep-login-btn:focus,
.ep-wl-add-all-btn:hover,
.ep-conf-btn-primary:hover,
.ep-inv-order-btn:hover,
.ep-btn-primary:hover,
.ep-register-submit:hover,
.btn-primary:hover,
button.btn-primary:hover {
  background: #0d9890 !important;
  border-color: #0d9890 !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(16,171,160,0.25) !important;
}

/* DARK — navy filled */
.tvall-inner-btn:not(.tvheader-search-btn):not(.ep-add-btn):not(.ep-qty-btn):not(.ep-category-btn):not(.tvsearch-more-search):not(.form-control-submit) {
  background: #1A1F2E !important;
  border: 1.5px solid #1A1F2E !important;
  color: #fff !important;
}
.tvall-inner-btn:not(.tvheader-search-btn):not(.ep-add-btn):not(.ep-qty-btn):not(.ep-category-btn):not(.tvsearch-more-search):not(.form-control-submit):hover {
  background: #252b3d !important;
  border-color: #252b3d !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(26,31,46,0.2) !important;
}

/* OUTLINE — green border */
.ep-conf-btn-outline,
.ep-inv-change-btn,
.ep-btn-outline,
.tvsearch-more-search,
.tvsearch-more-search.tvall-inner-btn {
  background: transparent !important;
  border: 1.5px solid #10ABA0 !important;
  color: #10ABA0 !important;
  width: auto !important;
}
.ep-conf-btn-outline:hover,
.ep-inv-change-btn:hover,
.ep-btn-outline:hover,
.tvsearch-more-search:hover,
.tvsearch-more-search.tvall-inner-btn:hover {
  background: #10ABA0 !important;
  border-color: #10ABA0 !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Size overrides */
.ep-login-btn,
.ep-inv-order-btn { padding: 12px 32px !important; font-size: 14px !important; }

.ep-inv-change-btn,
.tvsearch-more-search,
.tvsearch-more-search.tvall-inner-btn { padding: 7px 18px !important; font-size: 12px !important; }

/* Search "MORE RESULT" — centered, not full-width */
button.tvsearch-more-search {
  display: block !important;
  margin: 10px auto 4px !important;
  width: auto !important;
  background: transparent !important;
  border: 1.5px solid #10ABA0 !important;
  color: #10ABA0 !important;
  box-shadow: none !important;
  outline: none !important;
}
button.tvsearch-more-search span {
  color: #10ABA0 !important;
}
button.tvsearch-more-search:hover,
button.tvsearch-more-search:focus {
  background: #10ABA0 !important;
  border-color: #10ABA0 !important;
  color: #fff !important;
  box-shadow: none !important;
}
button.tvsearch-more-search:hover span,
button.tvsearch-more-search:focus span {
  color: #fff !important;
}

/* ============================================================
   §27 — Contact Us page
   ============================================================ */
.ep-contact-card {
  max-width: 520px !important;
}
.ep-contact-form-wrap { width: 100%; }
.ep-contact-title {
  font-family: 'Barlow', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #1A1F2E;
  margin: 0 0 28px;
  padding-bottom: 20px;
  border-bottom: 2px solid #1A1F2E;
  letter-spacing: -0.01em;
}
.ep-contact-select {
  width: 100%;
  height: 42px;
  border: 1.5px solid #e5e7eb;
  border-radius: 3px;
  padding: 0 12px;
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  color: #1A1F2E;
  background: #fff;
  transition: border-color 0.15s;
  box-sizing: border-box;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L11 1' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  cursor: pointer;
}
.ep-contact-select:focus {
  outline: none;
  border-color: #10ABA0;
}
.ep-contact-textarea {
  width: 100%;
  border: 1.5px solid #e5e7eb;
  border-radius: 3px;
  padding: 10px 12px;
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  color: #1A1F2E;
  background: #fff;
  transition: border-color 0.15s;
  box-sizing: border-box;
  resize: vertical;
  min-height: 140px;
  line-height: 1.6;
}
.ep-contact-textarea:focus {
  outline: none;
  border-color: #10ABA0;
}
.ep-contact-optional {
  font-weight: 400;
  font-size: 10px;
  color: #9ca3af;
  text-transform: none;
  letter-spacing: 0;
  margin-left: 6px;
}
.ep-contact-notice {
  border-radius: 3px;
  padding: 12px 16px;
  margin-bottom: 20px;
  font-family: 'Barlow', sans-serif;
  font-size: 14px;
  line-height: 1.5;
}
.ep-contact-notice p { margin: 0; }
.ep-contact-notice--success {
  background: #e6f7f6;
  border: 1px solid #10ABA0;
  color: #0a7a71;
}
.ep-contact-notice--error {
  background: #fff5f5;
  border: 1px solid #fc8181;
  color: #c53030;
}
.ep-contact-locked {
  text-align: center;
  padding: 16px 0 8px;
}
.ep-contact-lock-icon {
  width: 60px;
  height: 60px;
  background: #f3f4f6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
}
.ep-contact-locked-title {
  font-family: 'Barlow', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #1A1F2E;
  margin: 0 0 10px;
}
.ep-contact-locked-text {
  font-family: 'Barlow', sans-serif;
  font-size: 14px;
  color: #6b7280;
  line-height: 1.6;
  margin: 0 0 24px;
}

/* ============================================================
   §28 — CMS Document pages (Legal Notice, Terms & Conditions)
   ============================================================ */
.ep-cms-doc {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 24px 80px;
  font-family: 'Barlow', sans-serif;
}

/* Header */
.ep-cms-doc-header {
  text-align: center;
  padding: 32px 0 28px;
  border-bottom: 2px solid #10ABA0;
  margin-bottom: 48px;
}
.ep-cms-doc-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #10ABA0;
  margin-bottom: 12px;
}
.ep-cms-doc h1.ep-cms-doc-title {
  font-family: 'Barlow', sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: #1A1F2E;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
  padding-bottom: 0;
  line-height: 1.1;
}
.ep-cms-doc p.ep-cms-doc-sub {
  font-size: 15px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0 auto;
  max-width: 500px;
  text-align: center;
}
.ep-cms-doc-updated {
  font-size: 12px;
  color: #9ca3af;
  font-style: italic;
  font-weight: 400;
  display: block;
  margin-top: 4px;
}

/* Body typography */
.ep-cms-doc-body h2 {
  font-family: 'Barlow', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1A1F2E;
  margin: 40px 0 14px;
  padding-left: 14px;
  border-left: 3px solid #10ABA0;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 12px;
}
.ep-cms-doc-body h2:first-child { margin-top: 0; }
.ep-cms-doc-body h3 {
  font-family: 'Barlow', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #1A1F2E;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin: 28px 0 10px;
}
.ep-cms-doc .ep-cms-doc-body p {
  font-size: 15px;
  color: #374151;
  line-height: 1.75;
  margin: 0 0 16px;
  text-align: left;
}
.ep-cms-doc-body ul {
  margin: 0 0 16px 0;
  padding: 0;
  list-style: none;
}
.ep-cms-doc-body ul li {
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  color: #374151;
  line-height: 1.7;
  padding: 6px 0 6px 22px;
  position: relative;
  border-bottom: 1px solid #f3f4f6;
}
.ep-cms-doc-body ul li:last-child { border-bottom: none; }
.ep-cms-doc-body ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #10ABA0;
}
.ep-cms-doc-body a {
  color: #10ABA0;
  text-decoration: none;
}
.ep-cms-doc-body a:hover { text-decoration: underline; }
.ep-cms-doc-body em {
  color: #9ca3af;
  font-style: normal;
  font-size: 13px;
}

/* Divider */
.ep-cms-divider {
  height: 2px;
  background: linear-gradient(90deg, #10ABA0 0%, transparent 100%);
  margin: 48px 0;
  border: none;
}

/* Company info card */
.ep-cms-company-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  overflow: hidden;
  margin: 16px 0 24px;
}
.ep-cms-company-row {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 11px 20px;
  border-bottom: 1px solid #f3f4f6;
}
.ep-cms-company-row:last-child { border-bottom: none; }
.ep-cms-company-row > span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #9ca3af;
  min-width: 90px;
  flex-shrink: 0;
}
.ep-cms-company-row > strong {
  font-size: 14px;
  font-weight: 500;
  color: #1A1F2E;
}
.ep-cms-company-row > strong a {
  color: #10ABA0;
  text-decoration: none;
}
.ep-cms-company-row > strong a:hover { text-decoration: underline; }
@media (max-width: 520px) {
  .ep-cms-doc-title { font-size: 26px; }
  .ep-cms-company-row { flex-direction: column; gap: 2px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   §29 CART MODAL (Add to cart popup)
   ══════════════════════════════════════════════════════════════════════════ */

/* Overlay — visible as soon as appended to DOM */
.ep-cart-modal-overlay {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 10100;
  background: rgba(26,31,46,0.45);
  align-items: flex-start;
  justify-content: center;
  padding-top: 120px;
}

/* Card */
.ep-cart-modal {
  background: #fff;
  border-radius: 10px;
  width: 100%;
  max-width: 560px;
  box-shadow: 0 8px 40px rgba(26,31,46,0.18);
  overflow: hidden;
}

/* Header */
.ep-cart-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: var(--ep-primary, #10ABA0);
  color: #fff;
}
.ep-cart-modal-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.ep-cart-modal-close {
  background: none;
  border: none;
  color: rgba(255,255,255,0.8);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
}
.ep-cart-modal-close:hover { color: #fff; }

/* Body */
.ep-cart-modal-body { padding: 20px; }

/* Product row */
.ep-cart-modal-product {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.ep-cart-modal-img {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  border: 1px solid var(--ep-border, #E8EAED);
  border-radius: 6px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ep-cart-modal-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
  box-sizing: border-box;
}
.ep-cart-modal-img img.ep-no-img { opacity: 0.35; }
.ep-cart-modal-info { flex: 1; min-width: 0; }
.ep-cart-modal-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--ep-dark, #1A1F2E);
  line-height: 1.4;
  margin-bottom: 6px;
}
.ep-cart-modal-price {
  font-size: 18px;
  font-weight: 700;
  color: var(--ep-primary, #10ABA0);
  margin-bottom: 4px;
}
.ep-cart-modal-qty {
  font-size: 13px;
  color: #666;
}

/* Divider */
.ep-cart-modal-divider {
  height: 1px;
  background: var(--ep-border, #E8EAED);
  margin: 16px 0;
}

/* Totals */
.ep-cart-modal-totals { display: flex; flex-direction: column; gap: 6px; }
.ep-cart-modal-total-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: #555;
}
.ep-cart-modal-grand {
  font-size: 16px;
  font-weight: 700;
  color: var(--ep-dark, #1A1F2E);
}
.ep-cart-modal-grand small {
  font-size: 12px;
  font-weight: 400;
  color: #888;
  margin-left: 4px;
}

/* Footer */
.ep-cart-modal-footer {
  display: flex;
  gap: 10px;
  padding: 16px 20px;
  border-top: 1px solid var(--ep-border, #E8EAED);
  background: #FAFBFC;
}
.ep-cart-modal-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 6px;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.18s ease;
}
.ep-cart-modal-btn--outline {
  background: #fff;
  border: 1.5px solid var(--ep-border, #E8EAED);
  color: var(--ep-dark, #1A1F2E);
}
.ep-cart-modal-btn--outline:hover {
  border-color: var(--ep-primary, #10ABA0);
  color: var(--ep-primary, #10ABA0);
}
.ep-cart-modal-btn--primary {
  background: var(--ep-primary, #10ABA0);
  border: 1.5px solid var(--ep-primary, #10ABA0);
  color: #fff;
}
.ep-cart-modal-btn--primary:hover {
  background: var(--ep-primary-dark, #0d8f85);
  border-color: var(--ep-primary-dark, #0d8f85);
  color: #fff;
}

@media (max-width: 600px) {
  .ep-cart-modal-overlay { padding-top: 60px; padding-left: 12px; padding-right: 12px; }
  .ep-cart-modal-footer { flex-direction: column; }
}

/* ============================================================
   § BRANDS PAGE
   ============================================================ */
.ep-brands-page {
  max-width: 860px;
  margin: 32px auto 60px;
  padding: 36px 40px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 16px rgba(26,35,50,0.08);
}

.ep-brands-header { margin-bottom: 36px; border-bottom: 2px solid #1a2332; padding-bottom: 14px; }
.ep-brands-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1a2332;
  margin: 0 0 2px;
}
.ep-brands-subtitle {
  font-family: 'Barlow', sans-serif;
  font-size: 12px;
  color: #8a9ab0;
  margin: 0;
}

.ep-brands-group {
  display: flex;
  align-items: flex-start;
  gap: 0;
  border-bottom: 1px solid #edf0f3;
  padding: 8px 0 8px;
}
.ep-brands-group:last-of-type { border-bottom: none; }

.ep-brands-letter {
  width: 56px;
  flex-shrink: 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 38px;
  font-weight: 700;
  color: #10ABA0;
  line-height: 1;
  padding-top: 8px;
  user-select: none;
}

.ep-brands-list {
  flex: 1;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ep-brand-row {
  display: flex;
  align-items: center;
  padding: 10px 12px 10px 0;
  border-bottom: 1px solid #f4f6f8;
  text-decoration: none !important;
  transition: background 0.14s;
  border-radius: 3px;
  margin-bottom: 1px;
}
.ep-brands-list li:last-child .ep-brand-row { border-bottom: none; }
.ep-brand-row:hover { background: #f0fdfc; text-decoration: none !important; }
.ep-brand-row:hover .ep-brand-name { color: #10ABA0; }
.ep-brand-row:hover .ep-brand-arrow { opacity: 1; transform: translateX(4px); }

.ep-brand-name {
  flex: 1;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #1a2332;
  transition: color 0.14s;
  padding-left: 8px;
}

.ep-brand-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #a8b5c2;
  margin-right: 14px;
  white-space: nowrap;
}

.ep-brand-arrow {
  font-size: 15px;
  color: #10ABA0;
  opacity: 0;
  transition: opacity 0.14s, transform 0.14s;
  line-height: 1;
  padding-right: 4px;
}

/* ============================================================
   § CART DROPDOWN
   ============================================================ */
.ttvcmscart-show-dropdown-right {
  width: 380px !important;
  z-index: 10200 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-close-title-count {
  height: 52px !important;
  padding: 0 16px !important;
  border-bottom: 2px solid #1a2332 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-top-title h4 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #1a2332 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-counter {
  background: #10ABA0 !important;
  border-radius: 50% !important;
  width: 22px !important;
  height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-counter .ttvcart-products-count {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.ttvcmscart-show-dropdown-right {
  display: flex !important;
  flex-direction: column !important;
  height: 100vh !important;
  max-height: 100vh !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-scroll-container {
  flex: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-content-box {
  flex: 1 !important;
  max-height: none !important;
  overflow-y: auto !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-price-shipping-text,
.ttvcmscart-show-dropdown-right .ttvcart-product-list-btn-wrapper {
  flex-shrink: 0 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-wrapper {
  padding: 12px 16px !important;
  gap: 12px !important;
  align-items: flex-start !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-wrapper:after,
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value:after {
  left: 16px !important;
  right: 16px !important;
}

.ttvcmscart-show-dropdown-right .tvcart-product-list-img {
  width: 60px !important;
  height: 60px !important;
  flex-shrink: 0 !important;
  margin-right: 0 !important;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-img img {
  width: 60px !important;
  height: 60px !important;
  object-fit: contain !important;
}

.ttvcmscart-show-dropdown-right .tvcart-product-content {
  max-width: unset !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.ttvcmscart-show-dropdown-right .tvshoping-cart-dropdown-title .product-name {
  font-family: 'Barlow', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #1a2332 !important;
  line-height: 1.35 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-box {
  margin-top: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-box .ep-cart-qty {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 12px !important;
  color: #8a9ab0 !important;
  font-weight: 500 !important;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-box .ep-cart-sep {
  color: #c0cdd8 !important;
  font-size: 12px !important;
}
.ttvcmscart-show-dropdown-right .tvcart-product-list-box .product-price {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #10ABA0 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.tax { display: none !important; }
.ttvcmscart-show-dropdown-right .tvcart-product-remove {
  top: 8px !important;
  right: 16px !important;
}
.ttvcmscart-show-dropdown-right .tvcart-product-remove i {
  font-size: 16px !important;
  color: #c0cdd8 !important;
}
.ttvcmscart-show-dropdown-right .tvcart-product-remove i:hover { color: #e74c3c !important; }

.ttvcmscart-show-dropdown-right .ttvcart-price-shipping-text {
  border-top: 1px solid #edf0f3 !important;
  background: #f8f9fa !important;
  padding: 0 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value {
  padding: 10px 16px !important;
  height: auto !important;
  border-bottom: 1px solid #edf0f3 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value .ttvshoping-cart-label {
  font-family: 'Barlow', sans-serif !important;
  font-size: 12px !important;
  color: #6b7a8d !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value .ttvcart-product-value {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1a2332 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.total {
  background: #fff !important;
  padding: 12px 16px !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.total .ttvshoping-cart-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #1a2332 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-label-value.total .ttvcart-product-value {
  font-size: 18px !important;
  color: #10ABA0 !important;
}

.ttvcmscart-show-dropdown-right .ttvcart-product-list-btn-wrapper {
  display: flex !important;
  padding: 12px 16px !important;
  gap: 8px !important;
  background: #fff !important;
  border-top: 1px solid #edf0f3 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart,
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout {
  flex: 1 !important;
  height: 38px !important;
  border-radius: 3px !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart {
  background: transparent !important;
  border: 1px solid #1a2332 !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart a {
  color: #1a2332 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout {
  background: #10ABA0 !important;
  border: none !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout a {
  color: #fff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart:hover { background: #1a2332 !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart:hover a { color: #fff !important; }
.ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout:hover { background: #0d9088 !important; }

/* UOM badge — appears after price everywhere */
.ep-uom {
  font-family: 'Barlow', sans-serif;
  font-size: 0.78em;
  font-weight: 400;
  color: #8a9ab0;
  letter-spacing: 0;
  text-transform: none;
}

/* ============================================================
   § UNIFIED BUTTON SYSTEM
   Все ep-* кнопки и tvall-inner-btn приведены к единым
   переменным: --ep-btn-*. Шаблоны не трогаем.
   ============================================================ */

/* ── Shared mixin (applied via cascade) ── */
.ep-login-btn,
.ep-add-to-cart-btn,
.ep-add-btn,
.ep-btn-primary,
.ep-btn-dark,
.ep-conf-btn-primary,
.ep-category-btn,
.ajax_add_to_cart_button,
.ep-btn-outline,
.ep-conf-btn-outline,
.ep-login-to-buy,
.tvall-inner-btn,
.btn-primary,
.btn-secondary,
.ep-cart-modal-btn,
.ep-cart-modal-btn--primary,
.ep-cart-modal-btn--outline,
.ep-cart-continue {
  font-family: var(--ep-btn-font) !important;
  font-weight: 700 !important;
  text-transform: var(--ep-btn-transform) !important;
  letter-spacing: var(--ep-btn-spacing) !important;
  border-radius: var(--ep-btn-radius) !important;
  transition: var(--ep-btn-transition) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.ep-login-btn:focus,
.ep-add-to-cart-btn:focus,
.tvall-inner-btn:focus { outline: none !important; }

/* ── PRIMARY — green ── */
.ep-login-btn,
.ep-add-to-cart-btn,
.ep-btn-primary,
.ep-conf-btn-primary,
.ep-category-btn,
.ajax_add_to_cart_button,
.btn-primary,
.ep-cart-modal-btn--primary {
  background: var(--ep-btn-primary-bg) !important;
  color: #fff !important;
  border: none !important;
}
.ep-login-btn:hover,
.ep-add-to-cart-btn:hover,
.ep-btn-primary:hover,
.ep-conf-btn-primary:hover,
.ep-category-btn:hover,
.ajax_add_to_cart_button:hover,
.btn-primary:hover,
.ep-cart-modal-btn--primary:hover {
  background: var(--ep-btn-primary-hover) !important;
  box-shadow: var(--ep-btn-primary-shadow) !important;
  color: #fff !important;
}

/* ── DARK — navy ── */
.ep-btn-dark,
.tvall-inner-btn:not(.tvall-inner-btn-cancel):not(.tvsearch-more-search):not(.form-control-submit) {
  background: var(--ep-btn-dark-bg) !important;
  color: #fff !important;
  border: none !important;
}
.ep-btn-dark:hover,
.tvall-inner-btn:not(.tvall-inner-btn-cancel):not(.tvsearch-more-search):not(.form-control-submit):hover {
  background: var(--ep-btn-dark-hover) !important;
  box-shadow: var(--ep-btn-dark-shadow) !important;
  color: #fff !important;
}

/* ── OUTLINE green ── */
.ep-btn-outline,
.ep-conf-btn-outline,
.ep-login-to-buy,
.btn-secondary,
.ep-cart-modal-btn--outline,
.ep-cart-continue {
  background: transparent !important;
  border: 2px solid var(--ep-btn-primary-bg) !important;
  color: var(--ep-btn-primary-bg) !important;
}
.ep-btn-outline:hover,
.ep-conf-btn-outline:hover,
.ep-login-to-buy:hover,
.btn-secondary:hover,
.ep-cart-modal-btn--outline:hover,
.ep-cart-continue:hover {
  background: var(--ep-btn-primary-bg) !important;
  color: #fff !important;
  box-shadow: var(--ep-btn-primary-shadow) !important;
}

/* ── OUTLINE dark (conf page) ── */
.ep-conf-btn-outline {
  border-color: var(--ep-btn-dark-bg) !important;
  color: var(--ep-btn-dark-bg) !important;
}
.ep-conf-btn-outline:hover {
  background: var(--ep-btn-dark-bg) !important;
  color: #fff !important;
  box-shadow: var(--ep-btn-dark-shadow) !important;
}

/* ── mini add-to-cart card (ep-add-btn) ── */
.ep-add-btn {
  background: var(--ep-btn-primary-bg) !important;
  color: #fff !important;
  border: none !important;
}
.ep-add-btn:hover {
  background: var(--ep-btn-primary-hover) !important;
  box-shadow: var(--ep-btn-primary-shadow) !important;
}

/* ── disabled state ── */
.tvall-inner-btn-cancel,
.ep-add-to-cart-btn.disabled,
button:disabled {
  background: #e5e9ef !important;
  color: #a0adb8 !important;
  border: none !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* ── sizes ── */
.ep-login-btn        { padding: var(--ep-btn-lg-padding) !important; font-size: var(--ep-btn-lg-font) !important; width: 100%; }
.ep-add-to-cart-btn  { padding: var(--ep-btn-lg-padding) !important; font-size: var(--ep-btn-lg-font) !important; gap: 8px; }
.ep-btn-primary,
.ep-btn-dark,
.ep-btn-outline      { padding: var(--ep-btn-md-padding) !important; font-size: var(--ep-btn-md-font) !important; gap: 6px; }
.ep-conf-btn-primary,
.ep-conf-btn-outline { padding: var(--ep-btn-md-padding) !important; font-size: var(--ep-btn-md-font) !important; gap: 6px; }
.tvall-inner-btn     { padding: var(--ep-btn-md-padding) !important; font-size: var(--ep-btn-md-font) !important; }
.ep-add-btn          { padding: 0 !important; width: 34px !important; height: 34px !important; font-size: 13px !important; border-radius: var(--ep-btn-radius) !important; flex-shrink: 0 !important; }
.ep-category-btn     { padding: var(--ep-btn-sm-padding) !important; font-size: var(--ep-btn-sm-font) !important; }

/* ═══════════════════════════════════════════════════════════════════
   § HOME CATEGORY SECTIONS
   ═══════════════════════════════════════════════════════════════════ */

/* Hide old tvcms product sections on homepage */
.tvcmsbest-seller-product,
.tvcmsnew-product,
.tvcmsfeatured-product {
  display: none !important;
}

.ep-home-cats {
  padding: 24px 0 56px;
  background: #fff;
  margin-top: 32px;
  margin-bottom: 48px;
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}

/* Main heading "NEW PRODUCTS" */
.ep-home-cats-heading {
  margin: 0 0 28px;
  text-align: center;
}
.ep-home-cats-main-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  color: #1A1F2E;
  letter-spacing: 0.05em;
  margin: 0;
  padding-bottom: 10px;
  border-bottom: 3px solid #10ABA0;
  display: block;
}

.ep-home-cat-section {
  margin: 0 0 20px;
  padding: 28px 12px 24px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}
.ep-home-cat-section:last-child {
  margin-bottom: 0;
}

/* Section header */
.ep-home-cat-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid #eaeef3;
}

.ep-home-cat-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  color: #1A1F2E;
  letter-spacing: 0.06em;
  margin: 0;
  padding-left: 12px;
  border-left: 3px solid #10ABA0;
  line-height: 1.2;
}

.ep-home-cat-viewall {
  font-family: 'Barlow', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #10ABA0;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  transition: color 0.15s ease, gap 0.15s ease;
}
.ep-home-cat-viewall:hover {
  color: #0d9088;
  gap: 8px;
  text-decoration: none;
}

/* Product grid — 6 columns */
.ep-home-cat-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

@media (max-width: 1400px) {
  .ep-home-cat-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 1100px) {
  .ep-home-cat-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
  .ep-home-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* Product card */
.ep-home-prod-card {
  position: relative;
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--ep-border, #e5e7eb);
  box-shadow: none;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.ep-home-prod-card:hover {
  box-shadow: 0 4px 20px rgba(16,171,160,0.12);
  border-color: var(--ep-primary, #10ABA0);
}
/* Left accent stroke — grows upward on hover */
.ep-home-prod-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--ep-primary, #10ABA0);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 2;
}
.ep-home-prod-card:hover::before {
  transform: scaleY(1);
}
/* Image scale on hover */
.ep-home-prod-img {
  transition: transform 0.3s ease;
}
.ep-home-prod-card:hover .ep-home-prod-img {
  transform: scale(1.06);
}

/* Image area */
.ep-home-prod-img-wrap {
  display: block;
  position: relative;
  aspect-ratio: 1 / 1;
  background: #fff;
  overflow: hidden;
  flex-shrink: 0;
  border-bottom: 1px solid #f0f2f5;
}

.ep-home-prod-img-link {
  display: block;
  width: 100%;
  height: 100%;
}

.ep-home-prod-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* No-image placeholder */
.ep-home-prod-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.ep-home-prod-placeholder span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #8896AB;
  text-align: center;
  padding: 8px;
  word-break: break-all;
  line-height: 1.5;
}

/* Hover cart button */
.ep-home-cart-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(0,0,0,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #1A1F2E;
  opacity: 0;
  animation: ep-cart-out 0.01s forwards;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0,0,0,0.14);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.ep-home-prod-card:hover .ep-home-cart-btn {
  animation: ep-cart-in 0.18s ease forwards;
}
.ep-home-cart-btn:hover {
  background: var(--ep-primary, #10ABA0);
  border-color: var(--ep-primary, #10ABA0);
  color: #fff;
}
.ep-home-cart-btn.ep-loading {
  opacity: 0.6 !important;
  cursor: wait;
}
.ep-home-cart-btn.ep-done {
  background: #1a2332;
  animation: ep-cart-in 0.01s forwards !important;
}

/* Card body */
.ep-home-prod-body {
  padding: 10px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.ep-home-prod-name {
  font-family: 'Barlow', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #1A1F2E;
  text-decoration: none;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ep-home-prod-name:hover {
  color: #10ABA0;
}

.ep-home-prod-ref {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #8896AB;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ep-home-prod-price {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #10ABA0;
  margin-top: 2px;
}
/* Discount section — no extra wrapper bg */
.ep-home-discounts {
  background: transparent !important;
  padding: 0 !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}
/* Discount slider — horizontal scroll */
.ep-discount-slider {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 16px !important;
  padding-bottom: 8px;
}
.ep-discount-slider { padding-bottom: 16px; margin-bottom: 8px; position: relative; }
.ep-discount-slider {
  -webkit-mask-image: linear-gradient(90deg, #000 95%, transparent 100%) !important;
  mask-image: linear-gradient(90deg, #000 95%, transparent 100%) !important;
}
.ep-discount-slider::-webkit-scrollbar { height: 8px; }
.ep-discount-slider::-webkit-scrollbar-track { background: #e5e7eb; border-radius: 4px; }
.ep-discount-slider::-webkit-scrollbar-thumb { background: #10ABA0; border-radius: 4px; min-width: 60px; }
.ep-discount-slider::-webkit-scrollbar-thumb:hover { background: #0e9990; }
.ep-discount-slider .ep-home-prod-card {
  min-width: calc((100% - 80px) / 6);
  max-width: calc((100% - 80px) / 6);
  flex-shrink: 0;
  scroll-snap-align: start;
}
@media (max-width: 1400px) { .ep-discount-slider .ep-home-prod-card { min-width: calc((100% - 64px) / 5); max-width: calc((100% - 64px) / 5); } }
@media (max-width: 1100px) { .ep-discount-slider .ep-home-prod-card { min-width: calc((100% - 48px) / 4); max-width: calc((100% - 48px) / 4); } }
@media (max-width: 768px) { .ep-discount-slider .ep-home-prod-card { min-width: 160px; max-width: 160px; } }
/* Discount nav arrows */
.ep-discount-nav {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 10px;
}
.ep-discount-arrow {
  width: 36px;
  height: 36px;
  border: 1.5px solid #d1d5db;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s;
  color: #6b7280;
}
.ep-discount-arrow:hover {
  border-color: #10ABA0;
  color: #10ABA0;
  background: rgba(16,171,160,0.04);
}
.ep-home-regular-price {
  font-size: 12px;
  font-weight: 400;
  color: #9ca3af;
  text-decoration: line-through;
  margin-left: 5px;
}
.ep-home-discount-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #10ABA0;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  margin-right: 6px;
  vertical-align: middle;
}

/* §DYNAMIC CATEGORY MENU (ep_settings hookDisplayNavFullWidth) — dropright flyout */
.ep-vertmenu-wrap { width: 100%; }

.ep-vertmenu-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}

.ep-vertmenu-item {
  position: relative;
}

.ep-vertmenu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 20px;
  color: #1C2B45;
  font-family: 'Barlow', sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.ep-vertmenu-link:hover,
.ep-vertmenu-item.has-sub:hover > .ep-vertmenu-link {
  background: #f5f7f9;
  color: #10ABA0;
  border-left-color: #10ABA0;
}

.ep-vertmenu-link svg {
  color: #8896AB;
  flex-shrink: 0;
  margin-left: 8px;
  transition: color 0.15s;
}

.ep-vertmenu-item.has-sub:hover > .ep-vertmenu-link svg {
  color: #10ABA0;
}

/* Flyout panel — appears to the right on hover */
.ep-vertmenu-flyout {
  display: none;
  position: absolute;
  left: 100%;
  top: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid #e8ecf0;
  border-left: none;
  box-shadow: 4px 4px 12px rgba(0,0,0,0.08);
  z-index: 10;
}

.ep-vertmenu-item.has-sub:hover > .ep-vertmenu-flyout {
  display: block;
}

.ep-vertmenu-flyout-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}

.ep-vertmenu-flyout-list li a {
  display: block;
  padding: 7px 20px;
  color: #1C2B45;
  font-family: 'Barlow', sans-serif;
  font-size: 13px;
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}

.ep-vertmenu-flyout-list li a:hover {
  background: #f5f7f9;
  color: #10ABA0;
  border-left-color: #10ABA0;
}

/* Hide tvcms sticky add-to-cart bar at bottom of product page */
.tvfooter-product-sticky-bottom { display: none !important; }

/* Hide mobile filter button on desktop */
@media (min-width: 992px) {
  .ep-filter-btn { display: none !important; }
  .ep-filter-overlay { display: none !important; }
  .ep-filter-close { display: none !important; }
}


/* ══════════════════════════════════════════════════════════════════════════
   §MOBILE HEADER — Industrial Clean, ExpoPlus B2B
   Only targets .ep-mobile-header — zero impact on desktop.
   ══════════════════════════════════════════════════════════════════════════ */

/* Mobile overrides */
@media (max-width: 991px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
  }
  /* Sticky mobile header */
  #header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
  }
  #header, #wrapper, footer, main,
  .container, .container-fluid, .row {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  #header, #wrapper, footer, main {
    margin: 0 !important;
  }
  .container, .container-fluid {
    margin: 0 auto !important;
  }
  .row {
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
  /* Hide sidebar on mobile — filter via button */
  #left-column {
    position: fixed !important;
    top: 0 !important;
    left: -100% !important;
    width: 75vw !important;
    max-width: 280px !important;
    height: 100vh !important;
    z-index: 99999 !important;
    background: #fff !important;
    overflow-y: auto !important;
    transition: left 0.3s ease !important;
    display: block !important;
    padding: 16px !important;
    box-shadow: none !important;
  }
  #left-column.ep-filter-open {
    left: 0 !important;
    box-shadow: 4px 0 20px rgba(0,0,0,0.3) !important;
  }
  .tvleft-column-remove,
  .tvleft-column-close-btn { display: none !important; }
  /* Filter overlay */
  .ep-filter-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
    z-index: 99998;
  }
  .ep-filter-overlay.active { display: block; }

  /* Nuclear layout reset — full width everything */
  #wrapper .container,
  #wrapper .container.tv-left-layout {
    padding: 0 !important;
    max-width: 100vw !important;
    width: 100% !important;
  }
  body.page-category #wrapper .container > .row {
    margin: 0 !important;
    display: block !important;
    float: none !important;
  }
  #left-column,
  body.page-category #left-column {
    position: fixed !important;
    top: 0 !important;
    left: -100% !important;
    width: 75vw !important;
    max-width: 280px !important;
    height: 100vh !important;
    z-index: 99999 !important;
    background: #fff !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    transition: left 0.3s ease !important;
    padding: 16px !important;
    box-shadow: none !important;
    float: none !important;
    display: block !important;
  }
  #left-column::-webkit-scrollbar,
  body.page-category #left-column::-webkit-scrollbar { display: none !important; }
  #left-column.ep-filter-open,
  body.page-category #left-column.ep-filter-open {
    left: 0 !important;
    box-shadow: 4px 0 20px rgba(0,0,0,0.3) !important;
  }
  .ep-filter-close {
    position: absolute;
    top: 12px;
    right: 12px;
    cursor: pointer;
    color: #666;
    z-index: 2;
  }
  /* ── Filter sidebar — kill ALL borders/shadows/radius ──── */
  body #left-column *:not(.ep-filter-close) {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  body #left-column #search_filters,
  body #left-column .tvleft-right-penal-all-block {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body #left-column .tvleft-right-title-wrapper {
    display: none !important;
  }
  body #left-column .tvfilter-dropdown-wrapper {
    padding: 0 !important;
    margin: 0 0 12px !important;
    background: none !important;
  }
  body #left-column .tvfilter-dropdown-wrapper::after {
    display: none !important;
  }
  #left-column .tvfilter-search-types-dropdown,
  #left-column .tvfilter-search-types-dropdown:not(.faceted-slider),
  body.page-category #left-column .tvfilter-search-types-dropdown,
  body.page-category #left-column .tvfilter-search-types-dropdown:not(.faceted-slider) {
    max-height: none !important;
    overflow: visible !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }
  /* Section headings */
  body #left-column .tvleft-right-title.facet-label {
    font-family: var(--ep-font-body) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: var(--ep-ink) !important;
    padding: 10px 0 6px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--ep-border) !important;
  }
  /* Filter items — compact */
  /* All elements inside filter — reset spacing */
  body #left-column * {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body #left-column .tvfilter-search-types-dropdown li {
    padding: 3px 0 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }
  body #left-column label.facet-label:not(.tvleft-right-title),
  body #left-column .search-link {
    padding: 3px 0 !important;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-transform: none !important;
  }
  body #left-column .custom-checkbox {
    margin: 0 !important;
    padding: 0 !important;
  }
  body #left-column .magnitude {
    font-size: 11px !important;
    color: #999 !important;
  }
  /* Hide price slider on mobile — unusable with touch */
  body #left-column .faceted-slider,
  body #left-column .tvfilter-search-types-dropdown.faceted-slider,
  body #left-column .tvfilter-dropdown-wrapper:has(.faceted-slider) {
    display: none !important;
  }
  /* Hide vertical menu + featured in sidebar */
  #left-column .tvcmsvertical-menu-wrapper-data,
  #left-column .tvcmsleft-featured-product,
  #left-column .sc-brands-block,
  #left-column .tvleft-column-remove,
  #left-column .tvleft-column-close-btn {
    display: none !important;
  }
  #content-wrapper,
  body.page-category #content-wrapper,
  body.page-category #content-wrapper.left-column,
  body.page-category #content-wrapper.left-column.col-xl-10 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
    padding: 12px 8px 12px !important;
    background: #f4f6f8 !important;
    display: block !important;
  }
  body.page-index #content-wrapper {
    padding: 0 !important;
    background: transparent !important;
  }
  #main,
  body.page-category #main { width: 100% !important; }
  #main .tv-sub-pages-inner-content { padding: 8px !important; }
  .ep-cms-doc { max-width: 820px; margin: 0 auto; padding: 0 12px 24px; font-family: 'Barlow', sans-serif; }
  .ep-cms-doc-body h3 { font-size: 14px; margin: 12px 0 8px; }
  .ep-cms-divider { margin: 12px 0; }
  .ep-cms-doc-body h2 { font-size: 16px; margin: 10px 0 10px; padding-left: 10px; gap: 8px; align-items: center; }
  .ep-cms-doc-header { padding: 12px 0 24px; margin-bottom: 24px; }
  .ep-about-page { max-width: 1100px; margin: 0 auto; padding: 0 8px 24px; }
  .ep-about-hero { padding: 20px 16px 24px; margin-bottom: 20px; }
  .ep-discount-badge { font-size: 9px; padding: 2px 7px; gap: 3px; }
  .ep-discount-until { font-size: 8px; }
  .product-price-and-shipping .regular-price { display: inline !important; margin-top: 0 !important; margin-left: 4px !important; font-size: 10px !important; }

  /* Hide active filter badges on mobile */
  .active_filters,
  .ep-active-chips,
  .js-active-filters { display: none !important; }

  /* Breadcrumb — compact one line */
  .breadcrumb,
  nav.breadcrumb,
  [data-depth].breadcrumb {
    padding: 6px 12px !important;
    margin: 0 !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
  .breadcrumb li {
    display: inline !important;
    font-size: 11px !important;
  }
  /* Hide home icon */
  .breadcrumb li:first-child a::before {
    display: none !important;
  }
  /* Kill all breadcrumb separators, add single chevron via ::after */
  #wrapper .breadcrumb li::before,
  #wrapper .breadcrumb li::after,
  .breadcrumb li::before,
  .breadcrumb li::after {
    content: none !important;
    display: none !important;
  }
  #wrapper .breadcrumb li + li::before {
    content: "›" !important;
    display: inline !important;
    margin: 0 3px !important;
    font-size: 14px !important;
    color: #aaa !important;
  }
  .breadcrumb li a,
  .breadcrumb li span {
    margin: 0 !important;
    padding: 0 !important;
  }
  /* Hide product name (last item) on product page */
  body.page-product .breadcrumb li:last-child,
  body.page-product .breadcrumb li:last-child + li {
    display: none !important;
  }

  /* Content container — no padding */
  #wrapper .container {
    padding: 0 !important;
  }

  /* Product page — image fills container */
  .product-1 .product-cover .tvproduct-image-slider {
    height: 300px !important;
  }
  .product-cover {
    padding: 0 !important;
    margin: 0 !important;
  }
  .product-1 .product-cover .js-qv-product-cover {
    padding: 4px !important;
    transform: scale(1.0) !important;
  }
  .product-1 .tv-product-page-image {
    padding-right: 15px !important;
    padding-left: 15px !important;
    margin-bottom: 12px !important;
  }
  /* Product tabs — inline row */
  .nav.nav-tabs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    margin-top: 0 !important;
    padding: 0 !important;
  }
  .nav.nav-tabs .nav-item,
  .tvproduct-description-tab .nav-tabs li.nav-item {
    flex: 1 !important;
    width: auto !important;
    margin: 0 !important;
  }
  .nav.nav-tabs .nav-link {
    padding: 8px 4px !important;
    font-size: 11px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .tvproduct-description-tab {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Wishlist dropdown — open upward on mobile */
  .ep-wl-dropdown-wrap {
    position: relative !important;
  }
  .ep-wl-dropdown {
    bottom: 100% !important;
    top: auto !important;
    margin-bottom: 4px !important;
  }

  /* Product info — full width */
  .product-1 .tvproduct-description-right,
  .product-1 .tv-product-1-right-column {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 12px !important;
  }
  /* Product grid — force 2 columns */
  .products,
  #js-product-list .products {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 0 4px !important;
  }
  .products > .product-miniature,
  .products > article.product-miniature,
  article.product-miniature.col-xs-12,
  article.product-miniature.col-sm-6,
  article.product-miniature.col-md-6,
  article.product-miniature.col-lg-4,
  article.product-miniature.col-xl-3,
  article.item.product-miniature {
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding: 4px !important;
    width: 50% !important;
  }
  /* Inner card takes full width */
  .product-miniature .thumbnail-container,
  .product-miniature .tvproduct-wrapper.grid {
    width: 100% !important;
  }
  /* Force image container size so lazy loading triggers */
  .product-miniature .tvproduct-image {
    aspect-ratio: 1 / 1 !important;
    min-height: 120px !important;
    padding: 8px !important;
  }
  .product-miniature .tvproduct-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  .products.row,
  #js-product-list .products {
    margin: 0 !important;
    padding: 0 4px !important;
  }

  /* Filter button — outline style (hidden on desktop via media query) */
  .ep-filter-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: #fff;
    color: var(--ep-primary);
    border: 1.5px solid var(--ep-primary);
    border-radius: var(--ep-radius);
    font-family: var(--ep-font-body);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.5px;
    text-transform: uppercase;
  }

  /* Slider — full width */
  .tvcms-slider-offerbanner-wrapper,
  .tv-main-slider,
  .tvcmsmain-slider-wrapper,
  .sc-slider-row,
  .sc-slider-row > div {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .tv-main-slider img,
  .tvcmsmain-slider-wrapper img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
  }

  /* Slider — no gap from header */
  .tvcms-slider-offerbanner-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  #wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Delivery strip — hide on mobile */
  .ep-strip--top { display: none !important; }

  /* Bottom strip (Verified B2B, Flexible Payment...) — hide */
  .ep-strip--bottom { display: none !important; }

  /* Footer — compact, left-aligned, like desktop but single column */
  footer {
    overflow: hidden !important;
  }
  .ep-footer-mid {
    padding: 16px !important;
  }
  .ep-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 0 !important;
  }
  .ep-footer-brand { text-align: center !important; }
  .ep-footer-logo { display: flex !important; justify-content: center !important; }
  .ep-footer-logo img {
    max-height: 36px !important;
    filter: brightness(0) invert(1) !important;
  }
  .ep-footer-tagline { font-size: 10px !important; text-align: center !important; }
  .ep-footer-contact-item { padding: 2px 0 !important; font-size: 12px !important; }
  .ep-footer-contact-item svg { width: 13px !important; height: 13px !important; }
  /* Footer sub menus — reset tvcms padding */
  #footer_sub_menu_store_time,
  #footer_sub_menu_link,
  #footer_sub_menu_myaccount,
  #footer_sub_menu_tvfooter_category {
    padding: 0 !important;
  }
  /* Hide Our Company title + toggle arrow */
  .tvfooter-title-wrapper {
    display: none !important;
  }
  /* Links — no borders, compact */
  .tvfooter-link-wrapper li { border: none !important; }
  .tvfooter-link-wrapper li a {
    padding: 3px 0 !important;
    font-size: 12px !important;
    border: none !important;
    display: block !important;
  }
  /* Working hours — hide on mobile */
  .ep-footer-right { display: none !important; }
  /* Hide extras */
  .ep-back-to-top { display: none !important; }
  .ep-footer-bottom { padding: 8px 16px !important; }


  /* Product cards — hide add to cart button */
  .ep-home-cart-btn,
  .ep-add-btn,
  .ep-qty-row,
  .ep-grid-cart-btn,
  .product-miniature .ep-price-action .ep-add-btn,
  .product-miniature .ep-qty-row {
    display: none !important;
  }

  /* Content takes full width without sidebar */
  #content-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 12px 8px 12px !important;
    background: #f4f6f8 !important;
  }
}

/* Row 1 — navy bar */
.ep-mob-row1 {
  background: var(--ep-ink);
  display: flex;
  align-items: center;
  height: 56px;
  padding: 0 12px;
  border-bottom: 2px solid var(--ep-primary);
}

/* Burger */
.ep-mob-burger { flex: 0 0 44px; }
.ep-mob-burger .tvmobile-sliderbar-btn { background: none !important; padding: 0 !important; }
.ep-mob-burger .tvmobile-sliderbar-btn a {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  background: none !important; border: none !important;
}
/* Hide tvcms material-icon burger, we use SVG */
.ep-mob-burger .tvmobile-sliderbar-btn i { display: none !important; }

/* Logo — centered */
.ep-mob-logo {
  flex: 1; display: flex; justify-content: center; align-items: center;
  padding: 0 8px; min-width: 0;
}
.ep-mob-logo img {
  max-height: 30px; width: auto;
  filter: brightness(0) invert(1);
}

/* Actions — right side */
.ep-mob-actions {
  flex: 0 0 auto;
  display: flex; align-items: center; gap: 4px;
}
.ep-mob-icon {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  color: #fff; text-decoration: none;
}

/* Cart icon inside hook — make white */
.ep-mobile-header #tvmobile-cart { display: flex !important; align-items: center; }
.ep-mobile-header #tvmobile-cart .tvheader-cart-wrapper,
.ep-mobile-header #tvmobile-cart .tvheader-cart-btn-wrapper { padding: 0 !important; }
.ep-mobile-header #tvmobile-cart a { color: #fff !important; padding: 0 !important; display: flex; align-items: center; }
.ep-mobile-header #tvmobile-cart .tv-cart-icon-main svg { width: 24px !important; height: 24px !important; }
.ep-mobile-header #tvmobile-cart svg path,
.ep-mobile-header #tvmobile-cart svg ellipse,
.ep-mobile-header #tvmobile-cart svg polygon,
.ep-mobile-header #tvmobile-cart svg circle { stroke: #fff !important; fill: none !important; }
.ep-mobile-header #tvmobile-cart svg path[style*="FFD741"] { fill: none !important; }
.ep-mobile-header #tvmobile-cart .tv-cart-cart-inner { display: none !important; }
.ep-mobile-header #tvmobile-cart .ttvcmscart-show-dropdown-right { display: none !important; }
.ep-mobile-header #tvmobile-cart .cart-products-count {
  background: var(--ep-primary) !important; color: #fff !important;
  font-size: 10px; font-weight: 600; min-width: 16px; height: 16px;
  line-height: 16px; border-radius: 8px; text-align: center; padding: 0 3px;
}

/* Row 2 — search */
.ep-mob-row2 {
  background: var(--ep-ink);
  padding: 0 12px;
}
.ep-mob-row2 .tvsearch-top-wrapper {
  padding: 5px 0 !important;
}
/* Hide tvcms toggle open/close — form always visible */
.ep-mob-row2 .tvheader-sarch-display { display: none !important; }
/* Force search form visible */
.ep-mob-row2 .tvsearch-header-display-wrappper {
  display: block !important; opacity: 1 !important; visibility: visible !important;
  position: static !important; width: 100% !important;
}
.ep-mob-row2 form {
  display: flex !important; align-items: center !important;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--ep-radius); height: 42px; padding: 0 12px;
  width: 100%; margin: 0;
}
.ep-mob-row2 form:focus-within {
  border-color: rgba(255,255,255,0.35); background: rgba(255,255,255,0.12);
}
.ep-mob-row2 .tvheader-top-search,
.ep-mob-row2 .tvheader-top-search-wrapper-info-box {
  flex: 1; padding: 0; margin: 0; border: none; background: none;
}
.ep-mob-row2 .tvheader-top-search-wrapper {
  flex: 0 0 auto; padding: 0; margin: 0; border: none; background: none;
}
.ep-mob-row2 input[type="text"],
.ep-mob-row2 input[type="text"]:focus {
  background: transparent !important; border: none !important;
  color: #fff !important; font-family: var(--ep-font-body); font-size: 14px;
  height: 40px; padding: 0 !important; outline: none !important;
  box-shadow: none !important; width: 100%;
}
.ep-mob-row2 input::placeholder { color: rgba(255,255,255,0.45) !important; }
/* Search submit — hide yellow SVG, show via ::before */
.ep-mob-row2 .tvheader-search-btn {
  background: none !important; border: none !important;
  padding: 4px !important; font-size: 0; line-height: 0;
  display: flex; align-items: center;
}
.ep-mob-row2 .tvheader-search-btn svg { display: none !important; }
.ep-mob-row2 .tvheader-search-btn::before {
  content: '\e8b6'; font-family: 'Material Icons'; font-size: 20px;
  color: rgba(255,255,255,0.5);
}
/* Search results dropdown */
.ep-mob-row2 { position: relative; overflow: visible !important; }
.ep-mob-row2 .search-widget { position: relative !important; overflow: visible !important; }
.ep-mob-row2 .tvsearch-top-wrapper { overflow: visible !important; }
.ep-mob-row2 .tvsearch-header-display-wrappper { overflow: visible !important; }
.ep-mob-row2 .tvsearch-result {
  position: fixed !important;
  top: 110px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  background: #fff;
  border-radius: 0 0 var(--ep-radius) var(--ep-radius);
  box-shadow: var(--ep-shadow-md);
  max-height: 60vh;
  overflow-y: auto;
}
.ep-mobile-header { overflow: visible !important; }

/* ── Sidebar ───────────────────────────────────────────────────────── */
.ep-mobile-header .tvmobile-slidebar {
  background: var(--ep-ink) !important;
  width: 290px !important;
  max-width: 82vw !important;
  padding: 0 !important;
  overflow-y: auto !important;
}
.ep-mobile-header .tvmobile-slidebar a {
  color: #fff !important;
  font-family: var(--ep-font-body) !important;
  text-decoration: none !important;
}
.ep-mobile-header .tvmobile-dropdown-close {
  position: absolute; right: 8px; top: 8px; z-index: 2;
}
.ep-mobile-header .tvmobile-dropdown-close a { color: rgba(255,255,255,0.5) !important; }

/* Profile header */
.ep-sidebar-profile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px 16px 16px;
  color: var(--ep-primary);
}
.ep-sidebar-profile svg { stroke: var(--ep-primary); flex-shrink: 0; }
.ep-sidebar-name {
  font-family: var(--ep-font-body);
  font-size: 17px;
  font-weight: 600;
  color: var(--ep-primary);
}

/* Section labels */
.ep-sidebar-label {
  font-family: var(--ep-font-body);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  padding: 8px 16px 4px;
}

/* Divider */
.ep-sidebar-divider {
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 8px 16px;
}

/* Account links */
.ep-sidebar-links a {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #fff !important;
}
.ep-sidebar-links i.material-icons {
  font-size: 18px !important;
  color: rgba(255,255,255,0.5) !important;
  width: 20px;
  text-align: center;
}

/* Bottom section — uniform white style for all items */
#tvcms-mobile-view-header .tvmobile-slidebar #tvmobile-lang,
#tvcms-mobile-view-header .tvmobile-slidebar .tvcmsmobile-contact,
#tvcms-mobile-view-header .tvmobile-slidebar #tvmobile-curr {
  padding: 0 16px !important;
  border: none !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar #tvmobile-lang *,
#tvcms-mobile-view-header .tvmobile-slidebar .tvcmsmobile-contact *,
#tvcms-mobile-view-header .tvmobile-slidebar #tvmobile-curr * {
  border: none !important;
  box-shadow: none !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar .tv-language-btn,
#tvcms-mobile-view-header .tvmobile-slidebar #tvcmsdesktop-language-selector .tv-language-btn .tv-language-span {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #fff !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 8px 0 !important;
  line-height: normal !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar .lang-flag {
  width: 18px !important;
  height: auto !important;
  border-radius: 2px !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar .expand-more {
  font-size: 16px !important;
  color: rgba(255,255,255,0.5) !important;
}
/* Language dropdown — dark theme */
#tvcms-mobile-view-header .tvmobile-slidebar .tv-language-dropdown {
  background: var(--ep-ink) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: var(--ep-radius) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
  padding: 4px 0 !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar .tv-language-dropdown li {
  background: none !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar .tv-language-dropdown li a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  color: #fff !important;
  font-size: 13px !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar .tv-language-dropdown li a:hover,
#tvcms-mobile-view-header .tvmobile-slidebar .tv-language-dropdown li.current a {
  color: var(--ep-primary) !important;
  background: rgba(255,255,255,0.05) !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar #contact-link a,
#tvcms-mobile-view-header .tvmobile-slidebar #contact-link a span,
#tvcms-mobile-view-header .tvmobile-slidebar .tvcmsmobile-contact a,
#tvcms-mobile-view-header .tvmobile-slidebar .tvcmsmobile-contact a span {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #fff !important;
  font-family: var(--ep-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 8px 0 !important;
}
#tvcms-mobile-view-header .tvmobile-slidebar #contact-link i,
#tvcms-mobile-view-header .tvmobile-slidebar .tvcmsmobile-contact i {
  font-size: 18px !important;
  color: #fff !important;
}

/* Hide tvcms leftovers in sidebar */
.ep-mobile-header .tvmobile-slidebar .tvcmsleft-featured-product,
.ep-mobile-header .tvmobile-slidebar .sc-brands-block,
.ep-mobile-header .tvmobile-slidebar .tvleft-column-remove { display: none !important; }

/* Force category menu visible inside sidebar */
#ep-mobile-categories {
  display: block !important;
}
#ep-mobile-categories .ep-vertmenu-wrap {
  display: block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  max-height: none !important;
  overflow: visible !important;
}
#ep-mobile-categories .ep-vertmenu-list {
  display: block !important;
}
#ep-mobile-categories .ep-vertmenu-item {
  display: list-item !important;
}
.ep-mobile-header .tvmobile-slidebar .ep-vertmenu-list {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
#ep-mobile-categories .ep-vertmenu-link {
  color: #fff !important;
  border-left: none !important;
  padding: 6px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: normal !important;
  display: flex !important;
  background: none !important;
}
#ep-mobile-categories .ep-vertmenu-link:hover {
  background: none !important;
  color: #fff !important;
}
/* Hide original SVG arrow */
#ep-mobile-categories .ep-vertmenu-link svg { display: none !important; }

/* Parent row: link left, toggle button right */
#ep-mobile-categories .ep-vertmenu-item {
  position: relative !important;
}
#ep-mobile-categories .ep-vertmenu-item.has-sub > .ep-vertmenu-link {
  padding-right: 44px !important;
}

/* Toggle +/− sits inside the link row, not absolute to item */
#ep-mobile-categories .ep-mob-toggle {
  position: absolute;
  right: 0;
  top: -4px;
  width: 48px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  color: rgba(255,255,255,0.4);
  font-size: 28px;
  font-weight: 400;
  cursor: pointer;
  background: none;
  padding: 0;
  line-height: 1;
}
#ep-mobile-categories .ep-vertmenu-item.ep-open > .ep-mob-toggle {
  color: var(--ep-primary);
}

/* Subcategories — hidden by default */
#ep-mobile-categories .ep-vertmenu-flyout {
  display: none !important;
  position: static !important;
  width: auto !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 2px 0 4px 0;
  overflow: hidden;
}
#ep-mobile-categories .ep-vertmenu-item.ep-open > .ep-vertmenu-flyout {
  display: block !important;
}
#ep-mobile-categories .ep-vertmenu-flyout-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#ep-mobile-categories .ep-vertmenu-flyout-list li a {
  display: block;
  padding: 4px 16px 4px 28px !important;
  color: rgba(255,255,255,0.45) !important;
  font-family: var(--ep-font-body) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  border-left: none !important;
  background: none !important;
  transition: color 0.15s;
}
#ep-mobile-categories .ep-vertmenu-flyout-list li a:active {
  color: var(--ep-primary) !important;
}

/* Divider before phone/language */
#ep-mobile-categories {
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding-bottom: 8px;
  margin-bottom: 8px;
}

/* ═══════════════════════════════════════════════════
   §28 DUAL PRICE (pcs + box)
   ═══════════════════════════════════════════════════ */

/* Shared layout for pcs|box price line */
.ep-price-dual {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 6px;
}

.ep-price-pcs {
  white-space: nowrap;
}

.ep-price-box {
  white-space: nowrap;
}
.ep-price-box .price {
  color: var(--ep-navy, #1a2a3a) !important;
}

.ep-price-sep {
  color: #c0c8cc;
  font-weight: 300;
  margin: 0 1px;
}

.ep-uom {
  font-size: 0.82em;
  font-weight: 400;
  color: var(--ep-text-secondary, #5a6a72);
  letter-spacing: 0;
}

/* Regular (crossed) price — pcs only */
.ep-price-dual .regular-price,
.ep-price-dual .ep-home-regular-price {
  text-decoration: line-through;
  color: #9aa6ad;
  font-size: 0.82em;
  font-weight: 400;
  white-space: nowrap;
}

.ep-price-dual .regular-price .ep-uom,
.ep-price-dual .ep-home-regular-price .ep-uom {
  color: #9aa6ad;
}

/* ── Homepage + catalog cards — dual price ── */
.ep-home-prod-price.ep-price-dual,
.product-price-and-shipping.ep-price-dual {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 12px;
  font-size: 12px;
  line-height: 1.4;
}
.ep-home-prod-price .ep-price-pcs,
.product-price-and-shipping.ep-price-dual .ep-price-pcs {
  white-space: nowrap;
}
.ep-home-prod-price .ep-price-pcs .price,
.ep-home-prod-price .ep-price-pcs,
.product-price-and-shipping.ep-price-dual .ep-price-pcs .price {
  color: var(--ep-primary, #10ABA0) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}
.ep-home-prod-price .ep-price-box .price,
.product-price-and-shipping.ep-price-dual .ep-price-box .price {
  color: var(--ep-navy, #1a2a3a) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}
.ep-home-prod-price .ep-price-sep,
.product-price-and-shipping.ep-price-dual .ep-price-sep {
  font-size: 11px;
  color: #ccc;
}
.ep-home-prod-price .ep-uom,
.product-price-and-shipping.ep-price-dual .ep-uom {
  font-size: 10px;
}
.ep-home-prod-price .ep-home-regular-price,
.product-price-and-shipping.ep-price-dual .regular-price {
  flex-basis: 100%;
  margin-top: 1px;
  font-size: 11px;
}

/* (catalog grid card styles merged into homepage+catalog block above) */

/* Card actions — qty controls on separate row, centered */
.ep-card-actions {
  margin-top: 6px;
  display: flex;
  justify-content: center;
}
.ep-card-actions .ep-qty-row {
  gap: 3px;
}
.ep-card-actions .ep-qty-ctrl {
  width: auto;
  height: 22px;
}
.ep-card-actions .ep-qty-input-wrap .ep-qty-has-unit {
  width: 50px !important;
  padding-right: 26px !important;
  padding-left: 2px !important;
  font-size: 10px !important;
}
.ep-card-actions .ep-qty-unit {
  font-size: 7px;
  padding: 2px 3px;
  right: 2px;
}
.ep-card-actions .ep-qty-input:not(.ep-qty-has-unit) {
  width: 30px;
}
.ep-card-actions .ep-add-btn {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-height: 22px !important;
  border-radius: 3px !important;
  padding: 0 !important;
}
.ep-card-actions .ep-add-btn svg {
  width: 11px !important;
  height: 11px !important;
}
.ep-card-actions .ep-qty-btn {
  width: 18px;
  font-size: 11px;
}
.ep-card-actions .ep-qty-input {
  font-size: 10px;
}
.ep-card-actions .ep-add-btn {
  width: 24px;
  height: 22px;
}
.ep-card-actions .ep-add-btn svg {
  width: 12px;
  height: 12px;
}

/* BOX badge inside input field: [ − ][ 1   BOX ][ + ] */
.ep-qty-input-wrap {
  display: inline-flex;
  position: relative;
}
.ep-qty-input.ep-qty-has-unit {
  width: 80px !important;
  padding-right: 40px !important;
  padding-left: 8px !important;
  text-align: left !important;
}
.ep-qty-unit {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--ep-primary, #10ABA0);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 6px;
  border-radius: 3px;
  pointer-events: none;
  white-space: nowrap;
  line-height: 1;
}
/* Product page */
.ep-cart-row .ep-qty-input-wrap .ep-qty-has-unit {
  width: 78px !important;
  padding-right: 42px !important;
  height: 40px;
}
.ep-cart-row .ep-qty-unit {
  font-size: 10px;
  padding: 3px 8px;
  right: 6px;
}
/* Catalog cards — compact */
.ep-qty-ctrl .ep-qty-input-wrap .ep-qty-has-unit {
  width: 52px !important;
  padding-right: 26px !important;
  padding-left: 4px !important;
  font-size: 12px !important;
}
.ep-qty-ctrl .ep-qty-unit {
  font-size: 6px;
  padding: 1px 3px;
  right: 2px;
  border-radius: 2px;
}
/* Cart line */
.ep-cart-col-qty .ep-qty-unit {
  position: static;
  transform: none;
  display: inline;
  font-size: 9px;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: 4px;
  vertical-align: middle;
}

/* ── Product page ── */
.ep-price-dual--product {
  gap: 4px 10px;
}
.product-1 .product-prices .ep-price-dual--product .ep-price-box .price {
  color: var(--ep-navy, #1a2a3a) !important;
  font-family: var(--ep-font-condensed, 'Barlow Condensed', sans-serif) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
}
.product-1 .product-prices .ep-price-dual--product .ep-uom {
  font-size: 16px !important;
  font-weight: 500;
}
.product-1 .product-prices .ep-price-dual--product .ep-price-sep {
  font-size: 22px;
  color: #c0c8cc;
}

/* ── Mobile ── */
@media (max-width: 991px) {
  .ep-home-prod-price.ep-price-dual {
    font-size: 12px;
  }
  .product-price-and-shipping.ep-price-dual {
    font-size: 12px;
  }
  .ep-price-dual--product .price {
    font-size: 22px !important;
  }
  .ep-price-dual--product .ep-price-box .price {
    color: var(--ep-navy, #1a2a3a) !important;
  }
}

/* § MOBILE MEGAMENU CLEANUP — hide demo data, real categories come from tvcmsverticalmenu */
#tvmobile-megamenu { display: none !important; }
