/* ============================================================
   ARTS ET COMBATS — style.css
   Palette : #0D0D0D | #C1121F | #FFFFFF
   Fonts   : Bebas Neue · Barlow Condensed · Inter
   ============================================================ */

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

/* ──────────────────── CSS VARIABLES ──────────────────────── */
:root {
  --black:      #0D0D0D;
  --black-2:    #141414;
  --black-3:    #1C1C1C;
  --black-4:    #272727;
  --black-5:    #333333;
  --surface-rgb:    13,13,13;
  --on-surface-rgb: 255,255,255;
  --red:        #C1121F;
  --red-dark:   #9A0E18;
  --red-light:  #E0172B;
  --red-glow:   rgba(193,18,31,0.25);
  --white:      #FFFFFF;
  --white-90:   rgba(var(--on-surface-rgb),0.9);
  --white-60:   rgba(var(--on-surface-rgb),0.6);
  --white-20:   rgba(var(--on-surface-rgb),0.2);
  --white-08:   rgba(var(--on-surface-rgb),0.08);
  --gray:       #888888;
  --gray-light: #BBBBBB;
  --gray-dark:  #555555;

  /* Texte des badges/messages "statut" (pastilles ou texte a fond teinte
     translucide, ex. .admin-pill, .checkout-promo__message, badges stock
     produit): des tons pales, adaptes a un fond sombre. Redefinis en theme
     clair ci-dessous, sinon illisibles sur fond blanc. */
  --ok-text:    #8EE6A6;
  --warn-text:  #FBBF24;
  --info-text:  #93C5FD;
  --bad-text:   #FF9AA4;

  --font-display:   'Bebas Neue', sans-serif;
  --font-cond:      'Barlow Condensed', sans-serif;
  --font-body:      'Inter', sans-serif;

  --nav-h:      70px;
  --ease:       cubic-bezier(0.25,0.46,0.45,0.94);
  --ease-out:   cubic-bezier(0.0,0.0,0.2,1.0);
  --t:          all 0.3s var(--ease);
  --t-slow:     all 0.6s var(--ease);
  --r:          4px;
  --r-lg:       10px;
  --r-xl:       16px;
  --shadow:     0 6px 30px rgba(0,0,0,0.5);
  --shadow-red: 0 8px 40px rgba(193,18,31,0.35);
}

/* ──────────────────── LIGHT THEME ─────────────────────────
   Jour (9h-20h par defaut) ou choix manuel. Voir script.js pour
   la logique horaire + le bouton de bascule; l'attribut
   [data-theme] est pose sur <html> avant le premier rendu (voir
   le petit script inline dans le <head> de chaque page) pour
   eviter un flash du mauvais theme.
   ──────────────────────────────────────────────────────────── */
:root[data-theme="light"] {
  --black:      #F3EEE3;
  --black-2:    #FFFFFF;
  --black-3:    #F7F2E7;
  --black-4:    #E4DAC5;
  --black-5:    #CBBEA0;
  --surface-rgb:    243,238,227;
  --on-surface-rgb: 27,21,14;
  --red:        #B00E1B;
  --red-dark:   #8A0B15;
  --red-light:  #D11526;
  --white:      #1B150E;
  --gray:       #8C7F68;
  --gray-light: #4A4030;
  --gray-dark:  #B7AA8C;
  --shadow:     0 6px 24px rgba(27,21,14,0.12);
  --shadow-red: 0 8px 34px rgba(176,14,27,0.18);

  --ok-text:    #15803D;
  --warn-text:  #92400E;
  --info-text:  #1D4ED8;
  --bad-text:   #B00E1B;
}

/* These sections lay text over a photo with its own dark gradient overlay,
   which stays dark on purpose in both themes for legibility — so the tokens
   inside them stay pinned to the dark-theme values regardless of [data-theme].
   The admin order/customer drawer is the same case for a different reason:
   its own background is a fixed dark gradient (not theme-reactive), so its
   text tokens must stay pinned dark too — otherwise in light theme the panel
   renders part-white/part-black while the text stays styled for a uniformly
   dark panel, going unreadable wherever the gradient turns light. */
.hero__content,
.about-hero__content,
.account-promo__content,
.cat-card__overlay,
.featured-main,
.featured-small,
.product-card__overlay,
.shop-category-card__body,
.admin-order-drawer__panel,
.nav-over-hero .nav:not(.scrolled) {
  --black:      #0D0D0D;
  --black-2:    #141414;
  --black-3:    #1C1C1C;
  --black-4:    #272727;
  --black-5:    #333333;
  --surface-rgb:    13,13,13;
  --on-surface-rgb: 255,255,255;
  --white:      #FFFFFF;
  --gray:       #888888;
  --gray-light: #BBBBBB;
  --gray-dark:  #555555;
  /* "color" is only ever re-evaluated where it's explicitly declared — an
     inherited value (e.g. from body { color: var(--white) }) is already a
     resolved pixel value and won't pick up the redefinitions above just by
     nesting inside this container, so it has to be restated here too. */
  color: #FFFFFF;
}

/* ──────────────────── RESET ──────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--black);
  color: var(--white);
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img  { display: block; max-width: 100%; height: auto; }
a    { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; color: inherit; }
ul, ol { list-style: none; }
input, textarea, select { font-family: inherit; color: inherit; }

/* ──────────────────── TYPOGRAPHY ────────────────────────── */
.display      { font-family: var(--font-display); letter-spacing: 0.02em; line-height: 0.9; text-transform: uppercase; }
.label        { font-family: var(--font-cond); font-weight: 700; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--red); }
.section-title{ font-family: var(--font-display); font-size: clamp(2.4rem,5vw,4.5rem); text-transform: uppercase; line-height: 0.93; letter-spacing: 0.01em; }

/* ──────────────────── LAYOUT ─────────────────────────────── */
.container   { width: 100%; max-width: 1300px; margin: 0 auto; padding: 0 clamp(1.25rem,4vw,3rem); }
.section-pad { padding: clamp(4rem,8vw,7rem) 0; }
.section-header { margin-bottom: clamp(2rem,4vw,3.5rem); }
.section-header .label { display: block; margin-bottom: 0.6rem; }
.section-header p { margin-top: 0.9rem; color: var(--gray-light); max-width: 520px; font-size: 1.05rem; line-height: 1.7; }
.section-header--center { text-align: center; }
.section-header--center p { margin-left: auto; margin-right: auto; }

/* ──────────────────── REVEAL ANIMATIONS ─────────────────── */
.reveal {
  opacity: 0; transform: translateY(28px);
  transition: opacity 0.65s var(--ease), transform 0.65s var(--ease);
}
.reveal.visible { opacity: 1; transform: none; }
.reveal-left  { opacity: 0; transform: translateX(-28px); transition: opacity 0.65s var(--ease), transform 0.65s var(--ease); }
.reveal-right { opacity: 0; transform: translateX( 28px); transition: opacity 0.65s var(--ease), transform 0.65s var(--ease); }
.reveal-left.visible, .reveal-right.visible { opacity: 1; transform: none; }
.d1 { transition-delay: 0.10s; }
.d2 { transition-delay: 0.18s; }
.d3 { transition-delay: 0.26s; }
.d4 { transition-delay: 0.34s; }

/* ──────────────────── NAVBAR ─────────────────────────────── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  height: var(--nav-h);
  display: flex; align-items: center;
  padding: 0 clamp(1.25rem,4vw,3rem);
  transition: var(--t);
}
.nav.scrolled {
  background: rgba(var(--surface-rgb),0.96);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--white-08);
}
.nav__inner { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }

/* Logo */
.nav__logo { display: flex; flex-direction: column; }
.nav .nav__logo {
  flex: 0 0 auto;
  min-width: 0;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  color: var(--white);
}
.nav__logo-img {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  display: block;
  object-fit: contain;
}
.nav__logo-main { font-family: var(--font-display); font-size: 1.45rem; letter-spacing: 0.06em; line-height: 1; }
.nav__logo-main span { color: var(--red); }
.nav__logo-sub { font-family: var(--font-cond); font-size: 0.5rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gray); margin-top: 1px; }

/* Links */
.nav__links { display: flex; align-items: center; gap: 2rem; }
.nav__link {
  font-family: var(--font-cond); font-weight: 700; font-size: 0.82rem;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gray-light); position: relative; transition: var(--t);
}
.nav__link::after { content: ''; position: absolute; bottom: -3px; left: 0; width: 0; height: 2px; background: var(--red); transition: width 0.3s var(--ease); }
.nav__link:hover, .nav__link.active { color: var(--white); }
.nav__link:hover::after, .nav__link.active::after { width: 100%; }

/* Actions */
.nav__actions { position: relative; display: flex; align-items: center; gap: 0.5rem; }

.nav-search {
  position: absolute; top: calc(100% + 0.6rem); right: 0;
  width: min(320px, calc(100vw - 2rem));
  display: none; z-index: 950;
}
.nav-search.is-open { display: block; }
.nav-search__input {
  width: 100%; padding: 0.8rem 1rem;
  background: var(--black-2); border: 1px solid var(--black-4);
  border-radius: var(--r); color: var(--white); box-shadow: var(--shadow);
  font-family: var(--font-body); font-size: 0.9rem; outline: none; transition: var(--t);
}
.nav-search__input:focus { border-color: var(--red); }
.nav-search__input::placeholder { color: var(--gray); }
.nav__icon-btn {
  position: relative; width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gray-light); border-radius: var(--r); transition: var(--t);
}
.nav__icon-btn:hover { color: var(--white); background: var(--white-08); }
.nav__icon-btn svg { width: 20px; height: 20px; }
.nav__cart-count {
  position: absolute; top: 5px; right: 5px;
  width: 15px; height: 15px;
  background: var(--red); border-radius: 50%;
  font-size: 0.58rem; font-weight: 800;
  font-family: var(--font-cond); letter-spacing: 0;
  display: flex; align-items: center; justify-content: center;
}
.nav__cta {
  padding: 0.5rem 1.4rem;
  background: var(--red); color: #FFFFFF;
  font-family: var(--font-cond); font-weight: 700;
  font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase;
  border-radius: var(--r); transition: var(--t);
}
.nav__cta:hover { background: var(--red-light); transform: translateY(-1px); box-shadow: var(--shadow-red); }

/* Burger */
.nav__burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 42px;
  height: 42px;
  padding: 0;
  color: var(--black);
  background: var(--white);
  border: 1px solid var(--white);
  border-radius: var(--r);
  box-shadow: 0 8px 24px rgba(255,255,255,0.14);
}
.nav__burger span { display: block; width: 18px; height: 2px; background: var(--black); border-radius: 2px; transition: var(--t); transform-origin: center; }
.nav__burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav__burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav__burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.nav__mobile {
  position: fixed; top: var(--nav-h); left: 0; right: 0;
  background: var(--black-2); border-bottom: 1px solid var(--black-4);
  padding: 1.25rem clamp(1.25rem,4vw,3rem) 1.75rem;
  display: flex; flex-direction: column; gap: 0.1rem;
  transform: translateY(-6px); opacity: 0; pointer-events: none;
  transition: var(--t); z-index: 890;
}
.nav__mobile.open { transform: none; opacity: 1; pointer-events: all; }
.nav__mobile-link {
  font-family: var(--font-cond); font-weight: 800; font-size: 1.5rem;
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--gray-light); padding: 0.65rem 0;
  border-bottom: 1px solid var(--white-08); transition: var(--t);
}
.nav__mobile-link:last-child { border-bottom: none; }
.nav__mobile-link:hover, .nav__mobile-link.active { color: var(--red); padding-left: 0.5rem; }

/* ──────────────────── BUTTONS ────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-family: var(--font-cond); font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  border-radius: var(--r); transition: var(--t); cursor: pointer; border: 2px solid transparent;
}
.btn svg { width: 17px; height: 17px; flex-shrink: 0; transition: transform 0.3s var(--ease); }
.btn:hover svg { transform: translateX(4px); }
.btn-primary { padding: 0.85rem 2rem; font-size: 0.88rem; background: var(--red); color: #FFFFFF; border-color: var(--red); }
.btn-primary:hover { background: var(--red-light); border-color: var(--red-light); transform: translateY(-2px); box-shadow: var(--shadow-red); }
.btn-outline { padding: 0.85rem 2rem; font-size: 0.88rem; background: transparent; color: var(--white); border-color: var(--white-20); }
.btn-outline:hover { background: var(--white); color: var(--black); border-color: var(--white); transform: translateY(-2px); }
.btn-ghost  { padding: 0.4rem 0; font-size: 0.8rem; background: transparent; color: var(--red); border: none; }
.btn-ghost:hover { gap: 0.9rem; }
.btn-sm { padding: 0.5rem 1.1rem; font-size: 0.75rem; }

/* ──────────────────── HERO (Homepage) ───────────────────── */
.hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center; overflow: hidden;
}
.hero__bg {
  position: absolute; inset: 0;
  background: url('https://images.unsplash.com/photo-1773289336887-470b1d0c91b2?auto=format&fit=crop&w=1600&q=70') center/cover no-repeat;
  transform: scale(1.06); will-change: transform;
}
.hero__bg::after {
  content: '';  position: absolute; inset: 0;
  background: linear-gradient(108deg, rgba(13,13,13,0.94) 0%, rgba(13,13,13,0.72) 55%, rgba(13,13,13,0.45) 100%);
}
.hero__grain {
  position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero__content {
  position: relative; z-index: 2; width: 100%;
  padding: calc(var(--nav-h) + 2.5rem) clamp(1.25rem,4vw,3rem) 5rem;
  max-width: 1300px; margin: 0 auto;
}
.hero__eyebrow {
  display: inline-flex; align-items: center; gap: 0.75rem;
  font-family: var(--font-cond); font-size: 0.72rem;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--red); font-weight: 700; margin-bottom: 1.5rem;
}
.hero__eyebrow::before { content: ''; display: block; width: 36px; height: 2px; background: var(--red); }
.hero__title {
  font-family: var(--font-display);
  font-size: clamp(3.8rem,11vw,10.5rem);
  line-height: 0.87; text-transform: uppercase; letter-spacing: -0.005em;
  margin-bottom: 1.75rem; max-width: 800px;
}
.hero__title .stroke {
  -webkit-text-stroke: 2px var(--white); color: transparent; display: block;
}
.hero__title .red { color: var(--red); display: block; }
.hero__title .solid { display: block; }
.hero__sub { max-width: 420px; font-size: 1.05rem; color: var(--gray-light); line-height: 1.7; margin-bottom: 2.5rem; }
.hero__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.hero__badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-family: var(--font-cond); font-size: 0.75rem;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-light);
  margin-left: 0.5rem;
}
.hero__badge svg { width: 14px; height: 14px; color: #F59E0B; }
.hero__stats {
  display: flex; gap: 3rem; flex-wrap: wrap;
  margin-top: 4rem; padding-top: 2rem;
  border-top: 1px solid var(--white-08);
}
.hero__stat-num { font-family: var(--font-display); font-size: 2.2rem; line-height: 1; }
.hero__stat-num span { color: var(--red); }
.hero__stat-lbl { font-family: var(--font-cond); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray); margin-top: 0.2rem; }
.hero__scroll {
  position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%);
  z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  font-family: var(--font-cond); font-size: 0.62rem; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--gray);
}
.hero__scroll-line { width: 1px; height: 36px; background: linear-gradient(to bottom, var(--gray), transparent); animation: scrollLine 1.6s ease-in-out infinite; }
@keyframes scrollLine { 0%,100%{transform:scaleY(1);opacity:1} 50%{transform:scaleY(0.4);opacity:0.4} }

/* ──────────────────── MARQUEE BAND ──────────────────────── */
.marquee-band { background: var(--red); color: #FFFFFF; padding: 0.8rem 0; overflow: hidden; white-space: nowrap; }
.marquee-track { display: inline-flex; animation: marquee 22s linear infinite; }
.marquee-track span { font-family: var(--font-display); font-size: 1rem; letter-spacing: 0.06em; text-transform: uppercase; padding: 0 1.5rem; }
.marquee-track .sep { color: rgba(255,255,255,0.35); padding: 0; }

/* ──────────────────── BRAND LOGO STRIP ──────────────────── */
.brand-strip {
  position: relative;
  overflow: hidden;
  background: var(--black);
  border-top: 1px solid var(--white-08);
  border-bottom: 1px solid var(--white-08);
  padding: clamp(1.2rem,3vw,2rem) 0;
}
.brand-strip::before,
.brand-strip::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: clamp(3rem,8vw,8rem);
  pointer-events: none;
}
.brand-strip::before { left: 0; background: linear-gradient(to right, var(--black), transparent); }
.brand-strip::after { right: 0; background: linear-gradient(to left, var(--black), transparent); }
.brand-strip__track {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.85rem,2vw,1.35rem);
  min-width: max-content;
  animation: marquee 36s linear infinite;
}
.brand-logo-card {
  width: clamp(128px,13vw,180px);
  height: clamp(72px,7vw,92px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0.95rem 1.1rem;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-lg);
  box-shadow: 0 14px 36px rgba(0,0,0,0.28);
}
.brand-logo-card img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
}
@media (max-width: 700px) {
  .brand-strip { padding: 1rem 0; }
  .brand-strip__track { gap: 1rem; animation-duration: 42s; }
  .brand-logo-card { width: 118px; height: 64px; padding: 0.75rem 0.85rem; }
}
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ──────────────────── PRODUCT CARD ──────────────────────── */
.product-card {
  position: relative;
  background: var(--black-2);
  border: 1px solid var(--black-4);
  border-radius: var(--r-lg);
  overflow: hidden; transition: var(--t); cursor: pointer;
}
.product-card:hover { border-color: rgba(193,18,31,0.35); transform: translateY(-5px); box-shadow: 0 24px 60px rgba(0,0,0,0.55); }
.product-card__img { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--black-3); contain: layout paint; }
.product-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.product-card:hover .product-card__img img { transform: scale(1.09); }
.product-card__carousel {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--black-3);
}
.product-card__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.55s var(--ease), transform 0.6s var(--ease);
}
.product-card__slide.active { opacity: 1; }
.product-card__carousel-dots {
  position: absolute;
  left: 50%;
  bottom: 0.58rem;
  z-index: 3;
  display: flex;
  gap: 0.32rem;
  transform: translateX(-50%);
  padding: 0.28rem 0.38rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  background: rgba(13,13,13,0.58);
  backdrop-filter: blur(8px);
}
.product-card__carousel-dots button {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.48);
  transition: var(--t);
}
.product-card__carousel-dots button.active {
  width: 16px;
  border-radius: 999px;
  background: var(--white);
}
.product-card:hover .product-card__carousel-dots,
.product-card:focus-within .product-card__carousel-dots { opacity: 1; }

