/* ============================================================
   CARZON – Premium Automotive Theme
   Stiil: dark industrial / motorsport precision
   Font: Bebas Neue (display) + DM Sans (body)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600;700&display=swap');

/* ── Variables ───────────────────────────────────────────── */
:root {
  --red:       #D42B2B;
  --red-2:     #FF3B3B;
  --red-dim:   rgba(212,43,43,.14);
  --bg:        #0A0A0C;
  --s1:        #111115;
  --s2:        #18181D;
  --s3:        #222228;
  --border:    rgba(255,255,255,.07);
  --border-2:  rgba(255,255,255,.12);
  --text:      #EFEFEF;
  --text-2:    #9898A6;
  --text-3:    #55555F;
  --green:     #2ECC71;
  --font-d:    'Bebas Neue', 'Arial Narrow', sans-serif;
  --font:      'DM Sans', system-ui, sans-serif;
  --r:         6px;
  --r-lg:      10px;
  --r-xl:      16px;
  --max:       1320px;
  --hh:        68px;
  --t:         .2s cubic-bezier(.4,0,.2,1);
  --t-slow:    .4s cubic-bezier(.4,0,.2,1);
}

/* ── Reset ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
html { overflow-x: clip; } /* overflow:clip ei kata sticky-t erinevalt overflow:hidden */
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}
ul,ol{list-style:none}
input,select,textarea{font-family:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}

/* ── Layout ──────────────────────────────────────────────── */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(1rem,3vw,2.5rem)}
.section{padding:clamp(4rem,7vw,6rem) 0}
.section-sm{padding:clamp(2.5rem,4vw,3.5rem) 0}
.row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2.5rem}
.section-title{
  font-family:var(--font-d);
  font-size:clamp(2rem,3.5vw,2.75rem);
  letter-spacing:.04em;
  color:var(--text);
  line-height:1;
}
.see-all{
  font-size:.8125rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-2);
  transition:color var(--t);
  display:flex;align-items:center;gap:.35rem;
  white-space:nowrap;
}
.see-all svg{width:14px;height:14px;transition:transform var(--t)}
.see-all:hover{color:var(--red)}
.see-all:hover svg{transform:translateX(3px)}

/* ── Buttons ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;
  letter-spacing:.06em;text-transform:uppercase;
  border-radius:var(--r);border:none;
  transition:all var(--t);white-space:nowrap;cursor:pointer;text-decoration:none;
  font-family:var(--font);
}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-2);color:#fff;box-shadow:0 0 28px rgba(212,43,43,.4)}
.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border-2)}
.btn-outline:hover{border-color:var(--red);color:var(--red)}
.btn-ghost{background:transparent;color:var(--text-2)}
.btn-ghost:hover{color:var(--text)}
.btn-sm{padding:.5rem 1rem;font-size:.75rem}
.btn-lg{padding:1rem 2.25rem;font-size:.9375rem}
.btn-icon{padding:.65rem;border-radius:var(--r);border:1px solid var(--border)}
.btn-icon:hover{border-color:var(--border-2);color:var(--text)}

/* ── HEADER ──────────────────────────────────────────────── */
#site-header{
  position:sticky;top:0;z-index:1000;
  height:var(--hh);width:100%;
  background:rgba(10,10,12,.94);
  backdrop-filter:blur(24px) saturate(1.6);
  -webkit-backdrop-filter:blur(24px) saturate(1.6);
  border-bottom:1px solid var(--border);
  transition:transform var(--t-slow),background var(--t-slow);
  overflow:visible;
}
#site-header.hide{transform:translateY(-100%)}
.header-inner{
  display:flex;align-items:center;gap:1rem;
  height:100%;max-width:var(--max);margin:0 auto;
  padding:0 clamp(1rem,3vw,2.5rem);
  overflow:visible;
}

.site-logo{flex-shrink:0;display:flex;align-items:center}
.site-logo a{display:flex;align-items:center}
.site-logo img,.site-logo .custom-logo{height:38px;width:auto}
.logo-wordmark{
  font-family:var(--font-d);font-size:1.875rem;
  letter-spacing:.06em;color:var(--text);
  line-height:1;
}
.logo-wordmark em{color:var(--red);font-style:normal}

/* Nav */
.site-nav{flex-shrink:0;display:flex;align-items:center}
.nav-list{display:flex;align-items:center;padding:0;margin:0}
.nav-list>li>a{
  display:block;padding:.5rem .875rem;
  font-size:.875rem;font-weight:500;
  color:var(--text-2);transition:color var(--t);
  position:relative;white-space:nowrap;
}
.nav-list>li>a::after{
  content:'';position:absolute;bottom:-1px;left:.875rem;right:.875rem;
  height:2px;background:var(--red);
  transform:scaleX(0);transition:transform var(--t);transform-origin:left;
}
.nav-list>li>a:hover,
.nav-list>li.current-menu-item>a{color:var(--text)}
.nav-list>li>a:hover::after,
.nav-list>li.current-menu-item>a::after{transform:scaleX(1)}

/* Dropdown */
.nav-list li.menu-item-has-children{position:relative}
.nav-list li.menu-item-has-children>.sub-menu{
  position:absolute;top:calc(100% + 12px);left:0;
  background:var(--s2);border:1px solid var(--border-2);
  border-radius:var(--r-lg);padding:.5rem;min-width:210px;
  box-shadow:0 16px 48px rgba(0,0,0,.6);
  opacity:0;pointer-events:none;transform:translateY(8px);transition:all var(--t);
}
.nav-list li.menu-item-has-children:hover>.sub-menu{opacity:1;pointer-events:auto;transform:none}
.nav-list li.menu-item-has-children>.sub-menu li a{
  display:block;padding:.5rem .875rem;font-size:.875rem;
  color:var(--text-2);border-radius:var(--r);transition:all var(--t);
}
.nav-list li.menu-item-has-children>.sub-menu li a:hover{background:var(--red-dim);color:var(--red)}

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

/* Vehicle badge */
#header-vehicle{display:flex;align-items:center;gap:.5rem;font-size:.8rem}
.vehicle-pill{
  display:flex;align-items:center;gap:.375rem;
  padding:.3rem .75rem .3rem .5rem;
  background:var(--s3);border:1px solid var(--border-2);
  border-radius:var(--r-full,9999px);
  font-size:.78rem;font-weight:500;color:var(--text-2);
  transition:all var(--t);cursor:pointer;
}
.vehicle-pill:hover{border-color:var(--red);color:var(--text)}
.vehicle-pill svg{width:14px;height:14px;color:var(--red);flex-shrink:0}
.vehicle-pill strong{color:var(--text);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vehicle-pill .sep{color:var(--text-3)}
.btn-vclear{
  width:22px;height:22px;border-radius:50%;
  background:var(--s3);color:var(--text-3);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;line-height:1;transition:all var(--t);
  border:1px solid var(--border);
}
.btn-vclear:hover{background:#EF444420;color:#EF4444;border-color:#EF4444}
.btn-vselect{
  display:flex;align-items:center;gap:.375rem;
  padding:.3rem .75rem .3rem .5rem;
  border:1px solid var(--border-2);border-radius:9999px;
  font-size:.78rem;font-weight:600;color:var(--text-2);
  transition:all var(--t);
}
.btn-vselect svg{width:14px;height:14px}
.btn-vselect:hover{border-color:var(--red);color:var(--red)}

/* Cart */
.header-cart{
  position:relative;display:flex;align-items:center;
  padding:.35rem;color:var(--text-2);
  transition:color var(--t);text-decoration:none;
  background:none;border:none;
}
.header-cart:hover{color:var(--text);}
.cart-count{
  position:absolute;top:-6px;right:-6px;
  background:var(--red);color:#fff;border-radius:50%;
  width:17px;height:17px;font-size:.62rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;line-height:1;
}

/* Garaaž nupp headeris */
.header-garage{
  position:relative;display:flex;align-items:center;gap:.4rem;
  padding:.375rem .625rem;
  background:var(--s2);border:1px solid var(--border-2);
  border-radius:99px;color:var(--text-2);
  transition:all var(--t);text-decoration:none;
}
.header-garage:hover{border-color:var(--red);color:var(--text);}
.header-garage svg{width:15px;height:15px;flex-shrink:0;}
.garage-label{font-size:.8rem;font-weight:600;color:var(--text);}
.garage-count{
  position:absolute;top:-6px;right:-6px;
  background:var(--red);color:#fff;border-radius:50%;
  width:16px;height:16px;font-size:.6rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;line-height:1;
}
@media(max-width:768px){.garage-label{display:none;}}

/* Hamburger */
.menu-toggle{
  display:none;padding:.45rem;border:1px solid var(--border);
  border-radius:var(--r);color:var(--text-2);transition:all var(--t);
}
.menu-toggle svg{width:20px;height:20px;display:block}
.menu-toggle:hover{border-color:var(--border-2);color:var(--text)}

/* ── HERO ────────────────────────────────────────────────── */
#hero{
  position:relative;
  min-height:clamp(560px,68vh,800px);
  display:flex;align-items:flex-end;
  overflow:hidden;
}
.hero-media{
  position:absolute;inset:0;
  background:var(--s1);
}
.hero-media img{
  width:100%;height:100%;object-fit:cover;
  opacity:.22;filter:saturate(.7);
}
/* grid texture overlay */
.hero-media::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:60px 60px;
  opacity:.6;
}
/* gradient fade */
.hero-media::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(10,10,12,.97) 35%, rgba(10,10,12,.4) 100%),
    linear-gradient(to top, rgba(10,10,12,.95) 0%, transparent 50%);
}
/* red accent bar top */
#hero::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;z-index:2;
  background:linear-gradient(90deg,var(--red) 0%,var(--red-2) 40%,transparent 70%);
}

.hero-content{
  position:relative;z-index:1;width:100%;
  padding:clamp(3rem,6vw,5rem) clamp(1rem,3vw,2.5rem) clamp(3rem,5vw,4.5rem);
  max-width:var(--max);margin:0 auto;
}
.hero-kicker{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--red);margin-bottom:1.25rem;
}
.hero-kicker::before{content:'';width:24px;height:2px;background:var(--red);display:block}
.hero-h1{
  font-family:var(--font-d);
  font-size:clamp(3.5rem,9vw,7.5rem);
  line-height:.95;letter-spacing:.02em;
  margin-bottom:1.5rem;
  max-width:650px;
}
.hero-h1 .line{display:block}
.hero-h1 .line-accent{color:var(--red)}
.hero-sub{
  font-size:clamp(.95rem,1.5vw,1.1rem);
  color:var(--text-2);max-width:440px;
  margin-bottom:2.5rem;line-height:1.65;
  font-weight:300;
}
.hero-actions{display:flex;gap:.875rem;flex-wrap:wrap;margin-bottom:3.5rem}

