/*
Theme Name: Imprezole Shop
Theme URI: https://sklep.imprezole.pl
Description: Premium WooCommerce child theme — Imprezole brand.
Author: AWNEX Group
Template: storefront
Version: 4.0.0
*/

/* ═══════════════════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════════════════ */
:root {
  --bg:        #F8FAFF;
  --bg-card:   #FFFFFF;
  --bg-subtle: #F1F5FB;

  --blue:      #0052FF;
  --blue-b:    #003ED9;
  --blue-lt:   #EBF0FF;
  --violet:    #7C3AED;
  --violet-lt: #F2EEFF;
  --pink:      #DB2777;
  --amber:     #D97706;
  --green:     #059669;

  --text:      #0F172A;
  --text2:     #334155;
  --muted:     #64748B;
  --muted2:    #94A3B8;

  --brd:       rgba(15,23,42,.06);
  --brd2:      rgba(15,23,42,.1);
  --brd-blue:  rgba(0,82,255,.2);

  --sh-xs:  0 1px 2px rgba(0,0,0,.04);
  --sh-sm:  0 1px 4px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.03);
  --sh-md:  0 4px 16px rgba(0,0,0,.07), 0 2px 6px rgba(0,0,0,.03);
  --sh-lg:  0 12px 36px rgba(0,0,0,.09), 0 4px 12px rgba(0,0,0,.04);
  --sh-xl:  0 20px 60px rgba(0,0,0,.11);
  --sh-blue: 0 4px 18px rgba(0,82,255,.25);

  --gp:  linear-gradient(135deg, #0052FF 0%, #7C3AED 100%);
  --ga:  linear-gradient(135deg, #0070FF 0%, #DB2777 100%);

  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --disp: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --r:    0.75rem;
  --r-lg: 1rem;
  --r-xl: 1.5rem;
}

/* ═══════════════════════════════════════════════════════════
   STOREFRONT OVERRIDE — full-width layout
═══════════════════════════════════════════════════════════ */
#page             { overflow-x: hidden; }
.col-full         { max-width: 100% !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; float: none !important; box-sizing: border-box !important; }
.site-content     { padding: 0 !important; margin: 0 !important; }
.site-header      { display: none !important; }
.site-footer      { display: none !important; }
.site-header-cart { display: none !important; }
.storefront-breadcrumb { display: none !important; }

/* ═══════════════════════════════════════════════════════════
   BASE RESET
═══════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--sans) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
  margin: 0 !important;
}

h1,h2,h3,h4,h5,h6 {
  font-family: var(--disp) !important;
  color: var(--text) !important;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 0;
}
a { color: var(--blue); transition: color .2s; text-decoration: none; }
a:hover { color: var(--blue-b); }
p, li { color: var(--text2); }
img { max-width: 100%; height: auto; }
hr { border: none; border-top: 1px solid var(--brd); margin: 2rem 0; }

::-webkit-scrollbar       { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--blue); }

/* Inputs */
input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not(.imp-search-input),
textarea, select {
  background: var(--bg-card) !important;
  border: 1.5px solid var(--brd2) !important;
  color: var(--text) !important;
  border-radius: var(--r) !important;
  padding: .7rem 1rem !important;
  font-family: var(--sans) !important;
  font-size: .9rem !important;
  transition: border-color .2s, box-shadow .2s;
  width: 100%;
}
input:not([type=submit]):not([type=button]):focus,
textarea:focus, select:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(0,82,255,.1) !important;
  outline: none !important;
}
input::placeholder, textarea::placeholder { color: var(--muted2) !important; }

/* ═══════════════════════════════════════════════════════════
   UTILITIES
═══════════════════════════════════════════════════════════ */
.imp-grad-text {
  background: var(--gp);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.imp-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}
.imp-overflow-hidden { overflow: hidden !important; }

/* ═══════════════════════════════════════════════════════════
   TOP BAR
═══════════════════════════════════════════════════════════ */
.imp-top-bar {
  background: var(--gp);
  padding: .5rem 0;
  font-size: .78rem;
  letter-spacing: .01em;
}
.imp-top-bar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .875rem;
  flex-wrap: wrap;
}
.imp-top-bar__inner span { color: rgba(255,255,255,.85) !important; font-weight: 500; }
.imp-top-bar__inner a { color: #fff !important; font-weight: 700; }
.imp-top-bar__sep { color: rgba(255,255,255,.3) !important; font-weight: 300; }
@media(max-width:640px) { .imp-top-bar__sep--hide, .imp-top-bar__hide { display: none !important; } }

/* ═══════════════════════════════════════════════════════════
   SITE HEADER
═══════════════════════════════════════════════════════════ */
.imp-site-header {
  background: #fff;
  border-bottom: 1px solid var(--brd);
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  position: sticky;
  top: 0;
  z-index: 1000;
  transition: box-shadow .3s;
}
.imp-site-header.is-scrolled { box-shadow: 0 4px 24px rgba(0,0,0,.09); }

.imp-site-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 1.5rem;
  padding: .875rem 2rem;
  max-width: 1280px;
  margin: 0 auto;
}

/* Logo */
.imp-logo-link {
  display: flex;
  align-items: center;
  gap: .6rem;
  text-decoration: none !important;
  flex-shrink: 0;
}
.imp-logo-icon {
  width: 2.25rem; height: 2.25rem;
  border-radius: .625rem;
  background: var(--gp);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 3px 10px rgba(0,82,255,.28);
  flex-shrink: 0;
}
.imp-logo-icon span {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: var(--disp) !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
}
.imp-logo-text-wrap { display: flex; align-items: baseline; gap: 0; line-height: 1; }
.imp-logo-name {
  font-family: var(--disp) !important;
  font-weight: 800 !important;
  font-size: 1.2rem !important;
  background: var(--gp) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  letter-spacing: -.025em;
}
.imp-logo-shop {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: .7rem !important;
  color: var(--muted) !important;
  -webkit-text-fill-color: var(--muted) !important;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-left: .35rem;
  align-self: flex-end;
  padding-bottom: .05rem;
}

/* Search */
.imp-header-search { width: 100%; }
.imp-search-form {
  display: flex;
  align-items: center;
  background: var(--bg-subtle);
  border: 1.5px solid var(--brd2);
  border-radius: 999px;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s, background .2s;
  position: relative;
}
.imp-search-form:focus-within {
  background: #fff;
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(0,82,255,.08);
}
.imp-search-form__icon {
  position: absolute;
  left: 1rem;
  color: var(--muted2);
  pointer-events: none;
  flex-shrink: 0;
}
.imp-search-input {
  flex: 1; min-width: 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--text) !important;
  font-family: var(--sans) !important;
  font-size: .875rem !important;
  padding: .75rem 1rem .75rem 2.75rem !important;
  outline: none !important;
  border-radius: 0 !important;
}
.imp-search-input::placeholder { color: var(--muted2) !important; }
.imp-search-btn {
  background: var(--gp) !important;
  border: none !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: .82rem !important;
  padding: .75rem 1.5rem !important;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  border-radius: 0 999px 999px 0 !important;
  transition: opacity .15s !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
}
.imp-search-btn:hover { opacity: .88 !important; transform: none !important; }

/* Header actions */
.imp-header-actions {
  display: flex;
  align-items: center;
  gap: .625rem;
  flex-shrink: 0;
}
.imp-header-account-wrap { display: flex; align-items: center; }

/* Cart button */
.imp-header-cart {
  display: flex;
  align-items: center;
  gap: .45rem;
  background: var(--bg-subtle);
  border: 1.5px solid var(--brd2);
  border-radius: 999px;
  padding: .55rem 1rem;
  font-family: var(--sans);
  font-weight: 600;
  font-size: .84rem;
  color: var(--text);
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
  position: relative;
}
.imp-header-cart:hover {
  background: var(--blue-lt);
  border-color: var(--blue);
  color: var(--blue);
}
.imp-header-cart__label { display: block; }
.imp-header-cart__count {
  background: var(--gp);
  color: #fff;
  border-radius: 50%;
  width: 1.2rem; height: 1.2rem;
  font-size: .65rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2rem;
  line-height: 1;
}
.imp-header-cart__count:empty::before { content: '0'; }

/* Hamburger */
.imp-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: none;
  border: 1.5px solid var(--brd2);
  border-radius: .6rem;
  width: 2.4rem; height: 2.4rem;
  padding: .4rem;
  cursor: pointer;
  flex-shrink: 0;
}
.imp-hamburger span {
  display: block;
  width: 18px; height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: all .25s;
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY NAV BAR
═══════════════════════════════════════════════════════════ */
.imp-cat-nav {
  background: #fff;
  border-bottom: 1px solid var(--brd);
  position: sticky;
  top: 57px;
  z-index: 999;
}
.imp-cat-nav__inner {
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.imp-cat-nav__inner::-webkit-scrollbar { display: none; }

.imp-cat-nav__all {
  display: flex;
  align-items: center;
  gap: .45rem;
  background: var(--gp);
  color: #fff !important;
  border: none;
  border-radius: 0;
  padding: .7rem 1.1rem;
  font-family: var(--sans);
  font-weight: 600;
  font-size: .8rem;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: opacity .15s;
  letter-spacing: .01em;
}
.imp-cat-nav__all:hover { opacity: .88; color: #fff !important; }

.imp-cat-nav__list {
  display: flex;
  list-style: none;
  margin: 0; padding: 0;
  gap: 0; flex: 1;
}
.imp-cat-nav__item { position: relative; flex-shrink: 0; }
.imp-cat-nav__link {
  display: flex;
  align-items: center;
  gap: .25rem;
  padding: .7rem .9rem;
  font-size: .82rem;
  font-weight: 500;
  color: var(--text2) !important;
  white-space: nowrap;
  transition: color .15s;
  cursor: pointer;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  letter-spacing: .01em;
}
.imp-cat-nav__link:hover,
.imp-cat-nav__item:hover > .imp-cat-nav__link {
  color: var(--blue) !important;
  border-bottom-color: var(--blue);
}
.imp-cat-nav__chevron { color: var(--muted2); transition: transform .2s; flex-shrink: 0; }
.imp-cat-nav__item:hover > .imp-cat-nav__link .imp-cat-nav__chevron { transform: rotate(180deg); }

.imp-cat-nav__dropdown {
  position: absolute;
  top: 100%; left: 0;
  background: #fff;
  border: 1px solid var(--brd2);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-lg);
  min-width: 210px;
  padding: .4rem;
  list-style: none; margin: 0;
  opacity: 0; visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .15s, transform .15s, visibility .15s;
  z-index: 1001;
}
.imp-cat-nav__item:hover > .imp-cat-nav__dropdown,
.imp-cat-nav__item:focus-within > .imp-cat-nav__dropdown {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.imp-cat-nav__dropdown li a {
  display: block;
  padding: .45rem .8rem;
  font-size: .845rem;
  color: var(--text2) !important;
  border-radius: .5rem;
  transition: background .12s, color .12s;
}
.imp-cat-nav__dropdown li a:hover { background: var(--blue-lt); color: var(--blue) !important; }

.imp-cat-nav__item--highlight .imp-cat-nav__link { font-weight: 600; }
.imp-cat-nav__item--sale .imp-cat-nav__link { color: var(--pink) !important; font-weight: 600; }
.imp-cat-nav__item--sale .imp-cat-nav__link:hover { border-bottom-color: var(--pink); }

/* ═══════════════════════════════════════════════════════════
   MOBILE NAV
═══════════════════════════════════════════════════════════ */
.imp-mobile-nav {
  position: fixed; inset: 0; z-index: 10000; pointer-events: none;
}
.imp-mobile-nav.is-open { pointer-events: all; }
.imp-mobile-nav__backdrop {
  position: absolute; inset: 0;
  background: rgba(15,23,42,.55);
  backdrop-filter: blur(4px);
  opacity: 0; transition: opacity .3s;
}
.imp-mobile-nav.is-open .imp-mobile-nav__backdrop { opacity: 1; }
.imp-mobile-nav__panel {
  position: absolute; top: 0; left: 0; bottom: 0;
  width: 290px; max-width: 90vw;
  background: #fff;
  box-shadow: var(--sh-xl);
  transform: translateX(-100%);
  transition: transform .3s cubic-bezier(.22,1,.36,1);
  display: flex; flex-direction: column; overflow: hidden;
}
.imp-mobile-nav.is-open .imp-mobile-nav__panel { transform: translateX(0); }
.imp-mobile-nav__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--brd);
  flex-shrink: 0;
}
.imp-mobile-nav__close {
  background: var(--bg-subtle); border: 1px solid var(--brd2); border-radius: .6rem;
  width: 2.25rem; height: 2.25rem; font-size: 1.25rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--muted); transition: background .15s, color .15s;
}
.imp-mobile-nav__close:hover { background: #fef2f2; color: #ef4444; border-color: #fecaca; }
.imp-mobile-nav__body { flex: 1; overflow-y: auto; padding: .75rem; }
.imp-mobile-menu { list-style: none; margin: 0; padding: 0; }
.imp-mobile-menu li a {
  display: block; padding: .7rem 1rem;
  font-size: .9rem; font-weight: 500;
  color: var(--text2) !important;
  border-radius: .65rem;
  transition: background .12s, color .12s;
}
.imp-mobile-menu li a:hover { background: var(--blue-lt); color: var(--blue) !important; }

/* ═══════════════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════════════ */
.button, button[type=submit], input[type=submit], input[type=button],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--gp) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r) !important;
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: .875rem !important;
  padding: .75rem 1.5rem !important;
  cursor: pointer;
  transition: opacity .2s, transform .15s, box-shadow .2s !important;
  box-shadow: var(--sh-blue) !important;
  text-shadow: none !important;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  letter-spacing: .01em;
}
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover {
  opacity: .9 !important; transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(0,82,255,.32) !important;
}
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--ga) !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  font-size: 1rem !important; padding: 1rem 2rem !important;
  width: 100% !important; justify-content: center !important;
}
.wc-block-components-checkout-place-order-button,
.wp-block-button__link { background: var(--gp) !important; border: none !important; border-radius: var(--r) !important; }