/* Badges */
.product-card__badge {
  position: absolute; top: 0.7rem; left: 0.7rem; z-index: 1;
  padding: 0.18rem 0.55rem;
  font-family: var(--font-cond); font-size: 0.62rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase; border-radius: 3px;
}
.badge-new  { background: var(--red); color: #FFFFFF; }
.badge-hot  { background: #E96B1A; color: #FFFFFF; }
.badge-sale { background: #16A34A; color: #FFFFFF; }
.badge-sold { background: #555555; color: #FFFFFF; }

/* Wishlist */
.product-card__wish {
  position: absolute; top: 0.7rem; right: 0.7rem; z-index: 1;
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(13,13,13,0.7); backdrop-filter: blur(6px);
  border-radius: 50%; color: var(--gray-light); transition: var(--t);
}
.product-card__wish svg { width: 13px; height: 13px; }
.product-card__wish:hover, .product-card__wish.active { background: var(--red); color: #FFFFFF; }

/* Hover overlay CTA */
.product-card__overlay {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
  background: linear-gradient(to top, rgba(13,13,13,0.92) 0%, transparent 100%);
  padding: 1.5rem 0.9rem 0.9rem;
  display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0.5rem;
  transform: translateY(100%); transition: transform 0.3s var(--ease);
}
.product-card:hover .product-card__overlay,
.product-card:focus-within .product-card__overlay { transform: none; }
.product-card__add {
  min-width: 0; padding: 0.7rem 0.8rem; text-align: center;
  background: var(--red); color: #FFFFFF;
  font-family: var(--font-cond); font-weight: 700;
  font-size: 0.73rem; letter-spacing: 0.1em; text-transform: uppercase;
  border-radius: var(--r); transition: var(--t);
}
.product-card__add:hover { background: var(--red-light); }
.product-card__details {
  min-width: 88px; height: auto;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.7rem 0.85rem;
  background: var(--black-3); border: 1px solid var(--black-5);
  border-radius: var(--r); color: var(--gray-light); transition: var(--t);
  font-family: var(--font-cond); font-weight: 800;
  font-size: 0.73rem; letter-spacing: 0.1em; text-transform: uppercase;
  white-space: nowrap;
}
.product-card__details:hover { background: var(--white); border-color: var(--white); color: var(--black); }
.product-card__quick {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: var(--black-3); border: 1px solid var(--black-5);
  border-radius: var(--r); color: var(--gray-light); transition: var(--t);
}
.product-card__quick svg { width: 14px; height: 14px; }
.product-card__quick:hover { background: var(--black-4); color: var(--white); }

/* Info */
.product-card__info { padding: 0.9rem; }
.product-card__cat  { font-family: var(--font-cond); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray); margin-bottom: 0.25rem; }
.product-card__name { font-family: var(--font-cond); font-size: 1rem; font-weight: 700; letter-spacing: 0.03em; line-height: 1.2; margin-bottom: 0.5rem; }
.product-card__bottom { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.product-card__price { font-family: var(--font-display); font-size: 1.2rem; line-height: 1; }
.product-card__price-old { font-family: var(--font-cond); font-size: 0.82rem; color: var(--gray); text-decoration: line-through; margin-left: 0.3rem; }
.product-card__stars { display: flex; gap: 1.5px; font-size: 0.6rem; color: #F59E0B; }

/* Product grids */
.products-grid   { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; }
.products-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }

/* ──────────────────── FEATURED BLOCK ────────────────────── */
.featured-split {
  display: grid; grid-template-columns: 1fr 1fr; gap: 3px;
  background: var(--black-4); border-radius: var(--r-xl); overflow: hidden;
  margin-bottom: 1.5rem;
  height: clamp(520px, 50vw, 700px);
  transition: opacity 0.25s var(--ease), filter 0.25s var(--ease);
}
.featured-split.is-changing { opacity: 0.62; filter: saturate(0.85); }
.featured-main { position: relative; height: 100%; min-height: 0; overflow: hidden; background: var(--black-3); contain: layout paint; }
.featured-main,
.featured-small { color: var(--white); display: block; }
.featured-main img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.featured-main:hover img { transform: scale(1.04); }
.featured-main__info {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,13,13,0.92) 35%, rgba(13,13,13,0.1) 75%);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 2rem;
}
.featured-tag { display: inline-block; padding: 0.18rem 0.7rem; background: var(--red); font-family: var(--font-cond); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; border-radius: 3px; margin-bottom: 0.65rem; }
.featured-name { font-family: var(--font-display); font-size: 2.1rem; text-transform: uppercase; line-height: 0.95; margin-bottom: 0.4rem; }
.featured-price { font-family: var(--font-display); font-size: 1.4rem; color: var(--red); }
.featured-secondary { display: grid; grid-template-rows: 1fr 1fr; min-height: 0; }
.featured-small { position: relative; height: 100%; min-height: 0; overflow: hidden; background: var(--black-3); contain: layout paint; }
.featured-small:first-child { border-bottom: 3px solid var(--black-4); }
.featured-small img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.featured-small:hover img { transform: scale(1.06); }
.featured-small__info {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,13,13,0.88) 30%, transparent 70%);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 1.25rem;
}
.featured-small-name  { font-family: var(--font-cond); font-weight: 700; font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.2rem; }
.featured-small-price { font-family: var(--font-display); font-size: 1.15rem; color: var(--red); }

/* ──────────────────── CATEGORIES ────────────────────────── */
.categories__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.25rem; }
.cat-card { position: relative; aspect-ratio: 3/4; border-radius: var(--r-lg); overflow: hidden; cursor: pointer; display: block; contain: layout paint; }
.cat-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.65s var(--ease); }
.cat-card:hover .cat-card__img { transform: scale(1.07); }
.cat-card__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,13,13,0.88) 25%, rgba(13,13,13,0.15) 75%);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem;
  transition: var(--t-slow);
}
.cat-card:hover .cat-card__overlay { background: linear-gradient(to top, rgba(193,18,31,0.7) 0%, rgba(13,13,13,0.6) 100%); }
.cat-card__name  { font-family: var(--font-display); font-size: 1.3rem; text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 0.2rem; }
.cat-card__count { font-family: var(--font-cond); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white-60); }
.cat-card__arrow {
  position: absolute; top: 0.9rem; right: 0.9rem;
  width: 30px; height: 30px; background: var(--red); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transform: scale(0.7); transition: var(--t);
}
.cat-card:hover .cat-card__arrow { opacity: 1; transform: scale(1); }
.cat-card__arrow svg { width: 13px; height: 13px; }

/* ──────────────────── BENEFITS ──────────────────────────── */
.benefits { background: var(--black-2); }
.benefits__grid {
  display: grid; grid-template-columns: repeat(4,1fr);
  border: 1px solid var(--black-4); border-radius: var(--r-lg); overflow: hidden;
}
.benefit-item { padding: 2rem 1.75rem; border-right: 1px solid var(--black-4); transition: var(--t); }
.benefit-item:last-child { border-right: none; }
.benefit-item:hover { background: rgba(193,18,31,0.04); }
.benefit-icon {
  width: 48px; height: 48px; border-radius: 8px;
  background: rgba(193,18,31,0.1); border: 1px solid rgba(193,18,31,0.2);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1rem; transition: var(--t);
}
.benefit-item:hover .benefit-icon { background: var(--red); border-color: var(--red); }
.benefit-icon svg { width: 22px; height: 22px; color: var(--red); transition: var(--t); }
.benefit-item:hover .benefit-icon svg { color: var(--white); }
.benefit-title { font-family: var(--font-cond); font-weight: 700; font-size: 0.95rem; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 0.35rem; }
.benefit-desc  { font-size: 0.82rem; color: var(--gray); line-height: 1.55; }

/* ──────────────────── TESTIMONIALS ─────────────────────── */
.testimonials { background: var(--black-2); }
.testimonials__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.testi-card {
  background: var(--black-3); border: 1px solid var(--black-4);
  border-radius: var(--r-lg); padding: 1.75rem; transition: var(--t);
}
.testi-card:hover { border-color: rgba(193,18,31,0.25); transform: translateY(-3px); }
.testi-stars { display: flex; gap: 3px; color: #F59E0B; font-size: 0.78rem; margin-bottom: 1rem; }
.testi-text { font-size: 0.92rem; color: var(--gray-light); line-height: 1.75; margin-bottom: 1.5rem; position: relative; }
.testi-text::before { content: '\201C'; position: absolute; top: -0.5rem; left: -0.25rem; font-size: 3rem; color: var(--red); font-family: Georgia, serif; line-height: 1; opacity: 0.6; }
.testi-author { display: flex; align-items: center; gap: 0.75rem; }
.testi-avatar { width: 42px; height: 42px; border-radius: 50%; overflow: hidden; border: 2px solid var(--red); flex-shrink: 0; }
.testi-avatar img { width: 100%; height: 100%; object-fit: cover; }
.testi-name  { font-family: var(--font-cond); font-weight: 700; font-size: 0.88rem; letter-spacing: 0.05em; text-transform: uppercase; }
.testi-sport { font-size: 0.72rem; color: var(--gray); }
.testi-discipline {
  margin-left: auto; padding: 0.2rem 0.55rem;
  background: rgba(193,18,31,0.1); border: 1px solid rgba(193,18,31,0.2);
  border-radius: 3px; font-family: var(--font-cond);
  font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--red);
  flex-shrink: 0;
}

/* ──────────────────── NEWSLETTER ────────────────────────── */
.newsletter {
  background: var(--black-3);
  border-top: 1px solid var(--black-4); border-bottom: 1px solid var(--black-4);
  padding: clamp(3rem,6vw,5rem) 0;
}
.newsletter__inner { display: flex; align-items: center; justify-content: space-between; gap: 3rem; flex-wrap: wrap; }
.newsletter__text .section-title { font-size: clamp(1.8rem,3.5vw,2.8rem); }
.newsletter__text p { color: var(--gray-light); font-size: 0.9rem; margin-top: 0.5rem; }
.newsletter__form {
  display: flex; max-width: 440px; width: 100%;
  border: 1px solid var(--black-4); border-radius: var(--r); overflow: hidden;
  background: var(--black-2);
}
.newsletter__input {
  flex: 1; padding: 0.85rem 1.25rem;
  background: transparent; color: var(--white); font-size: 0.9rem;
  border: none; outline: none;
}
.newsletter__input::placeholder { color: var(--gray); }
.newsletter__submit {
  padding: 0.85rem 1.4rem; background: var(--red); color: #FFFFFF;
  font-family: var(--font-cond); font-weight: 700; font-size: 0.78rem;
  letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; transition: var(--t);
}
.newsletter__submit:hover { background: var(--red-light); }

/* ──────────────────── FOOTER ─────────────────────────────── */
.footer { background: var(--black-2); border-top: 1px solid var(--black-4); padding: clamp(3rem,6vw,5rem) 0 2rem; }
.footer__top {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem;
  margin-bottom: 3rem; padding-bottom: 3rem; border-bottom: 1px solid var(--black-4);
}
.footer__brand-desc { font-size: 0.84rem; color: var(--gray); line-height: 1.7; margin-top: 1rem; max-width: 260px; }
.footer__socials { display: flex; gap: 0.65rem; margin-top: 1.5rem; }
.footer__social {
  width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  background: var(--black-3); border: 1px solid var(--black-4);
  border-radius: 6px; color: var(--gray-light); transition: var(--t);
}
.footer__social:hover { background: var(--red); border-color: var(--red); color: #FFFFFF; }
.footer__social svg { width: 15px; height: 15px; }
.footer__col-title { font-family: var(--font-cond); font-weight: 700; font-size: 0.78rem; letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 1.2rem; }
.footer__links { display: flex; flex-direction: column; gap: 0.55rem; }
.footer__link { font-size: 0.84rem; color: var(--gray); transition: var(--t); }
.footer__link:hover { color: var(--white); padding-left: 4px; }
.footer__bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.footer__copyright { font-size: 0.78rem; color: var(--gray-dark); }
.footer__copyright span { color: var(--red); }
.footer__credit {
  color: var(--gray-light);
  font-weight: 600;
  transition: var(--t);
}
.footer__credit:hover { color: var(--red); }
.footer__legal { display: flex; gap: 1.5rem; }
.footer__legal a { font-size: 0.78rem; color: var(--gray-dark); transition: var(--t); }
.footer__legal a:hover { color: var(--gray-light); }

/* ──────────────────── PAGE HERO (inner pages) ───────────── */
.page-hero { padding: calc(var(--nav-h) + 3rem) 0 3rem; background: var(--black-2); border-bottom: 1px solid var(--black-4); }
.page-hero__breadcrumb {
  display: flex; align-items: center; gap: 0.5rem;
  font-family: var(--font-cond); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gray); margin-bottom: 1.25rem;
}
.page-hero__breadcrumb a { color: var(--gray); transition: var(--t); }
.page-hero__breadcrumb a:hover { color: var(--white); }
.page-hero__breadcrumb .current { color: var(--red); }
.page-hero__breadcrumb .sep { color: var(--black-5); }
.page-hero__title { font-family: var(--font-display); font-size: clamp(2.5rem,6vw,5rem); text-transform: uppercase; letter-spacing: 0.02em; }
.page-hero__sub { font-family: var(--font-cond); font-size: 1rem; color: var(--gray-light); margin-top: 0.75rem; letter-spacing: 0.04em; }

/* ──────────────────── LEGAL PAGES (CGV / Mentions légales) ─ */
.legal-content { max-width: 780px; margin: 0 auto; }
.legal-content .legal-updated { color: var(--gray); font-size: 0.82rem; letter-spacing: 0.04em; margin-bottom: 2.5rem; }
.legal-content h2 { font-family: var(--font-display); font-size: clamp(1.4rem,2.6vw,1.9rem); text-transform: uppercase; letter-spacing: 0.01em; margin: 2.75rem 0 1rem; padding-top: 1.75rem; border-top: 1px solid var(--black-4); }
.legal-content section:first-of-type h2 { margin-top: 0; padding-top: 0; border-top: none; }
.legal-content h3 { font-family: var(--font-cond); font-weight: 700; font-size: 1rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--red); margin: 1.6rem 0 0.6rem; }
.legal-content p { color: var(--gray-light); line-height: 1.75; margin-bottom: 1rem; }
.legal-content ul { margin: 0 0 1rem 1.25rem; list-style: disc; }
.legal-content li { color: var(--gray-light); line-height: 1.65; margin-bottom: 0.4rem; }
.legal-content a { color: var(--red); text-decoration: underline; text-underline-offset: 2px; }
.legal-content strong { color: var(--white); font-weight: 600; }
.legal-content address { font-style: normal; }

/* ──────────────────── CHECKOUT PAGE ─────────────────────── */
.checkout-page { min-height: 100vh; background: var(--black); }
.checkout-hero { padding: calc(var(--nav-h) + 3rem) 0 3rem; background: var(--black-2); border-bottom: 1px solid var(--black-4); }
.checkout-section { padding-top: clamp(3rem,6vw,5rem); }
.checkout-grid { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 1.5rem; align-items: start; }
.checkout-form { display: grid; gap: 1rem; }
.checkout-form--disabled { opacity: 0.55; pointer-events: none; }
.checkout-form--disabled .checkout-empty { opacity: 1; pointer-events: auto; }
.checkout-stepper {
  display: flex; align-items: center; list-style: none;
  background: var(--black-2); border: 1px solid var(--black-4); border-radius: var(--r-lg);
  padding: 1.1rem 1.4rem;
}
.checkout-stepper__item { display: flex; align-items: center; gap: 0.6rem; flex: 1; min-width: 0; }
.checkout-stepper__item:not(:last-child)::after {
  content: ''; flex: 1; height: 2px; background: var(--black-4); margin: 0 0.75rem; transition: var(--t);
}
.checkout-stepper__item.is-done:not(:last-child)::after { background: #16A34A; }
.checkout-stepper__num {
  width: 30px; height: 30px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--black-3); border: 1px solid var(--black-4); color: var(--gray-light);
  font-family: var(--font-cond); font-weight: 800; font-size: 0.8rem; transition: var(--t);
}
.checkout-stepper__label {
  font-family: var(--font-cond); font-weight: 800; font-size: 0.68rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--gray); white-space: nowrap; transition: var(--t);
}
.checkout-stepper__item.is-active .checkout-stepper__num { background: var(--red); border-color: var(--red); color: #FFFFFF; }
.checkout-stepper__item.is-active .checkout-stepper__label { color: var(--white); }
.checkout-stepper__item.is-done .checkout-stepper__num { background: #16A34A; border-color: #16A34A; color: #FFFFFF; }
.checkout-stepper__item.is-done .checkout-stepper__label { color: var(--ok-text); }
.checkout-stepper__item.is-done { cursor: pointer; }
.checkout-step-panel { display: none; }
.checkout-step-panel.is-active { display: block; }
.checkout-step-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; margin-top: 1.5rem; }
.checkout-step-actions:has(.checkout-prev) { justify-content: space-between; }
.checkout-step-actions--final { justify-content: flex-start; margin-bottom: 1rem; }
.checkout-next {
  padding: 1rem 1.6rem; background: var(--red); color: #FFFFFF; border-radius: var(--r);
  font-family: var(--font-cond); font-weight: 800; font-size: 0.88rem; letter-spacing: 0.12em;
  text-transform: uppercase; transition: var(--t);
}
.checkout-next:hover { background: var(--red-light); transform: translateY(-1px); box-shadow: var(--shadow-red); }
.checkout-prev {
  padding: 1rem 1.4rem; background: transparent; border: 1px solid var(--black-4); color: var(--gray-light);
  border-radius: var(--r); font-family: var(--font-cond); font-weight: 800; font-size: 0.82rem;
  letter-spacing: 0.1em; text-transform: uppercase; transition: var(--t);
}
.checkout-prev:hover { border-color: var(--red); color: var(--white); }
.checkout-items--editable .checkout-item { grid-template-columns: 64px 1fr auto; }
.checkout-items--editable .cart-qty { margin-top: 0.5rem; }
.checkout-items--editable .cart-item__remove { display: inline-block; margin-top: 0.35rem; }

.nav__icon-btn--active { color: var(--red); }

/* ──────────────────── ACCOUNT PAGE ───────────────────────── */
.account-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,480px); gap: 1.5rem; align-items: stretch; }
.account-split[hidden] { display: none; }