/* ── VEHICLE SEARCH ──────────────────────────────────────── */
.vsearch{
  background:rgba(17,17,21,.9);
  border:1px solid var(--border-2);
  border-top:2px solid var(--red);
  border-radius:var(--r-xl);
  padding:1.5rem 1.75rem 1.75rem;
  max-width:800px;
  backdrop-filter:blur(20px);
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.vsearch-label{
  font-size:.7rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-3);
  margin-bottom:1.125rem;display:flex;align-items:center;gap:.625rem;
}
.vsearch-label svg{width:15px;height:15px;color:var(--red)}
.vsearch-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr auto;
  gap:.625rem;align-items:end;
}
.vf-label{
  display:block;font-size:.68rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-3);margin-bottom:.375rem;
}
.vf-wrap{position:relative}
.vf-wrap::after{
  content:'';position:absolute;right:.875rem;top:50%;transform:translateY(-50%);
  width:0;height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid var(--text-3);
  pointer-events:none;
}
.vf-select{
  width:100%;height:46px;
  padding:0 2.25rem 0 .875rem;
  background:var(--s3);
  border:1px solid var(--border);border-radius:var(--r);
  color:var(--text);font-size:.9375rem;
  font-family:var(--font);appearance:none;-webkit-appearance:none;
  cursor:pointer;transition:border-color var(--t),background var(--t);
}
.vf-select:focus{border-color:var(--red);background:var(--s2);outline:none;box-shadow:0 0 0 3px rgba(212,43,43,.12)}
.vf-select:disabled{opacity:.35;cursor:not-allowed}
.vf-select option{background:var(--s3)}
.vf-btn{
  height:46px;padding:0 1.875rem;
  background:var(--red);color:#fff;
  border-radius:var(--r);font-family:var(--font);
  font-weight:700;font-size:.875rem;
  letter-spacing:.08em;text-transform:uppercase;
  transition:all var(--t);white-space:nowrap;cursor:pointer;
}
.vf-btn:hover:not(:disabled){background:var(--red-2);box-shadow:0 0 28px rgba(212,43,43,.4)}
.vf-btn:disabled{opacity:.3;cursor:not-allowed}
.vsearch-status{font-size:.8rem;color:#EF4444;margin-top:.5rem;min-height:1.2em}

/* ── STATS BAR ───────────────────────────────────────────── */
#stats-bar{
  background:var(--s1);
  border-bottom:1px solid var(--border);
  padding:1.5rem 0;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;max-width:var(--max);margin:0 auto;
  padding:0 clamp(1rem,3vw,2.5rem);
}
.stat-item{
  display:flex;align-items:center;gap:1rem;
  padding:0 1.5rem;
  border-right:1px solid var(--border);
}
.stat-item:first-child{padding-left:0}
.stat-item:last-child{border-right:none}
.stat-icon{
  width:40px;height:40px;flex-shrink:0;
  background:var(--red-dim);border-radius:var(--r);
  display:flex;align-items:center;justify-content:center;
}
.stat-icon svg{width:20px;height:20px;color:var(--red)}
.stat-text strong{display:block;font-size:.9375rem;font-weight:700;line-height:1.2}
.stat-text span{display:block;font-size:.78rem;color:var(--text-2)}

/* ── BANNER STRIP ────────────────────────────────────────── */
.banner-strip{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:1px;background:var(--border);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  overflow:hidden;
}
.banner-card{
  position:relative;min-height:260px;
  display:flex;align-items:flex-end;
  padding:1.75rem;
  background:var(--s2);overflow:hidden;
  transition:filter var(--t-slow);
  text-decoration:none;
}
.banner-card:hover .banner-card-img{transform:scale(1.05);opacity:.5}
.banner-card-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.35;transition:all var(--t-slow);
}
.banner-card-grad{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,10,12,.95) 20%,rgba(10,10,12,.1) 80%);
}
.banner-card-body{position:relative;z-index:1}
.banner-card-tag{
  display:inline-block;font-size:.68rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--red);margin-bottom:.5rem;
}
.banner-card-title{
  font-family:var(--font-d);
  font-size:clamp(1.25rem,2vw,1.75rem);
  line-height:1.1;letter-spacing:.03em;
  margin-bottom:.5rem;color:var(--text);
}
.banner-card-sub{font-size:.8125rem;color:var(--text-2);margin-bottom:1rem;font-weight:300}
.banner-card-link{
  display:inline-flex;align-items:center;gap:.375rem;
  font-size:.78rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--red);
  transition:gap var(--t);
}
.banner-card:hover .banner-card-link{gap:.625rem}
.banner-card-link svg{width:13px;height:13px}

/* ── CATEGORIES ──────────────────────────────────────────── */
/* ── WC PRODUCTS ──────────────────────────────────────────── */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
  gap:1.5rem!important;
  margin:0!important;padding:0!important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:var(--s2)!important;border:1px solid var(--border)!important;
  border-radius:var(--r-lg)!important;overflow:hidden!important;
  transition:all var(--t)!important;
  padding:0!important;margin:0!important;float:none!important;width:auto!important;
}
.woocommerce ul.products li.product:hover{
  border-color:rgba(212,43,43,.5)!important;
  transform:translateY(-3px)!important;box-shadow:0 12px 40px rgba(0,0,0,.5)!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link{display:block;overflow:hidden}
.woocommerce ul.products li.product a img{
  width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important;
  transition:transform var(--t-slow)!important;
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.05)!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:.9rem!important;font-weight:600!important;
  font-family:var(--font)!important;text-transform:none!important;
  color:var(--text)!important;padding:.875rem 1rem .25rem!important;line-height:1.4!important;
}
.woocommerce ul.products li.product .price{
  color:var(--red)!important;font-weight:700!important;
  font-size:1.1rem!important;padding:0 1rem .375rem!important;display:block!important;
}
.woocommerce ul.products li.product .price del{color:var(--text-3)!important;font-size:.85rem!important;margin-right:.35rem}
.woocommerce ul.products li.product .button{
  display:block!important;margin:.5rem 1rem 1rem!important;
  background:var(--s3)!important;color:var(--text)!important;
  border:1px solid var(--border-2)!important;border-radius:var(--r)!important;
  font-weight:600!important;font-size:.78rem!important;
  letter-spacing:.06em!important;text-transform:uppercase!important;
  padding:.6rem 1rem!important;text-align:center!important;
  transition:all var(--t)!important;cursor:pointer!important;
  font-family:var(--font)!important;
}
.woocommerce ul.products li.product .button:hover{
  background:var(--red)!important;color:#fff!important;border-color:var(--red)!important;
}
.fitment-badge{
  display:inline-block;font-size:.68rem;font-weight:700;
  padding:.15rem .5rem;border-radius:9999px;
  margin:0 1rem .375rem;letter-spacing:.04em;
}
.fitment-badge.fits{background:rgba(46,204,113,.12);color:var(--green)}
.fitment-badge.no-fit{background:rgba(239,68,68,.1);color:#EF4444}
.product-stock{
  display:flex;align-items:center;gap:.35rem;
  font-size:.72rem;font-weight:600;padding:0 1rem .375rem;
}
.product-stock svg{width:8px;height:8px}
.product-stock.in{color:var(--green)}
.product-stock.out{color:var(--text-3)}

/* ── PARTNER SLIDER ──────────────────────────────────────── */
#partners{
  background:var(--s1);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:3rem 0;
}
.partners-heading{
  text-align:center;font-size:.68rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--text-3);margin-bottom:2rem;
}
.slider-outer{position:relative;overflow:hidden;display:flex;}
.slider-outer::before,.slider-outer::after{
  content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
.slider-outer::before{left:0;background:linear-gradient(to right,#111115,transparent)}
.slider-outer::after{right:0;background:linear-gradient(to left,#111115,transparent)}
.slider-track{
  display:flex;align-items:center;gap:0;
  width:max-content;
  flex-wrap:nowrap;
  flex-shrink:0;
  animation:marquee var(--dur,40s) linear infinite;
}
.slider-track.paused{animation-play-state:paused}
.slider-item{
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  height: 60px;
  width: 160px;
  padding: 0 1rem;
  border-right: 1px solid rgba(255,255,255,.06);
}
.slider-item a { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.slider-item img{
  width: auto !important;
  height: 36px !important;
  max-width: 120px !important;
  object-fit: contain !important;
  filter: none;
  opacity: .85;
  transition: opacity var(--t), transform var(--t);
  display: block;
}
.slider-item img:hover{ opacity: 1; transform: scale(1.05); }
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── VEHICLE MODAL ───────────────────────────────────────── */
#vehicle-modal{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;padding:1.25rem;
  visibility:hidden;opacity:0;transition:all var(--t);
}
#vehicle-modal.open{visibility:visible;opacity:1}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px)}
.modal-box{
  position:relative;background:var(--s2);
  border:1px solid var(--border-2);border-top:2px solid var(--red);
  border-radius:var(--r-xl);padding:2rem 2rem 2.25rem;
  width:100%;max-width:660px;
  box-shadow:0 24px 80px rgba(0,0,0,.7);
  transform:translateY(20px);transition:all var(--t);
}
#vehicle-modal.open .modal-box{transform:none}
.modal-close{
  position:absolute;top:1rem;right:1rem;
  width:32px;height:32px;border-radius:50%;
  background:var(--s3);color:var(--text-2);
  display:flex;align-items:center;justify-content:center;
  font-size:1.125rem;line-height:1;transition:all var(--t);
}
.modal-close:hover{background:rgba(239,68,68,.2);color:#EF4444}
.modal-title{font-family:var(--font-d);font-size:1.875rem;letter-spacing:.04em;margin-bottom:1.5rem}
body.modal-open{overflow:hidden}

/* ── NEWSLETTER ──────────────────────────────────────────── */
.nl-block{
  position:relative;overflow:hidden;
  background:var(--s2);border:1px solid var(--border);border-radius:var(--r-xl);
  padding:clamp(2.5rem,5vw,3.5rem) clamp(2rem,5vw,4rem);
  max-width:640px;margin:0 auto;text-align:center;
}
.nl-block::before{
  content:'';position:absolute;top:-60px;left:50%;transform:translateX(-50%);
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(212,43,43,.12),transparent 70%);
  pointer-events:none;
}
.nl-title{font-family:var(--font-d);font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:.04em;margin-bottom:.75rem}
.nl-sub{color:var(--text-2);font-weight:300;margin-bottom:2rem;font-size:.9375rem}
.nl-form{display:flex;gap:.625rem;max-width:420px;margin:0 auto}
.nl-input{
  flex:1;height:46px;padding:0 1rem;
  background:var(--s3);border:1px solid var(--border-2);border-radius:var(--r);
  color:var(--text);font-size:.9375rem;transition:border-color var(--t);
}
.nl-input:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px rgba(212,43,43,.12)}
.nl-input::placeholder{color:var(--text-3)}

/* ── FOOTER ──────────────────────────────────────────────── */
#site-footer{
  background:var(--s1);border-top:1px solid var(--border);
  padding:4.5rem 0 2.5rem;
}
.footer-grid{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:3rem;margin-bottom:3.5rem;
}
.footer-logo-text{
  font-family:var(--font-d);font-size:2rem;letter-spacing:.06em;
  line-height:1;margin-bottom:1.125rem;display:block;
}
.footer-logo-text em{color:var(--red);font-style:normal}
.footer-logo-img{height:34px;width:auto;margin-bottom:1.125rem}
.footer-about{color:var(--text-2);font-size:.875rem;line-height:1.7;font-weight:300}
.footer-social{display:flex;gap:.75rem;margin-top:1.375rem}
.footer-social a{
  width:34px;height:34px;background:var(--s3);border:1px solid var(--border);
  border-radius:var(--r);display:flex;align-items:center;justify-content:center;
  color:var(--text-2);transition:all var(--t);
}
.footer-social a svg{width:16px;height:16px}
.footer-social a:hover{background:var(--red-dim);border-color:var(--red);color:var(--red)}
.footer-col-title{
  font-size:.68rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:1.125rem;
}
.footer-links{display:flex;flex-direction:column;gap:.5rem}
.footer-links a{font-size:.875rem;color:var(--text-2);transition:color var(--t);font-weight:300}
.footer-links a:hover{color:var(--text)}
.footer-links .contact-item{
  display:flex;align-items:flex-start;gap:.5rem;
  font-size:.875rem;color:var(--text-2);font-weight:300;
}
.footer-links .contact-item svg{width:15px;height:15px;flex-shrink:0;margin-top:3px;color:var(--text-3)}
.footer-bottom{
  border-top:1px solid var(--border);padding-top:2rem;
  display:flex;justify-content:space-between;align-items:center;
  font-size:.78rem;color:var(--text-3);gap:1rem;flex-wrap:wrap;
}
.footer-bottom a{color:var(--text-3);transition:color var(--t)}
.footer-bottom a:hover{color:var(--text-2)}
.footer-legal{display:flex;gap:1.5rem}

/* ── WooCommerce misc ──────────────────────────────────────── */
.woocommerce .woocommerce-breadcrumb{
  color:var(--text-3)!important;font-size:.8125rem!important;
  background:none!important;padding:0!important;margin-bottom:1.5rem!important;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--text-3)!important}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--red)!important}