.imp-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--sans); font-weight: 600;
  border-radius: var(--r); cursor: pointer;
  text-decoration: none !important;
  transition: opacity .2s, transform .15s, box-shadow .2s;
  border: none; white-space: nowrap; font-size: .9rem; line-height: 1;
  letter-spacing: .01em;
}
.imp-btn--primary {
  background: var(--gp); color: #fff !important;
  box-shadow: var(--sh-blue); padding: .8rem 1.75rem;
}
.imp-btn--primary:hover { opacity: .9; transform: translateY(-1px); color: #fff !important; box-shadow: 0 8px 28px rgba(0,82,255,.38); }

.imp-btn--outline {
  background: #fff; color: var(--text) !important;
  border: 1.5px solid var(--brd2); padding: .8rem 1.75rem;
  box-shadow: var(--sh-xs);
}
.imp-btn--outline:hover { border-color: var(--blue); color: var(--blue) !important; transform: translateY(-1px); box-shadow: var(--sh-sm); }

.imp-btn--white {
  background: #fff; color: var(--blue) !important;
  padding: .85rem 2rem; box-shadow: var(--sh-lg); font-weight: 700;
}
.imp-btn--white:hover { transform: translateY(-2px); box-shadow: 0 16px 48px rgba(0,0,0,.15); color: var(--blue-b) !important; }

.imp-btn--lg { padding: .95rem 2.25rem; font-size: 1rem; border-radius: var(--r-lg); }
.imp-btn--sm { padding: .45rem .9rem; font-size: .8rem; border-radius: .6rem; }

/* ═══════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════ */
.imp-hero {
  position: relative;
  padding: 5rem 0 5.5rem;
  overflow: hidden;
  background: linear-gradient(145deg, #080E2E 0%, #0C1540 35%, #160B38 70%, #0A0D32 100%);
}
.imp-hero__orbs { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.imp-orb { position: absolute; border-radius: 50%; filter: blur(100px); }
.imp-orb--blue   { width: 640px; height: 640px; background: radial-gradient(circle, rgba(0,82,255,.45), transparent 65%); top: -220px; left: -160px; }
.imp-orb--violet { width: 500px; height: 500px; background: radial-gradient(circle, rgba(124,58,237,.4), transparent 65%); top: -60px; right: -80px; }
.imp-orb--pink   { width: 360px; height: 360px; background: radial-gradient(circle, rgba(219,39,119,.25), transparent 65%); bottom: -50px; right: 28%; }

.imp-hero__grid {
  display: grid;
  grid-template-columns: 55% 45%;
  align-items: center;
  gap: 3rem;
  position: relative;
}
.imp-hero__badge {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 2rem;
  padding: .38rem .95rem;
  font-size: .75rem; font-weight: 600;
  color: rgba(255,255,255,.7);
  margin-bottom: 1.5rem;
  font-family: var(--sans);
  backdrop-filter: blur(4px);
}
.imp-hero__badge-dot {
  width: .45rem; height: .45rem; border-radius: 50%;
  background: #4ade80; box-shadow: 0 0 8px #4ade80;
  animation: blink 2s ease-in-out infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.35} }

.imp-hero__title {
  font-family: var(--disp) !important;
  font-size: clamp(2.4rem, 3.8vw, 3.5rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.08 !important;
  margin-bottom: 1.25rem;
  letter-spacing: -.025em;
}
.imp-hero__sub {
  font-size: 1rem; color: rgba(255,255,255,.62);
  line-height: 1.75; margin-bottom: 2.25rem;
  max-width: 480px;
}
.imp-hero__cta { display: flex; flex-direction: column; gap: 1.75rem; }
.imp-hero__cta-stats { display: flex; gap: 2.25rem; }
.imp-hero__stat { display: flex; flex-direction: column; font-size: .75rem; color: rgba(255,255,255,.45); }
.imp-hero__stat span { font-family: var(--disp); font-size: 1.45rem; font-weight: 800; color: #fff; line-height: 1.1; }

/* Hero right — promo cards */
.imp-hero__promo-box { display: flex; flex-direction: column; gap: .875rem; }
.imp-promo-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: var(--r-lg);
  padding: 1.1rem 1.3rem;
  display: flex; align-items: center; gap: 1rem;
  transition: background .2s, border-color .2s, transform .2s;
  backdrop-filter: blur(8px);
}
.imp-promo-card:hover { background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.18); transform: translateX(4px); }
.imp-promo-card--featured {
  background: linear-gradient(135deg, rgba(0,82,255,.22), rgba(124,58,237,.18));
  border-color: rgba(0,82,255,.35);
  position: relative;
}
.imp-promo-card__badge {
  position: absolute; top: -.6rem; left: 1rem;
  background: var(--gp); color: #fff;
  font-size: .65rem; font-weight: 700;
  padding: .18rem .6rem; border-radius: 2rem;
  letter-spacing: .03em;
}
.imp-promo-card__emoji { font-size: 1.85rem; flex-shrink: 0; }
.imp-promo-card__title { font-family: var(--disp); font-weight: 600; font-size: .9rem; color: #fff; flex: 1; }
.imp-promo-card__price { font-size: .78rem; color: rgba(255,255,255,.5); white-space: nowrap; }
.imp-promo-card__price strong { color: #93c5fd; font-weight: 700; }
.imp-promo-card__btn {
  background: rgba(255,255,255,.14); color: #fff !important;
  font-size: .72rem; font-weight: 700;
  padding: .38rem .85rem; border-radius: .55rem;
  white-space: nowrap; font-family: var(--sans);
  transition: background .2s;
  border: 1px solid rgba(255,255,255,.18);
}
.imp-promo-card__btn:hover { background: rgba(255,255,255,.24); color: #fff !important; }

/* ═══════════════════════════════════════════════════════════
   SECTION COMMON
═══════════════════════════════════════════════════════════ */
.imp-section-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 2rem; gap: 1rem;
}
.imp-section-title {
  font-family: var(--disp) !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin: 0 !important;
  position: relative;
  padding-bottom: .6rem;
}
.imp-section-title::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 2.25rem; height: 3px;
  background: var(--gp);
  border-radius: 2px;
}
.imp-section-more {
  display: inline-flex; align-items: center; gap: .3rem;
  font-size: .84rem; font-weight: 600;
  color: var(--blue) !important; white-space: nowrap;
  transition: gap .15s;
}
.imp-section-more:hover { gap: .55rem; }

/* ═══════════════════════════════════════════════════════════
   CATEGORIES SECTION
═══════════════════════════════════════════════════════════ */
.imp-cats-section {
  padding: 4rem 0;
  background: #fff;
  border-bottom: 1px solid var(--brd);
}
.imp-cats-section > .imp-container > .imp-section-title {
  margin-bottom: 2rem !important;
}

.imp-main-cats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.imp-main-cat {
  display: flex; align-items: center; gap: .875rem;
  background: var(--bg-subtle);
  border: 1.5px solid var(--brd);
  border-radius: var(--r-lg);
  padding: 1.1rem;
  text-decoration: none !important;
  transition: border-color .22s, box-shadow .22s, transform .18s, background .2s;
  position: relative; overflow: hidden;
}
.imp-main-cat:hover {
  border-color: var(--cat-color, var(--blue));
  background: #fff;
  box-shadow: 0 6px 28px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);
  transform: translateY(-3px);
}
.imp-main-cat__icon {
  width: 3rem; height: 3rem;
  border-radius: .875rem;
  background: color-mix(in srgb, var(--cat-color, #0052FF) 10%, #fff);
  border: 1.5px solid color-mix(in srgb, var(--cat-color, #0052FF) 18%, transparent);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; flex-shrink: 0;
}
.imp-main-cat__body { flex: 1; min-width: 0; }
.imp-main-cat__name { font-family: var(--disp); font-weight: 700; font-size: .9rem; color: var(--text); margin-bottom: .2rem; }
.imp-main-cat__subs { font-size: .72rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.imp-main-cat__dot { margin: 0 .15rem; color: var(--muted2); }
.imp-main-cat__arrow { color: var(--muted2); flex-shrink: 0; transition: transform .2s, color .2s; }
.imp-main-cat:hover .imp-main-cat__arrow { transform: translateX(3px); color: var(--cat-color, var(--blue)); }

.imp-sub-cats {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: .5rem;
}
.imp-sub-cat {
  display: flex; flex-direction: column; align-items: center; gap: .4rem;
  background: var(--bg-subtle);
  border: 1.5px solid var(--brd);
  border-radius: var(--r);
  padding: .875rem .4rem .75rem;
  text-decoration: none !important; text-align: center;
  transition: border-color .2s, box-shadow .2s, transform .18s, background .2s;
}
.imp-sub-cat:hover {
  border-color: var(--blue); background: var(--blue-lt);
  box-shadow: 0 4px 14px rgba(0,82,255,.1);
  transform: translateY(-2px);
}
.imp-sub-cat__emoji { font-size: 1.4rem; line-height: 1; }
.imp-sub-cat__name { font-size: .67rem; font-weight: 600; color: var(--muted); line-height: 1.25; font-family: var(--sans); }
.imp-sub-cat:hover .imp-sub-cat__name { color: var(--blue); }

/* ═══════════════════════════════════════════════════════════
   PROMO BANNERS
═══════════════════════════════════════════════════════════ */
.imp-banners-section { padding: 1.5rem 0; background: var(--bg); }
.imp-banners-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.imp-banner {
  display: flex; justify-content: space-between; align-items: center;
  border-radius: var(--r-xl); padding: 2rem 2.25rem;
  text-decoration: none !important;
  position: relative; overflow: hidden;
  transition: transform .22s, box-shadow .22s;
}
.imp-banner:hover { transform: translateY(-3px); box-shadow: var(--sh-xl); }
.imp-banner--events   { background: linear-gradient(135deg, #070F38 0%, #0D2060 50%, #160D40 100%); }
.imp-banner--marketing { background: linear-gradient(135deg, #180832 0%, #2D0A4A 50%, #180824 100%); }
.imp-banner__label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.45); margin-bottom: .4rem; }
.imp-banner__title { font-family: var(--disp); font-weight: 800; font-size: 1.4rem; color: #fff; line-height: 1.15; margin-bottom: .4rem; }
.imp-banner__sub { font-size: .82rem; color: rgba(255,255,255,.5); margin-bottom: .875rem; }
.imp-banner__cta { display: inline-block; font-size: .82rem; font-weight: 700; color: #60a5fa !important; font-family: var(--sans); transition: color .2s; }
.imp-banner--marketing .imp-banner__cta { color: #c084fc !important; }
.imp-banner__cta:hover { color: #fff !important; }
.imp-banner__deco { font-size: 3rem; filter: drop-shadow(0 4px 14px rgba(0,0,0,.4)); letter-spacing: .15rem; }

/* ═══════════════════════════════════════════════════════════
   PRODUCT SECTIONS
═══════════════════════════════════════════════════════════ */
.imp-products-section { padding: 4rem 0; }
.imp-products-section--alt {
  background: #fff;
  border-top: 1px solid var(--brd);
  border-bottom: 1px solid var(--brd);
}

/* ═══════════════════════════════════════════════════════════
   TRUST STRIP
═══════════════════════════════════════════════════════════ */
.imp-trust-strip { padding: 2.5rem 0; background: #fff; border-top: 1px solid var(--brd); border-bottom: 1px solid var(--brd); }
.imp-trust-strip__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.75rem; }
.imp-trust-item { display: flex; align-items: flex-start; gap: .875rem; }
.imp-trust-item__icon {
  font-size: 1.5rem; flex-shrink: 0;
  width: 2.75rem; height: 2.75rem;
  display: flex; align-items: center; justify-content: center;
  background: var(--blue-lt);
  border-radius: .75rem;
}
.imp-trust-item strong { display: block; font-family: var(--disp); font-weight: 700; font-size: .875rem; color: var(--text); margin-bottom: .15rem; }
.imp-trust-item span { font-size: .78rem; color: var(--muted); }

/* ═══════════════════════════════════════════════════════════
   LOYALTY CTA
═══════════════════════════════════════════════════════════ */
.imp-loyalty-cta {
  position: relative; padding: 5rem 0; overflow: hidden;
  background: linear-gradient(135deg, #080E2E 0%, #110938 50%, #170B38 100%);
}
.imp-loyalty-cta__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 3rem; position: relative;
}
.imp-loyalty-cta__left { display: flex; align-items: flex-start; gap: 1.5rem; flex: 1; }
.imp-loyalty-cta__star { font-size: 2.75rem; flex-shrink: 0; filter: drop-shadow(0 0 18px rgba(245,158,11,.6)); }
.imp-loyalty-cta__title { font-family: var(--disp) !important; font-size: 1.6rem !important; font-weight: 800 !important; color: #fff !important; margin-bottom: .6rem; }
.imp-loyalty-cta__desc { color: rgba(255,255,255,.55); font-size: .9rem; line-height: 1.75; margin-bottom: 1.5rem; max-width: 440px; }
.imp-loyalty-cta__steps { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.imp-loyalty-step { display: flex; align-items: center; gap: .5rem; font-size: .84rem; color: rgba(255,255,255,.55); }
.imp-loyalty-step__n {
  width: 1.55rem; height: 1.55rem; border-radius: 50%;
  background: var(--gp);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: .7rem; font-weight: 700; flex-shrink: 0;
}
.imp-loyalty-cta__right { display: flex; flex-direction: column; align-items: center; gap: 1rem; flex-shrink: 0; }
.imp-loyalty-cta__note { font-size: .78rem; color: rgba(255,255,255,.38); text-align: center; }
.imp-loyalty-cta__note a { color: rgba(255,255,255,.6); text-decoration: underline; }
.imp-loyalty-pts-display { text-align: center; margin-bottom: .5rem; }
.imp-loyalty-pts-display__n {
  font-family: var(--disp); font-size: 3.25rem; font-weight: 800;
  background: var(--gp); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
  line-height: 1;
}
.imp-loyalty-pts-display__l { font-size: .78rem; color: rgba(255,255,255,.45); margin-top: .2rem; }

/* ═══════════════════════════════════════════════════════════
   NEWSLETTER SECTION
═══════════════════════════════════════════════════════════ */
.imp-footer-newsletter { background: var(--gp); padding: 3.5rem 0; }
.imp-footer-newsletter__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 2.5rem; flex-wrap: wrap;
}
.imp-footer-newsletter__copy h3 {
  font-family: var(--disp) !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin-bottom: .35rem;
}
.imp-footer-newsletter__copy p { color: rgba(255,255,255,.72); font-size: .875rem; margin: 0; }
.imp-footer-newsletter__copy p strong { color: #fff; font-weight: 700; }
.imp-newsletter-form { flex: 1; min-width: 320px; max-width: 500px; }
.imp-newsletter-form__group {
  display: flex; background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: var(--r-lg); overflow: hidden;
  backdrop-filter: blur(8px);
}
.imp-newsletter-form__group input[type=email] {
  flex: 1; background: transparent !important; border: none !important;
  box-shadow: none !important; color: #fff !important;
  font-size: .875rem !important; padding: .75rem 1.1rem !important;
  border-radius: 0 !important;
}
.imp-newsletter-form__group input[type=email]::placeholder { color: rgba(255,255,255,.55) !important; }
.imp-newsletter-form__group input[type=email]:focus { box-shadow: none !important; border: none !important; }
.imp-newsletter-form__msg { font-size: .82rem; margin-top: .65rem; }
.imp-newsletter-form__note { font-size: .72rem; color: rgba(255,255,255,.45); margin-top: .6rem; }
.imp-newsletter-form__note a { color: rgba(255,255,255,.65); text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════ */
.imp-footer {
  background: #0A0F1E;
  padding: 3.5rem 0 0;
}
.imp-footer__grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.2fr;
  gap: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.imp-footer__col--brand .imp-footer-logo {
  display: flex; align-items: center; gap: .6rem;
  text-decoration: none !important; margin-bottom: 1rem;
}
.imp-footer__tagline { font-size: .82rem; color: rgba(255,255,255,.45); line-height: 1.65; margin-bottom: 1.25rem; }
.imp-footer__social { display: flex; gap: .5rem; }
.imp-social-btn {
  width: 2.1rem; height: 2.1rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .55rem;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.55) !important; transition: background .15s, color .15s, border-color .15s;
}
.imp-social-btn:hover { background: rgba(255,255,255,.12); color: #fff !important; border-color: rgba(255,255,255,.2); }
.imp-footer__heading {
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
  color: rgba(255,255,255,.35) !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  margin-bottom: 1.1rem !important;
}
.imp-footer__links { list-style: none; margin: 0; padding: 0; }
.imp-footer__links li { margin-bottom: .5rem; }
.imp-footer__links a {
  font-size: .84rem; color: rgba(255,255,255,.55) !important;
  transition: color .15s;
}
.imp-footer__links a:hover { color: #fff !important; }
.imp-footer__contact { list-style: none; margin: 0 0 1.25rem; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.imp-footer__contact li { display: flex; align-items: flex-start; gap: .5rem; font-size: .84rem; color: rgba(255,255,255,.5); }
.imp-footer__contact svg { flex-shrink: 0; margin-top: .1rem; color: rgba(255,255,255,.3); }
.imp-footer__contact a { color: rgba(255,255,255,.55) !important; }
.imp-footer__contact a:hover { color: #fff !important; }
.imp-footer__payments { display: flex; flex-wrap: wrap; gap: .4rem; }
.imp-payment-badge {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: .4rem;
  padding: .28rem .7rem;
  font-size: .7rem; font-weight: 700;
  color: rgba(255,255,255,.55) !important;
  letter-spacing: .03em;
}
.imp-footer__bottom {
  padding: 1.25rem 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.imp-footer__bottom-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; flex-wrap: wrap;
}
.imp-footer__bottom p { font-size: .78rem; color: rgba(255,255,255,.3); margin: 0; }
.imp-footer__bottom strong { color: rgba(255,255,255,.5); }
.imp-footer__bottom a { color: rgba(255,255,255,.45) !important; }
.imp-footer__bottom a:hover { color: rgba(255,255,255,.75) !important; }
.imp-footer__legal { display: flex; gap: 1.25rem; }
.imp-footer__legal a { font-size: .78rem; color: rgba(255,255,255,.3) !important; transition: color .15s; }
.imp-footer__legal a:hover { color: rgba(255,255,255,.65) !important; }

/* ═══════════════════════════════════════════════════════════
   NO PRODUCTS
═══════════════════════════════════════════════════════════ */
.imp-no-products {
  text-align: center; padding: 4rem 2rem;
  background: var(--bg-card);
  border: 1.5px dashed var(--brd2);
  border-radius: var(--r-xl);
  color: var(--muted);
}
.imp-no-products__icon { font-size: 3rem; margin-bottom: 1rem; }

/* ═══════════════════════════════════════════════════════════
   SHOP PAGE LAYOUT
═══════════════════════════════════════════════════════════ */
.woocommerce .woocommerce-products-header { display: none; }
.woocommerce-page #primary, .woocommerce #primary {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}
.site-content, .content-area, #main, .hentry { background: transparent !important; }

.woocommerce .woocommerce-result-count {
  color: var(--muted) !important; font-size: .82rem;
  background: var(--bg-card); border: 1px solid var(--brd);
  border-radius: var(--r); padding: .4rem .85rem; display: inline-block;
}
.woocommerce-ordering select {
  background: var(--bg-card) !important; border: 1.5px solid var(--brd2) !important;
  color: var(--text) !important; border-radius: var(--r) !important;
  padding: .5rem 2.25rem .5rem .85rem !important; font-size: .84rem !important;
  font-family: var(--sans) !important; box-shadow: var(--sh-xs) !important;
}

.storefront-full-width-content.woocommerce-page .content-area,
.woocommerce-page .content-area { width: 100% !important; float: none !important; }

.imp-shop-layout {
  display: flex; gap: 1.75rem; align-items: flex-start;
  padding: 2rem 0 3.5rem;
}

/* Sidebar */
.imp-shop-sidebar { width: 256px; flex-shrink: 0; position: sticky; top: 5rem; }
.imp-shop-sidebar .widget {
  background: var(--bg-card) !important;
  border: 1.5px solid var(--brd) !important;
  border-radius: var(--r-lg) !important;
  padding: 1.1rem !important;
  margin-bottom: .875rem !important;
  box-shadow: var(--sh-xs) !important;
}
.imp-shop-sidebar .widget-title,
.imp-shop-sidebar .widgettitle {
  font-family: var(--disp) !important; font-weight: 700 !important;
  font-size: .72rem !important; color: var(--muted) !important;
  text-transform: uppercase; letter-spacing: .08em;
  border-bottom: 1px solid var(--brd); padding-bottom: .6rem;
  margin-bottom: .85rem !important;
}

.widget_product_categories ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.widget_product_categories ul li { margin: 0 !important; }
.widget_product_categories ul li a {
  display: flex; align-items: center; justify-content: space-between;
  padding: .4rem .55rem; border-radius: .55rem;
  font-size: .845rem; color: var(--text2) !important;
  transition: background .15s, color .15s; font-family: var(--sans);
}
.widget_product_categories ul li a:hover { background: var(--blue-lt) !important; color: var(--blue) !important; }
.widget_product_categories ul li.current-cat > a { color: var(--blue) !important; font-weight: 600; background: var(--blue-lt); }
.widget_product_categories ul li ul { margin-left: .75rem !important; padding: 0 !important; }
.widget_product_categories .count {
  background: var(--bg-subtle); border: 1px solid var(--brd);
  border-radius: .35rem; padding: .08rem .4rem; font-size: .68rem; color: var(--muted);
}

.widget_price_filter .price_slider_wrapper { padding: .5rem 0; }
.widget_price_filter .ui-slider { background: #e2e8f0 !important; border: none !important; border-radius: 3px; height: 4px; }
.widget_price_filter .ui-slider-range { background: var(--gp) !important; }
.widget_price_filter .ui-slider-handle {
  background: #fff !important; border: 2px solid var(--blue) !important;
  border-radius: 50% !important; width: 1rem !important; height: 1rem !important;
  box-shadow: 0 2px 8px rgba(0,82,255,.25) !important; top: -.4rem !important; cursor: grab;
}
.widget_price_filter .price_label, .widget_price_filter .price_label span { color: var(--text) !important; font-family: var(--sans) !important; font-size: .845rem !important; }
.widget_price_filter .button { margin-top: .75rem !important; font-size: .78rem !important; padding: .45rem .9rem !important; }

.widget_layered_nav_filters ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: .35rem; }
.widget_layered_nav_filters ul li a {
  display: inline-flex; align-items: center; gap: .3rem;
  background: var(--blue-lt); border: 1px solid var(--brd-blue);
  border-radius: 2rem; padding: .28rem .75rem;
  font-size: .76rem; color: var(--blue) !important; transition: background .15s;
}
.widget_layered_nav_filters ul li a:hover { background: #fee2e2; border-color: #fca5a5; color: #dc2626 !important; }

.imp-shop-main { flex: 1; min-width: 0; }

.imp-filter-toggle {
  display: none; align-items: center; gap: .5rem;
  background: var(--bg-card); border: 1.5px solid var(--brd2);
  border-radius: var(--r); padding: .6rem 1rem;
  font-size: .875rem; font-family: var(--sans); font-weight: 600;
  color: var(--text); cursor: pointer; margin-bottom: 1.25rem;
  box-shadow: var(--sh-xs); transition: border-color .15s;
}
.imp-filter-toggle:hover { border-color: var(--blue); color: var(--blue); }
.imp-filter-sidebar-close {
  display: none; width: 100%; margin-bottom: 1rem;
  background: none; border: none; color: var(--muted);
  font-size: .95rem; cursor: pointer; font-family: var(--sans);
  font-weight: 600; text-align: left; padding: .5rem 0;
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT GRID
═══════════════════════════════════════════════════════════ */
.woocommerce ul.products, .woocommerce-page ul.products {
  display: grid !important; gap: 1.1rem !important;
  float: none !important; width: 100% !important;
}
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4,1fr) !important; }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3,1fr) !important; }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2,1fr) !important; }
.woocommerce ul.products::after, .woocommerce-page ul.products::after { display: none !important; }

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  background: var(--bg-card) !important;
  border: 1.5px solid var(--brd) !important;
  border-radius: var(--r-lg) !important;
  padding: 0 !important; margin: 0 !important;
  transition: border-color .2s, box-shadow .2s, transform .18s !important;
  overflow: hidden; display: flex !important; flex-direction: column !important;
  float: none !important; width: 100% !important; box-shadow: var(--sh-xs) !important;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--blue) !important;
  box-shadow: 0 10px 32px rgba(0,82,255,.1), 0 2px 8px rgba(0,0,0,.04) !important;
  transform: translateY(-3px) !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block !important; }
.woocommerce ul.products li.product a img {
  border-radius: 0 !important; transition: transform .4s !important;
  width: 100% !important; aspect-ratio: 1; object-fit: cover !important; display: block !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--text) !important; font-family: var(--disp) !important;
  font-weight: 600 !important; font-size: .875rem !important;
  padding: .875rem 1rem .2rem !important; line-height: 1.4 !important;
}
.woocommerce ul.products li.product .price {
  color: var(--blue) !important; font-weight: 800 !important; font-size: 1rem !important;
  padding: .15rem 1rem .75rem !important; display: block !important;
}
.woocommerce ul.products li.product .price del { color: var(--muted2) !important; font-size: .8rem !important; font-weight: 500 !important; margin-right: .2rem; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; }
.woocommerce ul.products li.product .button {
  margin: 0 .875rem .875rem !important;
  width: calc(100% - 1.75rem) !important;
  justify-content: center !important; font-size: .8rem !important;
  padding: .6rem 1rem !important;
  border-radius: .65rem !important; box-shadow: none !important;
  background: var(--blue-lt) !important; color: var(--blue) !important;
  border: 1.5px solid var(--brd-blue) !important;
}
.woocommerce ul.products li.product .button:hover {
  background: var(--gp) !important; color: #fff !important;
  border-color: transparent !important; box-shadow: var(--sh-blue) !important;
}
.woocommerce ul.products li.product .onsale {
  background: var(--ga) !important; border-radius: 2rem !important;
  font-weight: 700 !important; font-size: .7rem !important;
  padding: .25rem .75rem !important;
  top: .75rem !important; left: .75rem !important;
  box-shadow: none !important; border: none !important; color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT
═══════════════════════════════════════════════════════════ */
.woocommerce div.product .product_title {
  font-family: var(--disp) !important; font-weight: 800 !important;
  font-size: 2rem !important; color: var(--text) !important; margin-bottom: .75rem !important;
}
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--blue) !important; font-weight: 800 !important; font-size: 1.75rem !important; }
.star-rating span::before, .woocommerce .star-rating span::before { color: var(--amber) !important; }
.woocommerce div.product .product_meta span, .woocommerce div.product .product_meta a { color: var(--muted) !important; font-size: .84rem; }
.woocommerce div.product .product_meta a:hover { color: var(--blue) !important; }
.woocommerce div.product form.cart {
  border: 1.5px solid var(--brd); border-radius: var(--r-lg);
  padding: 1.25rem; background: var(--bg-card);
  margin-bottom: 1.5rem !important; box-shadow: var(--sh-xs);
}
.woocommerce div.product form.cart .quantity input.qty {
  background: var(--bg-subtle) !important; border: 1.5px solid var(--brd2) !important;
  border-radius: .75rem !important; color: var(--text) !important;
  font-size: 1rem !important; font-weight: 700 !important; text-align: center;
}
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--brd) !important; background: transparent !important; padding-left: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: var(--brd) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important; border: 1.5px solid transparent !important;
  border-bottom: none !important; border-radius: var(--r) var(--r) 0 0 !important; margin-right: .25rem !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--bg-card) !important; border-color: var(--brd) !important; border-bottom-color: var(--bg-card) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--muted) !important; font-weight: 500 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--blue) !important; font-weight: 600 !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--bg-card) !important; border: 1.5px solid var(--brd) !important;
  border-top: none !important; border-radius: 0 var(--r) var(--r) var(--r) !important; padding: 1.5rem !important;
}

.imp-points-notice {
  display: flex; align-items: center; gap: .6rem;
  background: linear-gradient(135deg, var(--blue-lt), var(--violet-lt));
  border: 1.5px solid rgba(0,82,255,.12); border-radius: var(--r);
  padding: .75rem 1rem; font-size: .845rem; color: var(--text2); margin-bottom: 1rem;
}
.imp-points-notice svg { color: var(--amber); flex-shrink: 0; }
.imp-points-notice strong { color: var(--blue); font-weight: 700; }

.related.products > h2, .upsells.products > h2 {
  font-family: var(--disp) !important; font-weight: 800 !important;
  position: relative; padding-bottom: .5rem; margin-bottom: 1.5rem !important;
}
.related.products > h2::after { content: ''; position: absolute; left: 0; bottom: 0; width: 2.25rem; height: 3px; background: var(--gp); border-radius: 2px; }

/* ═══════════════════════════════════════════════════════════
   CART TABLE
═══════════════════════════════════════════════════════════ */
.woocommerce table.shop_table {
  background: var(--bg-card) !important; border: 1.5px solid var(--brd) !important;
  border-radius: var(--r-lg) !important; overflow: hidden;
  border-collapse: separate !important; border-spacing: 0 !important;
  box-shadow: var(--sh-xs) !important;
}
.woocommerce table.shop_table th {
  background: var(--bg-subtle) !important; color: var(--muted) !important;
  font-size: .72rem !important; text-transform: uppercase; letter-spacing: .08em;
  padding: .75rem 1.1rem !important; border-bottom: 1px solid var(--brd) !important;
  font-family: var(--sans) !important; font-weight: 600 !important;
}
.woocommerce table.shop_table td {
  border-top: 1px solid var(--brd) !important; color: var(--text) !important;
  padding: .875rem 1.1rem !important; vertical-align: middle !important;
}
.woocommerce table.shop_table td.product-name a { color: var(--text) !important; font-weight: 600; }
.woocommerce table.shop_table td.product-price, .woocommerce table.shop_table td.product-subtotal { color: var(--blue) !important; font-weight: 800 !important; }
.woocommerce table.shop_table a.remove {
  background: #fef2f2 !important; color: #ef4444 !important;
  border-radius: .5rem !important; width: 2rem !important; height: 2rem !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  border: 1px solid #fecaca !important; font-size: 1.1rem !important;
}
.woocommerce table.shop_table a.remove:hover { background: #fee2e2 !important; }
.cart-collaterals .cart_totals, .woocommerce-checkout #order_review {
  background: var(--bg-card) !important; border: 1.5px solid var(--brd) !important;
  border-radius: var(--r-lg) !important; padding: 1.5rem !important; box-shadow: var(--sh-xs) !important;
}
.cart_totals h2, .order-review-heading {
  font-family: var(--disp) !important; font-size: 1rem !important;
  font-weight: 700 !important; color: var(--text) !important; margin-bottom: 1rem !important;
}

/* ═══════════════════════════════════════════════════════════
   CART DRAWER
═══════════════════════════════════════════════════════════ */
.imp-cart-drawer {
  position: fixed; inset: 0; z-index: 99999;
  pointer-events: none; display: flex; justify-content: flex-end;
}
.imp-cart-drawer.is-open { pointer-events: all; }
.imp-cart-drawer__overlay {
  position: absolute; inset: 0;
  background: rgba(15,23,42,.5); backdrop-filter: blur(3px);
  opacity: 0; transition: opacity .3s; cursor: pointer;
}
.imp-cart-drawer.is-open .imp-cart-drawer__overlay { opacity: 1; }
.imp-cart-drawer__panel {
  position: relative; width: 400px; max-width: 100vw; height: 100%;
  background: var(--bg-card); border-left: 1px solid var(--brd);
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform .34s cubic-bezier(.22,1,.36,1);
  box-shadow: -12px 0 40px rgba(0,0,0,.1);
}
.imp-cart-drawer.is-open .imp-cart-drawer__panel { transform: translateX(0); }
.imp-cart-drawer__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--brd);
}
.imp-cart-drawer__header h2,
.imp-cart-drawer__header h3 {
  font-family: var(--disp); font-weight: 700; font-size: 1rem;
  color: var(--text); margin: 0;
  display: flex; align-items: center; gap: .5rem;
}
.imp-cart-drawer__header h2 svg,
.imp-cart-drawer__header h3 svg { color: var(--blue); }
.imp-cart-drawer__close {
  background: var(--bg-subtle); border: 1px solid var(--brd2);
  color: var(--muted); width: 2rem; height: 2rem;
  border-radius: .55rem; font-size: 1.15rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, color .15s, border-color .15s; line-height: 1;
}
.imp-cart-drawer__close:hover { background: #fee2e2; color: #ef4444; border-color: #fecaca; }
.imp-cart-drawer__items { flex: 1; overflow-y: auto; padding: 1rem 1.4rem; }
.imp-cart-drawer .woocommerce-mini-cart { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.imp-cart-drawer .woocommerce-mini-cart li.woocommerce-mini-cart-item {
  display: flex !important; align-items: center !important; gap: .875rem !important;
  padding: .875rem 0 !important; border-bottom: 1px solid var(--brd) !important; margin: 0 !important;
}
.imp-cart-drawer .woocommerce-mini-cart li.woocommerce-mini-cart-item:last-child { border-bottom: none !important; }
.imp-cart-drawer .woocommerce-mini-cart li img {
  width: 3.5rem !important; height: 3.5rem !important;
  object-fit: cover !important; border-radius: .65rem !important; flex-shrink: 0;
  border: 1.5px solid var(--brd);
}
.imp-cart-drawer .woocommerce-mini-cart li .product-name a { color: var(--text) !important; font-weight: 600; font-size: .845rem; font-family: var(--disp); }
.imp-cart-drawer .woocommerce-mini-cart li .woocommerce-Price-amount { color: var(--blue) !important; font-weight: 700; font-size: .845rem; }
.imp-cart-drawer .woocommerce-mini-cart li .quantity { font-size: .76rem; color: var(--muted); margin-top: .15rem; }
.imp-cart-drawer .woocommerce-mini-cart li a.remove {
  background: #fef2f2 !important; color: #ef4444 !important;
  border-radius: .45rem !important; width: 1.5rem !important; height: 1.5rem !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  border: 1px solid #fecaca !important; font-size: .95rem !important;
  margin-left: auto; flex-shrink: 0; text-decoration: none !important;
}
.imp-cart-drawer .woocommerce-mini-cart li a.remove:hover { background: #fee2e2 !important; }
.imp-cart-drawer .woocommerce-mini-cart__buttons { display: none !important; }
.imp-cart-drawer .woocommerce-mini-cart__empty-message { text-align: center; color: var(--muted); padding: 2.5rem 0; font-size: .9rem; }
.imp-cart-drawer__footer { padding: 1.1rem 1.4rem; border-top: 1px solid var(--brd); background: var(--bg-subtle); }
.imp-cart-drawer__total {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: .875rem; font-size: .84rem; color: var(--muted);
}
.imp-cart-drawer__total strong { font-family: var(--disp); font-size: 1.25rem; font-weight: 800; color: var(--blue); }
.imp-cart-drawer__actions { display: flex; flex-direction: column; gap: .6rem; }
.imp-cart-drawer__actions .imp-btn { width: 100%; justify-content: center; }

/* ═══════════════════════════════════════════════════════════
   CHECKOUT / MY ACCOUNT
═══════════════════════════════════════════════════════════ */
.woocommerce-billing-fields h3, .woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3, #order_review_heading {
  font-family: var(--disp) !important; font-weight: 700 !important;
  font-size: 1rem !important; color: var(--text) !important;
  border-bottom: 1px solid var(--brd); padding-bottom: .5rem; margin-bottom: 1rem;
}
.woocommerce-MyAccount-navigation ul {
  background: var(--bg-card) !important; border: 1.5px solid var(--brd) !important;
  border-radius: var(--r-lg) !important; overflow: hidden;
  padding: .4rem !important; list-style: none !important; margin: 0 !important;
  box-shadow: var(--sh-xs) !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block !important; color: var(--text2) !important;
  font-weight: 500 !important; padding: .55rem .9rem !important;
  border-radius: .55rem !important; transition: background .15s, color .15s !important;
  font-family: var(--sans) !important; font-size: .845rem !important;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a { background: var(--blue-lt) !important; color: var(--blue) !important; }
.woocommerce-MyAccount-content {
  background: var(--bg-card) !important; border: 1.5px solid var(--brd) !important;
  border-radius: var(--r-lg) !important; padding: 1.5rem !important; box-shadow: var(--sh-xs) !important;
}

/* ═══════════════════════════════════════════════════════════
   WIDGETS
═══════════════════════════════════════════════════════════ */
.widget-area .widget, .sidebar-widget-area .widget {
  background: var(--bg-card) !important; border: 1.5px solid var(--brd) !important;
  border-radius: var(--r-lg) !important; padding: 1.1rem !important;
  margin-bottom: .875rem !important; box-shadow: var(--sh-xs) !important;
}
.widget-title, .widgettitle {
  font-family: var(--disp) !important; font-weight: 700 !important;
  font-size: .72rem !important; color: var(--muted) !important;
  text-transform: uppercase; letter-spacing: .08em;
  border-bottom: 1px solid var(--brd); padding-bottom: .6rem; margin-bottom: .85rem !important;
}

/* ═══════════════════════════════════════════════════════════
   NOTICES
═══════════════════════════════════════════════════════════ */
.woocommerce-message { background: #eff6ff !important; border-top: 3px solid var(--blue) !important; color: var(--text) !important; border-radius: var(--r) !important; }
.woocommerce-error   { background: #fef2f2 !important; border-top: 3px solid #ef4444 !important; color: var(--text) !important; border-radius: var(--r) !important; }
.woocommerce-info    { background: var(--violet-lt) !important; border-top: 3px solid var(--violet) !important; color: var(--text) !important; border-radius: var(--r) !important; }
.woocommerce-message a, .woocommerce-error a, .woocommerce-info a { color: var(--blue) !important; }

/* ═══════════════════════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════════════════════ */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: var(--bg-card) !important; border: 1.5px solid var(--brd) !important;
  color: var(--text2) !important; border-radius: .65rem !important;
  transition: all .2s !important; font-weight: 500 !important; box-shadow: var(--sh-xs) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--blue-lt) !important; border-color: var(--blue) !important; color: var(--blue) !important; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--gp) !important; border-color: transparent !important; color: #fff !important; }

/* ═══════════════════════════════════════════════════════════
   BREADCRUMB
═══════════════════════════════════════════════════════════ */
.woocommerce .woocommerce-breadcrumb { color: var(--muted) !important; font-size: .78rem !important; margin-bottom: 1rem !important; }
.woocommerce .woocommerce-breadcrumb a { color: var(--blue) !important; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
  .imp-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .imp-main-cats { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 1024px) {
  .imp-site-header__inner { grid-template-columns: auto 1fr auto auto; }
  .imp-hero__grid { grid-template-columns: 1fr; }
  .imp-hero__promo-box { display: none; }
  .imp-hero { padding: 4rem 0 4.5rem; }
  .imp-hero__sub { max-width: 100%; }
  .imp-trust-strip__grid { grid-template-columns: repeat(2,1fr); gap: 1.25rem; }
  .imp-loyalty-cta__inner { flex-direction: column; gap: 2.5rem; }
  .imp-loyalty-cta__right { align-items: flex-start; }
}

@media (max-width: 768px) {
  .imp-container { padding: 0 1.25rem; }
  .imp-site-header__inner { grid-template-columns: auto 1fr auto; padding: .75rem 1.25rem; gap: .875rem; }
  .imp-header-account-wrap { display: none; }
  .imp-header-cart__label { display: none; }
  .imp-hamburger { display: flex; }
  .imp-cat-nav__list { display: none; }
  .imp-cat-nav__inner { padding: 0 1.25rem; }
  .imp-cat-nav__all { width: 100%; justify-content: center; }
  .imp-hero { padding: 3rem 0 3.5rem; }
  .imp-hero__title { font-size: 2.1rem !important; }
  .imp-hero__badge { display: none; }
  .imp-main-cats { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .imp-sub-cats { grid-template-columns: repeat(6,1fr); }
  .imp-banners-grid { grid-template-columns: 1fr; }
  .imp-banner { padding: 1.5rem; }
  .imp-banner__deco { display: none; }
  .imp-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .imp-footer-newsletter__inner { flex-direction: column; }
  .imp-newsletter-form { min-width: 0; max-width: 100%; width: 100%; }
  .imp-filter-toggle { display: flex; }
  .imp-filter-sidebar-close { display: block; }
  .imp-shop-sidebar {
    position: fixed; top: 0; left: 0; bottom: 0; width: 290px; max-width: 90vw;
    background: #fff; z-index: 9999; transform: translateX(-100%);
    transition: transform .3s cubic-bezier(.22,1,.36,1);
    overflow-y: auto; padding: 1.25rem; box-shadow: var(--sh-xl);
  }
  .imp-shop-sidebar.is-open { transform: translateX(0); }
  .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2,1fr) !important; }
}

@media (max-width: 480px) {
  .imp-container { padding: 0 1rem; }
  .imp-site-header__inner { padding: .75rem 1rem; }
  .imp-hero { padding: 2.5rem 0 3rem; }
  .imp-hero__title { font-size: 1.85rem !important; }
  .imp-hero__cta-stats { gap: 1.25rem; }
  .imp-main-cats { grid-template-columns: 1fr; }
  .imp-sub-cats { grid-template-columns: repeat(4,1fr); }
  .imp-trust-strip__grid { grid-template-columns: 1fr; gap: 1rem; }
  .imp-footer__grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2,1fr) !important; }
  .imp-footer__legal { flex-wrap: wrap; gap: .75rem; }
}

/* ═══════════════════════════════════════════════════════════
   HERO v4 — card stack visual
═══════════════════════════════════════════════════════════ */
.imp-hero__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
}
.imp-btn--ghost {
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.85) !important;
  border: 1.5px solid rgba(255,255,255,.18);
  padding: .8rem 1.75rem;
  border-radius: var(--r);
  transition: background .2s, border-color .2s;
}
.imp-btn--ghost:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.3);
  color: #fff !important;
}
.imp-btn--ghost.imp-btn--lg { padding: .95rem 2.25rem; border-radius: var(--r-lg); }