.account-promo {
  position: relative; overflow: hidden; border-radius: var(--r-lg);
  min-height: 480px; display: flex; align-items: flex-end;
}
.account-promo__bg {
  position: absolute; inset: 0;
  background: url('https://images.unsplash.com/photo-1773289336887-470b1d0c91b2?auto=format&fit=crop&w=1000&q=70') center top/cover no-repeat;
  transform: scale(1.04);
}
.account-promo__bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(13,13,13,0.55) 0%, rgba(13,13,13,0.88) 65%, rgba(13,13,13,0.97) 100%);
}
.account-promo__grain {
  position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.account-promo__content { position: relative; z-index: 2; padding: clamp(1.75rem,3vw,2.75rem); }
.account-promo__title {
  font-family: var(--font-display); font-weight: 400; text-transform: uppercase;
  font-size: clamp(2.4rem,4vw,3.4rem); line-height: 0.92; margin-bottom: 1rem;
}
.account-promo__title .red { color: var(--red); display: block; }
.account-promo__sub { max-width: 40ch; color: var(--gray-light); line-height: 1.65; font-size: 0.98rem; }
.account-promo__stats {
  display: flex; gap: 2.2rem; margin-top: 2.2rem; padding-top: 1.6rem;
  border-top: 1px solid var(--white-08); flex-wrap: wrap;
}

.account-auth { display: flex; flex-direction: column; justify-content: center; }
.account-tabs { display: flex; gap: 0.5rem; margin-bottom: 1.2rem; }
.account-tab {
  flex: 1; padding: 0.85rem; background: var(--black-2); border: 1px solid var(--black-4);
  border-radius: var(--r); color: var(--gray-light); font-family: var(--font-cond);
  font-weight: 800; font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase;
  transition: var(--t);
}
.account-tab.is-active { background: var(--red); border-color: var(--red); color: #FFFFFF; }
.account-form[hidden] { display: none; }
.account-form { border-top: 3px solid var(--red); }
.account-form .checkout-submit { margin-top: 0.3rem; }
.account-forgot { text-align: center; margin-top: 0.9rem; }
.account-forgot a { color: var(--gray-light); font-size: 0.82rem; text-decoration: underline; text-decoration-color: var(--black-5); text-underline-offset: 3px; transition: var(--t); }
.account-forgot a:hover { color: var(--white); text-decoration-color: var(--red); }
#forgotPasswordPanel .checkout-account-banner__text .account-forgot { text-align: left; margin-top: 0.7rem; }

.account-dashboard { max-width: 760px; margin: 0 auto; }

.member-card {
  position: relative; overflow: hidden; display: flex; align-items: center; gap: 1.5rem;
  background: linear-gradient(120deg, var(--black-2) 0%, var(--black-3) 100%);
  border: 1px solid var(--black-4); border-radius: var(--r-lg);
  padding: 1.6rem 1.8rem; margin-bottom: 1.8rem; flex-wrap: wrap;
}
.member-card__stripe {
  position: absolute; top: 0; right: -40px; width: 160px; height: 220%;
  background: var(--red); opacity: 0.9; transform: rotate(18deg);
}
.member-card__body { position: relative; z-index: 1; flex: 1; min-width: 220px; }
.member-card__kicker {
  display: block; font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase; font-size: 0.7rem; color: var(--red); margin-bottom: 0.4rem;
}
.member-card__name {
  font-family: var(--font-display); font-size: clamp(1.9rem,3vw,2.6rem); text-transform: uppercase; line-height: 1;
}
.member-card__email { color: var(--gray-light); font-size: 0.9rem; margin-top: 0.4rem; }
.member-card__since { color: var(--gray); font-size: 0.78rem; margin-top: 0.25rem; letter-spacing: 0.04em; }
.member-card__logout {
  position: relative; z-index: 1; display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1.2rem; background: transparent; border: 1px solid var(--black-5); color: var(--gray-light);
  border-radius: var(--r); font-family: var(--font-cond); font-weight: 800; font-size: 0.8rem;
  letter-spacing: 0.08em; text-transform: uppercase; transition: var(--t);
}
.member-card__logout svg { width: 16px; height: 16px; }
.member-card__logout:hover { border-color: var(--red); color: var(--white); }

.account-edit { display: grid; gap: 1rem; margin-bottom: 1.8rem; }
#forgotPasswordForm { margin-top: 0.9rem; display: flex; flex-direction: column; gap: 0.6rem; }
#forgotPasswordForm[hidden] { display: none; }
.account-orders { display: grid; gap: 1rem; }
.account-order {
  background: var(--black-2); border: 1px solid var(--black-4); border-radius: var(--r-lg);
  padding: 1.3rem 1.5rem;
}
.account-order__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.3rem; }
.account-order__head strong { display: block; font-family: var(--font-cond); font-size: 1.05rem; letter-spacing: 0.04em; }
.account-order__head span { display: block; color: var(--gray); font-size: 0.8rem; margin-top: 0.15rem; }
.account-order__head b { font-family: var(--font-display); font-size: 1.3rem; white-space: nowrap; }
.account-order__issue {
  color: var(--bad-text); background: rgba(193,18,31,0.1); border: 1px solid rgba(193,18,31,0.3);
  border-radius: var(--r); padding: 0.75rem 0.9rem; font-size: 0.88rem;
}
.account-order__tracking { margin-top: 1rem; color: var(--gray-light); font-size: 0.85rem; }
.account-order__tracking code {
  background: var(--black-3); border: 1px solid var(--black-4); border-radius: 4px;
  padding: 0.1rem 0.4rem; color: var(--white); font-size: 0.82rem;
}

/* Order progress: icon-based ring stepper (distinct from the checkout tunnel's numbered stepper) */
.account-progress { display: flex; list-style: none; }
.account-progress__item { display: flex; align-items: center; gap: 0.6rem; flex: 1; min-width: 0; }
.account-progress__item:not(:last-child)::after { content: ''; flex: 1; height: 2px; background: var(--black-4); margin: 0 0.6rem; transition: var(--t); }
.account-progress__item.is-done:not(:last-child)::after { background: #16A34A; }
.account-progress__icon {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--black-3); border: 1px solid var(--black-4); color: var(--gray);
  transition: var(--t);
}
.account-progress__icon svg { width: 16px; height: 16px; }
.account-progress__item.is-active .account-progress__icon {
  background: var(--red); border-color: var(--red); color: #FFFFFF;
  box-shadow: 0 0 0 5px rgba(193,18,31,0.16);
}
.account-progress__item.is-done .account-progress__icon { background: #16A34A; border-color: #16A34A; color: #FFFFFF; }
.account-progress__label {
  font-family: var(--font-cond); font-weight: 800; font-size: 0.64rem; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--gray); line-height: 1.2;
}
.account-progress__item.is-active .account-progress__label,
.account-progress__item.is-done .account-progress__label { color: var(--white); }

@media (max-width: 900px) {
  .account-split { grid-template-columns: 1fr; }
  .account-promo { min-height: 260px; }
  .account-promo__stats { gap: 1.5rem; }
}
@media (max-width: 640px) {
  .account-progress__label { display: none; }
  .account-progress__item:not(:last-child)::after { margin: 0 0.35rem; }
  .member-card { padding: 1.3rem 1.4rem; }
  .member-card__stripe { display: none; }
}
.checkout-panel,
.checkout-summary {
  background: var(--black-2);
  border: 1px solid var(--black-4);
  border-radius: var(--r-lg);
}
.checkout-panel { padding: clamp(1.25rem,3vw,1.8rem); }
.checkout-panel__head,
.checkout-summary__head {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin-bottom: 1.25rem;
}
.checkout-panel__head h2,
.checkout-summary__head h2 {
  font-family: var(--font-display); font-size: 1.8rem; line-height: 1;
  text-transform: uppercase; letter-spacing: 0.03em;
}
.checkout-step {
  width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  background: var(--red); color: #FFFFFF; border-radius: 50%;
  font-family: var(--font-cond); font-weight: 800; font-size: 0.75rem;
}
.checkout-account-banner {
  border-radius: var(--r-lg); margin-bottom: 1.3rem; padding: 1.25rem 1.4rem;
  border: 1px solid var(--black-4); border-left: 3px solid var(--red); background: var(--black-3);
}
.checkout-account-banner[hidden] { display: none; }
.checkout-account-banner--connected {
  display: flex; align-items: center; gap: 1rem;
  border-left-color: #16A34A; border-color: rgba(22,163,74,0.3); background: rgba(22,163,74,0.08);
}
.checkout-account-banner--connected strong { display: block; font-family: var(--font-cond); font-weight: 800; font-size: 0.95rem; letter-spacing: 0.01em; }
.checkout-account-banner--connected span { display: block; color: var(--gray-light); font-size: 0.82rem; margin-top: 0.2rem; }

.checkout-account-banner__icon {
  flex-shrink: 0; width: 42px; height: 42px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(193,18,31,0.12); color: var(--red);
}
.checkout-account-banner__icon svg { width: 20px; height: 20px; }
.checkout-account-banner__icon--ok { background: rgba(22,163,74,0.15); color: #16A34A; }

.checkout-account-banner__prompt { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.checkout-account-banner__text { flex: 1 1 240px; min-width: 0; }
.checkout-account-banner__text strong { display: block; font-family: var(--font-cond); font-weight: 800; font-size: 0.95rem; letter-spacing: 0.01em; }
.checkout-account-banner__text span { display: block; color: var(--gray); font-size: 0.82rem; margin-top: 0.25rem; max-width: 42ch; line-height: 1.5; }

.checkout-account-banner__actions { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; margin-left: auto; }
.checkout-account-banner__login-btn {
  display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.75rem 1.3rem; background: var(--red); color: #FFFFFF; border-radius: var(--r);
  font-family: var(--font-cond); font-weight: 800; font-size: 0.8rem; letter-spacing: 0.08em;
  text-transform: uppercase; white-space: nowrap; transition: var(--t);
}
.checkout-account-banner__login-btn svg { width: 15px; height: 15px; }
.checkout-account-banner__login-btn:hover { background: var(--red-light); transform: translateY(-1px); box-shadow: var(--shadow-red); }
.checkout-account-banner__login-btn.is-active { background: var(--black-4); color: var(--gray-light); box-shadow: none; transform: none; }

.checkout-account-banner__guest-btn {
  color: var(--gray-light); font-family: var(--font-cond); font-weight: 700; font-size: 0.8rem;
  letter-spacing: 0.03em; text-decoration: underline; text-decoration-color: var(--black-5);
  text-underline-offset: 4px; white-space: nowrap; transition: var(--t);
}
.checkout-account-banner__guest-btn:hover { color: var(--white); text-decoration-color: var(--red); }

.checkout-account-login {
  display: grid; grid-template-columns: 1fr 1fr auto; gap: 0.6rem;
  margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--black-4);
}
.checkout-account-login[hidden] { display: none; }
.checkout-account-login__submit {
  padding: 0 1.2rem; background: var(--red); color: #FFFFFF; border-radius: var(--r);
  font-family: var(--font-cond); font-weight: 800; font-size: 0.82rem; letter-spacing: 0.06em;
  text-transform: uppercase; white-space: nowrap; transition: var(--t);
}
.checkout-account-login__submit:hover { background: var(--red-light); }
@media (max-width: 640px) {
  .checkout-account-banner__prompt { align-items: flex-start; }
  .checkout-account-banner__actions { margin-left: 0; width: 100%; }
  .checkout-account-banner__login-btn { flex: 1; justify-content: center; }
  .checkout-account-login { grid-template-columns: 1fr; }
}

.checkout-fields { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.checkout-fields label {
  display: grid; gap: 0.4rem;
  font-family: var(--font-cond); font-weight: 800; font-size: 0.72rem;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--gray-light);
}
.checkout-field-full { grid-column: 1/-1; }
.checkout-input {
  width: 100%; padding: 0.85rem 0.95rem;
  background: var(--black-3); border: 1px solid var(--black-4);
  border-radius: var(--r); color: var(--white);
  font-family: var(--font-body); font-size: 0.92rem; outline: none; transition: var(--t);
}
.checkout-input:focus { border-color: var(--red); background: rgba(193,18,31,0.04); }
.checkout-input--error { border-color: var(--red) !important; box-shadow: 0 0 0 2px rgba(193,18,31,0.2); }
.checkout-delivery-zone-note { margin-top: 0.6rem; color: var(--gray); font-size: 0.8rem; line-height: 1.5; }
.checkout-delivery-zone-error {
  margin-top: 0.6rem; padding: 0.7rem 0.9rem; border-radius: var(--r);
  border: 1px solid var(--red); background: rgba(193,18,31,0.08); color: var(--red-light);
  font-size: 0.85rem; line-height: 1.5; font-weight: 700;
}
.checkout-delivery-zone-error[hidden] { display: none; }
.shipping-options { display: grid; gap: 0.75rem; margin-top: 1rem; }
.shipping-option {
  display: grid; grid-template-columns: auto 1fr auto; gap: 0.85rem; align-items: center;
  padding: 1rem; background: var(--black-3); border: 1px solid var(--black-4);
  border-radius: var(--r); cursor: pointer; transition: var(--t);
}
.shipping-option:hover,
.shipping-option:has(input:checked) { border-color: var(--red); background: rgba(193,18,31,0.08); }
.shipping-option input { accent-color: var(--red); }
.shipping-option strong { display: block; font-family: var(--font-cond); font-size: 0.95rem; letter-spacing: 0.06em; text-transform: uppercase; }
.shipping-option small { display: block; color: var(--gray); font-size: 0.78rem; line-height: 1.45; margin-top: 0.15rem; }
.shipping-option b { font-family: var(--font-display); font-size: 1.2rem; white-space: nowrap; }
.shipping-option b .shipping-price-original { margin-right: 0.4rem; color: var(--gray); font-size: 0.85rem; text-decoration: line-through; font-family: var(--font-body); }
.shipping-option b .shipping-price-free { color: #16A34A; }
.shipping-free-hint {
  margin-top: 1rem; padding: 0.75rem 1rem; border-radius: var(--r);
  border: 1px solid var(--black-4); background: var(--black-3);
  color: var(--gray-light); font-size: 0.82rem; line-height: 1.4;
}
.shipping-free-hint[hidden] { display: none; }
.shipping-free-hint--unlocked { border-color: rgba(22,163,74,0.35); background: rgba(22,163,74,0.08); color: var(--ok-text); font-weight: 700; }
.shipping-option-group { display: grid; }
.shipping-option-group:has(.relay-picker:not([hidden])) > .shipping-option {
  border-radius: var(--r) var(--r) 0 0;
  border-color: var(--red); background: rgba(193,18,31,0.08);
  border-bottom-color: transparent;
}
.relay-picker { margin: 0; padding: 0.9rem 1rem 0.25rem; border: 1px solid var(--red); border-top: none; border-radius: 0 0 var(--r) var(--r); background: rgba(193,18,31,0.045); }
.relay-picker[hidden] { display: none; }
.relay-picker__title {
  font-family: var(--font-cond); font-size: 0.72rem; font-weight: 800;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--red);
  margin: 0 0 0.5rem;
}
.relay-picker__hint { color: var(--gray); font-size: 0.82rem; line-height: 1.5; margin: 0 0 0.65rem; }
.relay-picker__list { display: grid; max-height: 320px; overflow-y: auto; border-top: 1px solid rgba(193,18,31,0.18); margin-top: 0.15rem; }
.relay-point {
  display: grid; grid-template-columns: auto 1fr; gap: 0.65rem; align-items: start;
  padding: 0.65rem 0.15rem; border-bottom: 1px solid rgba(193,18,31,0.18);
  cursor: pointer; transition: var(--t);
}
.relay-point:last-child { border-bottom: none; }
.relay-point:hover,
.relay-point.is-selected { background: rgba(193,18,31,0.09); }
.relay-point input { accent-color: var(--red); margin-top: 0.25rem; }
.relay-point__body { min-width: 0; }
.relay-point__head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.relay-point strong {
  font-family: var(--font-cond); font-size: 0.86rem; letter-spacing: 0.03em; text-transform: uppercase;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.relay-point em {
  flex-shrink: 0; font-style: normal; font-size: 0.68rem; font-weight: 700;
  padding: 0.18rem 0.5rem; border-radius: 999px; background: var(--black-4); color: var(--gray-light);
}
.relay-point span { display: block; color: var(--gray); font-size: 0.78rem; line-height: 1.4; margin-top: 0.15rem; }
.payment-box { display: grid; gap: 1rem; }
.payment-method {
  padding: 1rem; border: 1px solid var(--red); border-radius: var(--r);
  background: rgba(193,18,31,0.08);
}
.payment-icons { display: flex; gap: 0.5rem; margin-bottom: 0.6rem; }
.payment-icon { border-radius: 4px; box-shadow: 0 0 0 1px rgba(0,0,0,0.14); }
.payment-card-icons { display: block; color: var(--red); font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.72rem; margin-bottom: 0.25rem; }
.payment-method strong { font-family: var(--font-display); font-size: 1.35rem; text-transform: uppercase; }
.checkout-payment-note { color: var(--gray-light); line-height: 1.6; font-size: 0.92rem; margin-top: 0.85rem; }
.checkout-cgv-check {
  display: flex; align-items: flex-start; gap: 0.6rem; margin-top: 1.1rem;
  padding: 0.85rem 1rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); cursor: pointer;
}
.checkout-cgv-check input { margin-top: 0.2rem; accent-color: var(--red); flex-shrink: 0; }
.checkout-cgv-check span { color: var(--gray-light); font-size: 0.88rem; line-height: 1.5; }
.checkout-cgv-check a { color: var(--white); text-decoration: underline; }
.checkout-cgv-check.checkout-cgv-check--error { border-color: var(--red); background: rgba(193,18,31,0.08); }
.checkout-submit {
  width: 100%; padding: 1.1rem; background: var(--red); color: #FFFFFF;
  border-radius: var(--r); font-family: var(--font-cond); font-weight: 800;
  font-size: 1rem; letter-spacing: 0.14em; text-transform: uppercase; transition: var(--t);
}
.checkout-submit:hover { background: var(--red-light); transform: translateY(-1px); box-shadow: var(--shadow-red); }
.checkout-submit:disabled { cursor: wait; opacity: 0.7; transform: none; box-shadow: none; }
.checkout-secure-note { color: var(--gray); font-size: 0.78rem; text-align: center; }
.checkout-summary {
  position: sticky; top: calc(var(--nav-h) + 1rem);
  padding: 1.25rem;
}
.checkout-summary__head a { color: var(--red); font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.72rem; }
.checkout-empty { display: none; place-items: center; gap: 1rem; text-align: center; padding: 2rem 1rem; }
.checkout-empty p { color: var(--gray-light); }
.checkout-items { display: grid; gap: 0.9rem; }
.checkout-item {
  display: grid; grid-template-columns: 64px 1fr auto; gap: 0.85rem; align-items: center;
  padding-bottom: 0.9rem; border-bottom: 1px solid var(--black-4);
}
.checkout-item img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--r); background: var(--black-3); }
.checkout-item strong { display: block; font-family: var(--font-cond); font-size: 0.9rem; line-height: 1.15; text-transform: uppercase; letter-spacing: 0.04em; }
.checkout-item span { color: var(--gray); font-size: 0.76rem; }
.checkout-item b { font-family: var(--font-display); font-size: 1.05rem; white-space: nowrap; }
.checkout-totals { display: grid; gap: 0.65rem; padding-top: 1rem; }
.checkout-totals div { display: flex; align-items: center; justify-content: space-between; color: var(--gray-light); font-size: 0.9rem; }
.checkout-totals strong { color: var(--white); font-family: var(--font-display); font-size: 1.2rem; }
#checkoutDiscountLine[hidden] { display: none; }
.checkout-discount-line strong { color: #16A34A !important; }
.checkout-promo { padding: 0.9rem 0; border-top: 1px solid var(--black-4); border-bottom: 1px solid var(--black-4); margin: 0.4rem 0; }
.checkout-promo__form,
#checkoutPromoForm { display: flex; gap: 0.5rem; }
#checkoutPromoForm .checkout-input { min-height: 42px; padding: 0.6rem 0.85rem; font-size: 0.85rem; }
#checkoutPromoForm button { flex-shrink: 0; padding: 0 1rem; background: var(--black-4); color: var(--white); border-radius: var(--r); font-family: var(--font-cond); font-weight: 800; font-size: 0.78rem; letter-spacing: 0.05em; text-transform: uppercase; transition: var(--t); }
#checkoutPromoForm button:hover { background: var(--red); }
.checkout-promo__message { margin-top: 0.5rem; font-size: 0.8rem; line-height: 1.4; min-height: 1em; }
.checkout-promo__message[data-state="error"] { color: var(--bad-text); }
.checkout-promo__message[data-state="success"] { color: var(--ok-text); }
.checkout-total-line { padding-top: 0.75rem; border-top: 1px solid var(--black-4); }
.checkout-total-line span { font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--white); }
.checkout-total-line strong { font-size: 1.8rem; color: var(--red); }
.checkout-trust { display: grid; gap: 0.45rem; margin-top: 1.1rem; }
.checkout-trust span {
  padding: 0.65rem 0.75rem; border-radius: var(--r);
  background: rgba(22,163,74,0.08); border: 1px solid rgba(22,163,74,0.18);
  color: var(--ok-text); font-family: var(--font-cond); font-weight: 800;
  font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.checkout-confirmation {
  position: fixed; inset: 0; z-index: 1200; display: none;
  align-items: center; justify-content: center; padding: 1rem;
  background: rgba(0,0,0,0.78); backdrop-filter: blur(8px);
}
.checkout-confirmation.open { display: flex; }
.checkout-confirmation__box {
  width: min(440px, 100%); padding: 2rem; text-align: center;
  background: var(--black-2); border: 1px solid var(--black-4);
  border-radius: var(--r-lg); box-shadow: var(--shadow);
}
.checkout-confirmation__icon {
  width: 64px; height: 64px; display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem; border-radius: 50%; background: #16A34A; color: #FFFFFF;
  font-family: var(--font-display); font-size: 2rem;
}
.checkout-confirmation__icon--pending { background: var(--gray); }
.checkout-confirmation__icon--failed { background: var(--red); }
.checkout-confirmation__box h2 { font-family: var(--font-display); font-size: 2.5rem; text-transform: uppercase; line-height: 1; margin-bottom: 0.75rem; }
.checkout-confirmation__box p { color: var(--gray-light); line-height: 1.6; margin-bottom: 1.4rem; }

/* ──────────────────── SHOP LAYOUT ───────────────────────── */
.shop-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 2rem; align-items: start; }
.shop-main { min-width: 0; }