.product-fitment-notice{
  padding:.875rem 1.125rem;border-radius:var(--r-lg);
  margin-bottom:1.25rem;display:flex;align-items:center;gap:.75rem;
  flex-wrap:wrap;font-size:.9rem;
}
.product-fitment-notice.fits{background:rgba(46,204,113,.08);border:1px solid rgba(46,204,113,.2);color:var(--green)}
.product-fitment-notice.no-fit{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);color:#EF4444}
.product-fitment-notice.no-car{background:var(--s3);border:1px solid var(--border-2);color:var(--text-2)}
.change-car-btn{
  background:transparent;border:1px solid currentColor;color:inherit;
  padding:.15rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:700;cursor:pointer;
}
.fitment-filter-bar{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  padding:.875rem 1.125rem;background:var(--s2);border:1px solid var(--border);
  border-radius:var(--r-lg);margin-bottom:1.5rem;font-size:.875rem;
}
.fitment-filter-bar span{color:var(--text-2)}
.fitment-filter-link{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.3rem .875rem;border-radius:9999px;border:1px solid var(--border-2);
  font-size:.78rem;font-weight:600;transition:all var(--t);
}
.fitment-filter-link:hover{border-color:var(--red);color:var(--red)}
.fitment-filter-link.active{border-color:var(--green);color:var(--green);background:rgba(46,204,113,.08)}
.woo-archive{padding:2.5rem 0 5rem}
.woo-archive h1{font-family:var(--font-d);font-size:clamp(1.75rem,3vw,2.75rem);letter-spacing:.04em;margin-bottom:.5rem}
.woocommerce-result-count{color:var(--text-3);font-size:.8125rem}
.woocommerce-ordering select,.woocommerce .woocommerce-ordering select{
  background:var(--s2);border:1px solid var(--border-2);
  border-radius:var(--r);color:var(--text);padding:.5rem .875rem;
  font-size:.875rem;font-family:var(--font);
}
.single-product .price{color:var(--red)!important;font-size:1.5rem!important;font-weight:700!important}
.woocommerce #respond input#submit,.woocommerce a.button,
.woocommerce button.button,.woocommerce input.button{
  background:var(--red)!important;color:#fff!important;
  border:none!important;border-radius:var(--r)!important;
  font-weight:700!important;letter-spacing:.06em!important;
  text-transform:uppercase!important;transition:background var(--t)!important;
  font-family:var(--font)!important;
}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,
.woocommerce button.button:hover,.woocommerce input.button:hover{
  background:var(--red-2)!important;
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1024px){
  .banner-strip{grid-template-columns:1fr 1fr}
  .banner-strip .banner-card:last-child{grid-column:1/-1;min-height:200px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
  .menu-toggle{display:flex!important}
  .site-nav{
    position:fixed;
    top:var(--hh, 64px); left:0; right:0; bottom:0;
    background:rgba(10,10,12,.98);backdrop-filter:blur(24px);
    flex-direction:column;align-items:stretch;padding:1.5rem;
    transform:translateX(100%);transition:transform .3s ease;
    overflow-y:auto;z-index:998;border-top:1px solid var(--border);
  }
  .site-nav.open{transform:translateX(0)}
  .nav-list{flex-direction:column;gap:0}
  .nav-list>li>a{font-size:1.125rem;padding:.875rem 0;border-bottom:1px solid var(--border);color:var(--text);display:block}
  .nav-list>li>a::after{display:none}
  .nav-list li.menu-item-has-children>.sub-menu{position:static;opacity:1;pointer-events:auto;transform:none;box-shadow:none;border:none;background:var(--s3);margin-top:.25rem}
  #header-vehicle{display:none}
  .vsearch-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-item{border-right:none;padding-left:0;border-bottom:1px solid var(--border);padding-bottom:1rem}
  .stat-item:last-child,.stat-item:nth-child(even){border-bottom:none}
  .banner-strip{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:1.5rem}
  .footer-bottom{flex-direction:column;text-align:center}
  .hero-h1{font-size:clamp(3rem,12vw,5rem)}
}
@media(max-width:480px){
  .hero-actions{flex-direction:column}
  .stats-grid{grid-template-columns:1fr}
  .nl-form{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ════════════════════════════════════════════════════════════
   SINGLE PRODUCT
   ════════════════════════════════════════════════════════════ */
.cz-single-wrap { padding: 2rem 0 5rem; }
.cz-breadcrumb { margin-bottom: 1.75rem; }
.cz-breadcrumb .woocommerce-breadcrumb {
  font-size: .8rem !important; color: var(--text-3) !important;
  background: none !important; padding: 0 !important; margin: 0 !important;
}
.cz-breadcrumb .woocommerce-breadcrumb a { color: var(--text-3) !important; transition: color var(--t); }
.cz-breadcrumb .woocommerce-breadcrumb a:hover { color: var(--red) !important; }

/* 2-column grid */
.cz-product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  align-items: start;
  margin-bottom: 4rem;
}

/* Gallery */
.cz-product-gallery { position: sticky; top: calc(var(--hh) + 1.5rem); }
.cz-product-gallery .woocommerce-product-gallery {
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--border);
}
.cz-product-gallery .woocommerce-product-gallery__image img {
  width: 100%; aspect-ratio: 4/3; object-fit: cover;
}
.cz-product-gallery .flex-control-thumbs {
  display: flex; gap: .5rem; padding: .5rem; margin: 0;
  background: var(--s2); border-top: 1px solid var(--border);
}
.cz-product-gallery .flex-control-thumbs li { width: 72px; flex-shrink: 0; }
.cz-product-gallery .flex-control-thumbs li img {
  border-radius: var(--r); border: 2px solid transparent;
  opacity: .6; transition: all var(--t); cursor: pointer; aspect-ratio: 1; object-fit: cover;
}
.cz-product-gallery .flex-control-thumbs li img.flex-active,
.cz-product-gallery .flex-control-thumbs li img:hover { border-color: var(--red); opacity: 1; }

/* Summary */
.cz-product-meta-top {
  display: flex; gap: 1rem; align-items: center;
  margin-bottom: .875rem;
}
.cz-product-cats {
  font-size: .72rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--red);
}
.cz-product-cats a { color: var(--red); }
.cz-product-sku { font-size: .72rem; color: var(--text-3); margin-left: auto; }

.cz-product-title {
  font-family: var(--font-d); font-size: clamp(1.75rem, 3vw, 2.5rem);
  letter-spacing: .03em; line-height: 1.1; margin-bottom: .75rem;
}
.cz-product-rating { margin-bottom: .75rem; }
.cz-product-rating .star-rating { color: #F59E0B; }
.cz-product-rating .woocommerce-review-link { font-size: .8rem; color: var(--text-3); }

.cz-product-price {
  display: flex; align-items: center; gap: 1rem;
  margin-bottom: 1.25rem;
}
.cz-product-price .price {
  font-size: 2rem !important; font-weight: 700 !important;
  color: var(--red) !important; line-height: 1 !important;
}
.cz-product-price .price del {
  font-size: 1.125rem !important; color: var(--text-3) !important; font-weight: 400 !important;
}
.cz-sale-badge {
  background: var(--red); color: #fff;
  padding: .25rem .6rem; border-radius: var(--r-full);
  font-size: .78rem; font-weight: 700;
}

/* Fitment */
.cz-fitment {
  display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
  padding: .875rem 1.125rem; border-radius: var(--r-lg);
  margin-bottom: 1.25rem; font-size: .9rem;
}
.cz-fitment svg { width: 18px; height: 18px; flex-shrink: 0; }
.cz-fitment--fits { background: rgba(46,204,113,.08); border: 1px solid rgba(46,204,113,.2); color: var(--green); }
.cz-fitment--nofit { background: rgba(212,43,43,.08); border: 1px solid rgba(212,43,43,.2); color: var(--red); }
.cz-fitment--nocar { background: var(--s3); border: 1px solid var(--border-2); color: var(--text-2); }
.cz-fitment-change {
  margin-left: auto; background: transparent;
  border: 1px solid currentColor; color: inherit;
  padding: .2rem .65rem; border-radius: 9999px;
  font-size: .75rem; font-weight: 700; cursor: pointer; font-family: var(--font);
}

.cz-product-short-desc {
  font-size: .9375rem; color: var(--text-2); line-height: 1.7;
  margin-bottom: 1.5rem; padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}
.cz-product-short-desc p { margin-bottom: .5rem; }

/* ATC */
.cz-atc-wrapper { margin-bottom: 1.5rem; }
.cz-atc-wrapper .quantity { display: flex; align-items: center; gap: .5rem; }
.cz-atc-wrapper .quantity label { display: none; }
.cz-atc-wrapper input[type=number] {
  width: 80px; height: 46px; text-align: center;
  background: var(--s3); border: 1px solid var(--border-2);
  border-radius: var(--r); color: var(--text); font-size: 1rem;
  font-family: var(--font); -moz-appearance: textfield;
}
.cz-atc-wrapper input[type=number]::-webkit-outer-spin-button,
.cz-atc-wrapper input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; }
.cz-atc-wrapper .cart { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
.cz-atc-wrapper .single_add_to_cart_button {
  flex: 1; height: 46px;
  background: var(--red) !important; color: #fff !important;
  border: none !important; border-radius: var(--r) !important;
  font-weight: 700 !important; font-size: .9rem !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  font-family: var(--font) !important; cursor: pointer !important;
  transition: all var(--t) !important;
}
.cz-atc-wrapper .single_add_to_cart_button:hover { background: var(--red-2) !important; box-shadow: 0 0 28px rgba(212,43,43,.4) !important; }

/* Trust rows */
.cz-product-trust {
  display: flex; flex-direction: column; gap: .625rem;
  padding: 1.25rem; background: var(--s2);
  border: 1px solid var(--border); border-radius: var(--r-lg);
  margin-bottom: 1.75rem;
}
.cz-trust-row { display: flex; align-items: center; gap: .625rem; font-size: .8375rem; color: var(--text-2); }
.cz-trust-row svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--text-3); }
.stock-in { color: var(--green); font-weight: 600; }
.stock-out { color: var(--text-2); }

/* Tabs */
.cz-product-tabs {}
.cz-tabs-nav {
  display: flex; border-bottom: 1px solid var(--border);
  margin-bottom: 1.25rem; gap: 0;
}
.cz-tab-btn {
  padding: .6rem 1.25rem; font-size: .8125rem; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-3); background: none; border: none;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
  cursor: pointer; font-family: var(--font); transition: all var(--t);
}
.cz-tab-btn.active, .cz-tab-btn:hover { color: var(--text); }
.cz-tab-btn.active { border-bottom-color: var(--red); }
.cz-tab-pane { display: none; font-size: .9375rem; color: var(--text-2); line-height: 1.7; }
.cz-tab-pane.active { display: block; }
.cz-tab-pane p { margin-bottom: .75rem; }
.cz-tab-pane table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.cz-tab-pane th { text-align: left; padding: .5rem .75rem; font-weight: 600; color: var(--text); background: var(--s3); border: 1px solid var(--border); }
.cz-tab-pane td { padding: .5rem .75rem; color: var(--text-2); border: 1px solid var(--border); }
.cz-related { margin-top: 2rem; }

/* Single product responsive */
@media(max-width: 900px) {
  .cz-product-grid { grid-template-columns: 1fr; gap: 2rem; }
  .cz-product-gallery { position: static; }
}

/* ════════════════════════════════════════════════════════════
   KONTO: LOGIN / REGISTER / DASHBOARD
   ════════════════════════════════════════════════════════════ */
.cz-account-wrap { padding: 2.5rem 0 5rem; }