/* Trust row inside hero */
.imp-hero__trust {
  display: flex;
  align-items: center;
  gap: 0;
}
.imp-hero__trust-item {
  display: flex;
  flex-direction: column;
  padding: 0 1.25rem;
}
.imp-hero__trust-item:first-child { padding-left: 0; }
.imp-hero__trust-num {
  font-family: var(--disp);
  font-size: 1.35rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -.02em;
}
.imp-hero__trust-lbl {
  font-size: .72rem;
  color: rgba(255,255,255,.45);
  font-weight: 500;
  margin-top: .1rem;
}
.imp-hero__trust-sep {
  width: 1px;
  height: 2rem;
  background: rgba(255,255,255,.15);
  flex-shrink: 0;
}

/* Hero visual — card stack */
.imp-hero__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.imp-hero__card-stack {
  position: relative;
  width: 100%;
  max-width: 360px;
}
.imp-hero-card {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--r-xl);
  backdrop-filter: blur(16px);
  padding: 1.25rem 1.4rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: transform .3s;
}
.imp-hero-card--main {
  position: relative;
  z-index: 2;
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.2);
}
.imp-hero-card__icon { font-size: 2rem; flex-shrink: 0; }
.imp-hero-card__body { flex: 1; min-width: 0; }
.imp-hero-card__title { font-size: .68rem; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .08em; margin-bottom: .2rem; }
.imp-hero-card__name { font-family: var(--disp); font-weight: 600; font-size: .9rem; color: #fff; margin-bottom: .25rem; }
.imp-hero-card__price { font-size: .8rem; color: rgba(255,255,255,.5); }
.imp-hero-card__price strong { color: #93c5fd; font-weight: 700; }
.imp-hero-card__btn {
  background: var(--gp); color: #fff !important;
  padding: .45rem 1rem; border-radius: .6rem;
  font-size: .78rem; font-weight: 700; font-family: var(--sans);
  white-space: nowrap; flex-shrink: 0;
  transition: opacity .15s;
}
.imp-hero-card__btn:hover { opacity: .85; color: #fff !important; }

/* Small floating cards */
.imp-hero-card--sm {
  position: absolute;
  padding: .75rem 1rem;
  border-radius: var(--r-lg);
  gap: .65rem;
  z-index: 3;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
}
.imp-hero-card--left {
  bottom: -1.25rem;
  left: -1.5rem;
  max-width: 200px;
}
.imp-hero-card--right {
  top: -1.25rem;
  right: -1.5rem;
  max-width: 200px;
}
.imp-hero-card__emoji { font-size: 1.5rem; flex-shrink: 0; }
.imp-hero-card__sm-label { font-family: var(--disp); font-weight: 600; font-size: .8rem; color: #fff; }
.imp-hero-card__sm-price { font-size: .72rem; color: rgba(255,255,255,.5); margin-top: .1rem; }

/* Delivery badge */
.imp-hero-card--badge {
  position: absolute;
  bottom: -3rem;
  right: 0;
  padding: .5rem .875rem;
  border-radius: 2rem;
  font-size: .72rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  gap: .4rem;
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.1);
  max-width: 220px;
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════
   HOW TO ORDER — 3 steps strip
═══════════════════════════════════════════════════════════ */
.imp-steps {
  background: #fff;
  border-bottom: 1px solid var(--brd);
  padding: 1.25rem 0;
}
.imp-steps__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.imp-steps__label {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--muted2);
  white-space: nowrap;
  margin: 0;
  flex-shrink: 0;
  padding-right: 1rem;
  border-right: 1px solid var(--brd2);
}
.imp-steps__list {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex: 1;
  flex-wrap: wrap;
}
.imp-step {
  display: flex;
  align-items: center;
  gap: .625rem;
  flex: 1;
  min-width: 160px;
}
.imp-step__num {
  width: 1.5rem; height: 1.5rem;
  border-radius: 50%;
  background: var(--gp);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-family: var(--disp);
}
.imp-step__icon { font-size: 1.1rem; flex-shrink: 0; }
.imp-step__body { min-width: 0; }
.imp-step__body strong { display: block; font-size: .84rem; font-weight: 700; color: var(--text); font-family: var(--disp); line-height: 1.2; }
.imp-step__body span { font-size: .74rem; color: var(--muted); line-height: 1.3; }
.imp-step__arrow {
  font-size: 1rem; color: var(--muted2);
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY CARDS — desc + count
═══════════════════════════════════════════════════════════ */
.imp-main-cat__desc {
  font-size: .72rem;
  color: var(--muted);
  margin-bottom: .25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.imp-main-cat__count {
  font-size: .68rem;
  font-weight: 600;
  color: var(--blue);
  background: var(--blue-lt);
  border-radius: 2rem;
  padding: .1rem .5rem;
  display: inline-block;
}
/* Remove old subs line (replaced by desc) */
.imp-main-cat__subs { display: none; }

/* ═══════════════════════════════════════════════════════════
   FAQ SECTION
═══════════════════════════════════════════════════════════ */
.imp-faq {
  padding: 4rem 0;
  background: #fff;
  border-top: 1px solid var(--brd);
}
.imp-faq__inner {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 4rem;
  align-items: start;
}
.imp-faq__header { position: sticky; top: 7rem; }
.imp-faq__header .imp-section-title { margin-bottom: 1rem !important; }
.imp-faq__sub { font-size: .875rem; color: var(--muted); line-height: 1.65; margin: 0; }

.imp-faq__grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1.5px solid var(--brd);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-xs);
}
.imp-faq__item { border-bottom: 1px solid var(--brd); }
.imp-faq__item:last-child { border-bottom: none; }

.imp-faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.4rem;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--sans);
  font-size: .9rem;
  font-weight: 600;
  color: var(--text);
  transition: background .15s;
}
.imp-faq__q:hover { background: var(--bg-subtle); }
.imp-faq__q[aria-expanded="true"] { background: var(--blue-lt); color: var(--blue); }
.imp-faq__q[aria-expanded="true"] .imp-faq__chevron { transform: rotate(180deg); color: var(--blue); }
.imp-faq__chevron { flex-shrink: 0; color: var(--muted2); transition: transform .2s, color .2s; }

.imp-faq__a {
  padding: 0 1.4rem 1.1rem 1.4rem;
  background: var(--bg-subtle);
  border-top: 1px solid var(--brd);
}
.imp-faq__a p {
  margin: 0;
  padding-top: .9rem;
  font-size: .875rem;
  color: var(--text2);
  line-height: 1.7;
}

/* ═══════════════════════════════════════════════════════════
   TRUST STRIP — slightly improved
═══════════════════════════════════════════════════════════ */
.imp-trust-strip { background: var(--bg-subtle); }

/* ═══════════════════════════════════════════════════════════
   PRODUCT CARD — add-to-cart overlay on hover
═══════════════════════════════════════════════════════════ */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  position: relative;
  display: block !important;
  overflow: hidden;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,82,255,.04) 0%, transparent 50%);
  opacity: 0;
  transition: opacity .25s;
  pointer-events: none;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__link::after { opacity: 1; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — new sections
═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .imp-hero__visual { display: none; }
  .imp-hero__grid { grid-template-columns: 1fr; }
  .imp-faq__inner { grid-template-columns: 1fr; gap: 2rem; }
  .imp-faq__header { position: static; }
  .imp-hero__trust { gap: 0; }
}

@media (max-width: 768px) {
  .imp-steps__inner { gap: 1rem; }
  .imp-steps__label { display: none; }
  .imp-step__arrow { display: none; }
  .imp-steps__list { gap: .5rem; }
  .imp-step { min-width: 120px; }
  .imp-hero__trust-item { padding: 0 .875rem; }
  .imp-hero__trust-num { font-size: 1.1rem; }
}

@media (max-width: 480px) {
  .imp-hero__actions { flex-direction: column; align-items: flex-start; }
  .imp-hero__trust { display: none; }
  .imp-steps__list { flex-direction: column; gap: .625rem; }
  .imp-step { min-width: 0; width: 100%; }
}
/* ═══════════════════════════════════════════════════════════
   v5.0 — Allegro/Empik/Zalando-inspired upgrade
═══════════════════════════════════════════════════════════ */

/* ── Section sub-heading ── */
.imp-section-sub {
  font-size: .875rem;
  color: var(--muted);
  margin: .25rem 0 0;
  font-weight: 400;
}

/* ══ HERO v5 ════════════════════════════════════════════════════ */

/* Urgency bar */
.imp-hero__urgency {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(74,222,128,.12);
  border: 1px solid rgba(74,222,128,.25);
  border-radius: 999px;
  padding: .45rem 1.1rem;
  font-size: .82rem;
  color: rgba(255,255,255,.88);
  margin-bottom: 1.75rem;
  font-family: var(--sans);
}
.imp-hero__urgency strong { color: #fff; }
.imp-hero__urgency-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 3px rgba(74,222,128,.25);
  animation: urgency-pulse 2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes urgency-pulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(74,222,128,.25); }
  50%      { box-shadow: 0 0 0 6px rgba(74,222,128,.08); }
}
.imp-hero__urgency-timer {
  color: rgba(255,255,255,.6);
  font-variant-numeric: tabular-nums;
  font-size: .78rem;
}

/* Hero promo grid (right column) */
.imp-hero__promo {
  display: flex;
  align-items: center;
  justify-content: center;
}
.imp-hero-promo__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .875rem;
  width: 100%;
  max-width: 370px;
}
.imp-hero-promo-card {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--r-xl);
  backdrop-filter: blur(14px);
  padding: 1.1rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  text-decoration: none !important;
  transition: background .2s, transform .2s, border-color .2s;
}
.imp-hero-promo-card:hover {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.25);
  transform: translateY(-2px);
}
.imp-hero-promo-card--featured {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  background: rgba(255,255,255,.13);
  border-color: rgba(255,255,255,.2);
  padding: 1.25rem;
}
.imp-hero-promo-card__badge {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: #fbbf24;
  margin-bottom: .25rem;
}
.imp-hero-promo-card__emoji { font-size: 2.4rem; line-height: 1; flex-shrink: 0; }
.imp-hero-promo-card--featured .imp-hero-promo-card__emoji { font-size: 3rem; }
.imp-hero-promo-card__title {
  font-family: var(--disp);
  font-weight: 700;
  font-size: .95rem;
  color: #fff;
  line-height: 1.2;
}
.imp-hero-promo-card__price { font-size: .78rem; color: rgba(255,255,255,.55); }
.imp-hero-promo-card__price strong { color: #93c5fd; font-weight: 700; }
.imp-hero-promo-card__cta {
  font-size: .78rem;
  font-weight: 700;
  color: rgba(255,255,255,.8);
  margin-top: .2rem;
}
.imp-hero-promo-card--shipping {
  grid-column: 1 / -1;
  flex-direction: row;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  font-size: .78rem;
  color: rgba(255,255,255,.65);
}
.imp-hero-promo-card--shipping strong { display: block; color: #fff; font-size: .82rem; }
.imp-hero-promo-card--shipping span { font-size: .72rem; }

/* ══ QUICK CATS — Allegro-style horizontal strip ═══════════════ */
.imp-quick-cats {
  background: #fff;
  border-bottom: 1px solid var(--brd);
  box-shadow: 0 1px 0 var(--brd);
  position: sticky;
  top: 57px;   /* matches .imp-cat-nav top */
  z-index: 89; /* just below cat-nav */
  display: none; /* shown only on homepage via body class — always show for now */
}
/* Override: always show it */
.imp-quick-cats { display: block; }
.imp-cat-nav { top: 57px; }
/* push quick-cats below both header+catnav */
.imp-quick-cats { top: calc(57px + 37px); }

.imp-quick-cats__track {
  display: flex;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 0 2rem;
  max-width: 1280px;
  margin: 0 auto;
  gap: 0;
}
.imp-quick-cats__track::-webkit-scrollbar { display: none; }

.imp-quick-cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  padding: .7rem 1.1rem;
  text-decoration: none !important;
  white-space: nowrap;
  flex-shrink: 0;
  border-bottom: 2px solid transparent;
  transition: border-color .15s;
  min-width: 0;
}
.imp-quick-cat:hover { border-bottom-color: var(--blue); }
.imp-quick-cat__emoji { font-size: 1.3rem; line-height: 1; }
.imp-quick-cat__name {
  font-size: .7rem;
  font-weight: 600;
  color: var(--text2);
  line-height: 1;
  transition: color .15s;
}
.imp-quick-cat:hover .imp-quick-cat__name { color: var(--blue); }

/* ══ PROMO BANNERS v5 ══════════════════════════════════════════ */
.imp-promo-banner-section {
  padding: 0 0 3rem;
  background: var(--bg);
}
.imp-promo-banner-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 1rem;
  align-items: stretch;
}
.imp-pbx {
  border-radius: var(--r-xl);
  padding: 2rem 1.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  text-decoration: none !important;
  overflow: hidden;
  position: relative;
  transition: transform .22s, box-shadow .22s;
  min-height: 180px;
}
.imp-pbx:hover { transform: translateY(-3px); box-shadow: var(--sh-xl); }
.imp-pbx--events   { background: linear-gradient(135deg, #060D36 0%, #0B1A5C 50%, #140D38 100%); }
.imp-pbx--marketing { background: linear-gradient(135deg, #1A0638 0%, #2D0D55 50%, #1A0825 100%); }
.imp-pbx--student  { background: linear-gradient(135deg, #064438 0%, #065F46 50%, #0A2A1E 100%); }
.imp-pbx--large    { grid-row: 1 / 3; flex-direction: column; justify-content: flex-end; min-height: 280px; }
.imp-pbx--large .imp-pbx__emoji {
  position: absolute;
  top: 1.5rem; right: 1.5rem;
  font-size: 3.5rem;
  line-height: 1.6;
  text-align: right;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.3));
}
.imp-pbx__content { flex: 1; min-width: 0; position: relative; z-index: 1; }
.imp-pbx__tag {
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.5);
  margin-bottom: .45rem;
}
.imp-pbx__title {
  font-family: var(--disp);
  font-size: 1.2rem;
  color: #fff;
  line-height: 1.25;
  margin-bottom: .45rem;
}
.imp-pbx--large .imp-pbx__title { font-size: 1.6rem; margin-bottom: .55rem; }
.imp-pbx__title strong { font-weight: 800; }
.imp-pbx__sub {
  font-size: .76rem;
  color: rgba(255,255,255,.55);
  margin-bottom: .875rem;
  line-height: 1.5;
}
.imp-pbx__btn {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  padding: .5rem 1.1rem;
  border-radius: 999px;
  transition: background .15s;
  font-family: var(--sans);
  border: 1px solid rgba(255,255,255,.18);
}
.imp-pbx:hover .imp-pbx__btn { background: rgba(255,255,255,.26); }
.imp-pbx__emoji {
  font-size: 2.5rem;
  line-height: 1.4;
  text-align: center;
  flex-shrink: 0;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,.25));
}

/* ══ REVIEWS SECTION ═══════════════════════════════════════════ */
.imp-reviews-section {
  padding: 4rem 0;
  background: var(--bg-subtle);
  border-top: 1px solid var(--brd);
  border-bottom: 1px solid var(--brd);
}
.imp-reviews-avg {
  display: flex;
  align-items: center;
  gap: .875rem;
  flex-shrink: 0;
}
.imp-reviews-avg__num {
  font-family: var(--disp);
  font-size: 3rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1;
}
.imp-stars { color: #F59E0B; font-size: 1.05rem; letter-spacing: .04em; line-height: 1; }
.imp-reviews-avg__lbl { font-size: .78rem; color: var(--muted); margin-top: .25rem; }

.imp-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2rem;
}
.imp-review-card {
  background: #fff;
  border: 1px solid var(--brd);
  border-radius: var(--r-xl);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .875rem;
  box-shadow: var(--sh-sm);
  transition: box-shadow .2s, transform .2s;
}
.imp-review-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}
.imp-review-card__stars { color: #F59E0B; font-size: .95rem; letter-spacing: .04em; }
.imp-review-card__text {
  font-size: .875rem;
  color: var(--text2);
  line-height: 1.72;
  margin: 0;
  flex: 1;
  font-style: normal;
}
.imp-review-card__footer {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding-top: .25rem;
  border-top: 1px solid var(--brd);
}
.imp-review-card__avatar {
  width: 2.25rem; height: 2.25rem;
  border-radius: 50%;
  background: var(--gp);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: var(--disp);
}
.imp-review-card__name { display: block; font-size: .875rem; font-weight: 700; color: var(--text); }
.imp-review-card__label { font-size: .72rem; color: var(--muted); }

/* ══ TRUST STRIP — override emoji icon with SVG icon style ═════ */
.imp-trust-item__icon {
  width: 2.75rem !important;
  height: 2.75rem !important;
  border-radius: .75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0 !important; /* hide old emoji if present */
}
.imp-trust-item__icon svg { display: block; }

/* ══ PRODUCT CARD — Allegro-inspired ═══════════════════════════ */

/* Grid wrapper */
.imp-product-grid {
  display: grid !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: .875rem;
}
.imp-product-grid.columns-5 { grid-template-columns: repeat(5, 1fr); }
.imp-product-grid.columns-4 { grid-template-columns: repeat(4, 1fr); }
.imp-product-grid.columns-3 { grid-template-columns: repeat(3, 1fr); }

/* Card base */
.woocommerce ul.products li.product.imp-product-item,
li.product.imp-product-item {
  background: #fff !important;
  border: 1px solid var(--brd2) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.05) !important;
  transition: box-shadow .2s, border-color .2s !important;
}
li.product.imp-product-item:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,.09) !important;
  border-color: #94a3b8 !important;
  transform: none !important;
}

/* Badge */
.imp-badge {
  position: absolute;
  top: .5rem; left: .5rem;
  z-index: 3;
  font-size: .6rem;
  font-weight: 700;
  padding: .18rem .5rem;
  border-radius: 999px;
  pointer-events: none;
  letter-spacing: .02em;
}
.imp-badge--gold { background: #FEF9C3; color: #92400E; }
.imp-badge--blue { background: #DBEAFE; color: #1E40AF; }
.imp-badge--red  { background: #FEE2E2; color: #B91C1C; }

/* Image area */
.imp-product-item__img-wrap {
  display: block;
  overflow: hidden;
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--bg-subtle);
}
.imp-product-item__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}
li.product.imp-product-item:hover .imp-product-item__img-wrap img {
  transform: scale(1.04);
}

/* Remove old hover overlay */
.imp-product-item__overlay { display: none !important; }

/* Heart / wishlist button */
.imp-product-item__heart {
  position: absolute;
  top: .5rem; right: .5rem;
  z-index: 4;
  width: 1.9rem; height: 1.9rem;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  color: var(--muted2);
  transition: color .15s, background .15s, border-color .15s;
  padding: 0;
}
.imp-product-item__heart:hover {
  background: #fff;
  color: #ef4444;
  border-color: rgba(239,68,68,.25);
}
.imp-product-item__heart.is-active { color: #ef4444; }

/* Card body */
.imp-product-item__body {
  padding: .6rem .75rem .75rem;
  display: flex;
  flex-direction: column;
  gap: .18rem;
  flex: 1;
}

/* Rating */
.imp-product-item__rating {
  display: flex;
  align-items: center;
  gap: .25rem;
  margin-bottom: .1rem;
}
.imp-product-item__rating .star-rating {
  font-size: .72rem !important;
  width: auto !important;
  margin: 0 !important;
  line-height: 1;
}
.imp-product-item__rat-count { font-size: .68rem; color: var(--muted); }

/* Title */
.imp-product-item__title {
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  color: var(--text) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.imp-product-item__title a {
  color: var(--text) !important;
  text-decoration: none !important;
}
.imp-product-item__title a:hover { color: var(--blue) !important; }

/* Price row */
.imp-product-item__price-row { margin-top: .3rem; }
.imp-product-item__body .woocommerce-Price-amount,
.imp-product-item__price .amount {
  font-family: var(--sans) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  color: var(--text) !important;
}
.imp-product-item__price del { display: inline; }
.imp-product-item__price del .amount {
  font-weight: 400 !important;
  font-size: .78rem !important;
  color: var(--muted2) !important;
}
.imp-product-item__price ins { text-decoration: none !important; display: inline; }
.imp-product-item__price ins .amount {
  color: #DC2626 !important;
  font-weight: 800 !important;
}

/* Free shipping badge */
.imp-product-item__shipping {
  display: flex;
  align-items: center;
  gap: .3rem;
  font-size: .7rem;
  font-weight: 500;
  color: #059669;
  margin-top: .15rem;
}
.imp-product-item__shipping svg { flex-shrink: 0; }

/* Add to cart button */
.imp-product-item__atc { margin-top: .5rem; }
.imp-product-item__atc .button,
.imp-card-atc-btn {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
  padding: .55rem .875rem !important;
  font-size: .78rem !important;
  border-radius: .6rem !important;
  box-shadow: none !important;
  background: var(--blue-lt) !important;
  color: var(--blue) !important;
  border: 1.5px solid var(--brd-blue) !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  transition: background .15s, color .15s, border-color .15s !important;
}
.imp-product-item__atc .button:hover,
.imp-card-atc-btn:hover {
  background: var(--blue) !important;
  color: #fff !important;
  border-color: var(--blue) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Hide default WC button when using imp-product-grid */
.imp-product-grid li.product > a.button:not(.imp-card-atc-btn),
.imp-product-grid li.product > .button:not(.imp-card-atc-btn) {
  display: none !important;
}

/* ══ RESPONSIVE ════════════════════════════════════════════════ */
@media (max-width: 1200px) {
  .imp-promo-banner-grid { grid-template-columns: 1fr 1fr; }
  .imp-pbx--large { grid-row: auto; min-height: 180px; flex-direction: row; }
  .imp-pbx--large .imp-pbx__emoji { position: static; font-size: 2.5rem; }
}
@media (max-width: 1024px) {
  .imp-hero__promo { display: none; }
  .imp-reviews-grid { grid-template-columns: repeat(2, 1fr); }
  .imp-product-grid.columns-5,
  .imp-product-grid.columns-4 { grid-template-columns: repeat(3, 1fr); }
  .imp-promo-banner-grid { grid-template-columns: 1fr 1fr; gap: .875rem; }
}
@media (max-width: 768px) {
  .imp-quick-cats { position: static; top: auto; z-index: 1; }
  .imp-reviews-grid { grid-template-columns: 1fr; }
  .imp-product-grid.columns-5,
  .imp-product-grid.columns-4,
  .imp-product-grid.columns-3 { grid-template-columns: repeat(2, 1fr); gap: .75rem; }
  .imp-promo-banner-grid { grid-template-columns: 1fr; }
  .imp-pbx--large { grid-row: auto; }
}
@media (max-width: 480px) {
  .imp-product-grid.columns-5,
  .imp-product-grid.columns-4,
  .imp-product-grid.columns-3 { grid-template-columns: repeat(2, 1fr); gap: .5rem; }
  .imp-hero__urgency { font-size: .75rem; }
  .imp-reviews-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   v6.0 — Header + Archive + Single product + Responsive fixes
═══════════════════════════════════════════════════════════ */

/* ── Header: fix 4-child grid, hide search-btn text on mobile ── */
.imp-search-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: .35rem !important;
}
@media (max-width: 860px) {
  .imp-search-btn__text { display: none !important; }
  .imp-search-btn {
    padding: .72rem 1rem !important;
    border-radius: 0 999px 999px 0 !important;
  }
}
@media (max-width: 768px) {
  /* BUG FIX: 4 children need 4 columns (logo | search | cart | hamburger) */
  .imp-site-header__inner {
    grid-template-columns: auto 1fr auto auto !important;
    gap: .625rem !important;
    padding: .7rem 1.25rem !important;
  }
}
@media (max-width: 480px) {
  .imp-site-header__inner {
    grid-template-columns: auto 1fr auto auto !important;
    padding: .65rem 1rem !important;
    gap: .5rem !important;
  }
  .imp-header-search {
    min-width: 0;
  }
  .imp-search-input {
    padding: .65rem .75rem .65rem 2.5rem !important;
    font-size: .8rem !important;
  }
}

/* ── Archive / Category banner ───────────────────────────── */
.imp-archive-banner {
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--brd);
  padding: 1.5rem 0 1.25rem;
}
.imp-archive-banner--shop {
  background: linear-gradient(160deg, var(--bg-subtle) 60%, #fff 100%);
}
.imp-archive-banner--search {
  background: #fff;
}
.imp-archive-banner__bc .woocommerce-breadcrumb {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: .15rem;
  font-size: .78rem !important;
  color: var(--muted) !important;
  margin: 0 0 .5rem !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.imp-archive-banner__bc .woocommerce-breadcrumb a {
  color: var(--muted) !important;
  text-decoration: none !important;
  transition: color .15s;
}
.imp-archive-banner__bc .woocommerce-breadcrumb a:hover { color: var(--blue) !important; }
.imp-archive-banner__bc .woocommerce-breadcrumb svg { vertical-align: middle; color: var(--muted2); }
.imp-archive-title {
  font-family: var(--disp) !important;
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin: 0 0 .35rem !important;
  line-height: 1.2;
}
.imp-archive-title em {
  font-style: normal;
  background: var(--gp);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.imp-archive-desc {
  font-size: .875rem;
  color: var(--muted);
  margin: 0 0 .65rem;
  max-width: 540px;
  line-height: 1.6;
}
.imp-archive-count {
  display: inline-flex;
  align-items: center;
  font-size: .72rem;
  font-weight: 600;
  color: var(--blue);
  background: var(--blue-lt);
  border-radius: 999px;
  padding: .18rem .75rem;
  border: 1px solid var(--brd-blue);
}

/* ── Shop toolbar (filter toggle + results + ordering) ───── */
.imp-shop-toolbar {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.25rem;
  padding: .6rem .875rem;
  background: #fff;
  border: 1px solid var(--brd);
  border-radius: var(--r);
  box-shadow: var(--sh-xs);
  flex-wrap: wrap;
}
.imp-shop-toolbar .imp-filter-toggle {
  display: none; /* only show on mobile (overridden below) */
  flex-shrink: 0;
  margin: 0;
  padding: .45rem .875rem;
  font-size: .82rem;
  border-radius: .6rem;
  background: var(--bg-subtle) !important;
  color: var(--text) !important;
  border-color: var(--brd2) !important;
  box-shadow: none !important;
}
.imp-shop-toolbar__meta {
  display: contents;
}
.imp-shop-toolbar .woocommerce-result-count {
  font-size: .82rem !important;
  color: var(--muted) !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  flex: 1 1 auto;
}
.imp-shop-toolbar .woocommerce-ordering {
  margin: 0 !important;
  float: none !important;
  flex-shrink: 0;
}
.imp-shop-toolbar .woocommerce-ordering select {
  padding: .4rem 2rem .4rem .7rem !important;
  font-size: .8rem !important;
  border-radius: .6rem !important;
}

/* Sidebar overlay backdrop */
.imp-sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15,23,42,.45);
  backdrop-filter: blur(3px);
  z-index: 9998;
}
.imp-sidebar-backdrop.is-visible { display: block; }

/* ── Single product: breadcrumb above the grid ───────────── */
.imp-single-breadcrumb {
  padding: 1.1rem 0 0;
  margin-bottom: -.25rem;
}
.imp-single-breadcrumb .woocommerce-breadcrumb {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: .15rem;
  font-size: .78rem !important;
  color: var(--muted) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.imp-single-breadcrumb .woocommerce-breadcrumb a {
  color: var(--muted) !important;
  text-decoration: none !important;
  transition: color .15s;
}
.imp-single-breadcrumb .woocommerce-breadcrumb a:hover { color: var(--blue) !important; }
.imp-single-breadcrumb .woocommerce-breadcrumb svg { vertical-align: middle; color: var(--muted2); }

/* ── Single product: 2-column CSS grid ───────────────────── */
.single-product #primary.content-area {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 2rem 3rem !important;
}
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: 45% 55% !important;
  column-gap: 3rem !important;
  row-gap: 0 !important;
  align-items: start !important;
  padding: 1.25rem 0 2.5rem !important;
}
.woocommerce div.product > div.images,
.woocommerce div.product > .woocommerce-product-gallery {
  float: none !important;
  width: 100% !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start;
  position: sticky;
  top: 7.5rem;
}
.woocommerce div.product > div.summary.entry-summary {
  float: none !important;
  width: 100% !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex;
  flex-direction: column;
  gap: .875rem;
}
.woocommerce div.product > .woocommerce-tabs {
  grid-column: 1 / -1 !important;
  float: none !important;
  width: 100% !important;
  margin-top: 2.5rem !important;
  clear: both !important;
}
.woocommerce div.product > .related,
.woocommerce div.product > .upsells {
  grid-column: 1 / -1 !important;
  float: none !important;
  width: 100% !important;
  clear: both !important;
}

/* Gallery thumbnails */
.woocommerce-product-gallery .flex-viewport {
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
  border: 1.5px solid var(--brd) !important;
  background: var(--bg-subtle);
}
.woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
  margin-top: .625rem !important;
  padding: 0 !important;
  list-style: none !important;
}
.woocommerce-product-gallery .flex-control-thumbs li {
  width: calc(25% - .375rem) !important;
  margin: 0 !important;
}
.woocommerce-product-gallery .flex-control-thumbs li img {
  border-radius: .6rem !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  transition: border-color .15s !important;
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  border-color: var(--blue) !important;
}

/* Product title */
.woocommerce div.product .product_title {
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--text) !important;
  margin: 0 !important;
}
/* Rating row */
.woocommerce div.product .woocommerce-product-rating {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-review-link {
  font-size: .82rem !important;
  color: var(--muted) !important;
}
/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  line-height: 1.15 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: var(--muted2) !important;
  opacity: 1 !important;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { text-decoration: none !important; }
.woocommerce div.product p.price ins .amount,
.woocommerce div.product span.price ins .amount {
  color: #DC2626 !important;
  font-weight: 800 !important;
}
/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: .875rem !important;
  color: var(--text2) !important;
  line-height: 1.72 !important;
  border-top: 1px solid var(--brd);
  padding-top: .75rem !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description p {
  color: var(--text2) !important;
  margin-bottom: .5rem;
}
/* Stock */
.woocommerce div.product .stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
}
.woocommerce div.product .stock.in-stock { color: #059669 !important; }
.woocommerce div.product .stock.out-of-stock { color: #DC2626 !important; }
.woocommerce div.product .stock::before {
  content: '';
  width: .45rem; height: .45rem;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
  flex-shrink: 0;
}
/* Form cart */
.woocommerce div.product form.cart {
  border: none !important;
  background: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .75rem !important;
}
.woocommerce div.product form.cart .quantity {
  display: inline-flex !important;
}
.woocommerce div.product form.cart .button[name=add-to-cart],
.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1 !important;
  text-align: center !important;
  justify-content: center !important;
  font-size: .9rem !important;
  padding: .875rem 1.75rem !important;
  border-radius: var(--r) !important;
}
/* Delivery info strip */
.imp-product-delivery {
  background: var(--bg-subtle);
  border: 1px solid var(--brd);
  border-radius: var(--r);
  padding: .875rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}
.imp-product-delivery__row {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  color: var(--text2);
}
.imp-product-delivery__row svg { color: #059669; flex-shrink: 0; }
.imp-product-delivery__row strong { color: var(--text); font-weight: 700; }
/* Meta */
.woocommerce div.product .product_meta {
  padding: .75rem 1rem !important;
  background: var(--bg-subtle) !important;
  border: 1px solid var(--brd) !important;
  border-radius: var(--r) !important;
}
.woocommerce div.product .product_meta span.sku_wrapper,
.woocommerce div.product .product_meta span.posted_in,
.woocommerce div.product .product_meta span.tagged_as {
  display: block !important;
  font-size: .8rem !important;
  color: var(--muted) !important;
  line-height: 1.8 !important;
}
.woocommerce div.product .product_meta a { color: var(--blue) !important; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding-left: 0 !important;
  border-bottom: 2px solid var(--brd) !important;
  background: transparent !important;
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  overflow: visible !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 0 -2px !important;
  box-shadow: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: transparent !important;
  border-bottom-color: var(--blue) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--muted) !important;
  font-weight: 500 !important;
  font-size: .875rem !important;
  padding: .7rem 1.1rem !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--blue) !important;
  font-weight: 700 !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: transparent !important;
  border: none !important;
  padding: 1.5rem 0 !important;
}

/* ── WooCommerce archive grid column count ─────────────── */
.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}
/* Breadcrumb within archive toolbar (WC default position) */
.imp-shop-toolbar__meta .woocommerce-breadcrumb { display: none !important; }