/* Sidebar */
.shop-sidebar {
  background: var(--black-2); border: 1px solid var(--black-4);
  border-radius: var(--r-lg); padding: 1.5rem;
  position: sticky; top: calc(var(--nav-h) + 1rem);
  max-height: calc(100vh - var(--nav-h) - 2rem); overflow-y: auto;
}
.shop-sidebar::-webkit-scrollbar { width: 4px; }
.shop-sidebar::-webkit-scrollbar-thumb { background: var(--black-5); border-radius: 999px; }
.shop-filter-group { margin-bottom: 1.75rem; padding-bottom: 1.75rem; border-bottom: 1px solid var(--black-4); }
.shop-filter-group:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.shop-filter-title {
  font-family: var(--font-cond); font-weight: 700; font-size: 0.78rem;
  letter-spacing: 0.14em; text-transform: uppercase;
  margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between;
}
.filter-clear { font-size: 0.65rem; color: var(--red); cursor: pointer; letter-spacing: 0.06em; }
.filter-list { display: flex; flex-direction: column; gap: 0.45rem; }
.filter-opt {
  display: flex; align-items: center; gap: 0.7rem;
  cursor: pointer; font-size: 0.85rem; color: var(--gray-light);
  transition: var(--t); padding: 0.2rem 0;
}
.filter-opt:hover { color: var(--white); }
.filter-opt[hidden] { display: none; }
.filter-opt input { display: none; }
.fchk {
  width: 15px; height: 15px; flex-shrink: 0;
  border: 1px solid var(--black-5); border-radius: 3px;
  display: flex; align-items: center; justify-content: center; transition: var(--t);
}
.filter-opt input:checked + .fchk { background: var(--red); border-color: var(--red); }
.filter-opt input:checked + .fchk::after { content: '✓'; color: var(--white); font-size: 0.58rem; font-weight: 900; }
.fcount { margin-left: auto; font-family: var(--font-cond); font-size: 0.68rem; color: var(--gray-dark); }
.fswatch {
  width: 16px; height: 16px; flex-shrink: 0; border-radius: 50%;
  border: 1px solid rgba(var(--on-surface-rgb),0.25); box-shadow: inset 0 0 0 2px rgba(var(--surface-rgb),0.9);
}
.color-filter-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 0.6rem; }
.facet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 0.6rem; }
.martial-category-list { display: flex; flex-direction: column; gap: 0.15rem; }

.category-search {
  position: relative; display: flex; align-items: center; margin-bottom: 0.9rem;
}
.category-search svg {
  position: absolute; left: 0.7rem; width: 14px; height: 14px; color: var(--gray-dark); pointer-events: none;
}
.category-search input {
  width: 100%; padding: 0.55rem 0.7rem 0.55rem 2rem; font-size: 0.8rem;
  background: var(--black-3); border: 1px solid var(--black-4); border-radius: var(--r);
  color: var(--white); transition: var(--t);
}
.category-search input::placeholder { color: var(--gray-dark); }
.category-search input:focus { border-color: var(--red); outline: none; }
.category-search-empty { font-size: 0.78rem; color: var(--gray-dark); padding: 0.4rem 0 0.8rem; }
.category-search-empty[hidden] { display: none; }

.category-branch {
  display: grid; gap: 0.2rem; padding: 0 0 0.15rem; border-top: 1px solid rgba(var(--on-surface-rgb),0.06);
}
.category-branch[hidden] { display: none; }
.category-branch__title {
  margin: 0; padding: 0.65rem 1.2rem 0.65rem 0; position: relative;
  color: var(--white); font-family: var(--font-cond); list-style: none;
  font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; font-size: 0.72rem;
  cursor: pointer; user-select: none; transition: var(--t);
}
.category-branch__title::-webkit-details-marker { display: none; }
.category-branch__title::after {
  content: ''; position: absolute; right: 0.1rem; top: 50%; width: 8px; height: 8px;
  border-right: 1.5px solid var(--gray-dark); border-bottom: 1.5px solid var(--gray-dark);
  transform: translateY(-70%) rotate(45deg); transition: var(--t);
}
.category-branch[open] > .category-branch__title::after { transform: translateY(-30%) rotate(-135deg); }
.category-branch__title:hover { color: var(--red); }
.category-branch .filter-opt { padding: 0.3rem 0 0.3rem 0.2rem; font-size: 0.79rem; line-height: 1.25; }
.category-branch:has(input:checked) {
  border-color: rgba(193,18,31,0.28);
}
.category-branch:has(input:checked) .category-branch__title {
  color: var(--red);
}
.category-branch:has(input:checked) .category-branch__title::after { border-color: var(--red); }
.shop-empty-state {
  grid-column: 1/-1; display: grid; place-items: center; min-height: 220px; padding: 2rem;
  border: 1px dashed var(--black-5); border-radius: var(--r-lg); color: var(--gray-light); text-align: center;
}

/* Price slider */
.price-range-wrap { display: flex; flex-direction: column; gap: 0.75rem; }
input[type="range"] { width: 100%; appearance: none; height: 3px; background: var(--black-4); border-radius: 2px; outline: none; }
input[type="range"]::-webkit-slider-thumb { appearance: none; width: 14px; height: 14px; background: var(--red); border-radius: 50%; cursor: pointer; }
.price-minmax { display: flex; justify-content: space-between; font-family: var(--font-cond); font-size: 0.78rem; color: var(--gray); }
.price-minmax strong { color: var(--white); }
.size-options { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.size-btn {
  padding: 0.3rem 0.65rem; background: var(--black-3); border: 1px solid var(--black-5);
  border-radius: 3px; font-family: var(--font-cond); font-weight: 700;
  font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--gray-light); cursor: pointer; transition: var(--t);
}
.size-btn:hover, .size-btn.active { background: var(--red); border-color: var(--red); color: #FFFFFF; }

/* Toolbar */
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.shop-results { font-family: var(--font-cond); font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gray); }
.shop-results strong { color: var(--white); }
.shop-search { position: relative; }
.shop-search input {
  padding: 0.55rem 1rem 0.55rem 2.4rem; background: var(--black-2);
  border: 1px solid var(--black-4); border-radius: var(--r);
  color: var(--white); font-size: 0.84rem; width: 210px;
  transition: var(--t); outline: none;
}
.shop-search input:focus { border-color: var(--red); width: 250px; }
.shop-search input::placeholder { color: var(--gray); }
.shop-search svg { position: absolute; left: 0.7rem; top: 50%; transform: translateY(-50%); width: 13px; height: 13px; color: var(--gray); pointer-events: none; }
.shop-sort select {
  padding: 0.55rem 2.2rem 0.55rem 0.8rem; background: var(--black-2);
  border: 1px solid var(--black-4); border-radius: var(--r);
  color: var(--white); font-family: var(--font-cond); font-size: 0.78rem;
  letter-spacing: 0.05em; text-transform: uppercase; outline: none; cursor: pointer;
  transition: var(--t); appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.7rem center;
}
.shop-sort select:focus { border-color: var(--red); }
.view-toggle { display: flex; border: 1px solid var(--black-4); border-radius: var(--r); overflow: hidden; }
.view-btn { width: 35px; height: 35px; display: flex; align-items: center; justify-content: center; color: var(--gray); transition: var(--t); }
.view-btn.active, .view-btn:hover { background: var(--black-3); color: var(--white); }
.view-btn svg { width: 14px; height: 14px; }

/* Visual category navigation */
.shop-category-hub {
  margin-bottom: 1.5rem;
  padding: clamp(1rem,2.4vw,1.35rem);
  background: linear-gradient(135deg, rgba(var(--on-surface-rgb),0.045), rgba(var(--on-surface-rgb),0.015));
  border: 1px solid var(--black-4);
  border-radius: var(--r-lg);
}
.shop-category-hub__head {
  display: flex; align-items: end; justify-content: space-between; gap: 1rem;
  margin-bottom: 1rem;
}
.shop-category-hub__head h2 {
  margin-top: 0.2rem;
  font-family: var(--font-display); font-size: clamp(1.8rem,3.2vw,2.7rem);
  line-height: 0.95; text-transform: uppercase;
}
.shop-category-reset {
  min-height: 38px; padding: 0.45rem 0.8rem;
  border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-2); color: var(--gray-light);
  font-family: var(--font-cond); font-weight: 800; font-size: 0.72rem;
  letter-spacing: 0.1em; text-transform: uppercase; transition: var(--t);
  white-space: nowrap;
}
.shop-category-reset:hover { border-color: var(--red); color: var(--white); }
.shop-category-grid {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0.75rem;
}
.shop-category-card {
  position: relative; min-height: 142px; isolation: isolate;
  display: flex; align-items: end; overflow: hidden; text-align: left;
  border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.shop-category-card img {
  position: absolute; inset: 0; z-index: -2;
  width: 100%; height: 100%; object-fit: cover;
  filter: saturate(0.8) contrast(1.05); transform: scale(1.02);
  transition: transform 0.45s var(--ease), filter 0.45s var(--ease);
}
.shop-category-card::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(13,13,13,0.15), rgba(13,13,13,0.92) 72%);
}
.shop-category-card::after {
  content: ''; position: absolute; inset: 0;
  border: 2px solid transparent; border-radius: inherit; pointer-events: none;
  transition: border-color 0.25s var(--ease);
}
.shop-category-card:hover {
  transform: translateY(-2px); border-color: rgba(var(--on-surface-rgb),0.22);
  box-shadow: 0 16px 42px rgba(0,0,0,0.35);
}
.shop-category-card:hover img { transform: scale(1.08); filter: saturate(1) contrast(1.08); }
.shop-category-card.is-active {
  border-color: rgba(193,18,31,0.75); box-shadow: 0 14px 40px rgba(193,18,31,0.22);
}
.shop-category-card.is-active::after { border-color: var(--red); }
.shop-category-card__body {
  width: 100%; padding: 1rem;
  display: grid; gap: 0.15rem;
}
.shop-category-card__eyebrow,
.shop-category-card__meta {
  font-family: var(--font-cond); font-weight: 700; font-size: 0.66rem;
  letter-spacing: 0.11em; text-transform: uppercase; color: var(--white-60);
}
.shop-category-card__title {
  font-family: var(--font-display); font-size: 1.65rem;
  line-height: 0.9; text-transform: uppercase;
}
.shop-category-card__meta { color: var(--gray-light); }

/* Product grid (shop) */
.shop-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.shop-grid.list-view { grid-template-columns: 1fr; }
.shop-grid.list-view .product-card { display: grid; grid-template-columns: 200px 1fr; }
.shop-grid.list-view .product-card__img { height: 200px; aspect-ratio: unset; }

/* Pagination */
.pagination { display: flex; align-items: center; justify-content: center; gap: 0.45rem; margin-top: 2.5rem; }
.page-btn {
  width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
  background: var(--black-2); border: 1px solid var(--black-4); border-radius: var(--r);
  font-family: var(--font-cond); font-size: 0.85rem; font-weight: 700; color: var(--gray-light);
  cursor: pointer; transition: var(--t);
}
.page-btn.active, .page-btn:hover { background: var(--red); border-color: var(--red); color: #FFFFFF; }
.page-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.page-btn:disabled:hover { background: var(--black-2); border-color: var(--black-4); color: var(--gray-light); }
.page-btn svg { width: 13px; height: 13px; }
.page-ellipsis {
  width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-cond); font-size: 0.85rem; font-weight: 700; color: var(--gray);
}

/* ──────────────────── PRODUCT DETAIL MODAL ──────────────── */
.product-detail-modal {
  position: fixed; inset: 0; z-index: 1100;
  display: none; align-items: center; justify-content: center;
  padding: clamp(1rem,3vw,2rem);
}
.product-detail-modal.open { display: flex; }
.product-detail-modal__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,0.74);
  backdrop-filter: blur(8px);
}
.product-detail {
  position: relative; z-index: 1;
  width: min(1060px, 100%);
  max-height: min(88vh, 860px);
  display: grid; grid-template-columns: minmax(300px, 0.78fr) minmax(420px, 1fr);
  align-items: start;
  background: var(--black-2);
  border: 1px solid var(--black-4);
  border-radius: var(--r-lg);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  box-shadow: 0 30px 90px rgba(0,0,0,0.65);
}
.product-detail__close {
  position: absolute; top: 0.9rem; right: 0.9rem; z-index: 2;
  width: 36px; height: 36px; border-radius: var(--r);
  display: flex; align-items: center; justify-content: center;
  background: rgba(13,13,13,0.8); border: 1px solid var(--white-08);
  color: var(--white); font-size: 1.4rem; line-height: 1; transition: var(--t);
}
.product-detail__close:hover { background: var(--red); border-color: var(--red); }
.product-detail__media {
  position: sticky; top: 0;
  height: min(88vh, 860px);
  background: var(--black-3);
}
.product-detail__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.product-detail__body {
  padding: clamp(1.5rem,3vw,2.4rem);
  min-width: 0;
}
.product-detail__cat {
  font-family: var(--font-cond); font-size: 0.72rem; font-weight: 800;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--red);
  margin-bottom: 0.45rem;
}
.product-detail__name {
  font-family: var(--font-display); font-size: clamp(2.3rem,4.5vw,4.2rem);
  line-height: 0.92; text-transform: uppercase; letter-spacing: 0.01em;
  margin-bottom: 0.7rem;
}
.product-detail__rating { display: flex; align-items: center; gap: 0.65rem; flex-wrap: wrap; margin-bottom: 1rem; font-size: 0.8rem; color: var(--gray); }
.product-detail__rating span:first-child { color: #F59E0B; letter-spacing: 0.05em; }
.product-detail__rating strong { color: var(--white); font-family: var(--font-cond); letter-spacing: 0.06em; }
.product-detail__price { font-family: var(--font-display); font-size: 2rem; color: var(--white); margin-bottom: 1rem; }
.product-detail__desc { color: var(--gray-light); line-height: 1.75; margin-bottom: 1.3rem; max-width: 560px; }
.product-detail__block {
  padding: 1rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: rgba(var(--on-surface-rgb),0.02); margin-bottom: 1rem;
}
.product-detail__block-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.85rem; }
.product-detail__block-head span,
.product-detail__block-head button {
  font-family: var(--font-cond); font-weight: 800; font-size: 0.74rem;
  letter-spacing: 0.12em; text-transform: uppercase;
}
.product-detail__block-head button { color: var(--red); }
.product-detail__sizes { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.product-variant-panel { display: grid !important; gap: 1rem !important; }
.product-variant-group { display: grid !important; gap: 0.55rem; margin-top: 0.75rem; }
.product-variant-group:first-child { margin-top: 0; }
.product-variant-group p {
  margin: 0; color: var(--gray-light);
  font-family: var(--font-cond); font-size: 0.72rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
}
.product-variant-group div { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.product-variant-group--colors div {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(150px,1fr));
  gap: 0.65rem !important;
}
.product-variant-group--sizes div {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(84px,1fr));
  gap: 0.6rem !important;
}
.detail-size {
  min-width: 50px; padding: 0.48rem 0.75rem;
  background: var(--black-3); border: 1px solid var(--black-5); border-radius: var(--r);
  font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.06em;
  color: var(--gray-light); transition: var(--t);
}
.detail-size:hover, .detail-size.active { background: var(--red); border-color: var(--red); color: #FFFFFF; }
.detail-size:disabled { opacity: 0.4; cursor: not-allowed; }
.detail-size:disabled:hover { background: var(--black-3); border-color: var(--black-5); color: var(--gray-light); }
.detail-size--color,
.detail-size--single,
.detail-size--size {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 58px;
  overflow: hidden;
  text-align: left;
}
.detail-size--color {
  gap: 0.7rem;
  padding: 0.58rem 0.7rem;
}
.detail-size--single,
.detail-size--size {
  justify-content: center;
  flex-direction: column;
  gap: 0.22rem;
  padding: 0.62rem 0.7rem;
  text-align: center;
}
.detail-size--color::after,
.detail-size--single::after,
.detail-size--size::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid transparent;
  border-radius: inherit;
  pointer-events: none;
}
.detail-size--color:hover,
.detail-size--single:hover,
.detail-size--size:hover {
  transform: translateY(-1px);
  background: rgba(var(--on-surface-rgb),0.075);
  border-color: rgba(var(--on-surface-rgb),0.22);
}
.detail-size--color.active,
.detail-size--single.active,
.detail-size--size.active {
  background: rgba(193,18,31,0.16);
  border-color: var(--red);
  box-shadow: 0 16px 34px rgba(193,18,31,0.2);
}
.detail-size--color.active::after,
.detail-size--single.active::after,
.detail-size--size.active::after { border-color: rgba(var(--on-surface-rgb),0.16); }
.detail-size--color:disabled,
.detail-size--single:disabled,
.detail-size--size:disabled {
  opacity: 0.5;
  filter: grayscale(0.7);
}
.detail-size--color:disabled:hover,
.detail-size--single:disabled:hover,
.detail-size--size:disabled:hover {
  transform: none;
  background: var(--black-3);
  border-color: var(--black-5);
  box-shadow: none;
}
.detail-size__swatch {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 6px;
  border: 1px solid rgba(var(--on-surface-rgb),0.2);
  background: var(--option-swatch);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.25);
}
.detail-size__body {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}
.detail-size strong {
  color: var(--white);
  font: inherit;
  overflow-wrap: anywhere;
}
.detail-size small {
  color: var(--gray);
  font-family: var(--font-body);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.detail-size.active small,
.detail-size[data-stock-state="in"] small { color: var(--ok-text); }
.detail-size[data-stock-state="low"] small { color: var(--warn-text); }
.detail-size:disabled small,
.detail-size[data-stock-state="out"] small { color: var(--bad-text); }
.product-variant-summary {
  display: flex !important;
  align-items: center;
  gap: 0.75rem !important;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(22,163,74,0.24);
  border-radius: var(--r);
  background: rgba(22,163,74,0.07);
}
.product-variant-summary[data-stock-state="low"] {
  border-color: rgba(245,158,11,0.34);
  background: rgba(245,158,11,0.08);
}
.product-variant-summary[data-stock-state="out"] {
  border-color: rgba(193,18,31,0.34);
  background: rgba(193,18,31,0.1);
}
.product-variant-summary__check {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  border-radius: 50%;
  background: #8EE6A6;
  box-shadow: 0 0 0 5px rgba(142,230,166,0.12);
}
.product-variant-summary[data-stock-state="low"] .product-variant-summary__check {
  background: #FBBF24;
  box-shadow: 0 0 0 5px rgba(251,191,36,0.13);
}
.product-variant-summary__check--muted,
.product-variant-summary[data-stock-state="out"] .product-variant-summary__check {
  background: #FF9AA4;
  box-shadow: 0 0 0 5px rgba(255,154,164,0.13);
}
.product-variant-summary span:last-child {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}
.product-variant-summary strong {
  font-family: var(--font-cond);
  font-weight: 900;
  color: var(--white);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.product-variant-summary small {
  color: var(--gray-light);
  font-size: 0.84rem;
  line-height: 1.4;
}
.product-detail__guide { display: none; margin-top: 0.85rem; color: var(--gray-light); font-size: 0.84rem; line-height: 1.6; }
.product-detail__guide.open { display: block; }
.product-detail__perks { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.6rem; margin-bottom: 1rem; }
.product-detail__perks span {
  padding: 0.72rem; text-align: center; border-radius: var(--r);
  background: rgba(22,163,74,0.08); border: 1px solid rgba(22,163,74,0.22);
  color: var(--ok-text); font-family: var(--font-cond); font-weight: 800;
  font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.product-detail__add {
  width: 100%; padding: 1rem; margin-bottom: 1.3rem;
  background: var(--red); color: #FFFFFF; border-radius: var(--r);
  font-family: var(--font-cond); font-weight: 800; font-size: 0.95rem;
  letter-spacing: 0.12em; text-transform: uppercase; transition: var(--t);
}
.product-detail__add:hover { background: var(--red-light); transform: translateY(-1px); box-shadow: var(--shadow-red); }
.product-detail__reviews { display: grid; gap: 0.75rem; }
.detail-review { padding: 0.85rem; border-radius: var(--r); background: var(--black-3); border: 1px solid var(--black-4); }
.detail-review strong { font-family: var(--font-cond); letter-spacing: 0.05em; text-transform: uppercase; }
.detail-review span { display: block; color: #F59E0B; font-size: 0.62rem; margin: 0.2rem 0 0.35rem; }
.detail-review p { color: var(--gray-light); font-size: 0.84rem; line-height: 1.55; }

/* ──────────────────── SEO PRODUCT PAGE ──────────────────── */
.product-seo-hero {
  padding: calc(var(--nav-h) + 3rem) 0 clamp(3rem,6vw,5rem);
  background: radial-gradient(circle at 70% 20%, rgba(193,18,31,0.18), transparent 32%), var(--black);
  border-bottom: 1px solid var(--black-4);
}
.product-seo-grid { display: grid; grid-template-columns: minmax(300px,0.78fr) minmax(420px,1fr); gap: clamp(1.5rem,4vw,3rem); align-items: start; }
.product-seo-media {
  overflow: hidden; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--black-4);
  aspect-ratio: 4/5; max-height: min(640px, calc(100vh - var(--nav-h) - 5rem));
}
.product-seo-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.product-seo-gallery { display: grid; gap: 0.75rem; width: min(100%, 560px); justify-self: center; }
.product-seo-thumbs { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0.55rem; }
.product-seo-thumb {
  overflow: hidden; aspect-ratio: 1; border: 1px solid var(--black-4);
  border-radius: var(--r); background: var(--black-3); opacity: 0.68; transition: var(--t);
}
.product-seo-thumb img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.product-seo-thumb.active,
.product-seo-thumb:hover { border-color: var(--red); opacity: 1; }
.product-seo-buybox { padding: clamp(1.5rem,3vw,2.2rem); background: var(--black-2); border: 1px solid var(--black-4); border-radius: var(--r-lg); }
.product-seo-cat { font-family: var(--font-cond); font-weight: 800; font-size: 0.76rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--red); margin-bottom: 0.75rem; }
.product-seo-buybox h1 { font-family: var(--font-display); font-size: clamp(3.3rem,7vw,6.8rem); line-height: 0.88; text-transform: uppercase; margin-bottom: 1rem; }
.product-seo-rating { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; color: var(--gray); margin-bottom: 1rem; }
.product-seo-rating span { color: #F59E0B; }
.product-seo-rating strong { color: var(--white); font-family: var(--font-cond); letter-spacing: 0.06em; }
.product-seo-price { font-family: var(--font-display); font-size: 2.5rem; margin-bottom: 1rem; }
.product-seo-lead { color: var(--gray-light); line-height: 1.8; margin-bottom: 1.3rem; }
.product-seo-options { padding: 1rem; border: 1px solid var(--black-4); border-radius: var(--r); margin-bottom: 1rem; }
.product-seo-options p { font-family: var(--font-cond); font-weight: 800; font-size: 0.74rem; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 0.8rem; }
.product-seo-options div { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.product-seo-options [data-product-variants] { display: grid !important; width: 100%; }
.product-choice-guide {
  display: grid; gap: 0.35rem; padding: 0.9rem 1rem; margin: -0.15rem 0 1rem;
  border: 1px solid rgba(193,18,31,0.28); border-radius: var(--r);
  background: rgba(193,18,31,0.08);
}
.product-choice-guide strong {
  font-family: var(--font-cond); font-size: 0.72rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--white);
}
.product-choice-guide span { color: var(--gray-light); font-size: 0.9rem; line-height: 1.55; }
.product-seo-add { width: 100%; margin-bottom: 1rem; padding: 1rem; }
.product-seo-trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.6rem; }
.product-seo-trust span { padding: 0.7rem; text-align: center; border-radius: var(--r); background: rgba(22,163,74,0.08); border: 1px solid rgba(22,163,74,0.2); color: var(--ok-text); font-family: var(--font-cond); font-weight: 800; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; }
.product-service-notes { display: grid; gap: 0.7rem; margin-top: 1rem; }
.product-service-notes p {
  display: grid; grid-template-columns: 86px 1fr; gap: 0.8rem; margin: 0; padding: 0.8rem;
  border: 1px solid var(--black-4); border-radius: var(--r); background: rgba(var(--on-surface-rgb),0.025);
}
.product-service-notes strong {
  font-family: var(--font-cond); font-size: 0.72rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--white);
}
.product-service-notes p span { color: var(--gray-light); font-size: 0.84rem; line-height: 1.55; }
.product-service-notes > span {
  display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0.55rem 0.8rem;
  border: 1px solid var(--black-4); border-radius: var(--r); color: var(--gray-light);
  font-family: var(--font-cond); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;
}
.product-seo-content { background: var(--black-2); }
.product-seo-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: clamp(1.5rem,4vw,3rem); align-items: start; }
.product-seo-layout article { max-width: 820px; }
.product-seo-layout h2 { font-family: var(--font-display); font-size: clamp(2rem,4vw,3.4rem); line-height: 1; text-transform: uppercase; margin: 2rem 0 1rem; }
.product-seo-layout .section-title { margin-top: 0.3rem; }
.product-seo-layout p { color: var(--gray-light); line-height: 1.85; margin-bottom: 1rem; }
.product-profile-grid { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1rem 0 1.5rem; }
.product-profile-grid span {
  padding: 0.58rem 0.78rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black); color: var(--white); font-family: var(--font-cond);
  font-size: 0.76rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
}
.product-seo-list { display: grid; gap: 0.65rem; margin: 1rem 0 1.5rem; }
.product-seo-list li { color: var(--gray-light); padding-left: 1.1rem; position: relative; }
.product-seo-list li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--red); position: absolute; left: 0; top: 0.72rem; }
.product-seo-table-wrap { overflow-x: auto; border: 1px solid var(--black-4); border-radius: var(--r-lg); }
.product-seo-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.product-seo-table th, .product-seo-table td { padding: 0.95rem 1rem; border-bottom: 1px solid var(--black-4); text-align: left; }
.product-seo-table th { font-family: var(--font-cond); letter-spacing: 0.1em; text-transform: uppercase; color: var(--white); background: var(--black-3); }
.product-seo-table td { color: var(--gray-light); }
.product-seo-faq { display: grid; gap: 0.75rem; }
.product-seo-faq details { background: var(--black); border: 1px solid var(--black-4); border-radius: var(--r); padding: 1rem; }
.product-seo-faq summary { cursor: pointer; font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.product-seo-faq p { margin: 0.75rem 0 0; }
.product-seo-side { position: sticky; top: calc(var(--nav-h) + 1rem); display: grid; gap: 0.85rem; }
.product-seo-side h2 { font-family: var(--font-display); font-size: 2rem; text-transform: uppercase; margin: 0; }
.product-related-box { display: grid; gap: 0.7rem; margin-top: 0.25rem; }
.product-related-box > div { display: grid; gap: 0.75rem; }
.product-related-intro {
  padding: 0.85rem;
  border: 1px solid rgba(193,18,31,0.35);
  border-radius: var(--r);
  background: linear-gradient(135deg, rgba(193,18,31,0.16), rgba(var(--on-surface-rgb),0.035));
}
.product-related-intro strong {
  display: block;
  margin-bottom: 0.28rem;
  font-family: var(--font-cond);
  font-size: 0.86rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.15;
  text-transform: uppercase;
}
.product-related-intro p {
  color: var(--gray-light);
  font-size: 0.82rem;
  line-height: 1.55;
}
.product-related-grid { display: grid; gap: 0.65rem; }
.product-related-card {
  display: grid;
  grid-template-columns: 82px minmax(0,1fr);
  gap: 0.75rem;
  padding: 0.65rem;
  border: 1px solid var(--black-4);
  border-radius: var(--r);
  background: var(--black-3);
  transition: var(--t);
}
.product-related-card:hover {
  border-color: rgba(193,18,31,0.55);
  transform: translateY(-1px);
}
.product-related-card__media {
  align-self: stretch;
  min-height: 112px;
  overflow: hidden;
  border-radius: var(--r);
  background: var(--black-2);
}
.product-related-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-related-card__body { display: grid; gap: 0.35rem; min-width: 0; }
.product-related-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.product-related-card__top span {
  max-width: 58%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--red);
  font-family: var(--font-cond);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.product-related-card__top strong {
  color: var(--white);
  font-family: var(--font-display);
  font-size: 1.05rem;
  letter-spacing: 0.02em;
  line-height: 1;
}
.product-related-card__name {
  color: var(--white);
  font-family: var(--font-cond);
  font-size: 0.84rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  line-height: 1.1;
  text-transform: uppercase;
}
.product-related-card__body p {
  color: var(--gray-light);
  font-size: 0.78rem;
  line-height: 1.45;
}
.product-related-card__add.product-card__add {
  width: max-content;
  min-height: 34px;
  padding: 0.5rem 0.7rem;
  font-size: 0.66rem;
  line-height: 1;
}
.product-related-link {
  display: block; padding: 0.75rem 0.85rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); color: var(--gray-light); font-family: var(--font-cond);
  font-size: 0.76rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
}
.product-related-link:hover { color: var(--white); border-color: rgba(193,18,31,0.45); }