/* Auth grid: login + register kõrvuti */
.cz-auth-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1.5rem; max-width: 900px; margin: 0 auto;
}

.cz-auth-card {
  background: var(--s2); border: 1px solid var(--border);
  border-radius: var(--r-xl); padding: 2.5rem 2rem;
}
.cz-auth-card-header {
  text-align: center; margin-bottom: 2rem;
  padding-bottom: 2rem; border-bottom: 1px solid var(--border);
}
.cz-auth-icon {
  width: 44px; height: 44px; color: var(--red);
  margin: 0 auto 1rem; display: block;
}
.cz-auth-card-header h2 {
  font-family: var(--font-d); font-size: 1.75rem;
  letter-spacing: .04em; margin-bottom: .375rem;
}
.cz-auth-card-header p { font-size: .875rem; color: var(--text-2); }

/* WooCommerce form fields override */
.cz-auth-card .woocommerce-form-row,
.cz-auth-card p { margin-bottom: 1rem; }
.cz-auth-card label {
  display: block; font-size: .72rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--text-3);
  margin-bottom: .4rem;
}
.cz-auth-card input[type=text],
.cz-auth-card input[type=email],
.cz-auth-card input[type=password] {
  width: 100%; height: 46px; padding: 0 1rem;
  background: var(--s3); border: 1px solid var(--border-2);
  border-radius: var(--r); color: var(--text); font-size: .9375rem;
  font-family: var(--font); transition: border-color var(--t);
}
.cz-auth-card input:focus { border-color: var(--red); outline: none; box-shadow: 0 0 0 3px rgba(212,43,43,.12); }
.cz-auth-card input::placeholder { color: var(--text-3); }
.cz-auth-card .woocommerce-form__input-checkbox { width: auto; height: auto; }
.cz-auth-card .woocommerce-privacy-policy-text { font-size: .8rem; color: var(--text-3); margin-bottom: 1rem; }
.cz-auth-card .woocommerce-privacy-policy-text a { color: var(--red); }
.cz-auth-card .button,
.cz-auth-card input[type=submit] {
  width: 100%; height: 46px;
  background: var(--red) !important; color: #fff !important;
  border: none !important; border-radius: var(--r) !important;
  font-weight: 700 !important; font-size: .875rem !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  font-family: var(--font) !important; cursor: pointer !important;
  transition: background var(--t) !important;
}
.cz-auth-card .button:hover,
.cz-auth-card input[type=submit]:hover { background: var(--red-2) !important; }
.cz-auth-card .lost_password { text-align: right; margin-top: .5rem; }
.cz-auth-card .lost_password a { font-size: .8rem; color: var(--text-3); transition: color var(--t); }
.cz-auth-card .lost_password a:hover { color: var(--red); }
.cz-auth-card .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: .5rem; font-size: .875rem; color: var(--text-2); }

/* Account dashboard layout */
.cz-account-layout {
  display: grid; grid-template-columns: 260px 1fr;
  gap: 2.5rem; align-items: start;
}
.cz-account-sidebar {
  background: var(--s2); border: 1px solid var(--border);
  border-radius: var(--r-xl); overflow: hidden;
  position: sticky; top: calc(var(--hh) + 1.5rem);
}
.cz-account-user {
  display: flex; align-items: center; gap: .875rem;
  padding: 1.5rem 1.25rem; border-bottom: 1px solid var(--border);
  background: var(--s3);
}
.cz-account-avatar { flex-shrink: 0; }
.cz-avatar-img { width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--red); }
.cz-account-user strong { display: block; font-size: .9rem; font-weight: 600; }
.cz-account-user span { font-size: .75rem; color: var(--text-3); }
.cz-account-nav ul { padding: .5rem; }
.cz-account-nav li a {
  display: flex; align-items: center; gap: .75rem;
  padding: .7rem 1rem; border-radius: var(--r); font-size: .875rem;
  color: var(--text-2); transition: all var(--t); font-weight: 500;
}
.cz-account-nav li a svg { width: 17px; height: 17px; flex-shrink: 0; }
.cz-account-nav li a:hover { background: var(--s3); color: var(--text); }
.cz-account-nav li.active a { background: var(--red-dim); color: var(--red); }
.cz-account-main {
  background: var(--s2); border: 1px solid var(--border);
  border-radius: var(--r-xl); padding: 2rem;
}
.cz-account-main h2 {
  font-family: var(--font-d); font-size: 1.5rem;
  letter-spacing: .04em; margin-bottom: 1.25rem;
}
/* WC account tables */
.cz-account-main table.shop_table {
  width: 100%; border-collapse: collapse; font-size: .875rem;
}
.cz-account-main table th {
  text-align: left; padding: .75rem 1rem; font-size: .72rem;
  font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--text-3); border-bottom: 1px solid var(--border);
}
.cz-account-main table td {
  padding: .875rem 1rem; border-bottom: 1px solid var(--border);
  color: var(--text-2); vertical-align: middle;
}
.cz-account-main table tr:last-child td { border-bottom: none; }
.cz-account-main .woocommerce-orders-table__cell-order-status .wc-item-meta,
.cz-account-main mark.order-status {
  background: var(--s3); color: var(--text); padding: .2rem .6rem;
  border-radius: var(--r-full); font-size: .72rem; font-weight: 700;
}
.cz-account-main mark.order-status.processing,
.cz-account-main mark.order-status.on-hold { color: #F59E0B; }
.cz-account-main mark.order-status.completed { color: var(--green); }
.cz-account-main mark.order-status.cancelled,
.cz-account-main mark.order-status.failed { color: var(--red); }
.cz-account-main a { color: var(--red); }
.cz-account-main .button {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .45rem 1rem; background: var(--s3) !important; color: var(--text) !important;
  border: 1px solid var(--border-2) !important; border-radius: var(--r) !important;
  font-size: .75rem !important; font-weight: 700 !important;
  letter-spacing: .06em !important; text-transform: uppercase !important;
  font-family: var(--font) !important; transition: all var(--t) !important;
}
.cz-account-main .button:hover { border-color: var(--red) !important; color: var(--red) !important; }
/* Address form */
.cz-account-main .woocommerce-address-fields__field-wrapper {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
.cz-account-main input[type=text],
.cz-account-main input[type=email],
.cz-account-main input[type=tel],
.cz-account-main input[type=password],
.cz-account-main select,
.cz-account-main textarea {
  width: 100%; padding: .7rem 1rem;
  background: var(--s3); border: 1px solid var(--border-2);
  border-radius: var(--r); color: var(--text); font-size: .9375rem;
  font-family: var(--font); transition: border-color var(--t);
}
.cz-account-main input:focus,
.cz-account-main select:focus,
.cz-account-main textarea:focus { border-color: var(--red); outline: none; }
.cz-account-main label { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); margin-bottom: .4rem; }
.cz-account-main p.form-row { margin-bottom: 1rem; }
/* WC notices */
.cz-account-main .woocommerce-message {
  background: rgba(46,204,113,.08); border: 1px solid rgba(46,204,113,.2);
  color: var(--green); padding: 1rem 1.25rem; border-radius: var(--r-lg);
  margin-bottom: 1.25rem; font-size: .9rem;
}
.cz-account-main .woocommerce-error {
  background: rgba(212,43,43,.08); border: 1px solid rgba(212,43,43,.2);
  color: var(--red); padding: 1rem 1.25rem; border-radius: var(--r-lg);
  margin-bottom: 1.25rem; font-size: .9rem;
}

/* Account responsive */
@media(max-width: 768px) {
  .cz-auth-grid { grid-template-columns: 1fr; }
  .cz-account-layout { grid-template-columns: 1fr; }
  .cz-account-sidebar { position: static; }
  .cz-account-main .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr; }
}

/* slider – defined above */

/* ════════════════════════════════════════════════════════════
   KAMPAANIA BÄNNER – pildiga
   ════════════════════════════════════════════════════════════ */
/* banner-card juba olemas, täiendused: */
.banner-card-img {
  transition: opacity var(--t-slow), transform .5s ease;
}
.banner-card:first-child { min-height: 300px; } /* suurem peabänner */
.banner-card:first-child .banner-card-title { font-size: clamp(1.5rem,2.5vw,2.25rem); }

/* ════════════════════════════════════════════════════════════
   CHECKOUT + CART CSS (baaslik)
   ════════════════════════════════════════════════════════════ */
.woocommerce-cart-form { overflow-x: auto; }
.woocommerce-cart-form table { min-width: 600px; }
.woocommerce-cart table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th {
  font-size: .72rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-3);
  padding: .75rem 1rem; border-bottom: 1px solid var(--border); text-align: left;
}
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table td {
  padding: 1rem; border-bottom: 1px solid var(--border);
  color: var(--text-2); vertical-align: middle;
}
.woocommerce-cart table.shop_table .product-thumbnail img { width: 70px; border-radius: var(--r); }
.woocommerce-cart table.shop_table .product-name a { color: var(--text); font-weight: 500; }
.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-subtotal { color: var(--red); font-weight: 700; }
.woocommerce .cart-collaterals { display: grid; grid-template-columns: 1fr 340px; gap: 2rem; align-items: start; margin-top: 2rem; }
.woocommerce .cart_totals { background: var(--s2); border: 1px solid var(--border); border-radius: var(--r-xl); padding: 1.75rem; }
.woocommerce .cart_totals h2 { font-family: var(--font-d); font-size: 1.5rem; letter-spacing: .04em; margin-bottom: 1.25rem; }
.woocommerce .cart_totals table th { padding: .6rem 0; font-size: .8rem; }
.woocommerce .cart_totals table td { padding: .6rem 0; color: var(--text); text-align: right; }
.woocommerce .cart_totals .order-total td { font-size: 1.25rem; font-weight: 700; color: var(--red); }
.woocommerce a.checkout-button,
.woocommerce .checkout-button {
  width: 100% !important; display: block !important; text-align: center !important;
  margin-top: 1.25rem !important; padding: 1rem !important;
  background: var(--red) !important; color: #fff !important;
  border: none !important; border-radius: var(--r) !important;
  font-weight: 700 !important; font-size: .9375rem !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  transition: background var(--t) !important;
}
.woocommerce a.checkout-button:hover { background: var(--red-2) !important; }
.woocommerce-page table.shop_table { background: var(--s2); border: 1px solid var(--border); border-radius: var(--r-xl); overflow: hidden; }

/* Checkout form */
.woocommerce-checkout #customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: var(--font-d); font-size: 1.375rem; letter-spacing: .04em; margin-bottom: 1.25rem;
}
.woocommerce-checkout .form-row { margin-bottom: .875rem; }
.woocommerce-checkout label { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); display: block; margin-bottom: .375rem; }
.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=password],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  width: 100%; padding: .7rem 1rem;
  background: var(--s3); border: 1px solid var(--border-2);
  border-radius: var(--r); color: var(--text); font-size: .9375rem;
  font-family: var(--font); transition: border-color var(--t);
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus { border-color: var(--red); outline: none; }
.woocommerce-checkout #place_order {
  width: 100%; padding: 1rem !important;
  background: var(--red) !important; color: #fff !important;
  border: none !important; border-radius: var(--r) !important;
  font-size: .9375rem !important; font-weight: 700 !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
}
@media(max-width: 768px) {
  .woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
  .woocommerce .cart-collaterals { grid-template-columns: 1fr; }
}

/* Header account link */
.header-account {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px;
}
.header-account:hover { color: var(--red); border-color: var(--red); }
/* Cart count live */
#cart-count { transition: all var(--t); }


/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT  –  czp-* klassid
   ═══════════════════════════════════════════════════════════ */