/* ── Comprehensive responsive overrides ─────────────────── */
@media (max-width: 1024px) {
  .woocommerce ul.products.columns-4,
  .woocommerce-page ul.products.columns-4 {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .imp-shop-sidebar { width: 230px; }
}

@media (max-width: 768px) {
  /* Single product: stack columns */
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 1.5rem !important;
  }
  .woocommerce div.product > div.images,
  .woocommerce div.product > .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    position: static !important;
  }
  .woocommerce div.product > div.summary.entry-summary {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  /* Sidebar: mobile drawer */
  .imp-shop-layout {
    flex-direction: column !important;
    gap: 0 !important;
  }
  .imp-shop-main { width: 100%; }
  /* Filter toggle: show in toolbar */
  .imp-shop-toolbar .imp-filter-toggle { display: inline-flex !important; }
  /* Archive banner */
  .imp-archive-title { font-size: 1.3rem !important; }
  .imp-archive-desc { font-size: .82rem; }
  /* Single product primary */
  .single-product #primary.content-area {
    padding: 0 1.25rem 2.5rem !important;
  }
  /* WC archive grid: 2 cols */
  .woocommerce ul.products.columns-4,
  .woocommerce-page ul.products.columns-4,
  .woocommerce ul.products.columns-3,
  .woocommerce-page ul.products.columns-3 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: .75rem !important;
  }
  /* Sub-cats: 6 cols on tablet */
  .imp-sub-cats { grid-template-columns: repeat(6, 1fr) !important; }
  /* Pagination */
  .woocommerce nav.woocommerce-pagination { text-align: center; }
}

@media (max-width: 480px) {
  /* Archive + categories */
  .imp-archive-title { font-size: 1.15rem !important; }
  .imp-archive-banner { padding: 1rem 0 .875rem; }
  .imp-sub-cats { grid-template-columns: repeat(4, 1fr) !important; }
  /* Single product */
  .single-product #primary.content-area { padding: 0 1rem 2rem !important; }
  .woocommerce div.product .product_title { font-size: 1.25rem !important; }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price { font-size: 1.35rem !important; }
  /* Shop toolbar: compact */
  .imp-shop-toolbar { padding: .5rem .75rem; gap: .5rem; }
  /* Main categories: 1 col */
  .imp-main-cats { grid-template-columns: 1fr 1fr !important; }
  /* Steps */
  .imp-steps__inner { flex-direction: column; gap: .75rem; }
  .imp-steps__label { display: block; border-right: none; padding-right: 0; padding-bottom: .5rem; border-bottom: 1px solid var(--brd2); width: 100%; }
  .imp-step__arrow { display: none; }
}

/* ═══════════════════════════════════════════════════════════
   v7.0 — Header · Single product · Cart · Order · Catalog
═══════════════════════════════════════════════════════════ */

/* ── Header: tighter look + search bar improvements ──────── */
.imp-site-header { border-bottom: 1px solid var(--brd2); }

.imp-header-search { flex: 1; min-width: 0; }
.imp-search-form {
  display: flex; align-items: center;
  background: var(--bg-subtle);
  border: 1.5px solid var(--brd2);
  border-radius: 2.5rem;
  padding: 0 .5rem 0 .9rem;
  gap: .35rem;
  transition: border-color .2s, box-shadow .2s;
  max-width: 560px;
}
.imp-search-form:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(0,82,255,.1);
  background: #fff;
}
.imp-search-form__icon { color: var(--muted); flex-shrink: 0; }
.imp-search-input {
  flex: 1; border: none !important; background: transparent !important;
  padding: .6rem .25rem !important; font-size: .88rem !important;
  color: var(--text) !important; outline: none !important;
  font-family: var(--sans) !important;
}
.imp-search-input::placeholder { color: var(--muted2) !important; }
.imp-search-btn {
  background: var(--blue) !important; color: #fff !important;
  border: none !important; border-radius: 2rem !important;
  padding: .42rem .85rem !important; font-size: .82rem !important;
  font-weight: 600 !important; cursor: pointer; flex-shrink: 0;
  display: flex !important; align-items: center !important; gap: .35rem !important;
  transition: background .15s !important;
}
.imp-search-btn:hover { background: var(--blue-b) !important; }

/* ── Category nav: improved ──────────────────────────────── */
.imp-cat-nav {
  background: #fff;
  border-bottom: 1px solid var(--brd2);
}
.imp-cat-nav__link {
  display: flex; align-items: center; gap: .3rem;
  padding: .6rem .7rem;
  font-size: .84rem; font-weight: 500;
  color: var(--text2) !important; text-decoration: none !important;
  border-radius: .5rem;
  transition: background .15s, color .15s;
}
.imp-cat-nav__link:hover,
.imp-cat-nav__item:hover > .imp-cat-nav__link {
  background: var(--blue-lt); color: var(--blue) !important;
}
.imp-cat-nav__dropdown {
  background: #fff;
  border: 1px solid var(--brd2);
  border-radius: var(--r);
  box-shadow: var(--sh-md);
  min-width: 200px;
}
.imp-cat-nav__dropdown li a {
  display: block; padding: .55rem 1rem;
  font-size: .84rem; color: var(--text2) !important;
  text-decoration: none !important; transition: background .12s;
}
.imp-cat-nav__dropdown li a:hover { background: var(--blue-lt); color: var(--blue) !important; }

/* ── Single product: alignment + spacing ─────────────────── */
.single-product #primary.content-area {
  padding: 0 2rem 3rem;
}
.imp-single-breadcrumb {
  margin-bottom: 1.25rem !important;
}
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: minmax(0,44%) minmax(0,56%) !important;
  column-gap: 2.5rem !important;
  align-items: start !important;
}
.woocommerce div.product > div.images,
.woocommerce div.product > .woocommerce-product-gallery {
  grid-column: 1 !important; grid-row: 1 !important;
  position: sticky !important; top: 7rem !important; align-self: start !important;
}
.woocommerce div.product > div.summary.entry-summary {
  grid-column: 2 !important; grid-row: 1 !important;
  display: flex !important; flex-direction: column !important;
  gap: .6rem !important; padding: 0 !important;
}
.woocommerce div.product > .woocommerce-tabs {
  grid-column: 1 / -1 !important; grid-row: 2 !important;
  margin-top: 1.5rem !important;
}
.woocommerce div.product > .related,
.woocommerce div.product > .upsells {
  grid-column: 1 / -1 !important; grid-row: 3 !important;
}

/* Gallery: thumbnail strip */
.woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important; gap: .45rem !important;
  list-style: none !important; margin: .6rem 0 0 !important; padding: 0 !important;
}
.woocommerce-product-gallery .flex-control-thumbs li {
  width: calc(25% - .35rem) !important; flex-shrink: 0;
}
.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100% !important; aspect-ratio: 1 !important;
  object-fit: cover !important; border-radius: .5rem !important;
  border: 2px solid transparent !important; cursor: pointer;
  transition: border-color .15s;
}
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  border-color: var(--blue) !important;
}
/* Main gallery image */
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
  border-radius: var(--r) !important;
  width: 100% !important; height: auto !important;
}

/* Summary: product title */
.woocommerce div.product .product_title {
  font-family: var(--disp) !important; font-size: 1.5rem !important;
  font-weight: 800 !important; line-height: 1.2 !important;
  color: var(--text) !important; margin: 0 0 .1rem !important;
}
/* Summary: rating row */
.woocommerce div.product .woocommerce-product-rating {
  display: flex !important; align-items: center !important;
  gap: .5rem !important; margin: 0 !important;
}
/* Summary: price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--disp) !important; font-size: 1.75rem !important;
  font-weight: 800 !important; color: var(--text) !important;
  line-height: 1.2 !important; margin: .15rem 0 0 !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--muted2) !important; font-size: 1rem !important;
  font-weight: 500 !important; margin-right: .35rem;
}
.woocommerce div.product p.price ins .amount,
.woocommerce div.product span.price ins .amount {
  color: #DC2626 !important; font-weight: 800 !important;
}
/* Points notice */
.imp-points-notice {
  margin-top: 0 !important;
}
/* Delivery strip */
.imp-product-delivery {
  border-radius: var(--r) !important;
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  padding: .7rem .9rem !important;
  display: flex !important; flex-direction: column !important; gap: .35rem !important;
}
/* Form: add to cart row */
.woocommerce div.product form.cart {
  display: flex !important; align-items: center !important;
  gap: .75rem !important; flex-wrap: wrap !important;
  border: none !important; background: none !important; padding: 0 !important;
}
.woocommerce div.product form.cart .button[name=add-to-cart],
.woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1 1 auto !important; min-width: 160px !important;
  background: var(--blue) !important; color: #fff !important;
  font-size: .95rem !important; font-weight: 700 !important;
  padding: .8rem 1.5rem !important; border-radius: 2.5rem !important;
  border: none !important; cursor: pointer !important;
  transition: background .15s, transform .15s !important;
  box-shadow: var(--sh-blue) !important;
}
.woocommerce div.product form.cart .button[name=add-to-cart]:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--blue-b) !important; transform: translateY(-1px) !important;
}
.woocommerce div.product form.cart .quantity input.qty {
  height: 2.8rem !important; border: 1.5px solid var(--brd2) !important;
  border-radius: .65rem !important; width: 4.5rem !important;
  font-size: 1rem !important; font-weight: 700 !important;
  text-align: center !important;
}

/* ── Cart drawer: improved ───────────────────────────────── */
.imp-cart-drawer__panel {
  width: 420px !important;
}
.imp-cart-drawer__header {
  padding: 1.25rem 1.5rem !important;
  background: #fff !important;
}
.imp-cart-drawer__header h2 {
  font-size: 1.05rem !important; font-weight: 800 !important;
  gap: .6rem !important;
}
.imp-cart-drawer__items { padding: .75rem 1.5rem !important; }
.imp-cart-drawer .woocommerce-mini-cart li.woocommerce-mini-cart-item {
  padding: 1rem 0 !important; gap: 1rem !important;
}
.imp-cart-drawer .woocommerce-mini-cart li img {
  width: 4rem !important; height: 4rem !important;
  border-radius: .75rem !important;
  box-shadow: var(--sh-xs) !important;
}
.imp-cart-drawer .woocommerce-mini-cart li .product-name a {
  font-size: .875rem !important; line-height: 1.35 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important; overflow: hidden !important;
}
.imp-cart-drawer .woocommerce-mini-cart li .woocommerce-Price-amount {
  font-size: .9rem !important;
}
.imp-cart-drawer__footer {
  padding: 1.25rem 1.5rem !important;
}
.imp-cart-drawer__total {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; padding: .6rem 0 !important;
  border-bottom: 1px solid var(--brd) !important; margin-bottom: .85rem !important;
  font-size: .9rem !important; color: var(--text2) !important;
}
.imp-cart-drawer__total strong {
  font-size: 1.3rem !important; font-family: var(--disp) !important;
}
.imp-cart-drawer__actions { gap: .5rem !important; }
.imp-cart-drawer__actions .imp-btn--primary {
  background: var(--blue) !important; color: #fff !important;
  border-radius: 2.5rem !important; font-weight: 700 !important;
  font-size: .9rem !important; padding: .8rem 1.5rem !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  gap: .4rem !important; text-decoration: none !important;
  transition: background .15s !important; box-shadow: var(--sh-blue) !important;
}
.imp-cart-drawer__actions .imp-btn--primary:hover { background: var(--blue-b) !important; }
.imp-cart-drawer__actions .imp-btn--outline {
  background: transparent !important; color: var(--text2) !important;
  border: 1.5px solid var(--brd2) !important; border-radius: 2.5rem !important;
  font-size: .88rem !important; font-weight: 600 !important;
  padding: .65rem 1.25rem !important; text-align: center !important;
  text-decoration: none !important; display: block !important;
  transition: border-color .15s, color .15s !important;
}
.imp-cart-drawer__actions .imp-btn--outline:hover {
  border-color: var(--blue) !important; color: var(--blue) !important;
}

/* ── WooCommerce cart & checkout tables ──────────────────── */
.woocommerce table.shop_table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--brd2) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: var(--sh-xs) !important;
}
.woocommerce table.shop_table th {
  background: var(--bg-subtle) !important;
  font-size: .8rem !important; font-weight: 700 !important;
  color: var(--muted) !important; text-transform: uppercase !important;
  letter-spacing: .04em !important; padding: .75rem 1rem !important;
  border-bottom: 1px solid var(--brd2) !important;
}
.woocommerce table.shop_table td {
  padding: .875rem 1rem !important;
  border-bottom: 1px solid var(--brd) !important;
  vertical-align: middle !important;
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none !important; }

/* ── WooCommerce order detail card ───────────────────────── */
.woocommerce-order-details,
.woocommerce-customer-details {
  background: #fff !important;
  border: 1px solid var(--brd2) !important;
  border-radius: var(--r-lg) !important;
  padding: 1.5rem !important;
  box-shadow: var(--sh-xs) !important;
  margin-bottom: 1.5rem !important;
}
.woocommerce-order-details h2,
.woocommerce-customer-details h2 {
  font-family: var(--disp) !important; font-size: 1rem !important;
  font-weight: 700 !important; color: var(--text) !important;
  margin: 0 0 1rem !important; padding-bottom: .75rem !important;
  border-bottom: 1px solid var(--brd) !important;
}
/* My account: orders list */
.woocommerce-account .woocommerce-orders-table {
  border: 1px solid var(--brd2) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
}
.woocommerce-account .woocommerce-orders-table th {
  background: var(--bg-subtle) !important;
}
/* Order status badges */
.woocommerce-order-status { font-weight: 700 !important; }
mark.order-status,
.woocommerce-order-status-label { border-radius: 2rem !important; }

/* ── Product catalog: sidebar + toolbar improvements ─────── */
.imp-shop-sidebar {
  background: #fff !important;
  border: 1px solid var(--brd2) !important;
  border-radius: var(--r-lg) !important;
  padding: 1.25rem !important;
  box-shadow: var(--sh-xs) !important;
}
.imp-shop-sidebar .widget { margin-bottom: 1.5rem !important; border-bottom: 1px solid var(--brd) !important; padding-bottom: 1.5rem !important; }
.imp-shop-sidebar .widget:last-child { border-bottom: none !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
.imp-shop-sidebar .widget-title {
  font-family: var(--disp) !important; font-size: .875rem !important;
  font-weight: 700 !important; color: var(--text) !important;
  text-transform: uppercase !important; letter-spacing: .04em !important;
  margin-bottom: .85rem !important;
}
.imp-shop-sidebar .woocommerce-widget-layered-nav-list__item a,
.imp-shop-sidebar ul.product-categories li a {
  font-size: .86rem !important; color: var(--text2) !important;
  text-decoration: none !important;
  display: flex !important; align-items: center !important;
  justify-content: space-between !important;
  padding: .3rem 0 !important;
  transition: color .12s !important;
}
.imp-shop-sidebar .woocommerce-widget-layered-nav-list__item a:hover,
.imp-shop-sidebar ul.product-categories li a:hover { color: var(--blue) !important; }

/* ── Responsive: mobile cart drawer ─────────────────────── */
@media (max-width: 480px) {
  .imp-cart-drawer__panel { width: 100vw !important; }
  .single-product #primary.content-area { padding: 0 1rem 2rem !important; }
}

/* ═══════════════════════════════════════════════════════════
   v8.0 — Dark header · Product grid fix · FAQ mobile ·
           Newsletter · Filters · About section · Login modal
═══════════════════════════════════════════════════════════ */

/* ── DARK CINEMATIC HEADER ─────────────────────────────── */
.imp-site-header {
  background: #09101f !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.4) !important;
}
.imp-site-header.is-scrolled {
  box-shadow: 0 8px 32px rgba(0,0,0,.55) !important;
}
.imp-site-header__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: .875rem 2rem;
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  align-items: center;
  gap: 1.25rem;
}

/* Logo on dark */
.imp-logo-icon {
  box-shadow: 0 3px 14px rgba(0,102,255,.45) !important;
}
.imp-logo-shop {
  color: rgba(255,255,255,.35) !important;
  -webkit-text-fill-color: rgba(255,255,255,.35) !important;
}

/* Search bar on dark background */
.imp-header-search { flex: 1; min-width: 0; }
.imp-search-form {
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.11) !important;
  border-radius: 2.5rem !important;
  max-width: none !important;
  padding: 0 .4rem 0 .9rem !important;
  gap: .3rem !important;
}
.imp-search-form:focus-within {
  background: rgba(255,255,255,.11) !important;
  border-color: rgba(0,102,255,.5) !important;
  box-shadow: 0 0 0 3px rgba(0,102,255,.15) !important;
}
.imp-search-form__icon { color: rgba(255,255,255,.35) !important; }
.imp-search-input {
  color: #fff !important;
  padding: .62rem .25rem !important;
  font-size: .875rem !important;
}
.imp-search-input::placeholder { color: rgba(255,255,255,.3) !important; }
.imp-search-btn {
  background: linear-gradient(135deg, #0066ff, #7c3aed) !important;
  border-radius: 2rem !important;
  padding: .42rem .9rem !important;
  box-shadow: 0 2px 12px rgba(0,102,255,.4) !important;
  font-size: .82rem !important;
}
.imp-search-btn:hover {
  opacity: .88 !important;
}

/* Cart button on dark */
.imp-header-cart {
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.11) !important;
  color: rgba(255,255,255,.85) !important;
  border-radius: 2rem !important;
}
.imp-header-cart:hover {
  background: rgba(0,102,255,.18) !important;
  border-color: rgba(0,102,255,.4) !important;
  color: #93c5fd !important;
}
.imp-header-cart__label { color: rgba(255,255,255,.85) !important; }

/* Hamburger on dark */
.imp-hamburger {
  border: 1.5px solid rgba(255,255,255,.18) !important;
}
.imp-hamburger span { background: rgba(255,255,255,.85) !important; }