/* ──────────────────── CART SIDEBAR ──────────────────────── */
.cart-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.65); z-index: 1000; opacity: 0; pointer-events: none; transition: opacity 0.3s ease; backdrop-filter: blur(5px); }
.cart-overlay.open { opacity: 1; pointer-events: all; }
.cart-sidebar {
  position: fixed; top: 0; right: 0; width: 420px; height: 100vh;
  background: var(--black-2); border-left: 1px solid var(--black-4);
  z-index: 1001; display: flex; flex-direction: column;
  transform: translateX(105%); transition: transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}
.cart-sidebar.open { transform: none; }
.cart-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--black-4); flex-shrink: 0;
}
.cart-header-title { font-family: var(--font-display); font-size: 1.4rem; text-transform: uppercase; letter-spacing: 0.04em; }
.cart-count-badge { font-family: var(--font-cond); font-size: 0.72rem; color: var(--gray); margin-left: 0.5rem; }
.cart-close { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; background: var(--black-3); border-radius: var(--r); color: var(--gray-light); transition: var(--t); }
.cart-close:hover { background: var(--red); color: #FFFFFF; }
.cart-close svg { width: 15px; height: 15px; }
.cart-items { flex: 1; overflow-y: auto; padding: 1rem 1.5rem; scrollbar-width: thin; scrollbar-color: var(--black-4) transparent; }
.cart-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: 1rem; text-align: center; }
.cart-empty svg { width: 52px; height: 52px; color: var(--gray-dark); }
.cart-empty p { font-family: var(--font-cond); font-size: 0.85rem; color: var(--gray); letter-spacing: 0.06em; text-transform: uppercase; }
.cart-empty .btn-ghost { margin-top: 0.5rem; }
.cart-item { display: grid; grid-template-columns: 76px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--black-4); }
.cart-item:last-child { border-bottom: none; }
.cart-item__img { width: 76px; height: 76px; border-radius: var(--r); overflow: hidden; background: var(--black-3); }
.cart-item__img img { width: 100%; height: 100%; object-fit: cover; }
.cart-item__body { display: flex; flex-direction: column; }
.cart-item__name { font-family: var(--font-cond); font-weight: 700; font-size: 0.88rem; letter-spacing: 0.03em; text-transform: uppercase; margin-bottom: 0.15rem; }
.cart-item__variant { font-size: 0.72rem; color: var(--gray); margin-bottom: 0.5rem; }
.cart-item__row { display: flex; align-items: center; justify-content: space-between; }
.cart-qty { display: flex; align-items: center; gap: 0.4rem; }
.qty-btn { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; background: var(--black-3); border: 1px solid var(--black-4); border-radius: 3px; font-size: 0.85rem; transition: var(--t); }
.qty-btn:hover { background: var(--red); border-color: var(--red); }
.qty-val { font-family: var(--font-cond); font-weight: 700; font-size: 0.88rem; min-width: 18px; text-align: center; }
.cart-item__price { font-family: var(--font-display); font-size: 1.05rem; color: var(--white); }
.cart-item__remove { font-size: 0.68rem; color: var(--gray-dark); cursor: pointer; transition: var(--t); align-self: flex-end; margin-top: 0.25rem; }
.cart-item__remove:hover { color: var(--red); }
.cart-footer { padding: 1.25rem 1.5rem; border-top: 1px solid var(--black-4); flex-shrink: 0; }
.cart-subtotal { display: flex; justify-content: space-between; font-size: 0.82rem; color: var(--gray-light); margin-bottom: 0.4rem; }
.cart-shipping { display: flex; justify-content: space-between; font-size: 0.82rem; color: var(--gray); margin-bottom: 0.75rem; }
.cart-shipping span:last-child { color: #16A34A; font-weight: 600; }
.cart-total { display: flex; justify-content: space-between; align-items: center; padding-top: 0.75rem; border-top: 1px solid var(--black-4); margin-bottom: 1.25rem; }
.cart-total-label { font-family: var(--font-cond); font-weight: 700; font-size: 0.88rem; letter-spacing: 0.08em; text-transform: uppercase; }
.cart-total-price { font-family: var(--font-display); font-size: 1.5rem; }
.cart-checkout {
  display: block; width: 100%; padding: 1rem; text-align: center;
  background: var(--red); color: #FFFFFF;
  font-family: var(--font-cond); font-weight: 700; font-size: 0.92rem;
  letter-spacing: 0.1em; text-transform: uppercase; border-radius: var(--r); transition: var(--t);
}
.cart-checkout:hover { background: var(--red-light); transform: translateY(-1px); }

/* ──────────────────── ABOUT PAGE ────────────────────────── */
.about-hero { position: relative; min-height: 72vh; display: flex; align-items: center; overflow: hidden; }
.about-hero__bg { position: absolute; inset: 0; background: url('https://images.unsplash.com/photo-1558618666-fcd25c85cd64?auto=format&fit=crop&w=1600&q=70') center 30%/cover no-repeat; }
.about-hero__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to right, rgba(13,13,13,0.96) 45%, rgba(13,13,13,0.55) 100%); }
.about-hero__content { position: relative; z-index: 1; padding: calc(var(--nav-h) + 3rem) clamp(1.25rem,4vw,3rem) 3.5rem; max-width: 1300px; margin: 0 auto; width: 100%; }

/* Story */
.about-story { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.about-story__img { position: relative; padding-bottom: 2.5rem; padding-right: 2.5rem; }
.about-story__img-main { border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4/5; }
.about-story__img-main img { width: 100%; height: 100%; object-fit: cover; }
.about-story__badge {
  position: absolute; bottom: 0; right: 0;
  width: 130px; height: 130px; background: var(--red); border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  font-family: var(--font-display);
}
.about-story__badge strong { font-size: 2.4rem; line-height: 1; }
.about-story__badge span { font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.8; margin-top: 2px; }
.about-story__text p { color: var(--gray-light); line-height: 1.8; margin-bottom: 1.2rem; font-size: 0.98rem; }
.about-story__text p:last-of-type { margin-bottom: 1.75rem; }

/* Values */
.values-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.25rem; }
.value-card {
  padding: 2rem 1.5rem; background: var(--black-2); border: 1px solid var(--black-4);
  border-radius: var(--r-lg); position: relative; overflow: hidden; transition: var(--t);
}
.value-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform 0.4s var(--ease); }
.value-card:hover::after { transform: scaleX(1); }
.value-card:hover { border-color: rgba(193,18,31,0.25); transform: translateY(-4px); }
.value-num { font-family: var(--font-display); font-size: 3.8rem; color: rgba(193,18,31,0.08); line-height: 1; margin-bottom: 0.4rem; letter-spacing: -0.02em; }
.value-name { font-family: var(--font-display); font-size: 1.6rem; text-transform: uppercase; margin-bottom: 0.65rem; line-height: 1; }
.value-desc { font-size: 0.84rem; color: var(--gray); line-height: 1.6; }

/* Stats bar */
.about-stats { display: grid; grid-template-columns: repeat(4,1fr); background: var(--red); border-radius: var(--r-lg); overflow: hidden; }
.about-stat { padding: 2.5rem 1.75rem; text-align: center; border-right: 1px solid rgba(var(--on-surface-rgb),0.15); }
.about-stat:last-child { border-right: none; }
.about-stat-num { font-family: var(--font-display); font-size: 3.5rem; line-height: 1; margin-bottom: 0.4rem; }
.about-stat-lbl { font-family: var(--font-cond); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; opacity: 0.8; }

/* Team */
.team-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
.team-card { background: var(--black-2); border: 1px solid var(--black-4); border-radius: var(--r-lg); overflow: hidden; transition: var(--t); }
.team-card:hover { border-color: rgba(193,18,31,0.25); transform: translateY(-4px); }
.team-card__img { aspect-ratio: 4/5; overflow: hidden; }
.team-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.team-card:hover .team-card__img img { transform: scale(1.05); }
.team-card__info { padding: 1.25rem; }
.team-card__name { font-family: var(--font-display); font-size: 1.3rem; text-transform: uppercase; margin-bottom: 0.25rem; }
.team-card__role { font-family: var(--font-cond); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--red); }

/* ──────────────────── CONTACT PAGE ──────────────────────── */
.contact-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 4rem; align-items: start; }
.contact-form-card { background: var(--black-2); border: 1px solid var(--black-4); border-radius: var(--r-lg); padding: 2.5rem; }
.contact-form-title { font-family: var(--font-display); font-size: 1.8rem; text-transform: uppercase; margin-bottom: 0.35rem; }
.contact-form-sub { font-size: 0.88rem; color: var(--gray); margin-bottom: 1.75rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-group { margin-bottom: 1.1rem; }
.form-label { display: block; font-family: var(--font-cond); font-weight: 700; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-light); margin-bottom: 0.45rem; }
.form-input, .form-select, .form-textarea {
  width: 100%; padding: 0.72rem 1rem;
  background: var(--black-3); border: 1px solid var(--black-4);
  border-radius: var(--r); color: var(--white); font-size: 0.9rem; outline: none; transition: var(--t);
}
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: var(--red); background: rgba(193,18,31,0.04); }
.form-input::placeholder, .form-textarea::placeholder { color: var(--gray-dark); }
.form-select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-color: var(--black-3); padding-right: 2.5rem; }
.form-select option { background: var(--black-2); }
.form-textarea { resize: vertical; min-height: 120px; }
.form-submit {
  width: 100%; padding: 1rem; background: var(--red); color: #FFFFFF;
  font-family: var(--font-cond); font-weight: 700; font-size: 0.92rem;
  letter-spacing: 0.1em; text-transform: uppercase; border-radius: var(--r);
  transition: var(--t); display: flex; align-items: center; justify-content: center; gap: 0.6rem;
}
.form-submit:hover { background: var(--red-light); transform: translateY(-2px); box-shadow: var(--shadow-red); }
.form-submit svg { width: 18px; height: 18px; }
.form-success { display: none; text-align: center; padding: 3rem 1rem; }
.form-success-icon { width: 64px; height: 64px; border-radius: 50%; background: rgba(22,163,74,0.1); border: 2px solid #16A34A; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; color: #16A34A; }
.form-success-icon svg { width: 30px; height: 30px; }
.form-success h3 { font-family: var(--font-display); font-size: 1.5rem; text-transform: uppercase; margin-bottom: 0.6rem; }
.form-success p { font-size: 0.9rem; color: var(--gray-light); }

/* Contact info */
.contact-info-stack { display: flex; flex-direction: column; gap: 1.25rem; }
.contact-info-card {
  display: flex; gap: 1.1rem; align-items: flex-start;
  background: var(--black-2); border: 1px solid var(--black-4);
  border-radius: var(--r-lg); padding: 1.5rem; transition: var(--t);
}
.contact-info-card:hover { border-color: rgba(193,18,31,0.25); }
.contact-info-icon { width: 44px; height: 44px; flex-shrink: 0; background: rgba(193,18,31,0.1); border: 1px solid rgba(193,18,31,0.2); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--red); }
.contact-info-icon svg { width: 18px; height: 18px; }
.contact-info-lbl { font-family: var(--font-cond); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gray); margin-bottom: 0.2rem; }
.contact-info-val { font-size: 0.9rem; color: var(--white); line-height: 1.5; }
.contact-map-card { border: 1px solid var(--black-4); border-radius: var(--r-lg); overflow: hidden; }
.contact-map-card iframe { display: block; width: 100%; height: 260px; filter: invert(92%) hue-rotate(180deg) saturate(0.5) brightness(0.9); }
.hours-table { width: 100%; }
.hours-tr { display: flex; justify-content: space-between; align-items: center; padding: 0.4rem 0; border-bottom: 1px solid var(--black-4); }
.hours-tr:last-child { border-bottom: none; }
.hours-day { font-size: 0.84rem; color: var(--gray-light); }
.hours-time { font-size: 0.84rem; font-weight: 500; }
.hours-closed { color: var(--red); }
.contact-hours-card { background: var(--black-2); border: 1px solid var(--black-4); border-radius: var(--r-lg); padding: 1.5rem; }
.contact-hours-title { font-family: var(--font-cond); font-weight: 700; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 1rem; }