/* WC lisab body-le .woocommerce-page – tee taust mustaks */
html, body { background: #0A0A0C !important; }

.woocommerce-page .cz-woo-main,
.cz-woo-main { padding: 2rem 0 5rem; background: transparent; }

/* Breadcrumb */
/* ═══════════════════════════════════════════════════════════════
   SINGLE PRODUCT – täielik stiil
   ═══════════════════════════════════════════════════════════════ */

/* Main wrapper */
.czp-main {
  background: var(--bg);
  padding: 2rem 0 5rem;
  min-height: 70vh;
}

/* Breadcrumb */
.czp-bread { margin-bottom: 2rem; }
.czp-bread .woocommerce-breadcrumb {
  font-size: .8125rem;
  color: var(--text-3);
}
.czp-bread .woocommerce-breadcrumb a { color: var(--text-2); }
.czp-bread .woocommerce-breadcrumb a:hover { color: var(--red); }

/* ── 2-veeruline grid ──────────────────────────────────────── */
.czp-product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
  margin-bottom: 4rem;
}

/* ── GALERII ────────────────────────────────────────────────── */
.czp-col-gallery { position: sticky; top: calc(var(--hh, 64px) + 1.5rem); }

.czp-gallery-wrap {
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
}

/* Peamine pilt */
.czp-main-img {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: transparent;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.czp-main-img a { display: block; width: 100%; height: 100%; }
.czp-main-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0;
  border-radius: 14px;
  transition: opacity .2s ease;
}

/* Thumbnailid */
.czp-thumbs {
  display: flex;
  gap: .625rem;
  padding: .75rem 0 0;
  background: transparent;
  flex-wrap: wrap;
}
.czp-thumb {
  width: 72px; height: 72px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  padding: 0;
  cursor: pointer;
  transition: border-color .15s;
  flex-shrink: 0;
}
.czp-thumb img { width: 100%; height: 100%; object-fit: contain; padding: .25rem; }
.czp-thumb.active,
.czp-thumb:hover { border-color: var(--red); }

/* Placeholder ilma pildita */
.czp-no-photo {
  width: 100%;
  aspect-ratio: 1;
  background: var(--s2);
}
.czp-no-photo svg { width: 100%; height: 100%; display: block; }

/* ── KOKKUVÕTE ──────────────────────────────────────────────── */
.czp-col-summary { display: flex; flex-direction: column; gap: 1.25rem; }

/* Kategooria + SKU */
.czp-meta-row {
  display: flex; align-items: center; gap: 1rem;
  flex-wrap: wrap;
}
.czp-cats { font-size: .75rem; font-weight: 700; color: var(--red); letter-spacing: .1em; text-transform: uppercase; }
.czp-cats a { color: var(--red); }
.czp-sku { font-size: .75rem; color: var(--text-3); margin-left: auto; }

/* Pealkiri */
.czp-title {
  font-family: var(--font-d);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.1;
  letter-spacing: .02em;
  color: var(--text);
  margin: 0;
  padding-bottom: .875rem;
  border-bottom: 1px solid var(--border);
}

/* Hind */
.czp-price-row {
  display: flex; align-items: center; gap: .875rem;
  flex-wrap: wrap;
}
.czp-price-row .price {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--red) !important;
  line-height: 1 !important;
}
.czp-price-row .price del {
  font-size: 1.1rem !important;
  color: var(--text-3) !important;
  font-weight: 400 !important;
  margin-right: .25rem !important;
}
.czp-badge-sale {
  background: var(--red);
  color: #fff;
  font-size: .72rem; font-weight: 700;
  padding: .25rem .625rem;
  border-radius: 9999px;
  letter-spacing: .04em;
}

/* Lühikirjeldus */
.czp-short-desc { font-size: .9375rem; color: var(--text-2); line-height: 1.6; }

/* Sobivus */
.czp-fitment {
  display: flex; align-items: center; gap: .75rem;
  padding: .875rem 1.125rem;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--s2);
  flex-wrap: wrap;
}
.czp-fitment svg { width: 18px; height: 18px; flex-shrink: 0; }
.czp-fitment span { flex: 1; font-size: .875rem; }
.czp-fit-yes { border-color: rgba(46,204,113,.3); }
.czp-fit-yes svg { color: #2ECC71; }
.czp-fit-no  { border-color: rgba(212,43,43,.3); }
.czp-fit-no svg { color: var(--red); }
.czp-fit-none svg { color: var(--text-3); }
.czp-fit-btn {
  font-size: .75rem; font-weight: 700;
  color: var(--text-3);
  border: 1px solid var(--border);
  padding: .3rem .75rem; border-radius: 9999px;
  letter-spacing: .04em; text-transform: uppercase;
  transition: all .15s;
}
.czp-fit-btn:hover { border-color: var(--red); color: var(--red); }

/* Lisa korvi */
.czp-add-to-cart { margin-top: .25rem; }
.czp-add-to-cart form.cart { display: flex !important; gap: .5rem !important; align-items: center !important; flex-wrap: nowrap !important; }

/* Koguse kontroller */
.czp-add-to-cart .quantity {
  display: flex !important; align-items: center !important;
  background: var(--s2) !important;
  border: 1px solid var(--border-2) !important;
  border-radius: 8px !important; overflow: hidden !important;
  flex-shrink: 0 !important; height: 44px !important;
}
.czp-qty-btn {
  width: 36px !important; height: 44px !important;
  background: transparent !important; border: none !important;
  color: #fff !important;
  font-size: 1.1rem; cursor: pointer;
  transition: background .12s;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.czp-qty-btn:hover { background: var(--s3) !important; }
.czp-qty-btn svg { pointer-events: none; }
.czp-add-to-cart .qty {
  width: 40px !important; height: 44px !important;
  background: transparent !important; border: none !important;
  border-left: 1px solid var(--border) !important;
  border-right: 1px solid var(--border) !important;
  color: #fff !important; text-align: center !important;
  font-size: .9375rem !important; font-weight: 700 !important;
  font-family: var(--font) !important;
  -moz-appearance: textfield !important;
}
.czp-add-to-cart .qty::-webkit-outer-spin-button,
.czp-add-to-cart .qty::-webkit-inner-spin-button { -webkit-appearance: none !important; }

/* Osta nupp */
.czp-add-to-cart .single_add_to_cart_button,
.czp-add-to-cart button[type="submit"] {
  flex: 1 !important; height: 44px !important;
  background: var(--red) !important; color: #fff !important;
  border: none !important; border-radius: 8px !important;
  font-family: var(--font-d) !important;
  font-size: .875rem !important; font-weight: 700 !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  cursor: pointer !important; transition: background .15s !important;
  padding: 0 1.25rem !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: .4rem !important;
  white-space: nowrap !important;
}
.czp-add-to-cart .single_add_to_cart_button:hover { background: #b91c1c !important; }
.czp-add-to-cart .single_add_to_cart_button:active { transform: scale(.98) !important; }

/* OEM numbrid */
.czp-oem {
  background: var(--s2); border: 1px solid var(--border);
  border-radius: 10px; padding: .875rem 1.125rem;
}
.czp-oem-title {
  font-size: .7rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-3); margin-bottom: .625rem;
}
.czp-oem-tags { display: flex; flex-wrap: wrap; gap: .375rem; }
.czp-oem-tag {
  background: var(--s3); border: 1px solid var(--border-2);
  border-radius: 6px; padding: .25rem .625rem;
  font-size: .78rem; font-family: monospace; color: var(--text-2);
  letter-spacing: .03em;
}
.czp-oem-empty { font-size: .8125rem; color: var(--text-3); font-style: italic; }

/* Usaldusinfo */
.czp-trust {
  background: var(--s2);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .875rem 1.125rem;
  display: flex; flex-direction: column; gap: .625rem;
}
.czp-trust-row {
  display: flex; align-items: center; gap: .75rem;
  font-size: .875rem; color: var(--text-2);
}
.czp-trust-row svg { width: 17px; height: 17px; flex-shrink: 0; color: var(--text-3); }
.czp-in-stock { color: #2ECC71; }
.czp-out-stock { color: var(--text-3); }

/* ── TABID ──────────────────────────────────────────────────── */
.czp-tabs {
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 4rem;
}
.czp-tabs-head {
  display: flex;
  border-bottom: 1px solid var(--border);
  background: var(--s2);
}
.czp-tab-btn {
  padding: 1rem 1.5rem;
  font-size: .8125rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-3);
  border-bottom: 2px solid transparent;
  transition: all .15s;
  border-radius: 0;
}
.czp-tab-btn:hover { color: var(--text); }
.czp-tab-btn.active { color: var(--text); border-bottom-color: var(--red); }
.czp-tab-panel { display: none; padding: 2rem; background: var(--s1); }
.czp-tab-panel.active { display: block; }
.czp-tab-panel p { color: var(--text-2); line-height: 1.7; }
.czp-no-desc { color: var(--text-3) !important; font-style: italic; }

/* ── SEOTUD TOOTED ──────────────────────────────────────────── */
.czp-related-h {
  font-family: var(--font-d);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin-bottom: 1.5rem;
  color: var(--text);
}
.czp-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
.czp-rel-card {
  background: var(--s2); border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden;
  text-decoration: none; transition: all .2s;
}
.czp-rel-card:hover { border-color: var(--red); transform: translateY(-3px); }
.czp-rel-img { aspect-ratio: 1; overflow: hidden; background: var(--s3); }
.czp-rel-img img { width: 100%; height: 100%; object-fit: contain; padding: .75rem; transition: transform .3s; }
.czp-rel-card:hover .czp-rel-img img { transform: scale(1.05); }
.czp-rel-noimg { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.czp-rel-noimg svg { width: 60px; height: 60px; }
.czp-rel-body { padding: .875rem 1rem 1rem; }
.czp-rel-name { font-size: .875rem; font-weight: 600; color: var(--text); margin-bottom: .375rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.czp-rel-price .price { font-size: .9375rem !important; font-weight: 700 !important; color: var(--red) !important; }

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 900px) {
  .czp-product { grid-template-columns: 1fr; gap: 1.5rem; }
  .czp-col-gallery { position: static; }
  .czp-related-grid { grid-template-columns: repeat(2, 1fr); }
  .czp-title { font-size: 1.5rem; padding-bottom: .625rem; }
}
@media (max-width: 600px) {
  .czp-product { gap: 1rem; }
  .czp-related-grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .czp-tab-btn { padding: .75rem .875rem; font-size: .72rem; letter-spacing: .05em; }
  .czp-tab-panel { padding: 1.25rem 1rem; }
  .czp-price-row .price { font-size: 1.625rem !important; }
  /* Mobiilis: koguse nupp + osta nupp täislaiusena */
  .czp-add-to-cart form.cart { flex-direction: column !important; }
  .czp-add-to-cart .quantity { width: 100% !important; justify-content: center !important; }
  .czp-qty-btn { flex: 1; }
  .czp-add-to-cart .qty { flex: none !important; }
  .czp-add-to-cart .single_add_to_cart_button,
  .czp-add-to-cart button[type="submit"] { width: 100% !important; height: 52px !important; font-size: 1rem !important; }
  .czp-trust { padding: .75rem; }
  .czp-fitment { padding: .75rem; }
  .czp-thumbs { gap: .375rem; }
  .czp-thumb { width: 58px; height: 58px; }
}


/* ═══════════════════════════════════════════════════════════
   KATEGOORIAD – cinema overlay kaardid
   ═══════════════════════════════════════════════════════════ */
.cat-scroll {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.25rem;
}
.cat-card {
  display: block;
  text-decoration: none;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  transition: transform .2s, border-color .2s, box-shadow .2s;
  position: relative;
  aspect-ratio: 3/4;
  background: var(--s3);
}
.cat-card:hover {
  border-color: rgba(212,43,43,.5);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.55);
}
.cat-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--red); z-index: 3;
  opacity: 0; transition: opacity .2s;
}
.cat-card:hover::before { opacity: 1; }
/* Pilt */
.cat-card-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
}
.cat-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.cat-card:hover .cat-card-img img { transform: scale(1.07); }
/* SVG kui pole pilti */
.cat-card-img .cat-svg-icon {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: var(--s2);
}
.cat-card-img .cat-svg-icon svg { width: 55%; height: 55%; }
/* Gradient + tekst */
.cat-card::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(to top, rgba(0,0,0,.95) 0%, rgba(0,0,0,.4) 60%, transparent 100%);
  z-index: 1; pointer-events: none;
}
.cat-card-name {
  position: absolute; bottom: 1.75rem; left: 0; right: 0;
  padding: 0 1rem;
  font-size: .9375rem; font-weight: 700;
  color: #fff; line-height: 1.25; z-index: 2;
}
.cat-card-count {
  position: absolute; bottom: .625rem; left: 0; right: 0;
  padding: 0 1rem;
  font-size: .72rem; color: rgba(255,255,255,.5); z-index: 2;
}