/* Category nav — dark strip */
.imp-cat-nav {
  background: #06090f !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  top: 60px !important;
}
.imp-cat-nav__inner {
  padding: 0 2rem !important;
}
.imp-cat-nav__all {
  background: linear-gradient(135deg, #0066ff, #7c3aed) !important;
  border-radius: 0 !important;
  padding: .65rem 1rem !important;
  font-size: .82rem !important;
  box-shadow: none !important;
}
.imp-cat-nav__all:hover { opacity: .88 !important; }
.imp-cat-nav__icon {
  font-size: .9rem;
  line-height: 1;
}
.imp-cat-nav__link {
  color: rgba(255,255,255,.6) !important;
  padding: .65rem .75rem !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  font-size: .83rem !important;
}
.imp-cat-nav__link:hover,
.imp-cat-nav__item:hover > .imp-cat-nav__link {
  background: transparent !important;
  color: #fff !important;
  border-bottom-color: #0066ff !important;
}
.imp-cat-nav__chevron { color: rgba(255,255,255,.25) !important; }

.imp-cat-nav__dropdown {
  background: #0f1629 !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.3) !important;
  border-radius: var(--r) !important;
}
.imp-cat-nav__dropdown li a {
  color: rgba(255,255,255,.65) !important;
  border-radius: .45rem !important;
}
.imp-cat-nav__dropdown li a:hover {
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
}
.imp-cat-nav__item--highlight .imp-cat-nav__link { color: #fbbf24 !important; }
.imp-cat-nav__item--highlight .imp-cat-nav__link:hover { border-bottom-color: #fbbf24 !important; }
.imp-cat-nav__item--sale .imp-cat-nav__link { color: #f472b6 !important; }
.imp-cat-nav__item--sale .imp-cat-nav__link:hover { border-bottom-color: #f472b6 !important; }

/* Mobile nav — dark panel */
.imp-mobile-nav__panel {
  background: #09101f !important;
}
.imp-mobile-nav__header {
  background: #09101f !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.imp-mobile-nav__close {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.55) !important;
}
.imp-mobile-nav__close:hover {
  background: rgba(239,68,68,.15) !important;
  color: #f87171 !important;
  border-color: rgba(239,68,68,.3) !important;
}
.imp-mobile-nav__body {
  padding: .75rem .875rem !important;
}
.imp-mobile-search {
  margin-bottom: .875rem;
}
.imp-mobile-menu li { border-bottom: 1px solid rgba(255,255,255,.05); }
.imp-mobile-menu li:last-child { border-bottom: none; }
.imp-mobile-menu li a {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  color: rgba(255,255,255,.75) !important;
  padding: .72rem .5rem !important;
  font-size: .88rem !important;
  border-radius: 0 !important;
}
.imp-mobile-menu li a:hover {
  background: rgba(255,255,255,.05) !important;
  color: #fff !important;
}
.imp-mobile-menu__icon {
  font-size: 1.1rem;
  width: 1.6rem;
  text-align: center;
  flex-shrink: 0;
}
.imp-mobile-nav__footer {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.07);
}
.imp-mobile-nav__acc-link {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  padding: .65rem .5rem !important;
  font-size: .855rem !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.5) !important;
  border-radius: .55rem !important;
  transition: background .15s, color .15s !important;
  text-decoration: none !important;
}
.imp-mobile-nav__acc-link:hover {
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.85) !important;
}

/* Responsive header adjustments */
@media (max-width: 768px) {
  .imp-site-header__inner {
    grid-template-columns: auto 1fr auto auto !important;
    padding: .75rem 1.25rem !important;
    gap: .75rem !important;
  }
  .imp-header-account-wrap { display: none !important; }
  .imp-hamburger { display: flex !important; }
  .imp-cat-nav { top: 56px !important; }
  .imp-cat-nav__inner { padding: 0 !important; }
  .imp-cat-nav__all {
    width: 100% !important;
    justify-content: center !important;
    padding: .7rem 1rem !important;
  }
  .imp-cat-nav__list { display: none !important; }
}
@media (max-width: 480px) {
  .imp-site-header__inner {
    padding: .7rem 1rem !important;
    gap: .5rem !important;
  }
  .imp-search-btn { padding: .38rem .75rem !important; }
  .imp-cat-nav { top: 53px !important; }
}
@media (max-width: 380px) {
  .imp-header-cart__label { display: none !important; }
}

/* ── PRODUCT GRID — fix float/clear gaps ───────────────── */
/* WooCommerce injects .clear elements that break CSS grid */
.woocommerce ul.products > .clear,
.woocommerce-page ul.products > .clear,
.woocommerce ul.products::after,
.woocommerce-page ul.products::after {
  display: none !important;
  content: none !important;
}
/* Make all products fill their grid cell from top */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  align-items: start !important;
  float: none !important;
  clear: both !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
/* Improved product card */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  padding: .75rem .875rem .2rem !important;
  font-size: .875rem !important;
  line-height: 1.4 !important;
  -webkit-line-clamp: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  padding: .15rem .875rem .75rem !important;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  margin: 0 .75rem .75rem !important;
  width: calc(100% - 1.5rem) !important;
}
/* Imp product grid on homepage */
.imp-product-grid {
  display: grid !important;
  align-items: start !important;
}
.imp-product-grid > .clear { display: none !important; }

/* ── PRODUCT CARD IMPROVEMENTS ─────────────────────────── */
.woocommerce ul.products li.product,
li.product.imp-product-item {
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
}
.woocommerce ul.products li.product a img {
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
}
li.product.imp-product-item .imp-product-item__img-wrap {
  aspect-ratio: 4/3 !important;
}

/* ── FAQ — MOBILE FIX ──────────────────────────────────── */
@media (max-width: 768px) {
  .imp-faq__inner {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .imp-faq__header { position: static !important; }
  .imp-faq__sub { margin-bottom: 0 !important; }
}
@media (max-width: 480px) {
  .imp-faq { padding: 2.5rem 0 !important; }
  .imp-faq__grid { border-radius: var(--r) !important; }
  .imp-faq__q {
    font-size: .855rem !important;
    padding: .9rem 1rem !important;
    gap: .75rem !important;
  }
  .imp-faq__q span {
    word-break: break-word !important;
    white-space: normal !important;
  }
  .imp-faq__a { padding: 0 1rem .875rem !important; }
  .imp-faq__a p { font-size: .845rem !important; line-height: 1.65 !important; }
}

/* ── NEWSLETTER — UPGRADE ──────────────────────────────── */
.imp-footer-newsletter {
  background: linear-gradient(135deg, #090d1c 0%, #0e1538 40%, #140a30 100%) !important;
  padding: 4rem 0 !important;
  border-top: 1px solid rgba(255,255,255,.05) !important;
  position: relative;
  overflow: hidden;
}
.imp-footer-newsletter::before {
  content: '';
  position: absolute;
  top: -150px; right: -150px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(0,102,255,.15), transparent 65%);
  pointer-events: none;
}
.imp-footer-newsletter__inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: center !important;
  gap: 3rem !important;
  position: relative;
  z-index: 1;
}
.imp-footer-newsletter__copy h3 {
  font-size: 1.5rem !important;
  margin-bottom: .75rem !important;
  line-height: 1.2 !important;
}
.imp-newsletter-form {
  min-width: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
.imp-newsletter-form__group {
  background: rgba(255,255,255,.08) !important;
  border: 1.5px solid rgba(255,255,255,.14) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
}
.imp-newsletter-form__group input[type=email] {
  padding: .875rem 1.1rem !important;
  font-size: .875rem !important;
}
.imp-newsletter-form__group input[type=email]::placeholder {
  color: rgba(255,255,255,.38) !important;
}
/* Submit button in newsletter */
.imp-footer-newsletter .imp-btn--white {
  background: linear-gradient(135deg, #0066ff, #7c3aed) !important;
  color: #fff !important;
  box-shadow: 0 0 20px rgba(0,102,255,.3) !important;
  padding: .875rem 1.5rem !important;
  font-size: .875rem !important;
  border-radius: 0 !important;
  transform: none !important;
}
.imp-footer-newsletter .imp-btn--white:hover {
  opacity: .88 !important;
  transform: none !important;
  box-shadow: 0 0 28px rgba(0,102,255,.4) !important;
}
.imp-newsletter-form__note {
  font-size: .75rem !important;
  color: rgba(255,255,255,.3) !important;
  margin-top: .6rem !important;
}
.imp-newsletter-form__note a { color: rgba(255,255,255,.5) !important; }
.imp-newsletter-form__msg { font-size: .84rem !important; margin-top: .5rem !important; }
@media (max-width: 768px) {
  .imp-footer-newsletter__inner {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }
  .imp-footer-newsletter { padding: 3rem 0 !important; }
}

/* ── FILTERS — MOBILE IMPROVEMENTS ────────────────────── */
.imp-shop-sidebar {
  background: #fff !important;
  border: 1.5px solid var(--brd) !important;
  border-radius: var(--r-lg) !important;
  padding: 1.25rem !important;
  box-shadow: var(--sh-sm) !important;
}
.imp-shop-sidebar .widget {
  border: none !important;
  border-bottom: 1px solid var(--brd) !important;
  border-radius: 0 !important;
  padding: 1rem 0 !important;
  margin-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.imp-shop-sidebar .widget:first-child { padding-top: 0 !important; }
.imp-shop-sidebar .widget:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.imp-shop-sidebar .widget-title,
.imp-shop-sidebar .widgettitle {
  font-family: var(--disp) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  color: var(--muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding-bottom: .6rem !important;
  border-bottom: 1px solid var(--brd) !important;
  margin-bottom: .75rem !important;
}
/* Filter toggle button — always visible on mobile */
.imp-filter-toggle {
  display: none !important;
  align-items: center !important;
  gap: .5rem !important;
  background: var(--blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--r) !important;
  padding: .6rem 1rem !important;
  font-size: .84rem !important;
  font-weight: 600 !important;
  font-family: var(--sans) !important;
  cursor: pointer !important;
  box-shadow: var(--sh-blue) !important;
  transition: opacity .15s !important;
  margin-bottom: 1.25rem !important;
}
.imp-filter-toggle:hover { opacity: .88 !important; }
@media (max-width: 768px) {
  .imp-filter-toggle { display: inline-flex !important; }
  .imp-filter-sidebar-close {
    display: flex !important;
    align-items: center !important;
    gap: .4rem !important;
    width: 100% !important;
    background: none !important;
    border: none !important;
    border-bottom: 1px solid var(--brd) !important;
    padding: 0 0 .875rem !important;
    margin-bottom: .875rem !important;
    font-family: var(--sans) !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    color: var(--text2) !important;
    cursor: pointer !important;
  }
}
/* Shop toolbar inline */
.imp-shop-toolbar {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  margin-bottom: 1.25rem !important;
  padding: .6rem .875rem !important;
  background: #fff !important;
  border: 1px solid var(--brd) !important;
  border-radius: var(--r) !important;
  box-shadow: var(--sh-xs) !important;
  flex-wrap: wrap !important;
}

/* ── ABOUT IMPREZOLE.PL SECTION ────────────────────────── */
.imp-about-section {
  padding: 5rem 0;
  background: linear-gradient(145deg, #060c26 0%, #0c1540 40%, #15093a 100%);
  position: relative;
  overflow: hidden;
}
.imp-about-section__orb1 {
  position: absolute;
  top: -180px; left: -120px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(0,102,255,.18), transparent 65%);
  pointer-events: none;
}
.imp-about-section__orb2 {
  position: absolute;
  bottom: -100px; right: -80px;
  width: 380px; height: 380px;
  background: radial-gradient(circle, rgba(139,92,246,.18), transparent 65%);
  pointer-events: none;
}
.imp-about__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  position: relative;
  z-index: 1;
}
.imp-about__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 2rem;
  padding: .3rem .9rem;
  font-size: .72rem;
  font-weight: 700;
  color: rgba(255,255,255,.6);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}
.imp-about__eyebrow-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 6px #4ade80;
  flex-shrink: 0;
}
.imp-about__title {
  font-family: var(--disp) !important;
  font-size: clamp(1.55rem, 2.4vw, 2.1rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.18 !important;
  margin: 0 0 1rem !important;
  letter-spacing: -.025em;
}
.imp-about__desc {
  font-size: .895rem;
  color: rgba(255,255,255,.58);
  line-height: 1.78;
  margin: 0 0 1.75rem;
  max-width: 480px;
}
.imp-about__features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .625rem .875rem;
  margin-bottom: 2rem;
}
.imp-about__feat {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .84rem;
  color: rgba(255,255,255,.65);
}
.imp-about__feat-chk {
  width: 1.25rem; height: 1.25rem;
  border-radius: 50%;
  background: rgba(0,102,255,.2);
  border: 1px solid rgba(0,102,255,.35);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #93c5fd;
}
.imp-about__cta-row {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.imp-about__btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: linear-gradient(135deg, #0066ff, #7c3aed);
  color: #fff !important;
  font-weight: 700;
  font-size: .9rem;
  padding: .8rem 1.75rem;
  border-radius: 2.5rem;
  text-decoration: none !important;
  transition: opacity .15s, transform .15s;
  box-shadow: 0 4px 20px rgba(0,102,255,.4);
}
.imp-about__btn:hover {
  opacity: .88 !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}
.imp-about__link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .875rem;
  font-weight: 600;
  color: rgba(255,255,255,.45) !important;
  text-decoration: none !important;
  transition: color .15s;
}
.imp-about__link:hover { color: rgba(255,255,255,.75) !important; }

/* Right side — cards */
.imp-about__cards {
  display: flex;
  flex-direction: column;
  gap: .875rem;
}
.imp-abt-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: var(--r-xl);
  padding: 1.4rem 1.5rem;
  backdrop-filter: blur(10px);
  transition: background .2s, border-color .2s, transform .2s;
}
.imp-abt-card:hover {
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.16);
  transform: translateY(-2px);
}
.imp-abt-card--primary {
  background: linear-gradient(135deg, rgba(0,102,255,.15), rgba(124,58,237,.12));
  border-color: rgba(0,102,255,.25);
}
.imp-abt-card__head {
  display: flex;
  align-items: center;
  gap: .875rem;
  margin-bottom: 1rem;
}
.imp-abt-card__emoji {
  font-size: 1.75rem;
  width: 2.75rem; height: 2.75rem;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.07);
  border-radius: .75rem;
  flex-shrink: 0;
}
.imp-abt-card__name {
  font-family: var(--disp);
  font-weight: 700;
  font-size: .95rem;
  color: #fff;
  margin-bottom: .15rem;
}
.imp-abt-card__sub {
  font-size: .76rem;
  color: rgba(255,255,255,.42);
}
.imp-abt-card__stats {
  display: flex;
  gap: 1.75rem;
  flex-wrap: wrap;
}
.imp-abt-stat { display: flex; flex-direction: column; }
.imp-abt-stat__num {
  font-family: var(--disp);
  font-size: 1.45rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  letter-spacing: -.025em;
}
.imp-abt-stat__lbl {
  font-size: .72rem;
  color: rgba(255,255,255,.38);
  margin-top: .15rem;
}
@media (max-width: 1024px) {
  .imp-about__grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
  .imp-about__cards {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 640px) {
  .imp-about-section { padding: 3rem 0 !important; }
  .imp-about__features { grid-template-columns: 1fr !important; }
  .imp-about__cards { grid-template-columns: 1fr !important; }
  .imp-about__cta-row { flex-direction: column !important; align-items: flex-start !important; }
}

/* ── LOGIN MODAL — fix inputs on dark bg ───────────────── */
/* Override theme's white input CSS inside dark modal */
#awnex-modal .awnex-field input,
#awnex-referral-modal .awnex-field input {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(226,232,240,.1) !important;
  color: #f8fafc !important;
  border-radius: .75rem !important;
  padding: .7rem 1rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .9rem !important;
  box-shadow: none !important;
  width: 100% !important;
}
#awnex-modal .awnex-field input:focus,
#awnex-referral-modal .awnex-field input:focus {
  border-color: #0066ff !important;
  box-shadow: 0 0 0 3px rgba(0,102,255,.2) !important;
  outline: none !important;
  background: rgba(255,255,255,.07) !important;
}
#awnex-modal .awnex-field input::placeholder {
  color: rgba(255,255,255,.28) !important;
}

/* ── QUICK CATS — position after dark header+catnav ─────── */
.imp-quick-cats {
  top: calc(60px + 40px) !important;
  background: #fff !important;
  border-bottom: 1px solid var(--brd) !important;
}
@media (max-width: 768px) {
  .imp-quick-cats { top: auto !important; position: static !important; }
}

/* ── MISC CLEANUP ────────────────────────────────────────── */
/* Ensure top-bar link is white */
.imp-top-bar__inner a { color: rgba(255,255,255,.9) !important; }
/* Footer dark bg fix */
.imp-footer { background: #060b18 !important; }
.imp-footer__col--brand .imp-footer-logo .imp-logo-shop {
  color: rgba(255,255,255,.3) !important;
  -webkit-text-fill-color: rgba(255,255,255,.3) !important;
}
/* ═══════════════════════════════════════════════════════════
   v6.0 — product card shipping/meta, single product,
          cart, checkout, shop grid fix
═══════════════════════════════════════════════════════════ */

/* ── Product card: shipping + stock meta ────────────────────── */
.imp-product-item__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-top: auto;
  padding-top: .35rem;
}
.imp-product-item__shipping {
  display: flex;
  align-items: center;
  gap: .3rem;
  font-size: .7rem;
  color: var(--muted);
  font-weight: 500;
}
.imp-product-item__shipping svg { color: var(--green); flex-shrink: 0; }
.imp-product-item__stock {
  font-size: .67rem;
  font-weight: 700;
  padding: .18rem .55rem;
  border-radius: 999px;
}
.imp-product-item__stock--in  { background: #D1FAE5; color: #065F46; }
.imp-product-item__stock--out { background: #FEE2E2; color: #991B1B; }

/* Badge must be relative to <li> not to <a> — li already has position:relative */
li.product.imp-product-item .imp-badge {
  position: absolute;
  top: .75rem;
  left: .75rem;
  z-index: 4;
  pointer-events: none;
}

/* ── Shop archive/category page grid ────────────────────────── */
/* WooCommerce wraps with .products — we injected imp-product-grid via PHP filter */
.woocommerce ul.products.imp-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.25rem !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  float: none !important;
  clear: both !important;
}
@media (max-width: 1100px) {
  .woocommerce ul.products.imp-product-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
  .woocommerce ul.products.imp-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: .875rem !important; }
}
@media (max-width: 400px) {
  .woocommerce ul.products.imp-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: .625rem !important; }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE
═══════════════════════════════════════════════════════════ */
.woocommerce div.product {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 2rem 4rem;
}
.woocommerce div.product .woocommerce-product-gallery {
  width: 50% !important;
  float: left !important;
}
.woocommerce div.product .summary {
  width: 46% !important;
  float: right !important;
}
@media (max-width: 768px) {
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary {
    width: 100% !important;
    float: none !important;
  }
}

/* Gallery */
.woocommerce div.product .woocommerce-product-gallery__image img {
  border-radius: var(--r-xl) !important;
  border: 1px solid var(--brd) !important;
}
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs img {
  border-radius: var(--r) !important;
  border: 2px solid transparent !important;
  transition: border-color .15s !important;
}
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs .flex-active img,
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-thumbs img:hover {
  border-color: var(--blue) !important;
}

/* Product title */
.woocommerce div.product .product_title {
  font-family: var(--disp) !important;
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  line-height: 1.2 !important;
  margin-bottom: .5rem !important;
}

/* Price */
.woocommerce div.product .price {
  font-family: var(--disp) !important;
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin-bottom: 1.25rem !important;
  display: block;
}
.woocommerce div.product .price del {
  font-size: 1.2rem !important;
  color: var(--muted2) !important;
  font-weight: 400 !important;
}
.woocommerce div.product .price ins {
  text-decoration: none !important;
  color: #B91C1C !important;
}

/* Rating */
.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 1rem !important;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.woocommerce div.product .star-rating {
  font-size: .9rem !important;
  color: #F59E0B !important;
}
.woocommerce div.product .woocommerce-review-link {
  font-size: .82rem !important;
  color: var(--muted) !important;
}

/* Points notice */
.imp-points-notice {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  border-radius: var(--r);
  padding: .7rem 1rem;
  font-size: .82rem;
  color: #92400E;
  margin-bottom: 1rem;
}
.imp-points-notice strong { font-weight: 700; }
.imp-points-notice svg { color: #F59E0B; flex-shrink: 0; }

/* Delivery info strip */
.imp-product-delivery {
  background: var(--bg-subtle);
  border: 1px solid var(--brd);
  border-radius: var(--r);
  padding: .875rem 1rem;
  margin-bottom: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.imp-product-delivery__row {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  color: var(--text2);
}
.imp-product-delivery__row svg { color: var(--blue); flex-shrink: 0; }
.imp-product-delivery__row strong { color: var(--text); font-weight: 700; }

/* Add to cart */
.woocommerce div.product form.cart .single_add_to_cart_button {
  border-radius: var(--r-lg) !important;
  padding: 1rem 2.25rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}
.woocommerce div.product form.cart .quantity input {
  border-radius: var(--r) !important;
  border: 1.5px solid var(--brd2) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  height: 3rem !important;
  width: 4.5rem !important;
}

/* Stock status */
.woocommerce div.product .stock {
  font-size: .82rem !important;
  font-weight: 700 !important;
  padding: .3rem .75rem !important;
  border-radius: 999px !important;
  display: inline-block !important;
  margin-bottom: .75rem !important;
}
.woocommerce div.product .in-stock  { background: #D1FAE5 !important; color: #065F46 !important; }
.woocommerce div.product .out-of-stock { background: #FEE2E2 !important; color: #991B1B !important; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 !important;
  background: transparent !important;
  border-bottom: 2px solid var(--brd) !important;
  display: flex !important;
  gap: 0 !important;
  list-style: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  margin-bottom: -2px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: .875rem !important;
  color: var(--muted) !important;
  padding: .75rem 1.25rem !important;
  display: block !important;
  transition: color .15s !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--blue) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--blue) !important; }
.woocommerce div.product .woocommerce-tabs .panel {
  border: 1px solid var(--brd) !important;
  border-radius: 0 var(--r-xl) var(--r-xl) var(--r-xl) !important;
  padding: 1.75rem !important;
  box-shadow: var(--sh-xs) !important;
}

/* Related products */
.woocommerce .related.products h2,
.woocommerce .upsells.products h2 {
  font-family: var(--disp) !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--brd);
}

/* ═══════════════════════════════════════════════════════════
   CART PAGE
═══════════════════════════════════════════════════════════ */
.woocommerce-cart .woocommerce {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 2rem 4rem;
}
.woocommerce-cart h1.page-title {
  font-family: var(--disp) !important;
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin-bottom: 2rem !important;
}
.woocommerce-cart table.cart {
  border: 1px solid var(--brd) !important;
  border-radius: var(--r-xl) !important;
  overflow: hidden !important;
  box-shadow: var(--sh-sm) !important;
  background: #fff !important;
}
.woocommerce-cart table.cart thead tr th {
  background: var(--bg-subtle) !important;
  font-family: var(--sans) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--muted) !important;
  border-bottom: 1px solid var(--brd) !important;
  padding: .875rem 1rem !important;
}
.woocommerce-cart table.cart td {
  border-bottom: 1px solid var(--brd) !important;
  padding: 1rem !important;
  vertical-align: middle !important;
}
.woocommerce-cart table.cart td.product-thumbnail img {
  border-radius: var(--r) !important;
  border: 1px solid var(--brd) !important;
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
}
.woocommerce-cart table.cart td.product-name a {
  font-family: var(--disp) !important;
  font-weight: 600 !important;
  font-size: .925rem !important;
  color: var(--text) !important;
}
.woocommerce-cart table.cart td.product-name a:hover { color: var(--blue) !important; }
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
  font-family: var(--disp) !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  font-size: 1rem !important;
}
.woocommerce-cart .cart_totals {
  background: #fff !important;
  border: 1px solid var(--brd) !important;
  border-radius: var(--r-xl) !important;
  padding: 1.75rem !important;
  box-shadow: var(--sh-sm) !important;
}
.woocommerce-cart .cart_totals h2 {
  font-family: var(--disp) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin-bottom: 1.25rem !important;
}
.woocommerce-cart .cart_totals table {
  border: none !important;
  width: 100% !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  border: none !important;
  border-bottom: 1px solid var(--brd) !important;
  padding: .75rem 0 !important;
  font-size: .875rem !important;
}
.woocommerce-cart .cart_totals table .order-total th,
.woocommerce-cart .cart_totals table .order-total td {
  border-bottom: none !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  padding-top: 1rem !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  border-radius: var(--r-lg) !important;
  padding: 1rem 2rem !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
  margin-top: 1rem !important;
}

/* Progress bar on cart */
.imp-checkout-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 1.5rem 0;
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--brd);
  margin-bottom: 0;
}
.imp-checkout-step {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .8rem;
  font-weight: 600;
  color: var(--muted2);
  padding: 0 1.5rem;
}
.imp-checkout-step.is-active { color: var(--blue); }
.imp-checkout-step.is-done { color: var(--green); }
.imp-checkout-step__n {
  width: 1.6rem; height: 1.6rem;
  border-radius: 50%;
  background: var(--brd2);
  color: var(--muted2);
  font-size: .7rem;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.imp-checkout-step.is-active .imp-checkout-step__n { background: var(--blue); color: #fff; }
.imp-checkout-step.is-done .imp-checkout-step__n { background: var(--green); color: #fff; }
.imp-checkout-step__sep {
  width: 2.5rem; height: 1px;
  background: var(--brd2);
  flex-shrink: 0;
  margin: 0 -1rem;
}

/* ═══════════════════════════════════════════════════════════
   CHECKOUT PAGE
═══════════════════════════════════════════════════════════ */
.woocommerce-checkout .woocommerce {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 2rem 4rem;
}
.woocommerce-checkout h1.page-title {
  font-family: var(--disp) !important;
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin-bottom: 2rem !important;
}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--disp) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: .625rem !important;
  border-bottom: 2px solid var(--brd) !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .875rem;
}
.woocommerce-checkout .form-row-wide { grid-column: 1 / -1; }

/* Order summary box */
.woocommerce-checkout #order_review {
  background: #fff !important;
  border: 1px solid var(--brd) !important;
  border-radius: var(--r-xl) !important;
  padding: 1.5rem !important;
  box-shadow: var(--sh-sm) !important;
}
.woocommerce-checkout table.shop_table {
  border: none !important;
  width: 100% !important;
}
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  border: none !important;
  border-bottom: 1px solid var(--brd) !important;
  padding: .625rem 0 !important;
  font-size: .875rem !important;
}
.woocommerce-checkout table.shop_table .order-total th,
.woocommerce-checkout table.shop_table .order-total td {
  border-bottom: none !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: var(--text) !important;
  padding-top: .875rem !important;
}
/* Payment methods */
.woocommerce-checkout #payment {
  background: var(--bg-subtle) !important;
  border: 1px solid var(--brd) !important;
  border-radius: var(--r-xl) !important;
  padding: 1.5rem !important;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  font-family: var(--sans) !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  color: var(--text) !important;
}
.woocommerce-checkout #payment #place_order {
  border-radius: var(--r-lg) !important;
  padding: 1.1rem 2rem !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5rem !important;
}

/* ═══════════════════════════════════════════════════════════
   MY ACCOUNT PAGE
═══════════════════════════════════════════════════════════ */
.woocommerce-account .woocommerce {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 2rem 4rem;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 2.5rem;
  align-items: start;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #fff;
  border: 1px solid var(--brd);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-sm);
  position: sticky;
  top: 7rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0; padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: .8rem 1.25rem;
  font-size: .875rem;
  font-weight: 500;
  color: var(--text2) !important;
  border-bottom: 1px solid var(--brd);
  transition: background .12s, color .12s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--blue-lt); color: var(--blue) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--blue) !important; font-weight: 700; background: var(--blue-lt); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child a { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid var(--brd);
  border-radius: var(--r-xl);
  padding: 2rem;
  box-shadow: var(--sh-sm);
}
@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
}

/* ═══════════════════════════════════════════════════════════
   SHOP PAGE — archive banner + toolbar polish
═══════════════════════════════════════════════════════════ */
.imp-archive-banner {
  padding: 2.5rem 0;
  background: linear-gradient(135deg, #080E2E 0%, #0C1540 60%, #160B38 100%);
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
}
.imp-archive-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(124,58,237,.18), transparent);
  pointer-events: none;
}
.imp-archive-banner .imp-container { position: relative; z-index: 1; }
.imp-archive-banner__bc .woocommerce-breadcrumb {
  font-size: .78rem !important;
  color: rgba(255,255,255,.45) !important;
  margin: 0 0 .75rem !important;
}
.imp-archive-banner__bc .woocommerce-breadcrumb a { color: rgba(255,255,255,.6) !important; }
.imp-archive-banner__bc .woocommerce-breadcrumb svg { margin: 0 .15rem; }
.imp-archive-title {
  font-family: var(--disp) !important;
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 .5rem !important;
}
.imp-archive-desc { font-size: .875rem; color: rgba(255,255,255,.55); margin: 0 0 .875rem !important; max-width: 480px; }
.imp-archive-count {
  display: inline-block;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.7);
  font-size: .75rem;
  font-weight: 700;
  padding: .28rem .75rem;
  border-radius: 999px;
}

/* Shop layout */
.imp-shop-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 2rem;
  padding: 2rem 0 4rem;
  align-items: start;
}
.imp-shop-sidebar {
  background: #fff;
  border: 1px solid var(--brd);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-sm);
  position: sticky;
  top: 7rem;
}
.imp-shop-sidebar .widget {
  border-bottom: 1px solid var(--brd);
  padding: 1.25rem;
}
.imp-shop-sidebar .widget:last-child { border-bottom: none; }
.imp-shop-sidebar .widget-title {
  font-family: var(--disp) !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted2) !important;
  margin-bottom: .75rem !important;
}
.imp-shop-sidebar ul li { font-size: .875rem; padding: .2rem 0; }
.imp-shop-sidebar ul li a { color: var(--text2) !important; }
.imp-shop-sidebar ul li a:hover { color: var(--blue) !important; }
.imp-filter-sidebar-close {
  display: none;
  align-items: center;
  gap: .5rem;
  background: none;
  border: none;
  border-bottom: 1px solid var(--brd);
  width: 100%;
  padding: .875rem 1.25rem;
  font-size: .875rem;
  font-weight: 600;
  color: var(--text2);
  cursor: pointer;
}

/* Toolbar */
.imp-shop-toolbar {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}
.imp-filter-toggle {
  display: none;
  align-items: center;
  gap: .5rem;
  background: #fff;
  border: 1.5px solid var(--brd2);
  border-radius: var(--r);
  padding: .55rem 1rem;
  font-family: var(--sans);
  font-size: .82rem;
  font-weight: 600;
  color: var(--text2);
  cursor: pointer;
  transition: border-color .15s, color .15s;
}
.imp-filter-toggle:hover { border-color: var(--blue); color: var(--blue); }
.imp-shop-toolbar__meta { display: flex; align-items: center; gap: 1rem; flex: 1; flex-wrap: wrap; }
.woocommerce-result-count {
  font-size: .82rem !important;
  color: var(--muted) !important;
  margin: 0 !important;
}
.woocommerce-ordering select {
  border: 1.5px solid var(--brd2) !important;
  border-radius: var(--r) !important;
  padding: .5rem .875rem !important;
  font-size: .82rem !important;
  color: var(--text2) !important;
  background: #fff !important;
  width: auto !important;
  cursor: pointer;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  gap: .4rem !important;
  list-style: none !important;
  padding: 0 !important;
  justify-content: center !important;
  margin-top: 2.5rem !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  border-radius: .625rem !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  color: var(--text2) !important;
  border: 1.5px solid var(--brd) !important;
  background: #fff !important;
  text-decoration: none !important;
  transition: all .15s !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--blue) !important;
  color: var(--blue) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--gp) !important;
  border-color: transparent !important;
  color: #fff !important;
}

/* Sidebar backdrop + responsive */
.imp-sidebar-backdrop {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 998;
  backdrop-filter: blur(2px);
}
.imp-sidebar-backdrop.is-visible { display: block; }
@media (max-width: 900px) {
  .imp-shop-layout { grid-template-columns: 1fr; }
  .imp-filter-toggle { display: flex; }
  .imp-shop-sidebar {
    position: fixed !important;
    top: 0; left: 0; bottom: 0;
    width: 280px;
    z-index: 999;
    overflow-y: auto;
    border-radius: 0 !important;
    transform: translateX(-100%);
    transition: transform .3s cubic-bezier(.22,1,.36,1);
  }
  .imp-shop-sidebar.is-open { transform: translateX(0); }
  .imp-filter-sidebar-close { display: flex; }
}

/* ═══════════════════════════════════════════════════════════
   NOTICES + FORM MESSAGES
═══════════════════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--r) !important;
  border-left-width: 4px !important;
  padding: .875rem 1.25rem !important;
  font-size: .875rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  margin-bottom: 1.25rem !important;
}
.woocommerce-message { background: #D1FAE5 !important; border-color: #059669 !important; color: #065F46 !important; }
.woocommerce-info    { background: #DBEAFE !important; border-color: #0052FF !important; color: #1E3A8A !important; }
.woocommerce-error   { background: #FEE2E2 !important; border-color: #DC2626 !important; color: #7F1D1D !important; }
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a { font-weight: 700 !important; }
/* ═══════════════════════════════════════════════════════════
   v7 — minimalism + header fix + product grid orphan fix
═══════════════════════════════════════════════════════════ */

/* ── Header: fix sticky stacking ───────────────────────────── */