/* ──────────────────── ADMIN ─────────────────────────────── */
.admin-body { background: var(--black); color: var(--white); min-height: 100vh; }
.admin-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 28px 0 48px; }
.admin-topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0 1.25rem; border-bottom: 1px solid var(--black-4); }
.admin-kicker { color: var(--red); font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.78rem; }
.admin-topbar h1 { font-family: var(--font-display); font-size: clamp(2rem,5vw,4rem); line-height: 0.95; text-transform: uppercase; }
.admin-shop-link,
.admin-auth button,
.admin-panel-head button,
.admin-form-actions button,
.admin-row-actions button {
  border: 1px solid var(--black-4); background: var(--black-2); color: var(--white); border-radius: var(--r);
  padding: 0.75rem 1rem; font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
  font-size: 0.78rem; cursor: pointer; transition: var(--t);
}
.admin-shop-link:hover,
.admin-auth button:hover,
.admin-panel-head button:hover,
.admin-form-actions button:hover,
.admin-row-actions button:hover { border-color: var(--red); background: rgba(193,18,31,0.12); }
.admin-row-actions button:disabled {
  cursor: not-allowed; color: var(--gray); background: rgba(var(--on-surface-rgb),0.03); border-color: var(--black-4);
}
.admin-row-actions button:disabled:hover { border-color: var(--black-4); background: rgba(var(--on-surface-rgb),0.03); }
.admin-auth { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(220px,0.55fr); gap: 0.9rem; align-items: end; padding: 1.2rem 0; }
.admin-auth label,
.admin-product-form label { display: grid; gap: 0.35rem; color: var(--gray-light); font-size: 0.8rem; font-weight: 700; }
.admin-auth input,
.admin-product-form input,
.admin-product-form select {
  width: 100%; border: 1px solid var(--black-4); border-radius: var(--r); background: var(--black-2); color: var(--white);
  padding: 0.82rem 0.9rem; outline: none;
}
.admin-auth input:focus,
.admin-product-form input:focus,
.admin-product-form select:focus { border-color: var(--red); }
#adminStatus { color: var(--gray); font-size: 0.86rem; line-height: 1.4; }
#adminStatus[data-type="success"] { color: #86efac; }
#adminStatus[data-type="error"] { color: #fca5a5; }
.admin-tabs { display: flex; gap: 0.5rem; border-bottom: 1px solid var(--black-4); margin: 0.5rem 0 1.2rem; }
.admin-tab { border: 0; background: transparent; color: var(--gray); padding: 0.9rem 1rem; font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; cursor: pointer; border-bottom: 2px solid transparent; }
.admin-tab.active { color: var(--white); border-bottom-color: var(--red); }
.admin-panel { display: none; }
.admin-panel.active { display: block; }
.admin-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-panel-head h2 { font-family: var(--font-display); font-size: 2rem; text-transform: uppercase; line-height: 1; }
.admin-panel-head p { color: var(--gray); margin-top: 0.3rem; }
.admin-table-wrap { overflow-x: auto; border: 1px solid var(--black-4); border-radius: var(--r); background: var(--black-2); box-shadow: 0 18px 50px rgba(0,0,0,0.28); }
.admin-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.admin-table th,
.admin-table td { padding: 0.9rem; border-bottom: 1px solid var(--black-4); text-align: left; vertical-align: middle; }
.admin-table th { padding: 0.8rem 0.9rem; border-bottom: 1px solid var(--black-4); text-align: left; vertical-align: middle; background: rgba(var(--on-surface-rgb),0.025); }
.admin-table th { color: var(--gray-light); font-family: var(--font-cond); font-size: 0.74rem; letter-spacing: 0.1em; text-transform: uppercase; }
.admin-table td { color: var(--white); font-size: 0.9rem; }
.admin-table tbody tr { transition: background 0.2s var(--ease), transform 0.2s var(--ease); }
.admin-table tbody tr:hover { background: rgba(var(--on-surface-rgb),0.035); }
.admin-table small { color: var(--gray); }
.admin-product-cell a { display: inline-flex; margin-top: 0.25rem; color: var(--red); font-size: 0.76rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; }
.admin-pill { display: inline-flex; align-items: center; min-height: 26px; padding: 0.22rem 0.62rem; border: 1px solid var(--black-4); border-radius: 999px; color: var(--gray-light); background: rgba(var(--on-surface-rgb),0.03); font-size: 0.75rem; font-weight: 700; }
.admin-pill--active { border-color: rgba(22,163,74,0.28); color: var(--ok-text); background: rgba(22,163,74,0.08); }
.admin-pill--archived { border-color: rgba(148,163,184,0.22); color: var(--gray); }
.admin-pill--paid,
.admin-pill--delivered { border-color: rgba(22,163,74,0.35); color: var(--ok-text); background: rgba(22,163,74,0.1); }
.admin-pill--created,
.admin-pill--to_prepare,
.admin-pill--prepared { border-color: rgba(245,158,11,0.38); color: var(--warn-text); background: rgba(245,158,11,0.1); }
.admin-pill--shipped { border-color: rgba(59,130,246,0.38); color: var(--info-text); background: rgba(59,130,246,0.1); }
.admin-pill--failed,
.admin-pill--issue { border-color: rgba(193,18,31,0.5); color: var(--bad-text); background: rgba(193,18,31,0.14); }
.admin-pill--refunded,
.admin-pill--not_started,
.admin-pill--configuration_required { border-color: rgba(148,163,184,0.28); color: var(--gray-light); background: rgba(148,163,184,0.08); }
.admin-catalog-tools {
  display: grid; gap: 1rem; margin: 0 0 1rem; padding: 1rem;
  border: 1px solid var(--black-4); border-radius: var(--r-lg);
  background: linear-gradient(135deg, rgba(var(--on-surface-rgb),0.045), rgba(var(--on-surface-rgb),0.015));
}
.admin-order-tools {
  position: relative; overflow: hidden;
  background:
    linear-gradient(135deg, rgba(193,18,31,0.14), rgba(var(--on-surface-rgb),0.035) 36%, rgba(20,20,20,0.96)),
    repeating-linear-gradient(135deg, rgba(var(--on-surface-rgb),0.035) 0 1px, transparent 1px 18px);
}
.admin-order-tools::before {
  content: ''; position: absolute; inset: 0 auto 0 0; width: 4px;
  background: linear-gradient(var(--red), #FBBF24, transparent);
}
.admin-order-priority {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.85rem 1rem; border: 1px solid rgba(var(--on-surface-rgb),0.08); border-radius: var(--r);
  background: rgba(var(--surface-rgb),0.58);
}
.admin-order-priority span,
.admin-order-priority p { color: var(--gray); font-size: 0.82rem; }
.admin-order-priority strong {
  display: block; margin-top: 0.12rem; font-family: var(--font-cond); font-size: 1.12rem;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.admin-stats-section + .admin-stats-section { margin-top: 0.7rem; }
.admin-stats-section__title {
  margin: 0 0 0.5rem; color: var(--gray); font-family: var(--font-cond); font-weight: 800;
  font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase;
}
.admin-catalog-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0.7rem; }
.admin-stat-card {
  position: relative; overflow: hidden; display: flex; align-items: center; gap: 0.7rem;
  padding: 0.85rem 0.95rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: rgba(var(--surface-rgb),0.72); text-align: left; width: 100%;
  transition: var(--t);
}
button.admin-stat-card { cursor: pointer; }
button.admin-stat-card:hover { border-color: var(--black-5); background: rgba(var(--surface-rgb),0.92); }
button.admin-stat-card.active { border-color: var(--accent, var(--red)); background: color-mix(in srgb, var(--accent, var(--red)) 10%, rgba(var(--surface-rgb),0.72)); }
.admin-stat-card::after { content: ''; position: absolute; inset: auto 0 0; height: 3px; background: var(--accent, var(--black-5)); }
.admin-stat-card--money,
.admin-stat-card--week,
.admin-stat-card--avg,
.admin-stat-card--active { --accent: #16A34A; }
.admin-stat-card--pending,
.admin-stat-card--prepare,
.admin-stat-card--low { --accent: #F59E0B; }
.admin-stat-card--late,
.admin-stat-card--issues { --accent: var(--red); }
.admin-stat-card--total,
.admin-stat-card--archived { --accent: var(--gray-dark); }
.admin-stat-card__icon {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--accent, var(--gray)) 15%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent, var(--gray)) 32%, transparent);
  color: var(--accent, var(--gray-light));
}
.admin-stat-card__icon svg { width: 16px; height: 16px; }
.admin-stat-card__body { min-width: 0; }
.admin-stat-card__body span { display: block; font-family: var(--font-display); font-size: 1.55rem; line-height: 1; color: var(--white); }
.admin-stat-card__body small {
  display: block; margin-top: 0.28rem; color: var(--gray);
  font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.68rem;
}
.admin-catalog-filters {
  display: grid; grid-template-columns: minmax(220px,1.35fr) repeat(4,minmax(135px,0.75fr)) auto;
  gap: 0.75rem; align-items: end;
}
.admin-catalog-filters label { display: grid; gap: 0.35rem; color: var(--gray-light); font-size: 0.78rem; font-weight: 800; }
.admin-catalog-filters input,
.admin-catalog-filters select {
  width: 100%; min-height: 44px; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-2); color: var(--white); padding: 0.75rem 0.85rem; outline: none;
}
.admin-catalog-filters select {
  appearance: none;
  padding-right: 2.1rem;
  background-image: linear-gradient(45deg, transparent 50%, var(--gray-light) 50%), linear-gradient(135deg, var(--gray-light) 50%, transparent 50%);
  background-position: calc(100% - 16px) 51%, calc(100% - 11px) 51%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.admin-catalog-filters input:focus,
.admin-catalog-filters select:focus { border-color: var(--red); background: rgba(193,18,31,0.06); }
.admin-catalog-filters button,
.admin-row-link {
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
  padding: 0.75rem 0.9rem; border: 1px solid var(--black-4); border-radius: var(--r);
  color: var(--gray-light); background: var(--black-2);
  font-family: var(--font-cond); font-weight: 800; font-size: 0.75rem;
  letter-spacing: 0.1em; text-transform: uppercase;
}
.admin-catalog-filters button:hover,
.admin-row-link:hover { border-color: var(--red); color: var(--white); background: rgba(193,18,31,0.12); }
.admin-row-link--disabled,
.admin-row-link--disabled:hover {
  cursor: not-allowed;
  color: var(--gray);
  border-color: var(--black-4);
  background: rgba(var(--on-surface-rgb),0.025);
}
.admin-catalog-result { display: flex; align-items: center; justify-content: space-between; color: var(--gray); font-size: 0.86rem; }
.admin-quick-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.admin-quick-filters button {
  min-height: 34px; padding: 0.45rem 0.75rem; border: 1px solid rgba(var(--on-surface-rgb),0.12); border-radius: 999px;
  color: var(--gray-light); background: rgba(var(--on-surface-rgb),0.045);
  font-size: 0.78rem; font-weight: 700;
}
.admin-quick-filters button:hover,
.admin-quick-filters button.active { border-color: var(--red); color: var(--white); background: rgba(193,18,31,0.14); }
.admin-order-row--late { box-shadow: inset 3px 0 0 var(--red); }
.admin-order-ref { display: flex; align-items: center; gap: 0.7rem; min-width: 260px; }
.admin-order-ref > span {
  display: grid; place-items: center; width: 48px; min-width: 48px; height: 48px; border-radius: var(--r);
  border: 1px solid rgba(var(--on-surface-rgb),0.12); color: var(--gray-light); background: rgba(var(--on-surface-rgb),0.04);
  font-family: var(--font-cond); font-weight: 800; font-size: 0.72rem; text-align: center; text-transform: uppercase; line-height: 1.05;
}
.admin-order-ref strong { display: block; line-height: 1.2; }
.admin-order-ref small { display: block; margin-top: 0.15rem; text-transform: uppercase; letter-spacing: 0.04em; }
.admin-order-alerts { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.55rem; }
.admin-alert-chip {
  display: inline-flex; align-items: center; min-height: 22px; padding: 0.18rem 0.48rem; border-radius: 999px;
  color: var(--bad-text); background: rgba(193,18,31,0.16); border: 1px solid rgba(193,18,31,0.34);
  font-size: 0.7rem; font-weight: 700;
}
.admin-client-cell { display: flex; align-items: center; gap: 0.7rem; min-width: 220px; }
.admin-client-cell > span {
  display: grid; place-items: center; width: 36px; min-width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, var(--red), #272727); color: #FFFFFF;
  font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.04em;
}
.admin-order-total { font-size: 1rem; white-space: nowrap; }
.admin-row-actions--compact { margin-top: 0.55rem; gap: 0.35rem; }
.admin-row-actions--compact button { min-height: 30px; padding: 0.35rem 0.55rem; font-size: 0.68rem; }
.admin-stock {
  display: inline-flex; align-items: center; min-height: 28px; padding: 0.25rem 0.6rem;
  border-radius: 999px; border: 1px solid var(--black-4); font-size: 0.78rem;
}
.admin-stock--available { border-color: rgba(22,163,74,0.28); color: var(--ok-text); background: rgba(22,163,74,0.08); }
.admin-stock--low { border-color: rgba(245,158,11,0.35); color: var(--warn-text); background: rgba(245,158,11,0.08); }
.admin-stock--out { border-color: rgba(193,18,31,0.45); color: var(--bad-text); background: rgba(193,18,31,0.12); }
.admin-product-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0.9rem; padding: 1rem; margin-bottom: 1rem; border: 1px solid var(--black-4); border-radius: var(--r); background: rgba(var(--on-surface-rgb),0.03); }
.admin-field-wide { grid-column: span 3; }
.admin-check { align-self: end; display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 0.55rem !important; min-height: 45px; }
.admin-check input { width: auto; accent-color: var(--red); }
.admin-form-actions { display: flex; gap: 0.6rem; align-items: end; }
.admin-product-cell { display: flex; align-items: center; gap: 0.75rem; min-width: 260px; }
.admin-product-cell img { width: 48px; height: 48px; object-fit: cover; border-radius: var(--r); background: var(--black-3); }
.admin-row-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.admin-row-actions--grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; min-width: 190px;
}
.admin-row-actions--grid .admin-row-link,
.admin-row-actions--grid button { width: 100%; min-height: 34px; padding: 0.4rem 0.5rem; font-size: 0.68rem; }
.admin-row-actions--grid .admin-row-danger { grid-column: 1 / -1; opacity: 0.75; }
.admin-row-actions--grid .admin-row-danger:hover { opacity: 1; }
.admin-products-table-wrap { background: var(--black); }
.admin-products-table { min-width: 980px; }
.admin-products-table th,
.admin-products-table td { padding: 0.72rem 0.9rem; vertical-align: top; }
.admin-products-table tbody tr:nth-child(even) { background: rgba(var(--on-surface-rgb),0.018); }
.admin-products-table .admin-product-cell {
  align-items: center;
  min-width: 360px;
}
.admin-products-table .admin-product-cell img {
  width: 56px;
  height: 56px;
  border: 1px solid var(--black-4);
}
.admin-product-cell__body {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}
.admin-product-cell__body strong {
  max-width: 620px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-product-cell__body > small {
  color: var(--gray-dark);
  font-size: 0.7rem;
}
.admin-product-details {
  max-width: 620px;
  color: var(--gray);
  font-size: 0.76rem;
}
.admin-product-details summary {
  width: max-content;
  cursor: pointer;
  color: var(--red);
  font-family: var(--font-cond);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-product-details p {
  margin-top: 0.35rem;
  color: var(--gray-light);
  line-height: 1.45;
}
.admin-category-chip {
  display: inline-flex;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--gray-light);
}
.admin-price-cell { white-space: nowrap; }
.admin-variant-mini-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  max-width: 190px;
  margin-top: 0.35rem;
}
.admin-variant-mini,
.admin-variant-mini-note {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-height: 22px;
  max-width: 100%;
  padding: 0.14rem 0.42rem;
  border: 1px solid var(--black-4);
  border-radius: 999px;
  color: var(--gray-light);
  background: rgba(var(--on-surface-rgb),0.035);
  font-size: 0.68rem;
  line-height: 1;
}
.admin-variant-mini {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-variant-mini strong {
  color: var(--white);
  font-size: 0.7rem;
}
.admin-variant-mini--more {
  color: var(--warn-text);
  border-color: rgba(245,158,11,0.35);
  background: rgba(245,158,11,0.08);
}
.admin-row-danger { color: var(--bad-text) !important; }

.admin-product-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: clamp(1rem,2vw,1.35rem);
  background: linear-gradient(135deg, rgba(var(--on-surface-rgb),0.045), rgba(var(--on-surface-rgb),0.015));
}
.admin-product-builder {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(300px,0.42fr);
  gap: 1rem;
  align-items: start;
}
.admin-product-main,
.admin-product-side {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.admin-form-card {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--black-4);
  border-radius: var(--r-lg);
  background: rgba(var(--surface-rgb),0.72);
}
.admin-form-card--compact { align-self: start; }
.admin-promo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0.9rem; }
@media (max-width: 780px) { .admin-promo-grid { grid-template-columns: 1fr; } }
.admin-shipping-methods { display: grid; grid-template-columns: repeat(auto-fit,minmax(320px,1fr)); gap: 1rem; }
.admin-shipping-method {
  padding: 1.2rem; border: 1px solid var(--black-4); border-radius: var(--r-lg);
  background: rgba(var(--surface-rgb),0.72);
}
.admin-shipping-method h3 { margin: 0 0 0.9rem; font-family: var(--font-cond); font-size: 1rem; text-transform: uppercase; letter-spacing: 0.04em; }
.admin-shipping-rows { display: grid; gap: 0.6rem; margin-bottom: 0.9rem; }
.admin-shipping-row {
  display: flex; align-items: flex-end; gap: 0.7rem; padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--black-4);
}
.admin-shipping-row label {
  display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.72rem; color: var(--gray);
  font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase;
}
.admin-shipping-row input {
  min-height: 38px; width: 110px; padding: 0.45rem 0.6rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); color: var(--white); font-size: 0.88rem; outline: none;
}
.admin-shipping-row input:focus { border-color: var(--red); }
.admin-shipping-row__label {
  min-height: 38px; display: flex; align-items: center; color: var(--gray);
  font-family: var(--font-cond); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em;
}
.admin-shipping-row [data-bracket-remove] {
  margin-left: auto; width: 32px; height: 32px; display: grid; place-items: center;
  border: 1px solid var(--black-4); border-radius: var(--r); background: var(--black-3); color: var(--gray);
  cursor: pointer; font-size: 1rem;
}
.admin-shipping-row [data-bracket-remove]:hover { border-color: var(--red); color: var(--red); }
.admin-shipping-add {
  padding: 0.5rem 0.9rem; border: 1px dashed var(--black-4); border-radius: var(--r);
  background: transparent; color: var(--gray-light); cursor: pointer;
  font-family: var(--font-cond); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase;
}
.admin-shipping-add:hover { border-color: var(--red); color: var(--red); }
.admin-step-head {
  display: flex; gap: 0.75rem; align-items: flex-start;
  margin-bottom: 1rem; padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--black-4);
}
.admin-step-head span {
  width: 30px; height: 30px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--red); color: #FFFFFF;
  font-family: var(--font-cond); font-weight: 900; font-size: 0.9rem;
}
.admin-step-head h3 {
  font-family: var(--font-display); font-size: 1.5rem;
  line-height: 1; text-transform: uppercase;
}
.admin-step-head p {
  max-width: 620px;
  margin-top: 0.25rem;
  color: var(--gray); font-size: 0.84rem; line-height: 1.45;
}
.admin-product-form label {
  margin-bottom: 0.85rem;
  font-size: 0.82rem;
}
.admin-product-form input,
.admin-product-form select,
.admin-product-form textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--black-4);
  border-radius: var(--r);
  background: var(--black-2);
  color: var(--white);
  padding: 0.86rem 0.95rem;
  outline: none;
  transition: var(--t);
}
.admin-product-form textarea {
  min-height: 116px;
  resize: vertical;
  line-height: 1.55;
}
.admin-product-form input:focus,
.admin-product-form select:focus,
.admin-product-form textarea:focus {
  border-color: var(--red);
  background: rgba(193,18,31,0.06);
}
.admin-product-form input::placeholder,
.admin-product-form textarea::placeholder { color: var(--gray-dark); }
.admin-image-upload {
  display: grid;
  gap: 0.45rem;
  margin-top: -0.25rem;
}
.admin-upload-drop {
  margin: 0 !important;
  min-height: 48px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border: 1px dashed rgba(var(--on-surface-rgb),0.22);
  border-radius: var(--r);
  background: rgba(var(--on-surface-rgb),0.035);
  color: var(--gray-light);
  font-family: var(--font-cond);
  font-weight: 900;
  font-size: 0.8rem !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: var(--t);
  cursor: pointer;
}
.admin-upload-drop:hover {
  border-color: var(--red);
  background: rgba(193,18,31,0.12);
  color: var(--white);
}
.admin-upload-drop input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.admin-image-upload p {
  color: var(--gray);
  font-size: 0.78rem;
  line-height: 1.45;
}
.admin-image-upload p[data-type="success"] { color: var(--ok-text); }
.admin-image-upload p[data-type="error"] { color: var(--bad-text); }
.admin-image-gallery { display: grid; grid-template-columns: repeat(auto-fill,minmax(112px,1fr)); gap: 0.6rem; }
.admin-image-gallery > p {
  grid-column: 1/-1; margin: 0; padding: 0.75rem;
  border: 1px solid var(--black-4); border-radius: var(--r); background: var(--black-2);
}
.admin-image-thumb {
  display: grid; gap: 0.4rem; padding: 0.45rem;
  border: 1px solid var(--black-4); border-radius: var(--r); background: var(--black-2);
}
.admin-image-thumb img {
  width: 100%; aspect-ratio: 1; object-fit: cover;
  border-radius: var(--r); background: var(--black-3);
}
.admin-image-thumb span {
  color: var(--gray-light); font-family: var(--font-cond); font-weight: 900;
  font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.admin-image-thumb button {
  min-height: 30px; padding: 0.35rem 0.45rem;
  border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); color: var(--gray-light);
  font-family: var(--font-cond); font-weight: 900; font-size: 0.68rem;
  letter-spacing: 0.07em; text-transform: uppercase;
}
.admin-image-thumb button:hover:not(:disabled) { border-color: var(--red); color: var(--white); }
.admin-image-thumb button:disabled { color: var(--ok-text); cursor: default; }
.admin-category-picker,
.admin-badge-picker {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0.55rem;
  margin-bottom: 1rem;
}
.admin-category-picker button,
.admin-badge-picker button {
  min-height: 46px;
  padding: 0.55rem;
  border: 1px solid var(--black-4);
  border-radius: var(--r);
  background: var(--black-2);
  color: var(--gray-light);
  font-family: var(--font-cond);
  font-weight: 900;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: var(--t);
}
.admin-category-picker button:hover,
.admin-badge-picker button:hover,
.admin-category-picker button.active,
.admin-badge-picker button.active {
  border-color: var(--red);
  background: rgba(193,18,31,0.16);
  color: var(--white);
}
.admin-mini-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0.85rem;
}
.admin-check {
  margin: 0;
  padding: 0.9rem;
  border: 1px solid var(--black-4);
  border-radius: var(--r);
  background: var(--black-2);
}
.admin-check input { width: auto; min-height: auto; }
.admin-badge-picker {
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 0.2rem 0 0;
}
.admin-variant-builder {
  display: grid;
  grid-template-columns: minmax(180px,1fr) minmax(0,1fr) minmax(0,1fr) 128px;
  gap: 0.65rem;
  margin: 1rem 0 0.85rem;
}
.admin-product-main .admin-variant-builder {
  grid-template-columns: minmax(190px,1.05fr) minmax(0,1fr) minmax(0,1fr) 132px;
}
.admin-variant-builder label { margin: 0; color: var(--gray-light); }
.admin-variant-builder input,
.admin-variant-builder select {
  margin-top: 0.32rem;
  min-height: 42px;
  padding: 0.62rem 0.7rem;
  font-size: 0.82rem;
}
.admin-variant-builder button {
  grid-column: 1/-1;
  min-height: 44px;
  padding: 0.7rem;
  border: 1px solid var(--red);
  border-radius: var(--r);
  background: rgba(193,18,31,0.16);
  color: var(--white);
  font-family: var(--font-cond);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: var(--t);
}
.admin-variant-builder button:hover {
  background: var(--red);
  box-shadow: var(--shadow-red);
}
.admin-variant-toolbar {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.55rem; margin-bottom: 0.85rem;
}
.admin-variant-toolbar button,
.admin-variant-row button {
  min-height: 38px; padding: 0.5rem 0.65rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-2); color: var(--gray-light);
  font-family: var(--font-cond); font-weight: 900; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.admin-variant-toolbar button:hover,