/* ═══════════════════════════════════════════════════════════
   UUED TOOTED – 4-veeruline grid, kompaktne kaart
   ═══════════════════════════════════════════════════════════ */
#new-products .products-grid,
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
.product-card {
  display: flex; flex-direction: column;
  background: var(--s2); border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden;
  text-decoration: none; color: inherit;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.product-card:hover {
  border-color: rgba(212,43,43,.4);
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0,0,0,.45);
}
.product-card-img {
  position: relative;
  aspect-ratio: 1;
  background: var(--s3); overflow: hidden;
}
.product-card-img img {
  width: 100%; height: 100%;
  object-fit: contain; padding: .75rem;
  transition: transform .35s ease;
}
.product-card:hover .product-card-img img { transform: scale(1.06); }
.product-card-noimg {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
}
.product-badge-new, .product-badge-sale {
  position: absolute; top: .625rem; left: .625rem;
  font-size: .65rem; font-weight: 700; letter-spacing: .07em;
  padding: .2rem .55rem; border-radius: 9999px;
  text-transform: uppercase; line-height: 1.5;
}
.product-badge-new  { background: var(--red); color: #fff; }
.product-badge-sale { background: #F59E0B; color: #000; top: 2.1rem; }
.product-card-body {
  padding: .875rem 1rem 1rem;
  display: flex; flex-direction: column; gap: .5rem; flex: 1;
}
.product-card-name {
  font-size: .875rem; font-weight: 600; color: var(--text);
  line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}
.product-card-footer {
  display: flex; align-items: center;
  justify-content: space-between; margin-top: auto;
}
.product-card-price { font-size: 1rem; font-weight: 700; color: var(--red); }
.product-card-price del { color: var(--text-3); font-size: .8rem; font-weight: 400; margin-right: .2rem; }
.product-card-stock {
  font-size: .68rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; padding: .15rem .5rem; border-radius: 9999px;
}
.product-card-stock.in  { background: rgba(46,204,113,.12); color: #2ECC71; }
.product-card-stock.out { background: var(--s3); color: var(--text-3); }

/* Responsive */
@media (max-width: 1024px) { .products-grid, #new-products .products-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 720px)  { .products-grid, #new-products .products-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 440px)  { .products-grid, #new-products .products-grid { grid-template-columns: 1fr 1fr; gap: .75rem; } }
@media (max-width: 720px)  { .cat-scroll { grid-template-columns: repeat(2,1fr); } }

/* ═══════════════════════════════════════════════════════════
   AUTO SOBIVUS LEHT (vehicle-results page)
   ═══════════════════════════════════════════════════════════ */
.vr-header {
  background: var(--s2); border-bottom: 1px solid var(--border);
  padding: 1.5rem 0;
  margin-bottom: 2.5rem;
}
.vr-title { font-family: var(--font-d); font-size: clamp(1.5rem,3vw,2.25rem); margin-bottom: .25rem; }
.vr-subtitle { font-size: .9rem; color: var(--text-2); }
.vr-vehicle-tag {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(212,43,43,.1); border: 1px solid rgba(212,43,43,.25);
  color: var(--red); font-weight: 700; font-size: .8125rem;
  padding: .375rem .875rem; border-radius: 9999px;
  margin-top: .75rem;
}
.vr-cat-section { margin-bottom: 3rem; }
.vr-cat-title {
  font-family: var(--font-d); font-size: 1.375rem;
  margin-bottom: 1rem; padding-bottom: .625rem;
  border-bottom: 2px solid var(--red);
  display: flex; align-items: center; gap: .75rem;
}
.vr-cat-title .vr-count {
  font-family: var(--font); font-size: .75rem;
  color: var(--text-3); font-weight: 400; letter-spacing: .04em;
}
.vr-empty {
  text-align: center; padding: 5rem 0; color: var(--text-3);
}
.vr-empty svg { width: 64px; height: 64px; margin: 0 auto 1.5rem; opacity: .3; }
.vr-empty h2 { font-family: var(--font-d); font-size: 1.75rem; margin-bottom: .5rem; color: var(--text-2); }


/* ═══════════════════════════════════════════════════════════
   SPACING FIXES – archive, single product, globals
   ═══════════════════════════════════════════════════════════ */

/* Shop archive spacing */
.woo-archive { padding: 3rem 0 5rem; }
.woo-archive-header {
  display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap;
  gap: 1rem; margin-bottom: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border);
}
.woocommerce-result-count { margin: 0 !important; }
.woocommerce-ordering { margin: 0 !important; }

/* Fitment filter bar → tooted vahel */
.fitment-filter-bar {
  margin-bottom: 1.5rem !important;
  padding: 1rem 1.25rem !important;
}

/* WC products grid spacing */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px,1fr)) !important;
  gap: 1.5rem !important;
  margin: 0 !important; padding: 0 !important;
}
.woocommerce ul.products li.product {
  margin: 0 !important; padding: 0 !important;
  float: none !important; width: auto !important;
}

/* Single product spacing */
.czp-main { padding: 2.5rem 0 5rem; }
.czp-bread { margin-bottom: 1.75rem; }
.czp-product { margin-bottom: 3rem; }
.czp-col-summary { gap: 1.125rem; }
.czp-fitment { margin: 0; }
.czp-add-to-cart { margin: 0; }
.czp-trust { margin: 0; }
.czp-tabs { margin-bottom: 3.5rem; }

/* Section vertical rhythm */
.section-sm { padding: 2.75rem 0; }
.section { padding: 4rem 0; }
#new-products { padding-top: 0 !important; }

/* ═══════════════════════════════════════════════════════════
   HEADER SEARCH BAR
   ═══════════════════════════════════════════════════════════ */
.header-search {
  flex: 1;
  max-width: 460px;
  position: relative;
}
.header-search-form {
  display: flex;
  align-items: center;
  background: var(--s2);
  border: 1px solid var(--border);
  border-radius: 9999px;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.header-search-form:focus-within {
  border-color: rgba(212,43,43,.5);
  box-shadow: 0 0 0 3px rgba(212,43,43,.08);
}
.header-search-input {
  flex: 1;
  background: none;
  border: none;
  color: var(--text);
  font-size: .875rem;
  padding: .6rem 1.125rem;
  outline: none;
  min-width: 0;
}
.header-search-input::placeholder { color: var(--text-3); }
.header-search-btn {
  background: none;
  border: none;
  color: var(--text-3);
  padding: .6rem 1rem;
  cursor: pointer;
  display: flex; align-items: center;
  border-left: 1px solid var(--border);
  transition: color .15s, background .15s;
  flex-shrink: 0;
}
.header-search-btn:hover { color: var(--red); background: rgba(212,43,43,.06); }
.header-search-btn svg { width: 15px; height: 15px; }

/* Dropdowns autocomplete */
.header-search-results {
  position: absolute; top: calc(100% + .5rem);
  left: 0; right: 0;
  background: var(--s2); border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,.5);
  z-index: 900;
  max-height: 380px; overflow-y: auto;
  display: none;
}
.header-search-results.open { display: block; }
.hsr-item {
  display: flex; align-items: center; gap: .875rem;
  padding: .75rem 1rem; text-decoration: none; color: inherit;
  border-bottom: 1px solid var(--border);
  transition: background .12s;
}
.hsr-item:last-child { border-bottom: none; }
.hsr-item:hover { background: var(--s3); }
.hsr-thumb {
  width: 42px; height: 42px; flex-shrink: 0;
  border-radius: 6px; overflow: hidden; background: var(--s3);
}
.hsr-thumb img { width: 100%; height: 100%; object-fit: contain; padding: .2rem; }
.hsr-info { flex: 1; min-width: 0; }
.hsr-name {
  font-size: .875rem; font-weight: 600; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hsr-meta { font-size: .72rem; color: var(--text-3); margin-top: .1rem; }
.hsr-price { font-size: .875rem; font-weight: 700; color: var(--red); flex-shrink: 0; }
.hsr-empty, .hsr-loading {
  padding: 1.5rem; text-align: center;
  font-size: .875rem; color: var(--text-3);
}

@media (max-width: 768px) {
  .header-search { display: none; }
}

/* ── Mobiili otsing (eraldi rida headeri all) ── */
#mobile-search-bar {
  display: none;
  background: #0a0a0d;
  border-top: 1px solid rgba(255,255,255,.07);
  padding: 10px 16px;
}
#mobile-search-bar .header-search-form {
  height: 42px;
}
@media (max-width: 768px) {
  #mobile-search-bar { display: block; }
}


/* ── Spacing fixes ───────────────────────────────────────────── */
.woocommerce-products-header { margin-bottom: 1.5rem; }
.woocommerce-ordering { margin-bottom: 1.5rem !important; }
.fitment-filter-bar { margin-bottom: 1.5rem; }
.woocommerce .woocommerce-result-count { margin-bottom: .75rem; }

/* Archive: filter riba + tooted vahe */
.cz-woo-main .woocommerce-products-header + ul.products,
.cz-woo-main .woocommerce-ordering + ul.products { margin-top: 2rem; }

/* WC products grid spacing */
.woocommerce ul.products { gap: 1.5rem !important; row-gap: 1.75rem !important; }
.woocommerce ul.products li.product { margin: 0 !important; }

/* Single product spacing */
.czp-product { margin-bottom: 3rem; }
.czp-bread { margin-bottom: 1.75rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.czp-col-summary { gap: 1.5rem; }
.czp-fitment { margin: 0; }
.czp-add-to-cart { margin: 0; }
.czp-trust { margin-top: 0; }
.czp-tabs { margin-bottom: 3.5rem; }

/* Front-page section spacing */
#new-products { margin-top: 0; }
.cat-scroll { row-gap: 1.5rem; }


/* ============================================================
   MINU KONTO – Account Page
   ============================================================ */

/* ── Hero ───────────────────────────────────────────────── */
.ma-page { padding-bottom: clamp(4rem, 7vw, 6rem); }

.ma-hero {
  background: linear-gradient(135deg, var(--s1) 0%, var(--s2) 100%);
  border-bottom: 1px solid var(--border);
  padding: clamp(2rem, 4vw, 3rem) 0;
  position: relative;
  overflow: hidden;
}
.ma-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 120% at 80% 50%, rgba(212,43,43,.07) 0%, transparent 70%);
  pointer-events: none;
}
.ma-hero-inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.ma-avatar {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: var(--red-dim);
  border: 2px solid var(--red);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-d);
  font-size: 1.75rem;
  letter-spacing: .05em;
  color: var(--red);
  flex-shrink: 0;
}

.ma-hero-greeting {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: .25rem;
}
.ma-hero-name {
  font-family: var(--font-d);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  letter-spacing: .04em;
  line-height: 1;
  margin-bottom: .35rem;
}
.ma-hero-email {
  font-size: .875rem;
  color: var(--text-2);
}

/* ── Layout ──────────────────────────────────────────────── */
.ma-wrap { padding-top: 2.5rem; }

.ma-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 2rem;
  align-items: start;
}
@media (max-width: 768px) {
  .ma-layout { grid-template-columns: 1fr; }
}

/* ── Sidebar ─────────────────────────────────────────────── */
.ma-sidebar {
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  position: sticky;
  top: calc(var(--hh) + 1.5rem);
}