/* Site header is ~64px tall (14px pad + 36px logo + 14px pad) */
/* Top bar scrolls away — only site-header is sticky           */
.imp-cat-nav {
  position: sticky !important;
  top: 64px !important;      /* exact header height */
  z-index: 999 !important;
}

/* Quick-cats: remove sticky on homepage — it causes double nav */
.imp-quick-cats {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  display: none !important;  /* hidden — cat-nav in header covers this */
}

/* ── Product grid: prevent last-row orphan stretching ───────── */
/* Make last lone card max 25% width so it doesn't stretch full row */
.imp-product-grid.columns-4 li.product:last-child:nth-child(4n+1),
.woocommerce ul.products.imp-product-grid li.product:last-child:nth-child(4n+1) {
  max-width: calc(25% - .94rem);
}

/* ── Section titles: remove decorative underline ────────────── */
.imp-section-title::after {
  display: none !important;
}
.imp-section-title {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  padding-bottom: 0 !important;
}
.imp-section-sub {
  margin-top: .2rem;
  color: var(--muted);
  font-size: .82rem;
}

/* ── Minimalism: reduce card shadows ────────────────────────── */
li.product.imp-product-item {
  box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04) !important;
  border-color: var(--brd2) !important;
}
li.product.imp-product-item:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,.09) !important;
  transform: translateY(-3px) !important;
}

/* ── Section backgrounds: cleaner alternation ───────────────── */
.imp-cats-section { background: var(--bg-subtle); }
.imp-products-section { background: #fff; }
.imp-products-section--alt { background: var(--bg-subtle); border-top: 1px solid var(--brd) !important; border-bottom: 1px solid var(--brd) !important; }
.imp-reviews-section { background: #fff; border-top: 1px solid var(--brd); border-bottom: 1px solid var(--brd); }
.imp-trust-strip { background: var(--bg-subtle); }

/* ── Main categories: cleaner hover ─────────────────────────── */
.imp-main-cat {
  border-radius: var(--r-lg) !important;
  border: 1px solid var(--brd) !important;
  box-shadow: none !important;
  transition: border-color .18s, box-shadow .18s, transform .18s !important;
}
.imp-main-cat:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  transform: translateY(-2px) !important;
  border-color: var(--cat-color, var(--blue)) !important;
}

/* ── Sub-cats: slimmer tiles ─────────────────────────────────── */
.imp-sub-cats {
  gap: .625rem;
}
.imp-sub-cat {
  padding: .75rem .35rem .65rem;
  border: 1px solid var(--brd) !important;
  box-shadow: none !important;
}
.imp-sub-cat:hover {
  box-shadow: none !important;
}

/* ── Section spacing: more breathing room ────────────────────── */
.imp-cats-section    { padding: 3rem 0; }
.imp-products-section { padding: 3rem 0; }
.imp-reviews-section  { padding: 3rem 0; }
.imp-trust-strip      { padding: 2rem 0; }

/* ── Section header: simpler alignment ──────────────────────── */
.imp-section-header {
  margin-bottom: 1.5rem;
  align-items: flex-end;
}

/* ── Review cards: lighter ───────────────────────────────────── */
.imp-review-card {
  box-shadow: none !important;
  border: 1px solid var(--brd) !important;
}
.imp-review-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.07) !important;
}

/* ── Trust strip: compact ────────────────────────────────────── */
.imp-trust-strip__grid {
  gap: 1.25rem;
}
.imp-trust-item strong { font-size: .82rem; }
.imp-trust-item span   { font-size: .75rem; }

/* ── Hero: tighten spacing ───────────────────────────────────── */
.imp-hero {
  padding: 4rem 0 4.5rem !important;
}

/* ── Promo banners: tighter ──────────────────────────────────── */
.imp-promo-banner-section { padding: 0 0 2.5rem; }
.imp-pbx { min-height: 160px; padding: 1.75rem 1.5rem; }
.imp-pbx--large { min-height: 240px; }
.imp-pbx__title { font-size: 1.1rem; }
.imp-pbx--large .imp-pbx__title { font-size: 1.4rem; }

/* ── Cat nav: cleaner font ───────────────────────────────────── */
.imp-cat-nav__link { font-size: .8rem; }
.imp-cat-nav__all  { font-size: .8rem; }

/* ── Header inner: tighter padding ──────────────────────────── */
.imp-site-header__inner { padding: .7rem 2rem; }

/* ── Remove steps section styling (section removed from HTML) ── */
.imp-steps { display: none; }
/* ═══════════════════════════════════════════════════════════
   v9 — Header redesign · Product grid fix · Login page
═══════════════════════════════════════════════════════════ */

/* ── 1. HEADER — clean white, Allegro-style ──────────────── */
.imp-site-header {
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  transition: box-shadow .25s !important;
}
.imp-site-header.is-scrolled {
  box-shadow: 0 2px 16px rgba(0,0,0,.1) !important;
}
.imp-site-header__inner {
  display: flex !important;
  align-items: center !important;
  gap: 1.25rem !important;
  padding: .75rem 2rem !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  /* reset dark-theme grid override */
  grid-template-columns: none !important;
}