.admin-variant-row button:hover { border-color: var(--red); color: var(--white); background: rgba(193,18,31,0.12); }
.admin-variant-rows { display: grid; gap: 0.55rem; }
.admin-variant-empty {
  padding: 0.9rem;
  border: 1px dashed var(--black-4);
  border-radius: var(--r);
  color: var(--gray);
  font-size: 0.82rem;
}
.admin-variant-simple-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) 110px 38px;
  gap: 0.5rem;
  color: var(--gray);
  font-family: var(--font-cond);
  font-weight: 900;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-variant-row {
  display: grid; grid-template-columns: minmax(0,1fr) 110px 38px;
  gap: 0.4rem; align-items: center; min-width: 0;
}
.admin-variant-row input { min-width: 0; min-height: 40px; padding: 0.62rem 0.65rem; font-size: 0.82rem; }
.admin-variant-row button { width: 36px; min-width: 36px; padding: 0; color: var(--bad-text); font-size: 1rem; }
.admin-variant-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(193,18,31,0.35);
  border-radius: var(--r);
  background: rgba(193,18,31,0.1);
}
.admin-variant-summary strong {
  font-family: var(--font-cond);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-variant-summary span {
  color: var(--gray-light);
  font-size: 0.78rem;
}
.admin-variant-matrix {
  display: grid;
  grid-template-columns: minmax(92px,1.05fr) repeat(var(--variant-size-cols), minmax(74px,1fr));
  overflow-x: auto;
  border: 1px solid var(--black-4);
  border-radius: var(--r);
  background: var(--black);
}
.admin-variant-matrix__corner,
.admin-variant-matrix__size,
.admin-variant-matrix__color,
.admin-variant-cell {
  min-height: 54px;
  border-right: 1px solid var(--black-4);
  border-bottom: 1px solid var(--black-4);
}
.admin-variant-matrix__corner,
.admin-variant-matrix__size {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem;
  background: var(--black-3);
  color: var(--white);
  font-family: var(--font-cond);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-variant-matrix__color {
  display: flex;
  align-items: center;
  padding: 0.65rem;
  color: var(--gray-light);
  font-weight: 700;
  background: var(--black-2);
}
.admin-variant-cell {
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.45rem;
}
.admin-variant-cell span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.admin-variant-cell input {
  min-width: 0;
  width: 100%;
  min-height: 38px;
  padding: 0.48rem;
  text-align: center;
  font-size: 0.86rem;
  font-weight: 700;
}
.admin-variant-note { margin-top: 0.7rem; color: var(--gray); font-size: 0.78rem; line-height: 1.45; }
.admin-product-preview {
  position: sticky;
  top: 1rem;
  overflow: hidden;
  max-width: 320px;
  border: 1px solid var(--black-4);
  border-radius: var(--r-lg);
  background: var(--black-2);
}
.admin-preview-media {
  position: relative;
  aspect-ratio: 4/3;
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(193,18,31,0.12), transparent),
    var(--black-3);
}
.admin-preview-media::before {
  content: 'Apercu image';
  color: var(--gray);
  font-family: var(--font-cond);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.admin-preview-media.has-image::before { display: none; }
.admin-preview-media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.admin-preview-media span {
  position: absolute; top: 0.85rem; left: 0.85rem;
  min-height: 28px; padding: 0.3rem 0.65rem;
  border-radius: var(--r);
  background: var(--red);
  color: var(--white);
  font-family: var(--font-cond);
  font-weight: 900;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-preview-body { padding: 1rem; }
.admin-preview-body > p:first-child {
  color: var(--red);
  font-family: var(--font-cond);
  font-weight: 900;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.admin-preview-body h3 {
  margin: 0.25rem 0 0.45rem;
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1;
  text-transform: uppercase;
}
.admin-preview-body p { color: var(--gray-light); font-size: 0.85rem; line-height: 1.55; }
.admin-preview-body div {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--black-4);
}
.admin-preview-body strong { font-family: var(--font-display); font-size: 1.55rem; }
.admin-preview-body span { color: var(--gray); font-family: var(--font-cond); font-weight: 800; text-transform: uppercase; }
.admin-form-actions {
  justify-content: flex-end;
  padding-top: 0.2rem;
}
.admin-form-actions button[type="submit"] {
  background: var(--red);
  border-color: var(--red);
}
.admin-form-actions button[type="submit"]:hover {
  background: var(--red-light);
}

.admin-modal {
  position: fixed; inset: 0; z-index: 1900; display: grid; place-items: center; padding: 1rem;
  pointer-events: none; opacity: 0; transition: opacity 0.2s var(--ease);
}
.admin-modal.active { pointer-events: auto; opacity: 1; }
.admin-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.62); backdrop-filter: blur(4px); }
.admin-modal__box {
  position: relative; width: min(420px, 100%); padding: 1.6rem;
  background: linear-gradient(160deg, var(--black-2), #0A0A0A 72%);
  border: 1px solid var(--black-4); border-radius: var(--r-lg); box-shadow: var(--shadow);
  transform: translateY(12px) scale(0.98); transition: transform 0.2s var(--ease);
}
.admin-modal.active .admin-modal__box { transform: none; }
.admin-modal__box h3 { margin: 0 0 0.5rem; font-family: var(--font-cond); font-size: 1.3rem; text-transform: uppercase; letter-spacing: 0.04em; }
.admin-modal__box p { margin: 0 0 1rem; color: var(--gray-light); font-size: 0.9rem; line-height: 1.5; }
.admin-modal__error {
  margin: 0.5rem 0 0; color: var(--red); font-size: 0.82rem; font-weight: 700; line-height: 1.4;
}
.admin-modal__error[hidden] { display: none; }
.admin-modal__box label {
  display: block; margin-bottom: 0.35rem; color: var(--gray); font-family: var(--font-cond);
  font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
}
.admin-modal__box input {
  width: 100%; min-height: 44px; padding: 0.6rem 0.75rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); color: var(--white); font-size: 0.92rem; outline: none;
}
.admin-modal__box input:focus { border-color: var(--red); }
.admin-modal__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin-top: 1.2rem; }
.admin-modal__actions button {
  min-height: 46px; padding: 0.7rem 1rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); color: var(--white);
  font-family: var(--font-cond); font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; cursor: pointer;
}
.admin-modal__confirm { background: var(--red) !important; border-color: var(--red) !important; }

.admin-order-drawer {
  position: fixed; inset: 0; z-index: 1800; pointer-events: none; opacity: 0;
  transition: opacity 0.25s var(--ease);
}
.admin-order-drawer.active { pointer-events: auto; opacity: 1; }
.admin-order-drawer__overlay {
  position: absolute; inset: 0; background: rgba(0,0,0,0.62); backdrop-filter: blur(4px);
}
.admin-order-drawer__panel {
  position: absolute; top: 0; right: 0; width: min(520px, 100%); height: 100%;
  padding: 1.4rem; overflow-y: auto; border-left: 1px solid var(--black-4);
  background: linear-gradient(160deg, var(--black-2), #0A0A0A 72%);
  box-shadow: -24px 0 70px rgba(0,0,0,0.5);
  transform: translateX(100%); transition: transform 0.28s var(--ease);
}
.admin-order-drawer.active .admin-order-drawer__panel { transform: none; }
.admin-order-drawer__close {
  position: sticky; top: 0; margin-left: auto; z-index: 1; display: grid; place-items: center;
  width: 38px; height: 38px; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); color: var(--white); font-size: 1.25rem;
}
.admin-alert-banner {
  margin: 0 0 1rem; padding: 0.75rem 0.9rem; border: 1px solid rgba(193,18,31,0.4);
  border-radius: var(--r); background: rgba(193,18,31,0.1); color: #FF9AA4;
  font-family: var(--font-cond); font-weight: 700; font-size: 0.82rem; letter-spacing: 0.02em;
}
.admin-drawer-head { margin: 0.5rem 0 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--black-4); }
.admin-drawer-head h2 { margin-top: 0.25rem; font-family: var(--font-display); font-size: 2.4rem; line-height: 0.95; }
.admin-drawer-head p { color: var(--gray-light); }
.admin-prep-status {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  margin-bottom: 0.8rem; padding: 0.9rem; border: 1px solid rgba(245,158,11,0.28);
  border-radius: var(--r); background: rgba(245,158,11,0.08);
}
.admin-prep-status--done { border-color: rgba(22,163,74,0.32); background: rgba(22,163,74,0.09); }
.admin-prep-status span {
  color: #FBBF24; font-family: var(--font-cond); font-weight: 900;
  font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase;
}
.admin-prep-status--done span { color: #8EE6A6; }
.admin-prep-status strong { display: block; margin-top: 0.1rem; line-height: 1.2; }
.admin-drawer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.admin-drawer-grid div,
.admin-drawer-section {
  padding: 0.85rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: rgba(var(--on-surface-rgb),0.035);
}
.admin-drawer-grid small,
.admin-drawer-section h3 {
  display: block; color: var(--gray); font-family: var(--font-cond); font-size: 0.72rem;
  font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
}
.admin-drawer-grid strong { display: block; margin-top: 0.2rem; line-height: 1.25; }
.admin-drawer-grid span,
.admin-drawer-section p { display: block; margin-top: 0.22rem; color: var(--gray-light); font-size: 0.86rem; }
.admin-drawer-section { margin-top: 0.8rem; }
.admin-drawer-item {
  display: grid; grid-template-columns: 72px 1fr auto; gap: 0.8rem; align-items: center;
  padding: 0.75rem 0; border-bottom: 1px solid rgba(var(--on-surface-rgb),0.08);
  outline: none;
}
.admin-drawer-item:last-child { border-bottom: 0; padding-bottom: 0; }
.admin-drawer-item:focus-visible { box-shadow: 0 0 0 2px rgba(193,18,31,0.4); }
.admin-drawer-item__media {
  width: 72px; height: 72px; overflow: hidden; border: 1px solid var(--black-4); border-radius: var(--r);
  background: linear-gradient(135deg, rgba(193,18,31,0.16), rgba(var(--on-surface-rgb),0.04));
}
.admin-drawer-item__media img { width: 100%; height: 100%; object-fit: cover; }
.admin-drawer-item__media span {
  display: grid; place-items: center; width: 100%; height: 100%;
  color: var(--white); font-family: var(--font-display); font-size: 1.35rem;
}
.admin-drawer-item__body { min-width: 0; }
.admin-drawer-item__body span {
  display: block; color: var(--red); font-family: var(--font-cond); font-weight: 900;
  font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase;
}
.admin-drawer-item__body strong { display: block; margin-top: 0.1rem; line-height: 1.25; }
.admin-drawer-item__body small {
  display: block; margin-top: 0.12rem; color: var(--gray); font-size: 0.76rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.admin-drawer-item em { color: var(--gray-light); font-style: normal; white-space: nowrap; }
.admin-tracking-field { margin-top: 1rem; display: grid; gap: 0.35rem; }
.admin-tracking-field label {
  color: var(--gray); font-family: var(--font-cond); font-size: 0.72rem;
  font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
}
.admin-tracking-field input {
  min-height: 42px; padding: 0.6rem 0.75rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-2); color: var(--white); font-size: 0.88rem; outline: none;
}
.admin-tracking-field input:focus { border-color: var(--red); }
.admin-dpd-export {
  min-height: 42px; padding: 0.6rem 0.9rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); color: var(--white); cursor: pointer;
  font-family: var(--font-cond); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.8rem;
  justify-self: start;
}
.admin-dpd-export:hover { border-color: var(--red); }
.admin-tracking-field small { color: var(--gray); font-size: 0.78rem; }
.admin-drawer-actions {
  position: sticky; bottom: -1.4rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem;
  margin: 1rem -1.4rem -1.4rem; padding: 1rem 1.4rem;
  border-top: 1px solid var(--black-4); background: rgba(var(--surface-rgb),0.96); backdrop-filter: blur(12px);
}
.admin-drawer-actions button {
  min-height: 48px; padding: 0.8rem 1rem; border: 1px solid var(--black-4); border-radius: var(--r);
  background: var(--black-3); color: var(--white);
  font-family: var(--font-cond); font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase;
}
.admin-drawer-actions__primary { background: var(--red) !important; border-color: var(--red) !important; }
.admin-drawer-actions button:disabled {
  cursor: not-allowed; color: var(--gray); background: rgba(var(--on-surface-rgb),0.04) !important; border-color: var(--black-4) !important;
}