.ma-nav { padding: .5rem; }

.ma-nav-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  border-radius: var(--r);
  font-size: .875rem;
  font-weight: 500;
  color: var(--text-2);
  transition: all var(--t);
}
.ma-nav-item:hover {
  background: var(--s3);
  color: var(--text);
}
.ma-nav-item.active {
  background: var(--red-dim);
  color: var(--red);
}
.ma-nav-item.active .ma-nav-icon { color: var(--red); }

.ma-nav-icon {
  width: 18px; height: 18px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--text-3);
  transition: color var(--t);
}
.ma-nav-item:hover .ma-nav-icon { color: var(--text-2); }

.ma-nav-logout {
  margin-top: .25rem;
  border-top: 1px solid var(--border);
  border-radius: 0 0 var(--r) var(--r);
  padding-top: 1rem;
  color: var(--text-3);
}
.ma-nav-logout:hover {
  background: rgba(239,68,68,.08);
  color: #ef4444;
}
.ma-nav-logout:hover .ma-nav-icon { color: #ef4444; }

.ma-sidebar-tip {
  padding: .75rem 1.25rem;
  border-top: 1px solid var(--border);
  font-size: .75rem;
  color: var(--text-3);
}
.ma-sidebar-tip a { color: var(--text-2); transition: color var(--t); }
.ma-sidebar-tip a:hover { color: var(--red); }

/* ── Section header ──────────────────────────────────────── */
.ma-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}
.ma-section-title {
  font-family: var(--font-d);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  letter-spacing: .04em;
  line-height: 1;
}
.ma-link-all {
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-2);
  transition: color var(--t);
}
.ma-link-all:hover { color: var(--red); }

/* ── Stats ───────────────────────────────────────────────── */
.ma-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  margin-bottom: .5rem;
}

.ma-stat-card {
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: border-color var(--t);
}
.ma-stat-card:hover { border-color: var(--border-2); }

.ma-stat-icon {
  width: 40px; height: 40px;
  border-radius: var(--r);
  background: var(--s3);
  display: flex; align-items: center; justify-content: center;
  color: var(--red);
  flex-shrink: 0;
}

.ma-stat-num {
  font-family: var(--font-d);
  font-size: 1.75rem;
  letter-spacing: .04em;
  line-height: 1;
  margin-bottom: .2rem;
}
.ma-stat-status.processing { color: #f59e0b; }
.ma-stat-status.completed  { color: var(--green); }
.ma-stat-status.cancelled  { color: #ef4444; }
.ma-stat-status.on-hold    { color: #8b5cf6; }

.ma-stat-label {
  font-size: .75rem;
  color: var(--text-2);
}

/* ── Orders table ────────────────────────────────────────── */
.ma-orders-table-wrap {
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: auto;
}

.ma-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .875rem;
}
.ma-orders-table th {
  padding: .875rem 1.25rem;
  text-align: left;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-3);
  border-bottom: 1px solid var(--border);
}
.ma-orders-table td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border);
  color: var(--text-2);
  vertical-align: middle;
}
.ma-orders-table tbody tr:last-child td { border-bottom: none; }
.ma-orders-table tbody tr:hover td { background: var(--s2); color: var(--text); }

/* ── Badge ───────────────────────────────────────────────── */
.ma-badge {
  display: inline-block;
  padding: .25rem .625rem;
  border-radius: 9999px;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--s3);
  color: var(--text-2);
}
.ma-badge.processing { background: rgba(245,158,11,.12); color: #f59e0b; }
.ma-badge.completed  { background: rgba(46,204,113,.12);  color: var(--green); }
.ma-badge.cancelled  { background: rgba(239,68,68,.12);   color: #ef4444; }
.ma-badge.on-hold    { background: rgba(139,92,246,.12);  color: #8b5cf6; }
.ma-badge.pending    { background: rgba(152,152,166,.12); color: var(--text-2); }

/* ── Empty state ──────────────────────────────────────────── */
.ma-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
}
.ma-empty-icon {
  width: 56px; height: 56px;
  border-radius: var(--r-lg);
  background: var(--s3);
  display: flex; align-items: center; justify-content: center;
  color: var(--text-3);
  margin: 0 auto 1.25rem;
}
.ma-empty h3 {
  font-family: var(--font-d);
  font-size: 1.5rem;
  letter-spacing: .04em;
  margin-bottom: .5rem;
}
.ma-empty p {
  color: var(--text-2);
  font-size: .9rem;
  margin-bottom: 1.5rem;
}

/* ── WooCommerce sisu ülekirjutus ────────────────────────── */
.ma-wc-content {
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 2rem;
}
.ma-wc-content h2,
.ma-wc-content h3 {
  font-family: var(--font-d);
  letter-spacing: .04em;
  line-height: 1;
  margin-bottom: 1.25rem;
}
.ma-wc-content .woocommerce-Message {
  background: rgba(46,204,113,.08);
  border: 1px solid rgba(46,204,113,.2);
  border-radius: var(--r);
  padding: 1rem 1.25rem;
  color: var(--green);
  margin-bottom: 1.5rem;
}
.ma-wc-content form .form-row label {
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-bottom: .4rem;
  display: block;
}
.ma-wc-content form input[type="text"],
.ma-wc-content form input[type="email"],
.ma-wc-content form input[type="password"],
.ma-wc-content form input[type="tel"],
.ma-wc-content form select,
.ma-wc-content form textarea {
  width: 100%;
  background: var(--s2);
  border: 1px solid var(--border-2);
  border-radius: var(--r);
  padding: .7rem 1rem;
  color: var(--text);
  font-size: .9rem;
  font-family: var(--font);
  transition: border-color var(--t);
}
.ma-wc-content form input:focus,
.ma-wc-content form select:focus {
  outline: none;
  border-color: var(--red);
}
.ma-wc-content form .button,
.ma-wc-content form button[type="submit"] {
  background: var(--red);
  color: #fff;
  border: none;
  border-radius: var(--r);
  padding: .75rem 1.75rem;
  font-weight: 600;
  font-size: .875rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all var(--t);
  font-family: var(--font);
}
.ma-wc-content form .button:hover,
.ma-wc-content form button[type="submit"]:hover {
  background: var(--red-2);
  box-shadow: 0 0 24px rgba(212,43,43,.35);
}
.ma-wc-content .woocommerce-orders-table {
  width: 100%; border-collapse: collapse; font-size: .875rem;
}
.ma-wc-content .woocommerce-orders-table th {
  padding: .75rem 1rem; text-align: left;
  font-size: .7rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-3);
  border-bottom: 1px solid var(--border);
}
.ma-wc-content .woocommerce-orders-table td {
  padding: .875rem 1rem; border-bottom: 1px solid var(--border);
  color: var(--text-2); vertical-align: middle;
}


/* ── Login box (sisselogimata kasutaja) ─────────────────── */
.ma-login-wrap {
  min-height: calc(100vh - var(--hh) - 200px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 0;
}
.ma-login-box {
  width: 100%;
  max-width: 480px;
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.ma-login-header {
  text-align: center;
  padding: 2.5rem 2rem 2rem;
  border-bottom: 1px solid var(--border);
}
.ma-login-icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--red-dim);
  border: 1px solid rgba(212,43,43,.3);
  display: flex; align-items: center; justify-content: center;
  color: var(--red);
  margin: 0 auto 1.25rem;
}
.ma-login-title {
  font-family: var(--font-d);
  font-size: 2rem;
  letter-spacing: .04em;
  line-height: 1;
  margin-bottom: .5rem;
}
.ma-login-sub {
  font-size: .875rem;
  color: var(--text-2);
}
.ma-login-box .ma-wc-content {
  border: none;
  border-radius: 0;
  padding: 2rem;
  background: transparent;
}

/* ── Auth form (login + register) ───────────────────────── */
.ma-auth-wrap { width: 100%; }

/* Tabs */
.ma-auth-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 2rem;
}
.ma-auth-tab {
  flex: 1;
  padding: .875rem 1rem;
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-3);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  transition: all var(--t);
}
.ma-auth-tab:hover { color: var(--text-2); }
.ma-auth-tab.active {
  color: var(--red);
  border-bottom-color: var(--red);
}

/* Panels */
.ma-auth-panel { display: none; }
.ma-auth-panel.active { display: block; }

/* Form groups */
.ma-auth-form { display: flex; flex-direction: column; gap: 1.25rem; }

.ma-form-group {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.ma-form-group label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--text-2);
}
.ma-form-forgot {
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text-3);
  transition: color var(--t);
}
.ma-form-forgot:hover { color: var(--red); }

.ma-form-group input[type="text"],
.ma-form-group input[type="email"],
.ma-form-group input[type="password"] {
  width: 100%;
  background: var(--s2);
  border: 1px solid var(--border-2);
  border-radius: var(--r);
  padding: .75rem 1rem;
  color: var(--text);
  font-size: .9375rem;
  font-family: var(--font);
  transition: border-color var(--t), box-shadow var(--t);
}
.ma-form-group input:focus {
  outline: none;
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(212,43,43,.12);
}
.ma-form-group input::placeholder { color: var(--text-3); }

/* Password toggle */
.ma-input-wrap { position: relative; }
.ma-input-wrap input { padding-right: 3rem; }
.ma-pwd-toggle {
  position: absolute;
  right: .875rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-3);
  transition: color var(--t);
  padding: .25rem;
}
.ma-pwd-toggle:hover { color: var(--text-2); }

/* Checkbox */
.ma-checkbox {
  display: flex;
  align-items: center;
  gap: .625rem;
  cursor: pointer;
  font-size: .875rem;
  color: var(--text-2);
  user-select: none;
}
.ma-checkbox input[type="checkbox"] { display: none; }
.ma-checkbox-box {
  width: 18px; height: 18px;
  border: 1.5px solid var(--border-2);
  border-radius: 4px;
  background: var(--s2);
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: all var(--t);
}
.ma-checkbox input:checked ~ .ma-checkbox-box {
  background: var(--red);
  border-color: var(--red);
}
.ma-checkbox input:checked ~ .ma-checkbox-box::after {
  content: '';
  display: block;
  width: 5px; height: 9px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg) translateY(-1px);
}

/* Full-width button */
.btn-full { width: 100%; justify-content: center; }

/* Hints & privacy */
.ma-form-hint {
  font-size: .75rem;
  color: var(--text-3);
  margin-top: .25rem;
}
.ma-form-privacy {
  font-size: .8rem;
  color: var(--text-3);
  text-align: center;
  margin: -.25rem 0 .25rem;
}
.ma-form-privacy a { color: var(--text-2); transition: color var(--t); }
.ma-form-privacy a:hover { color: var(--red); }

/* Switch link */
.ma-auth-switch {
  text-align: center;
  font-size: .875rem;
  color: var(--text-3);
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
}
.ma-auth-switch-btn {
  background: none;
  border: none;
  color: var(--red);
  font-size: .875rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  transition: color var(--t);
}
.ma-auth-switch-btn:hover { color: var(--red-2); }

/* WC error/success notices inside login box */
.ma-login-box .woocommerce-error,
.ma-login-box .woocommerce-message,
.ma-login-box .woocommerce-info {
  border-radius: var(--r);
  padding: .875rem 1.25rem;
  margin-bottom: 1rem;
  font-size: .875rem;
  list-style: none;
}
.ma-login-box .woocommerce-error {
  background: rgba(239,68,68,.1);
  border-left: 3px solid #ef4444;
  color: #ef4444;
}
.ma-login-box .woocommerce-message {
  background: rgba(46,204,113,.1);
  border-left: 3px solid var(--green);
  color: var(--green);
}

/* ── Header: Auth nupud (sisselogimata) ─────────────────── */
.header-auth-btns {
  display: flex;
  align-items: center;
  gap: .5rem;
}