/* Logo on white */
.imp-logo-link { flex-shrink: 0 !important; text-decoration: none !important; }
.imp-logo-name  { color: #0f172a !important; }
.imp-logo-shop  { color: #94a3b8 !important; -webkit-text-fill-color: #94a3b8 !important; }
.imp-logo-icon  {
  background: linear-gradient(135deg, #0052ff, #7c3aed) !important;
  box-shadow: 0 2px 8px rgba(0,82,255,.28) !important;
}

/* Search — grows to fill center */
.imp-header-search {
  flex: 1 !important;
  min-width: 0 !important;
  max-width: 700px !important;
  display: block !important;
}
.imp-search-form {
  background: #f1f5f9 !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 2rem !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 .35rem 0 .9rem !important;
  gap: .25rem !important;
  max-width: none !important;
  width: 100% !important;
  transition: border-color .18s, box-shadow .18s, background .18s !important;
}
.imp-search-form:focus-within {
  background: #fff !important;
  border-color: #0052ff !important;
  box-shadow: 0 0 0 3px rgba(0,82,255,.1) !important;
}
.imp-search-form__icon { color: #94a3b8 !important; flex-shrink: 0 !important; }
.imp-search-input {
  flex: 1 !important;
  min-width: 0 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: #0f172a !important;
  font-size: .9rem !important;
  padding: .68rem .2rem !important;
  box-shadow: none !important;
}
.imp-search-input::placeholder { color: #94a3b8 !important; }
.imp-search-btn {
  flex-shrink: 0 !important;
  background: #0052ff !important;
  color: #fff !important;
  border: none !important;
  border-radius: 1.6rem !important;
  padding: .5rem 1.1rem !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transition: background .15s !important;
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
}
.imp-search-btn:hover { background: #0041cc !important; opacity: 1 !important; }
.imp-search-btn__text { display: inline !important; }

/* Right actions */
.imp-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: .625rem !important;
  flex-shrink: 0 !important;
}

/* Account wrap */
#awnex-header-right { display: flex !important; align-items: center !important; }

/* Cart button on white header */
.imp-header-cart {
  background: #f1f5f9 !important;
  border: 1.5px solid #e2e8f0 !important;
  color: #374151 !important;
  border-radius: 2rem !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
  padding: .5rem .9rem !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: border-color .15s, background .15s, color .15s !important;
}
.imp-header-cart:hover {
  background: #eff6ff !important;
  border-color: #0052ff !important;
  color: #0052ff !important;
}
.imp-header-cart__label { color: inherit !important; }
.imp-header-cart__count {
  background: #0052ff !important;
  color: #fff !important;
  border-radius: 2rem !important;
  min-width: 1.2rem !important;
  height: 1.2rem !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 .3rem !important;
}

/* Hamburger on white */
.imp-hamburger {
  border: 1.5px solid #d1d5db !important;
  background: transparent !important;
}
.imp-hamburger span { background: #374151 !important; }

/* ── Category nav — stays dark, always below header ─────── */
.imp-cat-nav {
  position: sticky !important;
  top: 64px !important;    /* header height: .75rem×2 + ~36px logo ≈ 60px; add some buffer */
  z-index: 999 !important;
  background: #1a2540 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
}

/* ── Responsive header ───────────────────────────────────── */
@media (max-width: 1024px) {
  .imp-header-search { max-width: 520px !important; }
}
@media (max-width: 768px) {
  .imp-site-header__inner {
    padding: .65rem 1.25rem !important;
    gap: .75rem !important;
    flex-wrap: nowrap !important;
  }
  .imp-header-account-wrap { display: none !important; }
  .imp-hamburger { display: flex !important; }
  .imp-cat-nav { top: 57px !important; }
}
@media (max-width: 540px) {
  .imp-site-header__inner {
    padding: .6rem 1rem !important;
    gap: .5rem !important;
  }
  .imp-search-btn__text { display: none !important; }
  .imp-search-btn { padding: .48rem .7rem !important; }
  .imp-header-cart__label { display: none !important; }
  .imp-cat-nav { top: 52px !important; }
}

/* ── 2. PRODUCT GRID — definitive fix ────────────────────── */

/* Kill WooCommerce .clear floated li elements completely */
.woocommerce ul.products > li.clear,
.woocommerce-page ul.products > li.clear,
.woocommerce ul.products > .clear,
.woocommerce-page ul.products > .clear,
ul.products.imp-product-grid > .clear,
ul.products.imp-product-grid > li.clear {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  float: none !important;
  clear: none !important;
  padding: 0 !important;
  margin: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

/* Force CSS Grid on every product list */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products.imp-product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.125rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
/* Column overrides */
.woocommerce ul.products.columns-3,
ul.products.imp-product-grid.columns-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}
.woocommerce ul.products.columns-2,
ul.products.imp-product-grid.columns-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}
.woocommerce ul.products.columns-5,
ul.products.imp-product-grid.columns-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

/* Reset WC float on each li */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  grid-column: auto !important;
}

/* Orphan last card — pin to first column, don't stretch */
.woocommerce ul.products.columns-4 li.product:last-child:nth-child(4n+1),
ul.products.imp-product-grid.columns-4 li.product:last-child:nth-child(4n+1) {
  grid-column: 1 / 2 !important;
  max-width: 100% !important;
}
.woocommerce ul.products.columns-3 li.product:last-child:nth-child(3n+1),
ul.products.imp-product-grid.columns-3 li.product:last-child:nth-child(3n+1) {
  grid-column: 1 / 2 !important;
}

/* Responsive product grid */
@media (max-width: 900px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products.imp-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .woocommerce ul.products.columns-4 li.product:last-child:nth-child(4n+1),
  ul.products.imp-product-grid.columns-4 li.product:last-child:nth-child(4n+1) {
    grid-column: 1 / 2 !important;
  }
  .woocommerce ul.products li.product:last-child:nth-child(2n+1),
  ul.products.imp-product-grid li.product:last-child:nth-child(2n+1) {
    grid-column: 1 / 2 !important;
  }
}
@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  ul.products.imp-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: .625rem !important;
  }
}

/* ── 3. LOGIN / MY ACCOUNT ───────────────────────────────── */

/* Accent bar at top */
body.woocommerce-account #page::before,
body.woocommerce-account .site::before {
  content: '';
  display: block;
  height: 4px;
  background: linear-gradient(90deg, #0052ff, #7c3aed);
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* Center the login/register form(s) */
body.woocommerce-account:not(.logged-in) .site-main {
  padding: 2.5rem 1rem 4rem !important;
}
body.woocommerce-account:not(.logged-in) .col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important;
  max-width: 880px !important;
  margin: 0 auto !important;
}
@media (max-width: 640px) {
  body.woocommerce-account:not(.logged-in) .col2-set {
    grid-template-columns: 1fr !important;
  }
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register,
.woocommerce-form-login,
.woocommerce-form-register {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 1rem !important;
  padding: 2rem !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.06) !important;
}
.woocommerce-form-login > h2,
.woocommerce-form-register > h2 {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: .75rem !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row { margin-bottom: .875rem !important; }
.woocommerce-form-login label,
.woocommerce-form-register label {
  display: block !important;
  font-size: .83rem !important;
  font-weight: 600 !important;
  color: #374151 !important;
  margin-bottom: .35rem !important;
}
.woocommerce-form-login .input-text,
.woocommerce-form-register .input-text,
.woocommerce-form-login input[type=email],
.woocommerce-form-login input[type=password],
.woocommerce-form-login input[type=text],
.woocommerce-form-register input[type=email],
.woocommerce-form-register input[type=password],
.woocommerce-form-register input[type=text] {
  width: 100% !important;
  padding: .7rem 1rem !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: .6rem !important;
  font-size: .9rem !important;
  color: #0f172a !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.woocommerce-form-login .input-text:focus,
.woocommerce-form-register .input-text:focus,
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
  border-color: #0052ff !important;
  box-shadow: 0 0 0 3px rgba(0,82,255,.09) !important;
  background: #fff !important;
  outline: none !important;
}
.woocommerce-form-login__submit,
.woocommerce-form-register__submit,
.woocommerce-form-login .woocommerce-button,
.woocommerce-form-register .woocommerce-button,
.woocommerce-form-login .button,
.woocommerce-form-register .button {
  width: 100% !important;
  background: #0052ff !important;
  color: #fff !important;
  border: none !important;
  border-radius: .65rem !important;
  padding: .82rem 1.5rem !important;
  font-size: .925rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .15s !important;
  text-align: center !important;
  display: block !important;
  margin-top: 1rem !important;
  box-shadow: 0 2px 8px rgba(0,82,255,.25) !important;
}
.woocommerce-form-login__submit:hover,
.woocommerce-form-register__submit:hover,
.woocommerce-form-login .button:hover,
.woocommerce-form-register .button:hover {
  background: #0041cc !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(0,82,255,.35) !important;
}
.woocommerce-LostPassword { margin-top: .5rem !important; }
.woocommerce-LostPassword a,
.woocommerce-form-login .woocommerce-privacy-policy-text a,
.woocommerce-form-register .woocommerce-privacy-policy-text a {
  color: #0052ff !important;
  font-size: .82rem !important;
  text-decoration: none !important;
}
.woocommerce-LostPassword a:hover,
.woocommerce-form-login .woocommerce-privacy-policy-text a:hover,
.woocommerce-form-register .woocommerce-privacy-policy-text a:hover {
  text-decoration: underline !important;
}
.woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  font-weight: 400 !important;
  font-size: .84rem !important;
  cursor: pointer !important;
}

/* ── 4. MOBILE NAV — reset to match white header ─────────── */
.imp-mobile-nav__panel {
  background: #fff !important;
}
.imp-mobile-nav__header {
  background: #fff !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
.imp-mobile-nav__close {
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  color: #374151 !important;
}
.imp-mobile-nav__close:hover {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
  color: #dc2626 !important;
}
.imp-mobile-menu li { border-bottom: 1px solid #f1f5f9 !important; }
.imp-mobile-menu li a {
  color: #374151 !important;
}
.imp-mobile-menu li a:hover {
  background: #f8fafc !important;
  color: #0052ff !important;
}
.imp-logo-name,
.imp-logo-shop { color: #0f172a !important; }
.imp-mobile-nav__acc-link {
  color: #64748b !important;
}
.imp-mobile-nav__acc-link:hover {
  background: #f8fafc !important;
  color: #0052ff !important;
}
.imp-mobile-search .imp-search-form {
  background: #f1f5f9 !important;
  border-color: #e2e8f0 !important;
}
.imp-mobile-search .imp-search-input { color: #0f172a !important; }
.imp-mobile-search .imp-search-form__icon { color: #94a3b8 !important; }
/* ═══════════════════════════════════════════════════════════
   v10 — New Zalando-style header (icon-only search)
═══════════════════════════════════════════════════════════ */

/* ── Site header wrapper ─────────────────────────────────── */
.imp-site-header {
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.06) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  transition: box-shadow .25s !important;
}
.imp-site-header.is-scrolled {
  box-shadow: 0 2px 12px rgba(0,0,0,.1) !important;
}

/* ── Header inner row ────────────────────────────────────── */
.imp-site-header__inner {
  display: flex !important;
  align-items: center !important;
  gap: 1.75rem !important;
  padding: .875rem 2rem !important;
  /* reset any grid overrides from earlier layers */
  grid-template-columns: none !important;
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ── Logo ────────────────────────────────────────────────── */
.imp-logo-link {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  text-decoration: none !important;
}
.imp-logo-icon {
  background: linear-gradient(135deg, #0052ff, #7c3aed) !important;
  box-shadow: 0 2px 8px rgba(0,82,255,.28) !important;
}
.imp-logo-name { color: #0f172a !important; }
.imp-logo-shop { color: #94a3b8 !important; -webkit-text-fill-color: #94a3b8 !important; }

/* ── Desktop navigation ──────────────────────────────────── */
.imp-dnav {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;  /* show on desktop */
}
.imp-dnav__list {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: .125rem !important;
  flex-wrap: nowrap !important;
}
.imp-dnav__item {
  position: relative !important;
}
.imp-dnav__link {
  display: flex !important;
  align-items: center !important;
  gap: .25rem !important;
  padding: .5rem .75rem !important;
  font-size: .875rem !important;
  font-weight: 500 !important;
  color: #374151 !important;
  text-decoration: none !important;
  border-radius: .4rem !important;
  white-space: nowrap !important;
  transition: color .15s, background .15s !important;
}
.imp-dnav__link:hover {
  color: #0052ff !important;
  background: #f0f7ff !important;
}
.imp-dnav__link--new { color: #dc2626 !important; font-weight: 600 !important; }
.imp-dnav__link--new:hover { color: #b91c1c !important; background: #fef2f2 !important; }
.imp-dnav__link--sale { color: #7c3aed !important; font-weight: 600 !important; }
.imp-dnav__link--sale:hover { color: #6d28d9 !important; background: #f5f3ff !important; }

/* Dropdown */
.imp-dnav__dropdown {
  display: none;
  position: absolute !important;
  top: calc(100% + .5rem) !important;
  left: 0 !important;
  min-width: 200px !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: .75rem !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06) !important;
  padding: .5rem !important;
  list-style: none !important;
  z-index: 1001 !important;
}
.imp-dnav__item:hover .imp-dnav__dropdown { display: block; }
.imp-dnav__dropdown li a {
  display: block !important;
  padding: .55rem .9rem !important;
  font-size: .855rem !important;
  color: #374151 !important;
  border-radius: .45rem !important;
  text-decoration: none !important;
  transition: background .12s, color .12s !important;
}
.imp-dnav__dropdown li a:hover {
  background: #f0f7ff !important;
  color: #0052ff !important;
}

/* ── Right icon buttons ──────────────────────────────────── */
.imp-hicons {
  display: flex !important;
  align-items: center !important;
  gap: .25rem !important;
  flex-shrink: 0 !important;
}
.imp-hicons__account { display: flex !important; align-items: center !important; }

.imp-hicon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: none !important;
  color: #374151 !important;
  cursor: pointer !important;
  position: relative !important;
  text-decoration: none !important;
  transition: background .15s, color .15s !important;
  padding: 0 !important;
}
.imp-hicon:hover {
  background: #f1f5f9 !important;
  color: #0052ff !important;
}
.imp-hicon svg { display: block !important; flex-shrink: 0 !important; }

.imp-hicon__badge {
  position: absolute !important;
  top: .1rem !important;
  right: .1rem !important;
  background: #0052ff !important;
  color: #fff !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  min-width: 1.1rem !important;
  height: 1.1rem !important;
  border-radius: 2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 .2rem !important;
  pointer-events: none !important;
}
/* Hide old cart elements that might still appear */
.imp-header-cart__label { display: none !important; }
.imp-header-search { display: none !important; }

/* ── Hamburger ───────────────────────────────────────────── */
.imp-hamburger {
  display: none !important;  /* hidden on desktop */
  order: -1 !important;
}

/* ── Search overlay ──────────────────────────────────────── */
.imp-search-overlay {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999 !important;
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;
  padding: .875rem 0 !important;
  transform: translateY(-8px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .18s, transform .18s !important;
}
.imp-search-overlay.is-open {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.imp-search-overlay[aria-hidden="false"] {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.imp-search-overlay__inner {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
}
.imp-search-overlay__form {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  background: #f1f5f9 !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 2rem !important;
  padding: 0 .5rem 0 1.25rem !important;
  transition: border-color .18s, box-shadow .18s !important;
}
.imp-search-overlay__form:focus-within {
  border-color: #0052ff !important;
  box-shadow: 0 0 0 3px rgba(0,82,255,.1) !important;
  background: #fff !important;
}
.imp-search-overlay__form svg { color: #94a3b8 !important; flex-shrink: 0 !important; }
.imp-search-overlay__input {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  font-size: 1rem !important;
  color: #0f172a !important;
  padding: .8rem 0 !important;
  min-width: 0 !important;
}
.imp-search-overlay__input::placeholder { color: #94a3b8 !important; }
.imp-search-overlay__submit {
  background: #0052ff !important;
  color: #fff !important;
  border: none !important;
  border-radius: 1.5rem !important;
  padding: .5rem 1.25rem !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background .15s !important;
}
.imp-search-overlay__submit:hover { background: #0041cc !important; }
.imp-search-overlay__close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2rem !important;
  height: 2rem !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: none !important;
  color: #6b7280 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background .15s !important;
}
.imp-search-overlay__close:hover { background: #f1f5f9 !important; color: #0f172a !important; }

/* ── Mobile nav — white theme ────────────────────────────── */
.imp-mobile-nav__panel { background: #fff !important; }
.imp-mobile-nav__header {
  background: #fff !important;
  border-bottom: 1px solid #f1f5f9 !important;
}
.imp-mobile-nav__close {
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  color: #374151 !important;
}
.imp-mobile-nav__close:hover { background: #fee2e2 !important; color: #dc2626 !important; }
.imp-mobile-menu li { border-bottom: 1px solid #f8fafc !important; }
.imp-mobile-menu li a { color: #374151 !important; }
.imp-mobile-menu li a:hover { background: #f8fafc !important; color: #0052ff !important; }
.imp-mobile-nav__acc-link { color: #64748b !important; }
.imp-mobile-nav__acc-link:hover { background: #f8fafc !important; color: #0052ff !important; }

/* Mobile search form in drawer */
.imp-mobile-search-form {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  background: #f1f5f9 !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 2rem !important;
  padding: 0 .875rem !important;
  margin-bottom: 1rem !important;
}
.imp-mobile-search-form svg { color: #94a3b8 !important; flex-shrink: 0 !important; }
.imp-mobile-search-form input[type=search] {
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  font-size: .875rem !important;
  color: #0f172a !important;
  padding: .65rem 0 !important;
}
.imp-mobile-search-form input[type=search]::placeholder { color: #94a3b8 !important; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 900px) {
  .imp-dnav { display: none !important; }
  .imp-hamburger { display: flex !important; }
  .imp-site-header__inner { gap: .75rem !important; padding: .75rem 1.25rem !important; }
}
@media (max-width: 480px) {
  .imp-site-header__inner { padding: .65rem 1rem !important; gap: .5rem !important; }
  .imp-hicon--account { display: none !important; }
  .imp-search-overlay__inner { padding: 0 1rem !important; }
}

/* ── Hide old cat-nav (replaced by inline desktop nav) ───── */
.imp-cat-nav { display: none !important; }
/* Reset old dark header overrides */
.imp-site-header__inner { background: transparent !important; }
/* ═══════════════════════════════════════════════════════════
   v11 — Allegro-style homepage
═══════════════════════════════════════════════════════════ */

/* ── Base section ────────────────────────────────────────── */
.imp-home-section {
  padding: 2.5rem 0;
  background: #fff;
}
.imp-home-section--gray {
  background: #f8fafc;
  border-top: 1px solid #f1f5f9;
  border-bottom: 1px solid #f1f5f9;
}

/* ── Section header ──────────────────────────────────────── */
.imp-section-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  gap: 1rem;
}
.imp-section-hd__title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0;
  padding: 0;
}
.imp-section-hd__title::after { display: none !important; }
.imp-section-hd__more {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .84rem;
  font-weight: 600;
  color: #0052ff;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.imp-section-hd__more:hover { text-decoration: underline; }
.imp-section-hd__rating {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  color: #374151;
}
.imp-section-hd__rcnt { color: #94a3b8; }

/* ── Hero v2 ─────────────────────────────────────────────── */
.imp-hero-v2 {
  background: linear-gradient(135deg, #0f1d40 0%, #1a0a3e 60%, #0a1a40 100%);
  padding: 3.5rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.imp-hero-v2::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(0,82,255,.18) 0%, transparent 70%),
              radial-gradient(ellipse 40% 60% at 20% 30%, rgba(124,58,237,.15) 0%, transparent 60%);
  pointer-events: none;
}
.imp-hero-v2__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  position: relative;
  z-index: 1;
}
.imp-hero-v2__text { flex: 1; min-width: 0; }
.imp-hero-v2__badge {
  display: inline-flex;
  align-items: center;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.85);
  font-size: .8rem;
  font-weight: 500;
  padding: .35rem .85rem;
  border-radius: 2rem;
  margin-bottom: 1.25rem;
}
.imp-hero-v2__title {
  font-size: clamp(1.75rem, 4vw, 2.6rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 1rem;
  padding: 0;
}
.imp-hero-v2__title::after { display: none !important; }
.imp-hero-v2__sub {
  color: rgba(255,255,255,.65);
  font-size: .95rem;
  margin: 0 0 1.75rem;
}
.imp-hero-v2__btns { display: flex; gap: .875rem; flex-wrap: wrap; }
.imp-btn--ghost {
  background: rgba(255,255,255,.1) !important;
  border: 1.5px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
}
.imp-btn--ghost:hover {
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.4) !important;
}
.imp-btn--white {
  background: #fff !important;
  color: #0052ff !important;
  border: none !important;
  font-weight: 700 !important;
}
.imp-btn--white:hover { background: #f0f7ff !important; }
.imp-btn--sm { padding: .45rem 1rem !important; font-size: .84rem !important; }
.imp-btn--lg { padding: .8rem 1.75rem !important; font-size: .95rem !important; font-weight: 700 !important; }

.imp-hero-v2__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  flex-shrink: 0;
  width: 260px;
}
.imp-hero-v2__stat {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .75rem;
  padding: 1rem;
  text-align: center;
}
.imp-hero-v2__stat strong {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: .2rem;
}
.imp-hero-v2__stat span {
  font-size: .75rem;
  color: rgba(255,255,255,.5);
}
@media (max-width: 768px) {
  .imp-hero-v2 { padding: 2.5rem 0 3rem; }
  .imp-hero-v2__inner { flex-direction: column; gap: 2rem; }
  .imp-hero-v2__stats { width: 100%; grid-template-columns: repeat(4, 1fr); }
  .imp-hero-v2__stat { padding: .75rem .5rem; }
  .imp-hero-v2__stat strong { font-size: 1rem; }
}
@media (max-width: 480px) {
  .imp-hero-v2__stats { grid-template-columns: repeat(2, 1fr); }
  .imp-hero-v2__btns { flex-direction: column; }
  .imp-btn--lg { width: 100%; text-align: center; justify-content: center; }
}

/* ── Quick category tiles ─────────────────────────────────── */
.imp-qcats {
  background: #fff;
  border-bottom: 1px solid #f1f5f9;
  padding: 1.25rem 0;
}
.imp-qcats__track {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: .25rem;
}
.imp-qcats__track::-webkit-scrollbar { display: none; }
.imp-qcat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  padding: .75rem 1rem;
  border-radius: .75rem;
  text-decoration: none;
  flex-shrink: 0;
  transition: background .15s;
  min-width: 72px;
}
.imp-qcat:hover { background: #f0f7ff; }
.imp-qcat__icon {
  font-size: 1.6rem;
  line-height: 1;
}
.imp-qcat__label {
  font-size: .75rem;
  font-weight: 600;
  color: #374151;
  white-space: nowrap;
}

/* ── Carousel ─────────────────────────────────────────────── */
.imp-carousel {
  position: relative;
}
.imp-carousel__track {
  display: flex;
  gap: .875rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: .25rem;
  -webkit-overflow-scrolling: touch;
}
.imp-carousel__track::-webkit-scrollbar { display: none; }

.imp-carousel__btn {
  display: none; /* shown via JS when needed */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: #374151;
  transition: box-shadow .15s, border-color .15s;
}
.imp-carousel__btn:hover {
  border-color: #0052ff;
  color: #0052ff;
  box-shadow: 0 4px 16px rgba(0,82,255,.15);
}
.imp-carousel__btn--prev { left: -1.25rem; }
.imp-carousel__btn--next { right: -1.25rem; }
.imp-carousel[data-has-scroll] .imp-carousel__btn { display: flex; }

/* ── Carousel card (imp-cc) ──────────────────────────────── */
.imp-cc {
  flex: 0 0 196px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: .75rem;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow .18s, transform .18s, border-color .18s;
  position: relative;
}
.imp-cc:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,.1);
  transform: translateY(-2px);
  border-color: #c7d7f5;
}
.imp-cc__badge {
  position: absolute;
  top: .6rem;
  left: .6rem;
  background: #0052ff;
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  padding: .2rem .55rem;
  border-radius: 2rem;
  z-index: 1;
  letter-spacing: .02em;
}
.imp-cc__badge--sale { background: #dc2626; }
.imp-cc__img {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f8fafc;
}
.imp-cc__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.imp-cc:hover .imp-cc__img img { transform: scale(1.04); }
.imp-cc__body {
  padding: .75rem .875rem .875rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.imp-cc__stars {
  display: flex;
  align-items: center;
  gap: .3rem;
  margin-bottom: .3rem;
}
.imp-cc__stars .star-rating { font-size: .7rem !important; }
.imp-cc__stars span { font-size: .7rem; color: #94a3b8; }
.imp-cc__name {
  font-size: .82rem;
  font-weight: 500;
  color: #0f172a;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: .5rem;
  flex: 1;
}
.imp-cc__price {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: .35rem;
}
.imp-cc__price .amount { font-weight: 700 !important; }
.imp-cc__price del { font-size: .78rem; font-weight: 400; color: #94a3b8; margin-right: .3rem; }
.imp-cc__price del .amount { font-weight: 400 !important; }
.imp-cc__price ins { text-decoration: none !important; color: #dc2626 !important; }
.imp-cc__ship {
  display: flex;
  align-items: center;
  gap: .3rem;
  font-size: .73rem;
  color: #059669;
}
.imp-cc__ship svg { color: #059669; flex-shrink: 0; }

/* ── Category tiles ──────────────────────────────────────── */
.imp-cat-tiles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.imp-cat-tile {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  text-decoration: none;
  background: var(--tc, #0052ff);
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: transform .2s, box-shadow .2s;
}
.imp-cat-tile:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 32px rgba(0,0,0,.15);
}
.imp-cat-tile__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--tc, #0052ff) 0%, color-mix(in srgb, var(--tc, #0052ff) 60%, #000) 100%);
  opacity: .9;
}
.imp-cat-tile__img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.imp-cat-tile__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .5;
  mix-blend-mode: luminosity;
}
.imp-cat-tile__icon {
  font-size: 3rem;
  line-height: 1;
  text-align: center;
  padding: 2rem 0 1.5rem;
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.imp-cat-tile__foot {
  position: relative;
  z-index: 1;
  padding: 1rem;
  background: rgba(0,0,0,.25);
}
.imp-cat-tile__foot strong {
  display: block;
  color: #fff;
  font-size: .925rem;
  font-weight: 700;
}
.imp-cat-tile__foot span {
  font-size: .75rem;
  color: rgba(255,255,255,.7);
}
@media (max-width: 768px) {
  .imp-cat-tiles { grid-template-columns: repeat(2, 1fr); }
}

/* ── Spotlight section ───────────────────────────────────── */
.imp-spotlight {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 1.5rem;
  align-items: start;
}
.imp-spotlight__banner {
  background: linear-gradient(135deg, #0052ff 0%, #7c3aed 100%);
  border-radius: 1rem;
  padding: 2rem 1.5rem;
  text-decoration: none;
  display: flex;
  align-items: flex-end;
  min-height: 300px;
  position: relative;
  overflow: hidden;
  transition: transform .2s;
}
.imp-spotlight__banner:hover { transform: translateY(-2px); }
.imp-spotlight__banner::before {
  content: '🎈';
  position: absolute;
  font-size: 8rem;
  right: -1rem;
  top: -1rem;
  opacity: .15;
  line-height: 1;
  filter: blur(2px);
}
.imp-spotlight__inner { position: relative; z-index: 1; }
.imp-spotlight__eyebrow {
  font-size: .75rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .5rem;
}
.imp-spotlight__title {
  font-size: 1.4rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 .5rem;
}
.imp-spotlight__banner p {
  color: rgba(255,255,255,.75);
  font-size: .84rem;
  margin: 0 0 1.25rem;
}
.imp-spotlight__right { min-width: 0; }
.imp-spotlight__right .imp-section-hd { margin-top: 0; }
@media (max-width: 900px) {
  .imp-spotlight { grid-template-columns: 1fr; }
  .imp-spotlight__banner { min-height: 180px; }
}

/* ── Trust strip v2 ──────────────────────────────────────── */
.imp-trust-strip-v2 {
  background: #f8fafc;
  border-top: 1px solid #f1f5f9;
  border-bottom: 1px solid #f1f5f9;
  padding: 1.75rem 0;
}
.imp-trust-strip-v2__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}
.imp-trust-strip-v2__item {
  display: flex;
  align-items: center;
  gap: .875rem;
}
.imp-trust-strip-v2__icon {
  font-size: 1.75rem;
  flex-shrink: 0;
  line-height: 1;
}
.imp-trust-strip-v2__item strong {
  display: block;
  font-size: .82rem;
  font-weight: 700;
  color: #0f172a;
  margin-bottom: .15rem;
}
.imp-trust-strip-v2__item span {
  font-size: .73rem;
  color: #64748b;
  display: block;
}
@media (max-width: 900px) {
  .imp-trust-strip-v2__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .imp-trust-strip-v2__grid { grid-template-columns: 1fr; }
}

/* ── Review cards ────────────────────────────────────────── */
.imp-review-cc {
  flex: 0 0 300px;
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: .875rem;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.imp-review-cc__stars { font-size: 1rem; letter-spacing: .05em; }
.imp-review-cc__text {
  font-size: .855rem;
  color: #374151;
  line-height: 1.5;
  flex: 1;
  margin: 0;
}
.imp-review-cc__author {
  display: flex;
  align-items: center;
  gap: .625rem;
  font-size: .83rem;
  color: #0f172a;
  font-weight: 600;
}
.imp-review-cc__av {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #0052ff, #7c3aed);
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ── Newsletter v2 ───────────────────────────────────────── */
.imp-newsletter-v2 {
  background: linear-gradient(135deg, #0f1d40 0%, #1a0a3e 100%);
  padding: 3.5rem 0;
}
.imp-newsletter-v2__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.imp-newsletter-v2__text h2 {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  margin: 0 0 .75rem;
  line-height: 1.3;
}
.imp-newsletter-v2__text h2 span { color: #fbbf24; }
.imp-newsletter-v2__text p {
  color: rgba(255,255,255,.65);
  font-size: .9rem;
  margin: 0;
}
.imp-newsletter-v2__form {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  position: relative;
}
.imp-newsletter-v2__form input[type=email] {
  flex: 1;
  min-width: 200px;
  padding: .8rem 1.25rem;
  border-radius: .65rem;
  border: 1.5px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: .9rem;
  outline: none;
  transition: border-color .15s, background .15s;
}
.imp-newsletter-v2__form input[type=email]::placeholder { color: rgba(255,255,255,.4); }
.imp-newsletter-v2__form input[type=email]:focus {
  border-color: rgba(0,82,255,.6);
  background: rgba(255,255,255,.12);
}
.imp-newsletter-v2__form button {
  background: #0052ff;
  color: #fff;
  border: none;
  border-radius: .65rem;
  padding: .8rem 1.5rem;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
}
.imp-newsletter-v2__form button:hover { background: #0041cc; }
.imp-newsletter-v2__msg {
  width: 100%;
  font-size: .84rem;
  margin: 0;
  padding: 0;
}
@media (max-width: 768px) {
  .imp-newsletter-v2__inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .imp-newsletter-v2__form input[type=email] { min-width: 0; }
}

/* ── Responsive carousel cards ───────────────────────────── */
@media (max-width: 640px) {
  .imp-cc { flex: 0 0 160px; }
  .imp-review-cc { flex: 0 0 260px; }
  .imp-home-section { padding: 2rem 0; }
}
/* ═══════════════════════════════════════════════════════════
   v12 — Full light theme (no dark sections)
═══════════════════════════════════════════════════════════ */

/* ── Hero: light ─────────────────────────────────────────── */
.imp-hero-v2 {
  background: linear-gradient(135deg, #f0f7ff 0%, #f5f3ff 50%, #fef9ee 100%) !important;
  padding: 3.5rem 0 4rem !important;
}
.imp-hero-v2::before {
  background: none !important;
}
.imp-hero-v2__badge {
  background: #e0eaff !important;
  border-color: #c7d7ff !important;
  color: #0052ff !important;
}
.imp-hero-v2__title {
  color: #0f172a !important;
  background: linear-gradient(135deg, #0052ff, #7c3aed);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.imp-hero-v2__sub { color: #64748b !important; }

.imp-btn--ghost {
  background: #fff !important;
  border: 1.5px solid #e2e8f0 !important;
  color: #374151 !important;
}
.imp-btn--ghost:hover {
  border-color: #0052ff !important;
  color: #0052ff !important;
  background: #f0f7ff !important;
}

.imp-hero-v2__stats { width: 280px; }
.imp-hero-v2__stat {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.06) !important;
}
.imp-hero-v2__stat strong { color: #0052ff !important; }
.imp-hero-v2__stat span { color: #94a3b8 !important; }

/* ── Spotlight banner: light ─────────────────────────────── */
.imp-spotlight__banner {
  background: linear-gradient(135deg, #0052ff 0%, #7c3aed 100%) !important;
}
/* Keep it colored — it's an accent block, not a dark page section */

/* ── Newsletter in footer: light ─────────────────────────── */
.imp-footer-newsletter {
  background: #f0f7ff !important;
  border-top: 1px solid #dbeafe !important;
  border-bottom: 1px solid #dbeafe !important;
}
.imp-footer-newsletter__copy h3 { color: #0f172a !important; }
.imp-footer-newsletter__copy p { color: #374151 !important; }
.imp-footer-newsletter__copy strong { color: #0052ff !important; }
.imp-newsletter-form__group input[type=email] {
  background: #fff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
.imp-newsletter-form__group input[type=email]::placeholder { color: #94a3b8 !important; }
.imp-newsletter-form__group input[type=email]:focus {
  border-color: #0052ff !important;
  box-shadow: 0 0 0 3px rgba(0,82,255,.1) !important;
}
.imp-newsletter-form .imp-btn--white,
.imp-footer-newsletter .imp-btn--white {
  background: #0052ff !important;
  color: #fff !important;
  border: none !important;
}
.imp-newsletter-form .imp-btn--white:hover,
.imp-footer-newsletter .imp-btn--white:hover {
  background: #0041cc !important;
}
.imp-newsletter-form__note,
.imp-newsletter-form__note a { color: #94a3b8 !important; }

/* ── Footer: keep dark (it's a footer, that's standard) ─── */
/* Footer stays dark as is — that's normal for all major stores */

/* ── Remove dark newsletter v2 if it somehow still appears ── */
.imp-newsletter-v2 { display: none !important; }

/* ── Top bar: light ──────────────────────────────────────── */
.imp-top-bar {
  background: #f8fafc !important;
  border-bottom: 1px solid #e5e7eb !important;
  color: #374151 !important;
}
.imp-top-bar span,
.imp-top-bar a {
  color: #374151 !important;
}
.imp-top-bar a:hover { color: #0052ff !important; }
.imp-top-bar__sep { color: #cbd5e1 !important; }

/* ── Category tiles: ensure colors stay ─────────────────── */
.imp-cat-tile { color: #fff !important; }
.imp-cat-tile__foot strong,
.imp-cat-tile__foot span { color: #fff !important; }

/* ── Quick cats: white bg ────────────────────────────────── */
.imp-qcats { background: #fff !important; border-bottom: 1px solid #f1f5f9 !important; }

/* ── Carousel section hover: keep clean ─────────────────── */
.imp-carousel__btn {
  background: #fff !important;
  border-color: #e5e7eb !important;
  color: #374151 !important;
}
.imp-carousel__btn:hover {
  border-color: #0052ff !important;
  color: #0052ff !important;
}

/* ── Reviews marquee — infinite smooth scroll ────────────── */
.imp-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
}
.imp-marquee__track {
  display: flex;
  gap: 1rem;
  width: max-content;
  animation: imp-marquee-scroll 32s linear infinite;
}
.imp-marquee__track:hover { animation-play-state: paused; }
@keyframes imp-marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.imp-marquee .imp-review-cc {
  flex: 0 0 300px;
  scroll-snap-align: unset;
}

/* ── Quick cats & trust: SVG icons ──────────────────────── */
.imp-qcat__icon {
  width: 2.5rem !important;
  height: 2.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f0f7ff !important;
  border-radius: .75rem !important;
  padding: .5rem !important;
  font-size: inherit !important;
}
.imp-qcat__icon svg {
  width: 1.4rem !important;
  height: 1.4rem !important;
  stroke: #0052ff !important;
  display: block !important;
}
.imp-qcat:hover .imp-qcat__icon {
  background: #dbeafe !important;
}
.imp-trust-strip-v2__icon {
  font-size: inherit !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f0f7ff !important;
  border-radius: .75rem !important;
  flex-shrink: 0 !important;
  padding: .6rem !important;
}
.imp-trust-strip-v2__icon svg {
  width: 1.35rem !important;
  height: 1.35rem !important;
  stroke: #0052ff !important;
  display: block !important;
}
/* Hero badge SVG */
.imp-hero-v2__badge svg {
  width: 14px !important;
  height: 14px !important;
  stroke: #0052ff !important;
  flex-shrink: 0 !important;
}

/* ── Quick cats: centered ────────────────────────────────── */
.imp-qcats__track {
  justify-content: center !important;
  flex-wrap: wrap !important;
}

/* ── Hero Slider ─────────────────────────────────────────── */
.imp-hslider {
  position: relative;
  overflow: hidden;
  background: #0f1d40;
}
.imp-hslider__track {
  display: flex;
  transition: none;
}
.imp-hslider__slide {
  flex: 0 0 100%;
  min-height: 420px;
  padding: 3.5rem 0 4rem;
  position: relative;
  display: none;
}
.imp-hslider__slide.is-active { display: block; }
.imp-hslider__slide.slide-in  { animation: hslide-in .45s ease forwards; }
.imp-hslider__slide.slide-out { animation: hslide-out .45s ease forwards; }
@keyframes hslide-in  { from { opacity:0; transform:translateX(40px); } to { opacity:1; transform:translateX(0); } }
@keyframes hslide-out { from { opacity:1; transform:translateX(0); }   to { opacity:0; transform:translateX(-40px); } }

.imp-hslider__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  position: relative;
  z-index: 1;
}
.imp-hslider__text { flex: 1; min-width: 0; }

.imp-hslider__badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.9);
  font-size: .8rem;
  font-weight: 600;
  padding: .35rem .9rem;
  border-radius: 2rem;
  margin-bottom: 1.1rem;
}
.imp-hslider__title {
  font-size: clamp(1.75rem, 4vw, 2.6rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 .875rem;
  padding: 0;
}
.imp-hslider__title::after { display: none !important; }
.imp-hslider__sub { color: rgba(255,255,255,.7); font-size: .95rem; margin: 0 0 1.75rem; }
.imp-hslider__btns { display: flex; gap: .875rem; flex-wrap: wrap; }

.imp-hslider__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  flex-shrink: 0;
  width: 260px;
}
.imp-hslider__stat {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: .75rem;
  padding: 1rem;
  text-align: center;
}
.imp-hslider__stat strong { display: block; font-size: 1.2rem; font-weight: 800; color: #fff; margin-bottom: .2rem; }
.imp-hslider__stat span   { font-size: .73rem; color: rgba(255,255,255,.5); }

/* Arrows */
.imp-hslider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
}
.imp-hslider__arrow:hover { background: rgba(255,255,255,.22); }
.imp-hslider__arrow--prev { left: 1.25rem; }
.imp-hslider__arrow--next { right: 1.25rem; }

/* Dots */
.imp-hslider__dots {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: .5rem;
  z-index: 10;
}
.imp-hslider__dot {
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background .2s, width .2s;
}
.imp-hslider__dot.is-active {
  background: #fff;
  width: 1.5rem;
  border-radius: .25rem;
}

@media (max-width: 768px) {
  .imp-hslider__slide { min-height: auto; padding: 2.5rem 0 3.5rem; }
  .imp-hslider__inner { flex-direction: column; gap: 2rem; }
  .imp-hslider__stats { width: 100%; grid-template-columns: repeat(4,1fr); }
  .imp-hslider__stat  { padding: .6rem .4rem; }
  .imp-hslider__stat strong { font-size: 1rem; }
  .imp-hslider__arrow { display: none; }
}
@media (max-width: 480px) {
  .imp-hslider__stats { grid-template-columns: repeat(2,1fr); }
  .imp-hslider__btns  { flex-direction: column; }
}

/* ── Arrow fix — all carousels ───────────────────────────── */
.imp-carousel {
  position: relative !important;
  padding: 0 2.5rem !important;
}
.imp-carousel__btn {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 2.4rem !important;
  height: 2.4rem !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1.5px solid #e2e8f0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
  color: #374151 !important;
  cursor: pointer !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  transition: border-color .15s, color .15s, box-shadow .15s !important;
}
.imp-carousel__btn:hover {
  border-color: #0052ff !important;
  color: #0052ff !important;
  box-shadow: 0 4px 16px rgba(0,82,255,.15) !important;
}
.imp-carousel__btn--prev { left: 0 !important; }
.imp-carousel__btn--next { right: 0 !important; }
.imp-carousel[data-has-scroll] .imp-carousel__btn { display: flex !important; }

/* Hero slider arrows — bigger, always inside */
.imp-hslider__arrow {
  width: 3rem !important;
  height: 3rem !important;
  background: rgba(255,255,255,.15) !important;
  border: 1.5px solid rgba(255,255,255,.3) !important;
  border-radius: 50% !important;
  color: #fff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  transition: background .15s !important;
  padding: 0 !important;
}
.imp-hslider__arrow:hover { background: rgba(255,255,255,.28) !important; }
.imp-hslider__arrow--prev { left: 1.5rem !important; }
.imp-hslider__arrow--next { right: 1.5rem !important; }
@media (max-width: 768px) {
  .imp-hslider__arrow { display: none !important; }
  .imp-carousel { padding: 0 !important; }
  .imp-carousel__btn { display: none !important; }
}

/* ════════════════════════════════════════════════════════════
   Hero Slider — visual overhaul
════════════════════════════════════════════════════════════ */
.imp-hslider {
  position: relative !important;
  overflow: hidden !important;
  background: #0a0f1e !important;
  user-select: none !important;
}

/* Each slide fills viewport width, fixed height */
.imp-hslider__slide {
  position: relative !important;
  min-height: 520px !important;
  padding: 0 !important;
  display: none !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.imp-hslider__slide.is-active { display: block !important; }

/* Dark gradient overlay for readability */
.imp-hslider__slide::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    105deg,
    rgba(5,10,30,.85) 0%,
    rgba(5,10,30,.65) 50%,
    rgba(5,10,30,.2) 100%
  ) !important;
  z-index: 1 !important;
}

/* Slide-in animation */
@keyframes hslide-in2 {
  from { opacity: 0; transform: scale(1.03); }
  to   { opacity: 1; transform: scale(1); }
}
.imp-hslider__slide.is-active {
  animation: hslide-in2 .6s ease forwards !important;
}

/* Inner layout — left-aligned content, full height */
.imp-hslider__inner {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 520px !important;
  padding: 4rem 2rem !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  gap: 0 !important;
}

/* Text block — max 60% width on desktop */
.imp-hslider__text {
  max-width: 640px !important;
  flex: none !important;
}

/* Badge */
.imp-hslider__badge {
  display: inline-block !important;
  background: rgba(0,82,255,.35) !important;
  border: 1px solid rgba(0,82,255,.5) !important;
  color: #93c5fd !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: .35rem 1rem !important;
  border-radius: 2rem !important;
  margin-bottom: 1.25rem !important;
}

/* Title */
.imp-hslider__title {
  font-size: clamp(2rem, 4.5vw, 3.2rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.12 !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.3) !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
}
.imp-hslider__title::after { display: none !important; }

/* Subtitle */
.imp-hslider__sub {
  color: rgba(255,255,255,.75) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  margin: 0 0 2rem !important;
  max-width: 520px !important;
}

/* Buttons */
.imp-hslider__btns {
  display: flex !important;
  gap: .875rem !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

/* Stats — float to bottom-right corner */
.imp-hslider__stats {
  position: absolute !important;
  bottom: 2.5rem !important;
  right: 2rem !important;
  display: flex !important;
  gap: .875rem !important;
  width: auto !important;
  grid-template-columns: none !important;
}
.imp-hslider__stat {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-radius: .75rem !important;
  padding: .75rem 1.1rem !important;
  text-align: center !important;
  min-width: 90px !important;
}
.imp-hslider__stat strong {
  display: block !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin-bottom: .15rem !important;
}
.imp-hslider__stat span {
  font-size: .7rem !important;
  color: rgba(255,255,255,.55) !important;
}

/* Arrows — sleek, centered vertically */
.imp-hslider__arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 3rem !important;
  height: 3rem !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.12) !important;
  border: 1.5px solid rgba(255,255,255,.25) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  color: #fff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: background .18s, border-color .18s !important;
}
.imp-hslider__arrow:hover {
  background: rgba(255,255,255,.22) !important;
  border-color: rgba(255,255,255,.5) !important;
}
.imp-hslider__arrow--prev { left: 1.5rem !important; }
.imp-hslider__arrow--next { right: 1.5rem !important; }

/* Dots */
.imp-hslider__dots {
  position: absolute !important;
  bottom: 1.5rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  gap: .5rem !important;
  z-index: 10 !important;
  align-items: center !important;
}
.imp-hslider__dot {
  width: .5rem !important;
  height: .5rem !important;
  border-radius: 2rem !important;
  background: rgba(255,255,255,.35) !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background .2s, width .25s !important;
}
.imp-hslider__dot.is-active {
  background: #fff !important;
  width: 2rem !important;
}

/* Responsive */
@media (max-width: 900px) {
  .imp-hslider__stats {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(4,1fr) !important;
    gap: .625rem !important;
    margin-top: 2rem !important;
    width: 100% !important;
  }
  .imp-hslider__inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    min-height: auto !important;
    padding: 3rem 1.25rem 5rem !important;
  }
  .imp-hslider__slide { min-height: auto !important; }
  .imp-hslider__text  { max-width: 100% !important; }
}
@media (max-width: 600px) {
  .imp-hslider__arrow { display: none !important; }
  .imp-hslider__stats { grid-template-columns: repeat(2,1fr) !important; }
  .imp-hslider__title { font-size: 1.75rem !important; }
  .imp-hslider__btns  { flex-direction: column !important; align-items: flex-start !important; }
  .imp-btn--lg        { width: 100% !important; text-align: center !important; justify-content: center !important; }
}

/* ════════════════════════════════════════════════════════════
   Top bar — dark navy marquee
════════════════════════════════════════════════════════════ */
.imp-top-bar {
  background: #0f1d40 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.75) !important;
  font-size: .77rem !important;
  font-weight: 500 !important;
  height: 36px !important;
  overflow: hidden !important;
  position: relative !important;
}
/* fade edges */
.imp-top-bar::before,
.imp-top-bar::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; bottom: 0 !important;
  width: 80px !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
.imp-top-bar::before {
  left: 0 !important;
  background: linear-gradient(to right, #0f1d40, transparent) !important;
}
.imp-top-bar::after {
  right: 0 !important;
  background: linear-gradient(to left, #0f1d40, transparent) !important;
}

.imp-top-bar__marquee {
  overflow: hidden !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
}
.imp-top-bar__track {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  white-space: nowrap !important;
  animation: topbar-scroll 38s linear infinite !important;
  width: max-content !important;
}
.imp-top-bar__track:hover { animation-play-state: paused !important; }

@keyframes topbar-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.imp-top-bar__item {
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  padding: 0 1.75rem !important;
  color: rgba(255,255,255,.8) !important;
}
.imp-top-bar__item:hover { color: #fff !important; }
.imp-top-bar__icon {
  display: inline-flex !important;
  align-items: center !important;
  color: #60a5fa !important;
  flex-shrink: 0 !important;
}
.imp-top-bar__icon svg { display: block !important; }
.imp-top-bar__sep {
  color: rgba(255,255,255,.2) !important;
  flex-shrink: 0 !important;
  font-size: .8rem !important;
}

/* Remove old top bar overrides */
.imp-top-bar span { color: inherit !important; }
.imp-top-bar a { color: #93c5fd !important; text-decoration: none !important; }
.imp-top-bar a:hover { color: #fff !important; text-decoration: underline !important; }

/* ═══════════════════════════════════════════════════════════
   v14 — Category tiles redesign (horizontal cards, SVG icons)
═══════════════════════════════════════════════════════════ */

/* Reset old tile styles */
.imp-cat-tiles {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem !important;
  justify-content: unset !important;
}
@media (min-width: 768px) {
  .imp-cat-tiles {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.25rem !important;
  }
}

.imp-cat-tile {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  background: #fff !important;
  border: 1.5px solid #e5e7eb !important;
  border-radius: 1rem !important;
  padding: 2rem 1.25rem 1.5rem !important;
  text-decoration: none !important;
  color: #0f172a !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
  position: relative !important;
  overflow: hidden !important;
  gap: .75rem !important;
}
.imp-cat-tile::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, var(--tc, #0052ff) 0%, color-mix(in srgb, var(--tc, #0052ff) 70%, #7c3aed) 100%) !important;
  opacity: 0 !important;
  transition: opacity .25s ease !important;
  z-index: 0 !important;
}
.imp-cat-tile:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.12) !important;
  border-color: var(--tc, #0052ff) !important;
  color: #fff !important;
}
.imp-cat-tile:hover::before {
  opacity: 1 !important;
}
.imp-cat-tile > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Icon circle */
.imp-cat-tile__icon-wrap {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: color-mix(in srgb, var(--tc, #0052ff) 12%, #fff) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .25s ease !important;
  flex-shrink: 0 !important;
}
.imp-cat-tile__icon-wrap svg {
  width: 28px !important;
  height: 28px !important;
  stroke: var(--tc, #0052ff) !important;
  transition: stroke .25s ease !important;
}
.imp-cat-tile:hover .imp-cat-tile__icon-wrap {
  background: rgba(255,255,255,.2) !important;
}
.imp-cat-tile:hover .imp-cat-tile__icon-wrap svg {
  stroke: #fff !important;
}

/* Body */
.imp-cat-tile__body {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: .3rem !important;
}
.imp-cat-tile__label {
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: inherit !important;
  line-height: 1.2 !important;
}
.imp-cat-tile__desc {
  font-size: .78rem !important;
  color: #64748b !important;
  line-height: 1.4 !important;
  transition: color .25s ease !important;
}
.imp-cat-tile:hover .imp-cat-tile__desc {
  color: rgba(255,255,255,.8) !important;
}
.imp-cat-tile__count {
  display: inline-block !important;
  margin-top: .35rem !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  color: var(--tc, #0052ff) !important;
  background: color-mix(in srgb, var(--tc, #0052ff) 10%, #fff) !important;
  border-radius: 2rem !important;
  padding: .2rem .65rem !important;
  transition: color .25s ease, background .25s ease !important;
}
.imp-cat-tile:hover .imp-cat-tile__count {
  color: var(--tc, #0052ff) !important;
  background: #fff !important;
}

/* Arrow */
.imp-cat-tile__arrow {
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  border: 1.5px solid #e5e7eb !important;
  color: #94a3b8 !important;
  transition: all .25s ease !important;
  margin-top: .25rem !important;
}
.imp-cat-tile__arrow svg {
  width: 14px !important;
  height: 14px !important;
}
.imp-cat-tile:hover .imp-cat-tile__arrow {
  border-color: rgba(255,255,255,.5) !important;
  color: #fff !important;
  background: rgba(255,255,255,.15) !important;
}

/* Hide old elements */
.imp-cat-tile__bg,
.imp-cat-tile__foot,
.imp-cat-tile__img,
.imp-cat-tile__icon { display: none !important; }


/* ═══════════════════════════════════════════════════════════
   v15 — Category tiles: stronger visual identity per tile
═══════════════════════════════════════════════════════════ */

/* Each tile: tinted bg from its own color, thick top border */
.imp-cat-tile {
  background: color-mix(in srgb, var(--tc, #0052ff) 7%, #fff) !important;
  border: none !important;
  border-top: 4px solid var(--tc, #0052ff) !important;
  border-radius: .875rem !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
  padding: 1.75rem 1.25rem 1.5rem !important;
  gap: .85rem !important;
}
.imp-cat-tile:hover {
  box-shadow: 0 16px 40px rgba(0,0,0,.15) !important;
  border-color: transparent !important;
}

/* Solid colored icon circle — not faint */
.imp-cat-tile__icon-wrap {
  width: 60px !important;
  height: 60px !important;
  background: var(--tc, #0052ff) !important;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--tc, #0052ff) 40%, transparent) !important;
}
.imp-cat-tile__icon-wrap svg {
  stroke: #fff !important;
  width: 26px !important;
  height: 26px !important;
}
.imp-cat-tile:hover .imp-cat-tile__icon-wrap {
  background: rgba(255,255,255,.25) !important;
  box-shadow: none !important;
}
.imp-cat-tile:hover .imp-cat-tile__icon-wrap svg {
  stroke: #fff !important;
}

/* Label: colored on default state */
.imp-cat-tile__label {
  color: var(--tc, #0052ff) !important;
  font-size: 1rem !important;
}
.imp-cat-tile:hover .imp-cat-tile__label {
  color: #fff !important;
}

/* Count badge: solid colored */
.imp-cat-tile__count {
  background: var(--tc, #0052ff) !important;
  color: #fff !important;
  font-size: .7rem !important;
}
.imp-cat-tile:hover .imp-cat-tile__count {
  background: rgba(255,255,255,.25) !important;
  color: #fff !important;
}

/* Arrow: colored */
.imp-cat-tile__arrow {
  border-color: color-mix(in srgb, var(--tc, #0052ff) 25%, transparent) !important;
  color: var(--tc, #0052ff) !important;
}
.imp-cat-tile:hover .imp-cat-tile__arrow {
  background: rgba(255,255,255,.2) !important;
  border-color: transparent !important;
  color: #fff !important;
}

/* Grid: tighter on mobile, larger on desktop */
.imp-cat-tiles {
  gap: 1rem !important;
}
@media (min-width: 768px) {
  .imp-cat-tiles { gap: 1.5rem !important; }
}


/* ═══════════════════════════════════════════════════════════
   v16 — Category tiles: symmetry fix
═══════════════════════════════════════════════════════════ */

/* Grid: equal height rows, stretch */
.imp-cat-tiles {
  align-items: stretch !important;
}

/* Tile: full height flex column, push arrow to bottom */
.imp-cat-tile {
  justify-content: flex-start !important;
  align-items: center !important;
  height: 100% !important;
  box-sizing: border-box !important;
  min-height: 210px !important;
}

/* Icon: fixed size, centered, no shrink */
.imp-cat-tile__icon-wrap {
  flex-shrink: 0 !important;
  margin-bottom: .1rem !important;
}

/* Body: centered, fixed min-height so labels align */
.imp-cat-tile__body {
  width: 100% !important;
  align-items: center !important;
  text-align: center !important;
  flex: 1 !important;
  justify-content: flex-start !important;
}

.imp-cat-tile__label {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

.imp-cat-tile__desc {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  min-height: 2.4em !important;  /* 2 lines reserved — keeps count badges level */
}

.imp-cat-tile__count {
  display: inline-block !important;
  text-align: center !important;
}

/* Arrow pinned to bottom of tile */
.imp-cat-tile__arrow {
  margin-top: auto !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}


/* ═══════════════════════════════════════════════════════════
   v17 — Category tiles: full redesign — bold colored cards
═══════════════════════════════════════════════════════════ */

.imp-cat-tiles {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.25rem !important;
  align-items: stretch !important;
}
@media (min-width: 768px) {
  .imp-cat-tiles {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
  }
}

.imp-cat-tile {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-decoration: none !important;
  padding: 2.25rem 1.25rem 2rem !important;
  border-radius: 1.25rem !important;
  border: none !important;
  border-top: none !important;
  background: linear-gradient(145deg,
    var(--tc, #0052ff) 0%,
    color-mix(in srgb, var(--tc, #0052ff) 75%, #000) 100%
  ) !important;
  box-shadow: 0 6px 24px color-mix(in srgb, var(--tc, #0052ff) 35%, transparent) !important;
  color: #fff !important;
  gap: 1rem !important;
  min-height: 220px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

/* Subtle geometric shape in background */
.imp-cat-tile::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: none !important;
  opacity: 1 !important;
}
.imp-cat-tile::after {
  content: '' !important;
  position: absolute !important;
  right: -1.5rem !important;
  bottom: -1.5rem !important;
  width: 100px !important;
  height: 100px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.08) !important;
  pointer-events: none !important;
}

.imp-cat-tile:hover {
  transform: translateY(-5px) scale(1.02) !important;
  box-shadow: 0 16px 40px color-mix(in srgb, var(--tc, #0052ff) 45%, transparent) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* All children above pseudo */
.imp-cat-tile > * {
  position: relative !important;
  z-index: 1 !important;
}

/* Icon: white translucent circle */
.imp-cat-tile__icon-wrap {
  width: 68px !important;
  height: 68px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.2) !important;
  border: 1.5px solid rgba(255,255,255,.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(4px) !important;
  transition: background .22s ease, transform .22s ease !important;
}
.imp-cat-tile__icon-wrap svg {
  width: 30px !important;
  height: 30px !important;
  stroke: #fff !important;
}
.imp-cat-tile:hover .imp-cat-tile__icon-wrap {
  background: rgba(255,255,255,.3) !important;
  transform: scale(1.08) !important;
  box-shadow: none !important;
}
.imp-cat-tile:hover .imp-cat-tile__icon-wrap svg {
  stroke: #fff !important;
}

/* Body */
.imp-cat-tile__body {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: .35rem !important;
  flex: 0 !important;
  width: 100% !important;
}

.imp-cat-tile__label {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em !important;
}
.imp-cat-tile:hover .imp-cat-tile__label { color: #fff !important; }

.imp-cat-tile__desc {
  font-size: .78rem !important;
  color: rgba(255,255,255,.75) !important;
  line-height: 1.45 !important;
  min-height: unset !important;
}
.imp-cat-tile:hover .imp-cat-tile__desc { color: rgba(255,255,255,.85) !important; }

.imp-cat-tile__count {
  display: inline-block !important;
  margin-top: .4rem !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  color: var(--tc, #0052ff) !important;
  background: #fff !important;
  border-radius: 2rem !important;
  padding: .22rem .7rem !important;
  letter-spacing: .01em !important;
}
.imp-cat-tile:hover .imp-cat-tile__count {
  background: rgba(255,255,255,.95) !important;
  color: var(--tc, #0052ff) !important;
}

/* Hide arrow on colored cards — looks cluttered */
.imp-cat-tile__arrow { display: none !important; }


/* ═══════════════════════════════════════════════════════════
   v18 — Product cards + spotlight redesign
═══════════════════════════════════════════════════════════ */

/* ── Product card ────────────────────────────────────────── */
.imp-cc {
  flex: 0 0 210px !important;
  border-radius: 1rem !important;
  border: 1px solid #edf0f4 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.05) !important;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease !important;
  overflow: hidden !important;
}
.imp-cc:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,.12) !important;
  transform: translateY(-4px) !important;
  border-color: #dbeafe !important;
}

/* Image area */
.imp-cc__img {
  aspect-ratio: 1 / 1 !important;
  background: linear-gradient(145deg, #f1f5f9, #e9edf2) !important;
  position: relative !important;
}
.imp-cc__img img {
  object-fit: contain !important;
  padding: .75rem !important;
  transition: transform .3s ease !important;
}
.imp-cc:hover .imp-cc__img img {
  transform: scale(1.06) !important;
}

/* Add to cart button — appears on hover */
.imp-cc__img::after {
  content: 'Dodaj do koszyka' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: linear-gradient(135deg, #0052ff, #3b82f6) !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: .55rem 0 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
  opacity: 0 !important;
  transform: translateY(100%) !important;
  transition: opacity .2s ease, transform .2s ease !important;
  pointer-events: none !important;
}
.imp-cc:hover .imp-cc__img::after {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Badge */
.imp-cc__badge {
  font-size: .65rem !important;
  font-weight: 700 !important;
  padding: .22rem .6rem !important;
  border-radius: .375rem !important;
  letter-spacing: .04em !important;
}
.imp-cc__badge--sale {
  background: #dc2626 !important;
}

/* Body */
.imp-cc__body {
  padding: .875rem 1rem 1rem !important;
}

.imp-cc__name {
  font-size: .84rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  line-height: 1.45 !important;
  -webkit-line-clamp: 2 !important;
  margin-bottom: .6rem !important;
}

.imp-cc__price {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: .4rem !important;
}
.imp-cc__price ins {
  color: #dc2626 !important;
  font-size: 1.1rem !important;
}
.imp-cc__price del {
  font-size: .76rem !important;
  color: #94a3b8 !important;
}

.imp-cc__ship {
  font-size: .72rem !important;
  color: #059669 !important;
  font-weight: 500 !important;
  gap: .25rem !important;
}

/* ── Spotlight banner redesign ──────────────────────────── */
.imp-spotlight__banner {
  background: linear-gradient(155deg, #0041cc 0%, #5b21b6 60%, #7c3aed 100%) !important;
  border-radius: 1.25rem !important;
  min-height: 340px !important;
  padding: 2.25rem 1.75rem !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: flex-end !important;
  box-shadow: 0 8px 32px rgba(0,82,255,.3) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}
.imp-spotlight__banner:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 14px 40px rgba(0,82,255,.38) !important;
}

/* Remove emoji, replace with geometric decorations */
.imp-spotlight__banner::before {
  content: '' !important;
  position: absolute !important;
  width: 200px !important;
  height: 200px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.07) !important;
  top: -60px !important;
  right: -60px !important;
  filter: none !important;
  font-size: 0 !important;
}
.imp-spotlight__banner::after {
  content: '' !important;
  position: absolute !important;
  width: 120px !important;
  height: 120px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.05) !important;
  bottom: 2rem !important;
  right: 1rem !important;
}

.imp-spotlight__eyebrow {
  font-size: .68rem !important;
  letter-spacing: .12em !important;
  color: rgba(255,255,255,.65) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

.imp-spotlight__title {
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  margin-bottom: .6rem !important;
  color: #fff !important;
}

.imp-spotlight__banner p {
  font-size: .82rem !important;
  color: rgba(255,255,255,.72) !important;
  margin-bottom: 1.5rem !important;
  line-height: 1.5 !important;
}

.imp-spotlight__banner .imp-btn--white {
  background: #fff !important;
  color: #0041cc !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  padding: .6rem 1.35rem !important;
  border-radius: .6rem !important;
  border: none !important;
  transition: background .18s, transform .18s !important;
  display: inline-block !important;
  text-decoration: none !important;
}
.imp-spotlight__banner .imp-btn--white:hover {
  background: #f0f7ff !important;
  transform: scale(1.03) !important;
  color: #0041cc !important;
}

/* Section heading tweaks for spotlight right */
.imp-spotlight__right .imp-section-hd__title {
  font-size: 1.05rem !important;
}


/* ═══════════════════════════════════════════════════════════
   v19 — Full product card + section header overhaul
═══════════════════════════════════════════════════════════ */

/* ── Section header ──────────────────────────────────────── */
.imp-section-hd {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: .875rem !important;
  border-bottom: 2px solid #f1f5f9 !important;
}
.imp-section-hd__title {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 !important;
  position: relative !important;
  padding-left: .875rem !important;
}
.imp-section-hd__title::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 10% !important;
  bottom: 10% !important;
  width: 3px !important;
  background: linear-gradient(180deg, #0052ff, #7c3aed) !important;
  border-radius: 4px !important;
}
.imp-section-hd__more {
  display: flex !important;
  align-items: center !important;
  gap: .3rem !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: #0052ff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: gap .2s ease !important;
}
.imp-section-hd__more:hover { gap: .5rem !important; color: #0041cc !important; }

/* ── Product card v19 ────────────────────────────────────── */
.imp-cc {
  flex: 0 0 220px !important;
  border-radius: 1.125rem !important;
  border: 1px solid #f0f2f5 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.06) !important;
  background: #fff !important;
  overflow: visible !important;   /* allow floating btn shadow */
  position: relative !important;
  transition: box-shadow .22s ease, transform .22s ease !important;
}
/* clip the card itself */
.imp-cc > .imp-cc__img,
.imp-cc > .imp-cc__body { overflow: visible !important; }
/* but clip inner to card shape */
.imp-cc { clip-path: none !important; }

.imp-cc:hover {
  box-shadow: 0 12px 36px rgba(0,0,0,.13) !important;
  transform: translateY(-5px) !important;
  border-color: #e0e7ff !important;
  z-index: 10 !important;
}

/* Badge */
.imp-cc__badge {
  position: absolute !important;
  top: .75rem !important;
  left: .75rem !important;
  z-index: 3 !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: .25rem .65rem !important;
  border-radius: .4rem !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.15) !important;
}
.imp-cc__badge--sale { background: #dc2626 !important; }
.imp-cc__badge:not(.imp-cc__badge--sale) { background: #0052ff !important; }

/* Floating cart button */
.imp-cc::before {
  content: '+' !important;
  position: absolute !important;
  bottom: calc(100% - 100% + 8.5rem) !important;
  right: .75rem !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #0052ff, #3b82f6) !important;
  color: #fff !important;
  font-size: 1.4rem !important;
  font-weight: 300 !important;
  line-height: 38px !important;
  text-align: center !important;
  box-shadow: 0 4px 14px rgba(0,82,255,.45) !important;
  opacity: 0 !important;
  transform: scale(.7) translateY(6px) !important;
  transition: opacity .2s ease, transform .2s ease !important;
  z-index: 4 !important;
  pointer-events: none !important;
}
.imp-cc:hover::before {
  opacity: 1 !important;
  transform: scale(1) translateY(0) !important;
}

/* Remove old ::after cart bar from v18 */
.imp-cc__img::after { display: none !important; }

/* Image */
.imp-cc__img {
  aspect-ratio: 4/3 !important;
  background: linear-gradient(145deg, #f8fafc 0%, #f0f4f8 100%) !important;
  overflow: hidden !important;
  border-radius: 1.125rem 1.125rem 0 0 !important;
  position: relative !important;
}
.imp-cc__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: .875rem !important;
  transition: transform .3s ease !important;
}
.imp-cc:hover .imp-cc__img img { transform: scale(1.07) !important; }

/* Body */
.imp-cc__body {
  padding: .875rem 1rem 1.1rem !important;
}

.imp-cc__stars {
  margin-bottom: .35rem !important;
  gap: .25rem !important;
}
.imp-cc__stars span { color: #cbd5e1 !important; font-size: .68rem !important; }

.imp-cc__name {
  font-size: .875rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  line-height: 1.45 !important;
  -webkit-line-clamp: 2 !important;
  margin-bottom: .65rem !important;
  min-height: 2.55em !important;
}

.imp-cc__price {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: .4rem !important;
  line-height: 1.2 !important;
}
.imp-cc__price ins { font-size: 1.2rem !important; color: #dc2626 !important; font-weight: 800 !important; }
.imp-cc__price del { font-size: .75rem !important; color: #94a3b8 !important; display: block !important; }

.imp-cc__ship {
  font-size: .72rem !important;
  font-weight: 500 !important;
  color: #059669 !important;
  gap: .3rem !important;
  display: flex !important;
  align-items: center !important;
}

/* ── Carousel track spacing ──────────────────────────────── */
.imp-carousel__track {
  gap: 1rem !important;
  padding: .5rem .25rem 1rem !important;
}

/* ── Spotlight improvements ──────────────────────────────── */
.imp-spotlight {
  gap: 1.75rem !important;
  align-items: stretch !important;
}
.imp-spotlight__banner {
  min-height: 100% !important;
  border-radius: 1.25rem !important;
}
.imp-spotlight__right {
  display: flex !important;
  flex-direction: column !important;
}

/* ── Section bg contrast ─────────────────────────────────── */
.imp-home-section--gray {
  background: #f6f8fb !important;
}


/* ═══════════════════════════════════════════════════════════
   v20 — Nav dropdown: fix hover gap (mouse loses hover)
═══════════════════════════════════════════════════════════ */

/* Remove 0.5rem gap — it breaks hover continuity.
   Visual spacing moved inside via padding-top instead. */
.imp-dnav__dropdown {
  top: 100% !important;
  padding-top: .75rem !important;
}

/* Transparent bridge above the dropdown so hover isn't lost
   even if there's 1–2px rendering gap */
.imp-dnav__dropdown::before {
  content: '' !important;
  position: absolute !important;
  top: -.5rem !important;
  left: 0 !important;
  right: 0 !important;
  height: .5rem !important;
  background: transparent !important;
}

/* Also open on focus-within (keyboard / click navigation) */
.imp-dnav__item:focus-within .imp-dnav__dropdown {
  display: block !important;
}


/* ═══════════════════════════════════════════════════════════
   v21 — Add to cart button redesign
═══════════════════════════════════════════════════════════ */

/* Remove floating "+" pseudo-element */
.imp-cc::before { display: none !important; }

/* Add to cart button — full width, always visible */
.imp-cc__atc {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  width: 100% !important;
  margin-top: .75rem !important;
  padding: .6rem 1rem !important;
  background: #0052ff !important;
  color: #fff !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  border-radius: .6rem !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease !important;
  box-sizing: border-box !important;
}
.imp-cc__atc svg {
  flex-shrink: 0 !important;
  transition: transform .18s ease !important;
}
.imp-cc__atc:hover {
  background: #0041cc !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(0,82,255,.35) !important;
}
.imp-cc__atc:hover svg {
  transform: scale(1.15) !important;
}
.imp-cc__atc:active {
  transform: translateY(0) !important;
  box-shadow: none !important;
}

/* Loading state after AJAX click */
.imp-cc__atc.loading {
  opacity: .7 !important;
  pointer-events: none !important;
}

/* Added to cart state */
.imp-cc__atc.added {
  background: #059669 !important;
}


/* ═══════════════════════════════════════════════════════════
   v22 — Newsletter section full redesign
═══════════════════════════════════════════════════════════ */

/* Override old newsletter styles */
.imp-footer-newsletter {
  background: linear-gradient(135deg, #0041cc 0%, #0052ff 40%, #7c3aed 100%) !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 3.5rem 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Decorative blobs */
.imp-nl__blob {
  position: absolute !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
.imp-nl__blob--1 {
  width: 320px !important;
  height: 320px !important;
  background: rgba(255,255,255,.07) !important;
  top: -120px !important;
  right: 5% !important;
}
.imp-nl__blob--2 {
  width: 180px !important;
  height: 180px !important;
  background: rgba(255,255,255,.05) !important;
  bottom: -60px !important;
  left: 8% !important;
}

/* Layout */
.imp-nl__inner {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: 56px 1fr 1fr !important;
  gap: 0 2rem !important;
  align-items: center !important;
}
@media (max-width: 900px) {
  .imp-nl__inner {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 1.5rem !important;
  }
  .imp-nl__icon-wrap { display: none !important; }
  .imp-nl__proof { justify-content: center !important; }
}

/* Icon circle */
.imp-nl__icon-wrap {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.15) !important;
  border: 1.5px solid rgba(255,255,255,.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  flex-shrink: 0 !important;
}

/* Copy */
.imp-nl__badge {
  display: inline-block !important;
  background: rgba(255,255,255,.18) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color: #fff !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  padding: .22rem .7rem !important;
  border-radius: 2rem !important;
  margin-bottom: .65rem !important;
}
.imp-nl__title {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: 0 0 .4rem !important;
  line-height: 1.2 !important;
}
.imp-nl__title span {
  background: rgba(255,255,255,.22) !important;
  border-radius: .35rem !important;
  padding: .05em .3em !important;
  white-space: nowrap !important;
}
.imp-nl__sub {
  font-size: .875rem !important;
  color: rgba(255,255,255,.78) !important;
  margin: 0 0 1rem !important;
  line-height: 1.5 !important;
}

/* Social proof */
.imp-nl__proof {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
}
.imp-nl__proof-avatars {
  display: flex !important;
}
.imp-nl__proof-avatars span {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(255,255,255,.5) !important;
  margin-left: -8px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.3), rgba(255,255,255,.15)) !important;
  display: block !important;
}
.imp-nl__proof-avatars span:first-child { margin-left: 0 !important; }
.imp-nl__proof-text {
  font-size: .76rem !important;
  color: rgba(255,255,255,.75) !important;
  font-weight: 500 !important;
}

/* Form area */
.imp-nl__form-wrap { min-width: 0 !important; }

.imp-nl__field-row {
  display: flex !important;
  gap: .625rem !important;
  margin-bottom: .6rem !important;
}

.imp-nl__field {
  position: relative !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.imp-nl__field-icon {
  position: absolute !important;
  left: .875rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #94a3b8 !important;
  pointer-events: none !important;
}
.imp-nl__field input[type=email],
.imp-newsletter-form__group input[type=email] {
  width: 100% !important;
  padding: .75rem .875rem .75rem 2.5rem !important;
  background: #fff !important;
  border: 1.5px solid transparent !important;
  border-radius: .625rem !important;
  font-size: .875rem !important;
  color: #0f172a !important;
  outline: none !important;
  transition: border-color .18s, box-shadow .18s !important;
  box-sizing: border-box !important;
}
.imp-nl__field input[type=email]::placeholder { color: #94a3b8 !important; }
.imp-nl__field input[type=email]:focus {
  border-color: rgba(255,255,255,.6) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.2) !important;
}

.imp-nl__btn {
  display: flex !important;
  align-items: center !important;
  gap: .45rem !important;
  padding: .75rem 1.5rem !important;
  background: #fff !important;
  color: #0041cc !important;
  font-size: .875rem !important;
  font-weight: 800 !important;
  border: none !important;
  border-radius: .625rem !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background .18s, transform .18s, box-shadow .18s !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.18) !important;
}
.imp-nl__btn:hover {
  background: #f0f7ff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.22) !important;
  color: #0041cc !important;
}
.imp-nl__btn svg { transition: transform .18s !important; }
.imp-nl__btn:hover svg { transform: translateX(3px) !important; }

/* Note */
.imp-nl__note {
  display: flex !important;
  align-items: center !important;
  gap: .35rem !important;
  font-size: .72rem !important;
  color: rgba(255,255,255,.6) !important;
  margin: 0 !important;
}
.imp-nl__note a { color: rgba(255,255,255,.8) !important; text-decoration: underline !important; }
.imp-nl__note a:hover { color: #fff !important; }

/* Hide old newsletter elements still referencing old classes */
.imp-footer-newsletter__copy,
.imp-footer-newsletter__inner,
.imp-newsletter-form__group { all: unset !important; display: contents !important; }


/* ═══════════════════════════════════════════════════════════
   v23 — Newsletter: centered high-impact redesign
═══════════════════════════════════════════════════════════ */

.imp-nl {
  background: linear-gradient(160deg, #030d2e 0%, #0a1f6e 40%, #1a0a4a 100%) !important;
  padding: 5rem 0 4.5rem !important;
  position: relative !important;
  overflow: hidden !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* Animated rings */
.imp-nl__bg { position: absolute; inset: 0; pointer-events: none; }
.imp-nl__ring {
  position: absolute !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.06) !important;
}
.imp-nl__ring--1 {
  width: 600px; height: 600px;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
}
.imp-nl__ring--2 {
  width: 900px; height: 900px;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
}
.imp-nl__ring--3 {
  width: 1200px; height: 1200px;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  border-color: rgba(255,255,255,.03) !important;
}

/* Body: centered */
.imp-nl__body {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}

/* Eyebrow */
.imp-nl__eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: .6rem !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.5) !important;
  margin-bottom: 1.25rem !important;
}
.imp-nl__dot {
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.35) !important;
  display: inline-block !important;
}

/* Title */
.imp-nl__title {
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.15 !important;
  margin: 0 0 1rem !important;
  letter-spacing: -.02em !important;
}
.imp-nl__discount {
  font-style: normal !important;
  background: linear-gradient(135deg, #60a5fa, #a78bfa) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* Sub */
.imp-nl__sub {
  font-size: .95rem !important;
  color: rgba(255,255,255,.55) !important;
  line-height: 1.6 !important;
  margin: 0 0 2rem !important;
  max-width: 480px !important;
}

/* Form */
.imp-nl__form { width: 100% !important; max-width: 520px !important; }

.imp-nl__row {
  display: flex !important;
  gap: .5rem !important;
  margin-bottom: .75rem !important;
}
@media (max-width: 540px) {
  .imp-nl__row { flex-direction: column !important; }
}

.imp-nl__input-wrap {
  position: relative !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.imp-nl__input-wrap svg {
  position: absolute !important;
  left: 1rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #64748b !important;
  pointer-events: none !important;
}
.imp-nl__input-wrap input[type=email],
.imp-nl__form input[type=email] {
  width: 100% !important;
  padding: .875rem 1rem .875rem 2.75rem !important;
  background: rgba(255,255,255,.08) !important;
  border: 1.5px solid rgba(255,255,255,.12) !important;
  border-radius: .75rem !important;
  font-size: .925rem !important;
  color: #fff !important;
  outline: none !important;
  transition: border-color .18s, background .18s, box-shadow .18s !important;
  box-sizing: border-box !important;
  backdrop-filter: blur(8px) !important;
}
.imp-nl__input-wrap input::placeholder { color: rgba(255,255,255,.35) !important; }
.imp-nl__input-wrap input:focus {
  border-color: rgba(96,165,250,.6) !important;
  background: rgba(255,255,255,.12) !important;
  box-shadow: 0 0 0 3px rgba(96,165,250,.15) !important;
}

.imp-nl__submit {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  padding: .875rem 1.75rem !important;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6) !important;
  color: #fff !important;
  font-size: .925rem !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: .75rem !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 20px rgba(59,130,246,.4) !important;
  transition: transform .18s, box-shadow .18s, filter .18s !important;
}
.imp-nl__submit:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(59,130,246,.5) !important;
  color: #fff !important;
}
.imp-nl__submit svg { transition: transform .18s !important; }
.imp-nl__submit:hover svg { transform: translateX(3px) !important; }

/* Legal */
.imp-nl__legal {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .35rem !important;
  font-size: .72rem !important;
  color: rgba(255,255,255,.35) !important;
  margin: 0 0 2.5rem !important;
}
.imp-nl__legal a { color: rgba(255,255,255,.5) !important; text-decoration: underline !important; text-underline-offset: 2px !important; }
.imp-nl__legal a:hover { color: rgba(255,255,255,.8) !important; }

/* Benefits */
.imp-nl__benefits {
  display: flex !important;
  align-items: center !important;
  gap: 2rem !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding-top: 2rem !important;
  width: 100% !important;
}
.imp-nl__benefit {
  display: flex !important;
  align-items: center !important;
  gap: .45rem !important;
  font-size: .8rem !important;
  color: rgba(255,255,255,.55) !important;
  font-weight: 500 !important;
}
.imp-nl__benefit svg { color: #34d399 !important; flex-shrink: 0 !important; }


/* ═══════════════════════════════════════════════════════════