/* ──────────────────── TOAST ──────────────────────────────── */
.toast {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 2000;
  display: flex; align-items: flex-start; gap: 0.85rem;
  width: min(360px, calc(100vw - 2rem));
  padding: 1.05rem 1.1rem 1.2rem 1rem; background: var(--black-2);
  border: 1px solid var(--black-4); border-radius: var(--r-lg);
  box-shadow: var(--shadow), 0 16px 40px -12px color-mix(in srgb, var(--red) 45%, transparent);
  transform: translateY(130%) scale(0.97); opacity: 0;
  transition: transform 0.45s var(--ease), opacity 0.35s var(--ease);
  pointer-events: none; overflow: hidden;
}
.toast.show { transform: none; opacity: 1; pointer-events: auto; }
.toast.success { box-shadow: var(--shadow), 0 16px 40px -12px color-mix(in srgb, #16A34A 45%, transparent); }

.toast-icon-wrap {
  flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--red) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--red) 35%, transparent);
}
.toast.success .toast-icon-wrap {
  background: color-mix(in srgb, #16A34A 14%, transparent);
  border-color: color-mix(in srgb, #16A34A 35%, transparent);
}
.toast-icon { font-size: 1.1rem; line-height: 1; }

.toast-body { flex: 1; min-width: 0; padding-top: 0.15rem; }
.toast-title { font-family: var(--font-cond); font-weight: 800; font-size: 0.86rem; letter-spacing: 0.05em; text-transform: uppercase; }
.toast-msg { font-size: 0.78rem; color: var(--gray-light); margin-top: 0.22rem; line-height: 1.5; }
.toast-msg:empty { display: none; }

.toast-close {
  flex-shrink: 0; width: 22px; height: 22px; margin: -1px -2px 0 0;
  display: flex; align-items: center; justify-content: center;
  color: var(--gray); border-radius: 50%; transition: var(--t);
}
.toast-close:hover { color: var(--white); background: var(--white-08); }
.toast-close svg { width: 12px; height: 12px; }

.toast-progress {
  position: absolute; left: 0; bottom: 0; height: 3px; width: 100%;
  background: var(--red); transform-origin: left; transform: scaleX(0);
}
.toast.show .toast-progress { animation: toast-shrink 3s linear forwards; }
.toast.success .toast-progress { background: #16A34A; }
@keyframes toast-shrink { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media (prefers-reduced-motion: reduce) {
  .toast.show .toast-progress { animation: none; opacity: 0; }
}

/* ──────────────────── RESPONSIVE ────────────────────────── */
@media (max-width: 1100px) {
  .categories__grid { grid-template-columns: repeat(2,1fr); }
  .benefits__grid { grid-template-columns: 1fr 1fr; }
  .benefit-item:nth-child(2) { border-right: none; }
  .benefit-item:nth-child(3) { border-top: 1px solid var(--black-4); }
  .benefit-item:nth-child(4) { border-right: none; border-top: 1px solid var(--black-4); }
  .products-grid { grid-template-columns: repeat(3,1fr); }
  .testimonials__grid { grid-template-columns: 1fr 1fr; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__top > *:nth-child(1) { grid-column: 1/-1; }
  .checkout-grid { grid-template-columns: 1fr; }
  .checkout-summary { position: static; order: -1; }
  .shop-layout { grid-template-columns: 230px minmax(0,1fr); }
  .shop-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shop-grid { grid-template-columns: repeat(2,1fr); }
  .product-detail { grid-template-columns: 1fr; max-width: 720px; }
  .product-detail__media { position: relative; height: 320px; max-height: none; }
  .product-seo-grid,
  .product-seo-layout { grid-template-columns: 1fr; }
  .product-seo-media { max-height: 560px; }
  .product-seo-side { position: static; }
  .contact-grid { gap: 2.5rem; }
  .about-story { gap: 3rem; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .about-stats { grid-template-columns: 1fr 1fr; }
  .about-stat:nth-child(2) { border-right: none; }
  .about-stat:nth-child(3) { border-top: 1px solid rgba(var(--on-surface-rgb),0.15); border-right: 1px solid rgba(var(--on-surface-rgb),0.15); }
  .about-stat:nth-child(4) { border-top: 1px solid rgba(var(--on-surface-rgb),0.15); border-right: none; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .admin-product-builder { grid-template-columns: 1fr; }
  .admin-product-preview { position: static; max-width: 420px; }
  .admin-catalog-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-catalog-filters button { width: 100%; }
  .admin-order-priority { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 768px) {
  :root { --nav-h: 60px; }
  .hero__title { font-size: clamp(3rem,14vw,5rem); }
  .hero__stats { gap: 1.75rem; }
  .products-grid { grid-template-columns: 1fr 1fr; gap: 0.9rem; }
  .products-grid-3 { grid-template-columns: 1fr 1fr; gap: 0.9rem; }
  .featured-split { grid-template-columns: 1fr; height: auto; }
  .featured-main { height: 500px; }
  .featured-secondary { grid-template-rows: auto; grid-template-columns: 1fr 1fr; }
  .featured-small { height: 305px; }
  .featured-small:first-child { border-bottom: none; border-right: 3px solid var(--black-4); }
  .newsletter__inner { flex-direction: column; }
  .newsletter__form { max-width: 100%; }
  .checkout-fields { grid-template-columns: 1fr; }
  .checkout-stepper { padding: 0.9rem 0.85rem; }
  .checkout-stepper__label { display: none; }
  .checkout-stepper__item:not(:last-child)::after { margin: 0 0.4rem; }
  .checkout-step-actions { flex-wrap: wrap; }
  .checkout-next, .checkout-prev { flex: 1; text-align: center; }
  .shipping-option { grid-template-columns: auto 1fr; }
  .shipping-option b { grid-column: 2; }
  .shop-layout { grid-template-columns: minmax(0,1fr); }
  .shop-sidebar { display: none; position: static; }
  .shop-sidebar.mobile-open { display: block; }
  .shop-category-hub { margin-inline: -1rem; border-inline: 0; border-radius: 0; }
  .shop-category-hub__head { align-items: flex-start; }
  .shop-category-grid {
    display: flex; gap: 0.75rem; overflow-x: auto; scroll-snap-type: x mandatory;
    padding: 0 1rem 0.25rem; margin-inline: -1rem;
  }
  .shop-category-card {
    min-width: min(76vw, 280px); min-height: 150px; scroll-snap-align: start;
  }
  .shop-grid { grid-template-columns: 1fr 1fr; }
  .product-detail-modal { align-items: stretch; padding: 0.8rem; }
  .product-detail { max-height: calc(100vh - 1.6rem); }
  .product-card__overlay { grid-template-columns: 1fr; }
  .product-card__details { min-width: 0; }
  .product-detail__perks { grid-template-columns: 1fr; }
  .product-variant-group--colors div { grid-template-columns: 1fr !important; }
  .product-variant-group--sizes div { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .product-seo-trust { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .about-story { grid-template-columns: 1fr; }
  .about-story__img-badge { width: 100px; height: 100px; }
  .about-story__img-badge strong { font-size: 1.9rem; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .cart-sidebar { width: 100%; }
  .form-row { grid-template-columns: 1fr; }
  .admin-auth { grid-template-columns: 1fr; }
  .admin-topbar,
  .admin-panel-head { align-items: flex-start; flex-direction: column; }
  .admin-category-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-variant-builder,
  .admin-variant-toolbar { grid-template-columns: 1fr; }
  .admin-variant-matrix {
    grid-template-columns: minmax(88px,112px) repeat(var(--variant-size-cols), minmax(70px,86px));
  }
  .admin-catalog-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-order-ref,
  .admin-client-cell { min-width: 190px; }
  .admin-drawer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .footer__top { grid-template-columns: 1fr; }
  .footer__top > *:nth-child(1) { grid-column: auto; }
  .values-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .checkout-panel__head { align-items: flex-start; justify-content: flex-start; }
  .checkout-item { grid-template-columns: 54px 1fr; }
  .checkout-item b { grid-column: 2; }
  .shop-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .product-detail__media { height: 230px; }
  .product-detail__body { padding: 1.2rem; }
  .detail-size--color { min-height: 54px; }
  .detail-size__swatch { width: 34px; height: 34px; flex-basis: 34px; }
  .product-variant-summary { align-items: flex-start; }
  .hero__actions { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .admin-order-drawer__panel { padding: 1rem; }
  .admin-drawer-head h2 { font-size: 2rem; }
  .admin-prep-status { align-items: flex-start; flex-direction: column; }
  .admin-drawer-item { grid-template-columns: 58px 1fr; }
  .admin-drawer-item__media { width: 58px; height: 58px; }
  .admin-drawer-item em { grid-column: 2; justify-self: start; }
  .admin-drawer-actions { grid-template-columns: 1fr; margin: 1rem -1rem -1rem; padding: 1rem; }
}

/* ──────────────────── RESPONSIVE POLISH ──────────────────── */
@media (max-width: 980px) {
  .nav { background: rgba(var(--surface-rgb),0.96); backdrop-filter: blur(14px); border-bottom: 1px solid var(--white-08); }
  .nav__inner { gap: 0.8rem; }
  .nav .nav__logo {
    gap: 0.65rem;
    flex: 1 1 auto;
  }
  .nav .nav__logo::after {
    content: 'ARTS ET COMBATS';
    color: var(--white);
    font-family: var(--font-cond);
    font-weight: 800;
    font-size: 1.08rem;
    line-height: 1;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .nav__links, .nav__cta { display: none; }
  .nav__actions { margin-left: auto; }
  .nav__burger { display: flex; }
  .hero { min-height: auto; }
  .hero__content { padding-bottom: 3.5rem; }
  .hero__scroll { display: none; }
  .hero__stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; margin-top: 2.5rem; }
  .featured-main { min-height: 0; }
  .shop-toolbar { align-items: stretch; }
  .shop-search { flex: 1 1 240px; }
  .shop-search input,
  .shop-search input:focus { width: 100%; }
  .shop-sort { flex: 1 1 160px; }
  .shop-sort select { width: 100%; }
  .view-toggle { flex: 0 0 auto; }
  .contact-grid,
  .about-story { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  html { font-size: 15px; }
  .container { padding-inline: 1rem; }
  .section-pad { padding: 3rem 0; }
  .section-header { margin-bottom: 1.6rem; }
  .nav { padding-inline: 1rem; }
  .nav .nav__logo { flex-basis: auto; gap: 0; }
  .nav__logo-img { width: 54px; height: 54px; }
  .nav .nav__logo::after {
    font-size: 0.98rem;
    max-width: 32vw;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .nav__logo-main { font-size: 1.18rem; }
  .nav__logo-sub { font-size: 0.45rem; letter-spacing: 0.16em; }
  .nav__icon-btn { width: 36px; height: 36px; }
  .nav__actions { gap: 0.25rem; }
  .hero__content,
  .about-hero__content { padding-inline: 1rem; }
  .hero__title { line-height: 0.9; max-width: 100%; }
  .hero__sub { font-size: 0.95rem; margin-bottom: 1.5rem; }
  .hero__stats { grid-template-columns: 1fr 1fr; padding-top: 1.4rem; }
  .hero__stat-num { font-size: 1.8rem; }
  .hero__stat-lbl { font-size: 0.62rem; }
  .btn-primary,
  .btn-outline { width: 100%; justify-content: center; padding: 0.8rem 1rem; }
  .page-hero,
  .checkout-hero,
  .product-seo-hero { padding-top: calc(var(--nav-h) + 2rem); }
  .page-hero__breadcrumb { overflow-x: auto; white-space: nowrap; padding-bottom: 0.2rem; }
  .page-hero__title { font-size: clamp(2.4rem,15vw,4rem); line-height: 0.95; }
  .page-hero__sub { font-size: 0.9rem; }
  .brand-logo-card { width: 106px; height: 58px; border-radius: var(--r); }
  .marquee-track span { font-size: 0.86rem; padding-inline: 1rem; }
  .featured-main { height: 430px; }
  .featured-secondary { grid-template-columns: 1fr; }
  .featured-small:first-child { border-right: 0; border-bottom: 3px solid var(--black-4); }
  .featured-small { height: 270px; }
  .categories__grid,
  .benefits__grid,
  .testimonials__grid,
  .values-grid,
  .about-stats,
  .team-grid,
  .footer__top { grid-template-columns: 1fr; }
  .benefit-item,
  .benefit-item:nth-child(2),
  .benefit-item:nth-child(3),
  .benefit-item:nth-child(4),
  .about-stat,
  .about-stat:nth-child(2),
  .about-stat:nth-child(3),
  .about-stat:nth-child(4) { border-right: 0; border-top: 1px solid var(--black-4); }
  .benefit-item:first-child,
  .about-stat:first-child { border-top: 0; }
  .products-grid,
  .products-grid-3,
  .shop-grid { grid-template-columns: 1fr; gap: 1rem; }
  .product-card__overlay { position: static; transform: none; padding: 0 0.9rem 0.9rem; background: transparent; }
  .product-card__add,
  .product-card__details { min-height: 42px; }
  .product-card:hover { transform: none; }
  .product-card:hover .product-card__img img { transform: none; }
  .shop-layout { gap: 1.25rem; }
  .shop-toolbar { display: grid; grid-template-columns: 1fr; gap: 0.8rem; }
  .shop-category-hub__head { display: grid; grid-template-columns: 1fr; }
  .shop-category-reset { display: none; }
  .shop-category-card__title { font-size: 1.45rem; }
  .view-toggle { display: none; }
  .admin-shell { width: min(100% - 24px, 1180px); padding-top: 18px; }
  .admin-tabs { overflow-x: auto; }
  .admin-mini-grid,
  .admin-badge-picker { grid-template-columns: 1fr; }
  .admin-variant-row { grid-template-columns: 1fr 1fr; }
  .admin-variant-row button { width: 100%; }
  .admin-product-preview { max-width: none; }
  .admin-form-actions { display: grid; grid-template-columns: 1fr; }
  .admin-catalog-stats,
  .admin-catalog-filters { grid-template-columns: 1fr; }
  .shop-grid.list-view .product-card { display: block; }
  .shop-grid.list-view .product-card__img { height: auto; aspect-ratio: 1; }
  .checkout-section { padding-top: 2rem; }
  .checkout-grid { gap: 1rem; }
  .checkout-panel,
  .checkout-summary { border-radius: var(--r); }
  .checkout-summary { padding: 1rem; }
  .checkout-panel__head,
  .checkout-summary__head { align-items: flex-start; }
  .checkout-panel__head h2,
  .checkout-summary__head h2 { font-size: 1.45rem; }
  .shipping-option { padding: 0.85rem; }
  .checkout-total-line strong { font-size: 1.45rem; }
  .product-detail-modal { padding: 0; align-items: stretch; }
  .product-detail {
    width: 100%;
    height: 100dvh;
    max-height: none;
    border-radius: 0;
    border-inline: 0;
  }
  .product-detail__close { position: fixed; top: 0.75rem; right: 0.75rem; }
  .product-detail__media { height: 42vh; min-height: 260px; }
  .product-detail__name { font-size: clamp(2.5rem,15vw,4rem); }
  .product-detail__block-head { align-items: flex-start; flex-direction: column; gap: 0.35rem; }
  .product-seo-grid { gap: 1rem; }
  .product-seo-layout,
  .product-seo-layout article { min-width: 0; }
  .product-seo-table-wrap { width: 100%; max-width: 100%; }
  .product-seo-media { max-height: 460px; }
  .product-seo-buybox { padding: 1rem; border-radius: var(--r); }
  .product-seo-buybox h1 { font-size: clamp(3rem,16vw,4.7rem); }
  .product-seo-layout h2 { font-size: clamp(2rem,11vw,3rem); }
  .product-seo-table { min-width: 480px; }
  .product-seo-side { gap: 0.75rem; }
  .cart-sidebar { width: 100%; max-width: none; }
  .cart-header,
  .cart-items,
  .cart-footer { padding-inline: 1rem; }
  .newsletter__form { flex-direction: column; border: 0; gap: 0.75rem; background: transparent; }
  .newsletter__input,
  .newsletter__submit { border: 1px solid var(--black-4); border-radius: var(--r); }
  .footer__bottom,
  .footer__legal { align-items: flex-start; flex-direction: column; gap: 0.7rem; }
  .contact-form-card,
  .contact-hours-card,
  .contact-info-card { padding: 1.15rem; }
}

@media (max-width: 380px) {
  .nav__logo-main { font-size: 1.02rem; }
  .nav__logo-sub { display: none; }
  .nav__icon-btn { width: 34px; height: 34px; }
  .hero__stats { grid-template-columns: 1fr; }
  .section-title { font-size: clamp(2.2rem,15vw,3.3rem); }
  .product-card__bottom { align-items: flex-start; flex-direction: column; }
  .checkout-item { grid-template-columns: 48px 1fr; gap: 0.7rem; }
  .checkout-item img { width: 48px; height: 48px; }
  .shipping-option { grid-template-columns: 1fr; }
  .shipping-option b { grid-column: auto; }
}

/* ──────────────────── PHONE SHOP FIXES ──────────────────── */
@media (max-width: 640px) {
  body { width: 100%; }

  .nav__inner,
  .shop-layout,
  .checkout-grid,
  .product-seo-grid,
  .product-seo-layout,
  .newsletter__inner,
  .footer__top,
  .cart-item,
  .checkout-item { min-width: 0; }

  .nav { height: var(--nav-h); }
  .nav__inner { gap: 0.45rem; }
  .nav .nav__logo { min-width: 0; flex: 1 1 auto; gap: 0.45rem; }
  .nav__logo-img { width: 50px; height: 50px; }
  .nav__logo-main {
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .nav__actions { flex: 0 0 auto; }
  .nav__actions .nav__icon-btn[aria-label="Rechercher"] { display: none; }
  .nav__actions #cartToggle { display: flex; }
  .nav__icon-btn,
  .nav__burger { position: relative; z-index: 2; }
  .nav__burger { flex: 0 0 42px; align-items: center; }
  .nav__mobile { padding-inline: 1rem; }

  .page-hero { padding-bottom: 2rem; }
  .page-hero__title,
  .hero__title,
  .section-title {
    overflow-wrap: anywhere;
    letter-spacing: 0;
  }

  .hero { min-height: 100svh; }
  .hero__content { padding-top: calc(var(--nav-h) + 2rem); }
  .hero__badge { margin-left: 0; }
  .hero__actions { align-items: stretch; width: 100%; }
  .hero__actions .btn,
  .hero__actions .hero__badge { width: 100%; justify-content: center; }

  .featured-main,
  .featured-small { height: auto; min-height: 240px; aspect-ratio: 4 / 5; }
  .featured-main__info,
  .featured-small__info { padding: 1rem; }
  .featured-name { font-size: 1.65rem; }

  .shop-toolbar {
    margin-bottom: 1rem;
    padding: 0;
  }
  .shop-toolbar > div {
    width: 100%;
    min-width: 0;
    align-items: stretch !important;
    flex-direction: column;
    flex-wrap: nowrap !important;
    gap: 0.75rem !important;
  }
  .shop-results { line-height: 1.35; }
  .shop-search,
  .shop-sort {
    flex: none;
  }
  .shop-search,
  .shop-sort,
  .shop-search input,
  .shop-sort select { width: 100%; min-width: 0; }

  .shop-category-hub {
    padding-block: 1rem;
    margin-bottom: 1rem;
  }
  .shop-category-grid {
    scrollbar-width: none;
  }
  .shop-category-grid::-webkit-scrollbar { display: none; }
  .shop-category-card {
    min-width: min(82vw, 300px);
    min-height: 132px;
  }

  .shop-sidebar.mobile-open {
    max-height: 70svh;
    overflow: auto;
    padding: 1rem;
  }
  .martial-category-list { max-height: none; }
  .filter-opt { align-items: flex-start; line-height: 1.3; }

  .products-grid,
  .products-grid-3,
  .shop-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .product-card {
    width: 100%;
    cursor: default;
  }
  .product-card__img { aspect-ratio: 4 / 3; }
  .product-card__info { padding: 0.95rem; }
  .product-card__name {
    font-size: 1.08rem;
    overflow-wrap: anywhere;
  }
  .product-card__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .product-card__price-old { display: inline-block; margin-left: 0.25rem; }
  .product-card__overlay {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }
  .product-card__add,
  .product-card__details {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    white-space: normal;
  }

  .pagination {
    flex-wrap: wrap;
    margin-top: 1.5rem;
  }

  .cart-sidebar {
    width: 100vw;
    height: 100dvh;
    border-left: 0;
  }
  .cart-header { padding-block: 1rem; }
  .cart-item {
    grid-template-columns: 64px minmax(0,1fr);
    gap: 0.75rem;
  }
  .cart-item__img {
    width: 64px;
    height: 64px;
  }
  .cart-item__row {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.55rem;
  }
  .cart-item__remove { align-self: flex-start; }

  .checkout-panel,
  .checkout-summary,
  .checkout-confirmation__box { padding: 1rem; }
  .checkout-submit,
  .form-submit,
  .newsletter__submit,
  .cart-checkout { min-height: 46px; }
  .checkout-input,
  .form-input,
  .form-select,
  .form-textarea,
  .newsletter__input { min-width: 0; width: 100%; }
  .shipping-option {
    grid-template-columns: auto minmax(0,1fr);
    gap: 0.75rem;
  }
  .shipping-option b {
    grid-column: 2;
    justify-self: start;
  }
  .checkout-trust { grid-template-columns: 1fr; }

  .product-detail__media {
    height: 36svh;
    min-height: 220px;
  }
  .product-detail__body { padding: 1rem; }
  .product-detail__name,
  .product-seo-buybox h1 { letter-spacing: 0; overflow-wrap: anywhere; }
  .product-service-notes p { grid-template-columns: 1fr; }

  .toast {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    max-width: none;
    transform: translateY(120%);
  }
}

@media (max-width: 380px) {
  .nav__logo-main { max-width: 42vw; }
  .nav__actions { gap: 0.1rem; }
  .hero__title { font-size: clamp(2.7rem,18vw,3.6rem); }
  .page-hero__title { font-size: clamp(2.25rem,16vw,3.2rem); }
  .shop-category-card { min-width: 84vw; }
  .product-card__img { aspect-ratio: 1; }
}