/* ── Header: Kasutaja dropdown (sisse logitud) ──────────── */
.header-user-menu {
  position: relative;
}
.header-user-btn {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem .625rem .375rem .375rem;
  background: var(--s2);
  border: 1px solid var(--border-2);
  border-radius: 99px;
  cursor: pointer;
  color: var(--text-2);
  transition: all var(--t);
  white-space: nowrap;
}
.header-user-btn:hover {
  border-color: var(--red);
  color: var(--text);
}
.header-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.header-user-name {
  font-size: .8rem;
  font-weight: 500;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 768px) {
  .header-user-name { display: none; }
}

/* Dropdown panel */
.header-user-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 240px;
  background: var(--s2);
  border: 1px solid var(--border-2);
  border-radius: var(--r-lg);
  box-shadow: 0 20px 60px rgba(0,0,0,.6);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: all var(--t);
  z-index: 1000;
  overflow: hidden;
}
.header-user-dropdown.open {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
.user-dd-header {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem;
  border-bottom: 1px solid var(--border);
  background: var(--s3);
}
.user-dd-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  font-size: .875rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.user-dd-name {
  font-size: .875rem;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.user-dd-email {
  font-size: .72rem;
  color: var(--text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: 1px;
}
.user-dd-links {
  padding: .5rem;
}
.user-dd-links a {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .625rem .75rem;
  border-radius: var(--r);
  font-size: .85rem;
  color: var(--text-2);
  transition: all var(--t);
}
.user-dd-links a:hover {
  background: var(--red-dim);
  color: var(--red);
}
.user-dd-links a svg {
  flex-shrink: 0;
  opacity: .7;
}
.user-dd-logout {
  margin-top: .25rem;
  border-top: 1px solid var(--border);
  padding-top: .75rem !important;
}
.user-dd-logout:hover {
  color: #ef4444 !important;
  background: rgba(239,68,68,.1) !important;
}

/* ── Header: Ostukorv total ─────────────────────────────── */
.header-cart {
  position: relative;
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .375rem .625rem;
  background: var(--s2);
  border: 1px solid var(--border-2);
  border-radius: 99px;
  color: var(--text-2);
  transition: all var(--t);
  text-decoration: none;
}
.header-cart:hover {
  border-color: var(--red);
  color: var(--text);
}
.cart-total {
  font-size: .8rem;
  font-weight: 600;
  color: var(--text);
}
@media (max-width: 480px) {
  .cart-total { display: none; }
  .header-auth-btns .btn-outline { display: none; }
}

/* Eemalda WC default stock (meil on oma) */
.woocommerce ul.products li.product .stock{display:none;}
.woocommerce-ordering,.woocommerce-result-count{margin-bottom:1.5rem;}

/* ══ Otsinguiba ═════════════════════════════════════════════ */
.header-search{flex:1;min-width:0;position:relative;}
.header-search-form{
  display:flex;align-items:center;
  background:#111115;border:1px solid rgba(255,255,255,.09);
  border-radius:99px;padding:0 4px 0 16px;height:38px;
  transition:border-color .15s;
}
.header-search-form:focus-within{border-color:rgba(212,43,43,.5);}
.header-search-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:#efefef;font-size:13px;}
.header-search-input::placeholder{color:#55556a;}
.header-search-btn{
  flex-shrink:0;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;cursor:pointer;
  color:#55556a;border-radius:50%;transition:color .15s,background .15s;
}
.header-search-btn:hover{color:#D42B2B;background:rgba(212,43,43,.08);}
.header-search-btn svg{width:15px;height:15px;display:block;}
.header-search-results{
  display:none;position:absolute;top:calc(100% + 6px);
  left:0;right:0;background:#18181D;
  border:1px solid rgba(255,255,255,.1);border-radius:10px;
  box-shadow:0 16px 48px rgba(0,0,0,.6);z-index:9998;overflow:hidden;
}
.header-search-results.open{display:block;}

/* ══ Kasutaja dropdown ══════════════════════════════════════ */
.hdr-user{position:relative;display:inline-flex;}
.hdr-user-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px 4px 4px;
  background:#18181D;border:1px solid rgba(255,255,255,.12);
  border-radius:99px;cursor:pointer;color:#aaabb8;
  font-size:13px;font-weight:500;line-height:1;
  transition:border-color .15s,color .15s;white-space:nowrap;
}
.hdr-user-btn:hover{border-color:#D42B2B;color:#fff;}
.hdr-avatar{
  width:26px;height:26px;border-radius:50%;
  background:#D42B2B;color:#fff;font-size:11px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;line-height:1;
}
.hdr-uname{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:768px){.hdr-uname{display:none;}}
.hdr-dropdown{
  position:absolute;top:calc(100% + 8px);right:0;
  width:230px;background:#18181D;
  border:1px solid rgba(255,255,255,.12);border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,.75);
  opacity:0;pointer-events:none;
  transform:translateY(8px);transition:opacity .15s,transform .15s;
  z-index:9999;overflow:hidden;
}
.hdr-dropdown.open{opacity:1;pointer-events:auto;transform:none;}
.hdr-dd-info{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;background:#222228;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.hdr-dd-avatar{
  width:36px;height:36px;border-radius:50%;
  background:#D42B2B;color:#fff;font-size:14px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;line-height:1;
}
.hdr-dd-name{font-size:13px;font-weight:600;color:#efefef;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hdr-dd-email{font-size:11px;color:#555566;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hdr-dd-link{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;font-size:13px;color:#aaabb8;
  text-decoration:none;transition:background .12s,color .12s;line-height:1.3;
}
.hdr-dd-link:hover{background:rgba(212,43,43,.12);color:#D42B2B;}
.hdr-dd-link svg{opacity:.6;flex-shrink:0;display:block;}
.hdr-dd-link:hover svg{opacity:1;}
.hdr-dd-logout{border-top:1px solid rgba(255,255,255,.07);margin-top:4px;}
.hdr-dd-logout:hover{background:rgba(239,68,68,.1)!important;color:#ef4444!important;}

/* ══ Otsingutulemused ═══════════════════════════════════════ */
.hsr-empty{padding:1rem 1.25rem;font-size:.85rem;color:#666676;}
.hsr-item{
  display:flex;align-items:center;gap:.875rem;
  padding:.75rem 1rem;text-decoration:none;
  transition:background .12s;border-bottom:1px solid rgba(255,255,255,.05);
}
.hsr-item:last-child{border-bottom:none;}
.hsr-item:hover{background:rgba(212,43,43,.08);}
.hsr-img{width:44px;height:44px;border-radius:6px;object-fit:cover;flex-shrink:0;background:#222228;}
.hsr-img-ph{background:#222228;}
.hsr-info{flex:1;min-width:0;}
.hsr-name{display:block;font-size:.85rem;font-weight:500;color:#efefef;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hsr-price{display:block;font-size:.78rem;color:#D42B2B;font-weight:600;margin-top:2px;}

/* ── WC body background fix ────────────────────────────── */
body.woocommerce-page,
body.woocommerce,
body.woocommerce-account,
body.woocommerce-shop {
  background-color: var(--bg) !important;
  background: var(--bg) !important;
}
.woocommerce-page #page,
.woocommerce-page #content,
.woocommerce-page main,
.woocommerce-account #page,
.woocommerce-account #content,
.woocommerce-account main {
  background: var(--bg) !important;
}

/* ── Partner slider: ära kuva tühja sektsiooni ─────────── */
#partners:empty { display: none; }

/* ── Header pill nupud (Minu Konto + Minu Sõiduk) ────────── */
.hdr-pill-wrap { position: relative; }

.hdr-pill {
  display: flex; align-items: center; gap: .5rem;
  padding: .4rem .75rem .4rem .5rem;
  background: var(--s2); border: 1px solid var(--border-2);
  border-radius: 99px; cursor: pointer; color: var(--text-2);
  transition: all var(--t); white-space: nowrap;
  font-family: var(--font);
}
.hdr-pill:hover { border-color: var(--border-2); color: var(--text); background: var(--s3); }
.hdr-pill[aria-expanded="true"] { border-color: rgba(212,43,43,.4); color: var(--text); }
.hdr-pill-active { border-color: rgba(212,43,43,.3) !important; }

.hdr-pill-icon {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--s3); display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: var(--text-2);
}
.hdr-pill-active .hdr-pill-icon,
.hdr-pill-icon-car { background: var(--red-dim); color: var(--red); }

.hdr-pill-text { display: flex; flex-direction: column; align-items: flex-start; }
.hdr-pill-title { font-size: .8rem; font-weight: 600; color: var(--text); line-height: 1.2; }
.hdr-pill-sub { font-size: .68rem; color: var(--text-3); line-height: 1.2; max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hdr-pill-arrow { color: var(--text-3); flex-shrink: 0; transition: transform var(--t); }
.hdr-pill[aria-expanded="true"] .hdr-pill-arrow { transform: rotate(180deg); }

/* Dropdown */
.hdr-pill-dropdown {
  display: none; position: absolute; top: calc(100% + 8px); right: 0;
  background: var(--s2); border: 1px solid var(--border-2);
  border-radius: 14px; min-width: 220px; padding: .5rem;
  box-shadow: 0 16px 40px rgba(0,0,0,.4); z-index: 999;
  animation: ddFade .12s ease;
}
.hdr-pill-dropdown.open { display: block; }
@keyframes ddFade { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:none; } }

.hdr-dd-header {
  display: flex; align-items: center; gap: .625rem;
  padding: .625rem .75rem; margin-bottom: .25rem;
  background: var(--s3); border-radius: 9px;
}
.hdr-dd-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--red); color: #fff; font-weight: 700; font-size: .875rem;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.hdr-dd-name { font-size: .8125rem; font-weight: 600; color: var(--text); }
.hdr-dd-email { font-size: .7rem; color: var(--text-3); }

.hdr-dd-link {
  display: flex; align-items: center; gap: .5rem;
  padding: .5rem .75rem; border-radius: 8px;
  font-size: .8125rem; color: var(--text-2);
  text-decoration: none; transition: background .12s, color .12s;
  background: none; border: none; cursor: pointer; width: 100%;
  font-family: var(--font);
}
.hdr-dd-link:hover { background: var(--s3); color: var(--text); }
.hdr-dd-logout { color: #ff8080 !important; }
.hdr-dd-logout:hover { background: rgba(239,68,68,.08) !important; }

.hdr-dd-divider {
  font-size: .65rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-3);
  padding: .5rem .75rem .25rem; margin-top: .25rem;
}
.hdr-dd-vehicle-info {
  display: flex; align-items: center; gap: .625rem;
  padding: .625rem .75rem; background: var(--s3);
  border-radius: 9px; margin-bottom: .25rem; color: var(--text-2);
}
.hdr-dd-vehicle-info strong { display: block; font-size: .8125rem; color: var(--text); }
.hdr-dd-vehicle-info span { font-size: .7rem; color: var(--text-3); }

.hdr-dd-garage-item {
  display: flex; align-items: center; gap: .5rem;
  padding: .45rem .75rem; border-radius: 8px;
  font-size: .8rem; color: var(--text-2);
  background: none; border: none; cursor: pointer; width: 100%;
  font-family: var(--font); transition: background .12s, color .12s;
}
.hdr-dd-garage-item:hover { background: var(--s3); color: var(--text); }
.hdr-dd-garage-active { color: var(--text) !important; }
.hdr-dd-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--red); margin-left: auto; flex-shrink: 0;
}

.hdr-dd-auth { padding: .25rem .25rem; }
.hdr-dd-auth-title { font-size: .875rem; font-weight: 600; color: var(--text); margin: 0 0 .25rem; }
.hdr-dd-auth-sub { font-size: .78rem; color: var(--text-3); margin: 0 0 .875rem; }

/* Peida pill tekst mobiilis */
@media (max-width: 860px) {
  .hdr-pill-text, .hdr-pill-arrow { display: none; }
  .hdr-pill { padding: .4rem .5rem; }
}
