/* ============================================================================
   620 MUSCLES — Storefront theme. Loads AFTER store.css.
   Iron Black surfaces · Power Red action · Steel Silver detail.
   Bebas Neue (display) + Barlow (body) + Barlow Semi Condensed (labels).
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:wght@300;400;500;600;700;800;900&family=Barlow+Semi+Condensed:wght@500;600;700;800&family=Chakra+Petch:wght@600;700&display=swap');

:root{
  --bg:#0C0C0C; --bg-gray:#141416; --bg-soft:#161618;
  --border:#26262A; --border-dark:#303034;
  --text:#F1EFEC; --text-muted:#9A9A9A; --text-light:#6F6F73;
  --primary:#CC0000; --primary-hover:#FF1F1F; --primary-light:rgba(204,0,0,.12);
  --secondary:#111111; --accent:#CC0000;
  --silver:#C0C0C0;
  --radius:6px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.55);
  --shadow:0 10px 30px -12px rgba(0,0,0,.8);
  --shadow-lg:0 30px 70px -25px rgba(0,0,0,.85);
  --mm-card:#161617; --mm-card2:#1c1c1e; --mm-line:#2A2A2C;
  --mm-red:#CC0000; --mm-red2:#FF1F1F;
  --metal:linear-gradient(135deg,#EDEDED 0%,#A9A9A9 40%,#DcDcDc 62%,#8C8C8C 100%);
  --vt-display:'Bebas Neue',sans-serif; --nx-display:'Bebas Neue',sans-serif;
  --mm-display:'Bebas Neue',sans-serif; --mm-body:'Barlow',sans-serif; --mm-label:'Barlow Semi Condensed',sans-serif;
  --transition:.25s cubic-bezier(.2,.7,.2,1);
}

/* ---------- base ---------- */
body{
  background:var(--bg) !important; color:var(--text) !important;
  font-family:var(--mm-body) !important; -webkit-font-smoothing:antialiased;
}
.store-wrapper, main, .page-wrap, .content-wrap{ background:var(--bg); }
h1,h2,h3,.section-header h2,.hero-title{ letter-spacing:.01em; }
a{ color:inherit; }
::selection{ background:var(--mm-red); color:#fff; }
img{ max-width:100%; }

/* grain */
body::after{
  content:""; position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* scrollbar */
*::-webkit-scrollbar{ height:10px; width:10px; }
*::-webkit-scrollbar-track{ background:#101011; }
*::-webkit-scrollbar-thumb{ background:#2c2c2f; border-radius:6px; }
*::-webkit-scrollbar-thumb:hover{ background:var(--mm-red); }

/* ---------- eyebrows / labels ---------- */
.mm-eyebrow{ font-family:var(--mm-label); font-weight:700; text-transform:uppercase; letter-spacing:.3em; font-size:.72rem; color:var(--mm-red); display:inline-block; }
.mm-eyebrow--silver{ color:var(--silver); }

/* ---------- buttons (theme + storefront) ---------- */
.mm-btn{ display:inline-flex; align-items:center; gap:.55em; font-family:var(--mm-label); font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:.9rem; padding:14px 26px; border-radius:6px; transition:transform var(--transition),background var(--transition),box-shadow var(--transition); cursor:pointer; }
.mm-btn svg{ width:16px; height:16px; transition:transform var(--transition); }
.mm-btn:hover svg{ transform:translateX(4px); }
.mm-btn--red{ background:var(--mm-red); color:#fff; }
.mm-btn--red:hover{ background:var(--mm-red2); transform:translateY(-2px); box-shadow:0 12px 30px -8px rgba(204,0,0,.55); }
.mm-btn--ghost{ border:1px solid var(--mm-line); color:var(--text); }
.mm-btn--ghost:hover{ border-color:var(--silver); transform:translateY(-2px); }

.hero-btn, .promo-btn, .story-banner-btn, .newsletter-form button, .card-select-btn,
.btn-add-cart, .btn-buy-now, .filter-clear-all, .shop-cat-strip a.active, button[type="submit"].btn,
.btn-primary{
  font-family:var(--mm-label) !important; text-transform:uppercase; letter-spacing:.05em; border-radius:6px !important;
}
.card-select-btn, .btn-add-cart, .hero-btn, .story-banner-btn, .promo-btn, .newsletter-form button{
  background:var(--mm-red) !important; color:#fff !important; border:none !important; font-weight:700 !important;
  transition:background var(--transition),transform var(--transition),box-shadow var(--transition);
}
.card-select-btn:hover, .btn-add-cart:hover, .hero-btn:hover, .story-banner-btn:hover, .newsletter-form button:hover{
  background:var(--mm-red2) !important; transform:translateY(-2px); box-shadow:0 12px 26px -10px rgba(204,0,0,.5);
}
.btn-buy-now{ background:transparent !important; color:var(--text) !important; border:1px solid var(--mm-line) !important; }
.btn-buy-now:hover{ border-color:var(--silver) !important; }
.section-link, .mega-view-all, .filter-clear-all{ color:var(--mm-red) !important; font-family:var(--mm-label); font-weight:700; letter-spacing:.05em; }

/* ============================================================================
   HEADER
   ========================================================================== */
.announcement-bar{ background:var(--mm-red) !important; color:#fff !important; font-family:var(--mm-label); font-weight:600; text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; }
.store-header{ background:#0C0C0C !important; border-bottom:1px solid #1d1d1f !important; transition:box-shadow .3s,background .3s; }
.store-header.mm-scrolled{ box-shadow:0 10px 30px -16px rgba(0,0,0,.9); background:rgba(12,12,12,.92) !important; backdrop-filter:blur(12px); }
.header-inner{ background:transparent !important; }
.logo-text{ font-family:'Chakra Petch',sans-serif !important; font-weight:700; color:var(--text) !important; letter-spacing:.02em; }
.header-logo img{ filter:drop-shadow(0 0 1px rgba(255,255,255,.05)); }

/* search */
.header-search{ background:#161618 !important; border:1px solid #2a2a2c !important; border-radius:6px !important; }
.header-search input{ background:transparent !important; color:var(--text) !important; }
.header-search input::placeholder{ color:#7a7a7d !important; }
.header-search button, .header-search .search-btn{ background:var(--mm-red) !important; color:#fff !important; border-radius:5px !important; }

/* mobile search — ONE clean dark field with a red frame (no nested grey pill).
   Stock wraps the form in a red bar + grey rounded .search-wrapper; flatten it. */
.mobile-search-bar{ background:#0C0C0C !important; padding:10px 12px 12px !important; }
.mobile-search-bar::after{ display:none !important; }
.mobile-search-bar .search-wrapper{ background:transparent !important; border:0 !important; border-radius:0 !important; padding:0 !important; }
.mobile-search-bar form{ background:#1B1B1D !important; border:2px solid var(--mm-red) !important; border-radius:10px !important; overflow:hidden; gap:0 !important; }
.mobile-search-bar input{ background:transparent !important; color:var(--text) !important; }
.mobile-search-bar input::placeholder{ color:#8a8a8d !important; }
.mobile-search-bar button{ background:var(--mm-red) !important; color:#fff !important; border-radius:0 !important; }
.search-dropdown{ background:#141416 !important; border:1px solid var(--mm-line) !important; color:var(--text) !important; box-shadow:var(--shadow-lg); }
.search-dropdown a, .search-dropdown .sd-item{ color:var(--text) !important; border-color:#222 !important; }
.search-dropdown a:hover{ background:#1d1d1f !important; }

/* nav links */
.header-nav a, .nav-shop-link, .header-lang{ color:#dcdcdc !important; font-family:var(--mm-label); font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.header-nav a:hover, .nav-shop-link:hover, .nav-shop-link.active{ color:#fff !important; }
.header-lang{ border:1px solid var(--mm-line) !important; border-radius:5px; }
.header-action-btn{ color:#dadada !important; }
.header-action-btn:hover{ color:#fff !important; }
.badge-count{ background:var(--mm-red) !important; color:#fff !important; font-family:var(--mm-body); font-weight:800; }

/* mega menu — the stock right zone (.mega-grid-wrap) + footer are WHITE in
   store.css; force the whole panel dark so the text is readable. */
.mega-menu{ background:#141415 !important; border:1px solid var(--mm-line) !important; border-radius:14px !important; box-shadow:0 30px 70px -20px rgba(0,0,0,.85) !important; }
.mega-menu-body, .mega-grid-wrap{ background:#141415 !important; }
.mega-col-title{ color:#FFFFFF !important; font-family:var(--mm-label); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.mega-col-title:hover{ color:var(--mm-red) !important; }
.mega-col-list a{ color:#C9C9C9 !important; }
.mega-col-list a:hover{ color:var(--mm-red) !important; }
.mega-grid-eyebrow{ color:#9A9A9A !important; font-family:var(--mm-label); letter-spacing:.16em; text-transform:uppercase; }
.mega-feature-eyebrow{ color:var(--mm-red) !important; font-family:var(--mm-label); letter-spacing:.16em; text-transform:uppercase; }
.mega-feature{ background:linear-gradient(160deg,#240707,#0e0e0e) !important; border:1px solid #3a1212 !important; border-radius:12px 0 0 12px; }
.mega-feature-title{ font-family:var(--mm-display); font-size:1.8rem; color:#fff !important; }
.mega-feature-text{ color:#bdbdbd !important; }
.mega-feature-cta{ background:var(--mm-red) !important; color:#fff !important; border-radius:6px; font-family:var(--mm-label); font-weight:700; letter-spacing:.05em; }
.mega-feature-cta:hover{ color:#fff !important; }
.mega-menu-footer{ background:#101011 !important; border-top:1px solid var(--mm-line) !important; }
.mega-view-all{ color:var(--mm-red) !important; }

/* mobile slide menu + cart sidebar (dark) */
.mobile-slide-menu, .cart-sidebar{ background:#0e0e0f !important; color:var(--text) !important; border-color:var(--mm-line) !important; }
.mobile-slide-menu *, .cart-sidebar *{ color:inherit; }
.mm-tab{ color:#bbb !important; }
.mm-tab.active{ color:#fff !important; border-color:var(--mm-red) !important; }
.mm-cat-link, .mm-subcat-link, .mm-menu-link{ color:#ddd !important; border-color:#1f1f21 !important; }
.mm-cat-link:hover, .mm-menu-link:hover{ color:var(--mm-red) !important; }
.mm-search input{ background:#161618 !important; border:1px solid var(--mm-line) !important; color:#fff !important; }
.cart-sidebar-header{ border-bottom:1px solid var(--mm-line) !important; }
.cart-sidebar-header h3{ font-family:var(--mm-display); letter-spacing:.02em; }
.cart-sidebar-footer{ border-top:1px solid var(--mm-line) !important; background:#0e0e0f !important; }
.cart-item, .cart-sidebar-item{ border-color:#1f1f21 !important; }
.cart-checkout-btn, .cart-sidebar-footer .btn{ background:var(--mm-red) !important; color:#fff !important; border-radius:6px; font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.06em; }

/* ============================================================================
   HERO (goal-first signature)
   ========================================================================== */
.mm-hero{ position:relative; overflow:hidden; padding:72px 0 84px; border-bottom:1px solid #1c1c1e;
  background:radial-gradient(900px 520px at 80% 6%,rgba(204,0,0,.20),transparent 60%),
             radial-gradient(700px 600px at 4% 100%,rgba(192,192,192,.05),transparent 60%),
             #0C0C0C; }
.mm-hero__figure{ position:absolute; right:-3%; top:50%; transform:translateY(-50%); width:min(620px,50vw); opacity:.85; pointer-events:none; z-index:0; filter:drop-shadow(0 0 70px rgba(204,0,0,.22)); }
.mm-hero__figure svg{ width:100%; height:auto; }
.mm-hero__inner{ position:relative; z-index:2; max-width:1280px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:1.12fr .88fr; gap:52px; align-items:center; }
.mm-hero__copy .mm-eyebrow{ display:inline-flex; align-items:center; gap:10px; margin-bottom:20px; }
.mm-hero__copy .mm-eyebrow::before{ content:""; width:30px; height:2px; background:var(--mm-red); }
.mm-hero__title{ font-family:var(--mm-display); font-size:clamp(3.4rem,7.8vw,7rem); line-height:.86; text-transform:uppercase; margin:0 0 8px; color:#fff; }
.mm-hero__title .mm-stroke{ color:transparent; -webkit-text-stroke:1.5px var(--silver); }
.mm-hero__sub{ font-size:1.08rem; color:#cfcfcf; max-width:46ch; margin:16px 0 28px; line-height:1.55; }
.mm-hero__cta{ display:flex; gap:13px; flex-wrap:wrap; margin-bottom:32px; }
.mm-hero__stats{ display:flex; gap:30px; flex-wrap:wrap; }
.mm-stat .n{ display:block; font-family:var(--mm-display); font-size:2.3rem; line-height:1; color:#fff; }
.mm-stat .n .r{ color:var(--mm-red); }
.mm-stat .l{ display:block; font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.13em; font-size:.66rem; color:var(--text-muted); margin-top:4px; }

.mm-goalbox{ background:linear-gradient(170deg,#171718,#0e0e0f); border:1px solid var(--mm-line); border-radius:18px; padding:24px; box-shadow:0 40px 90px -40px rgba(0,0,0,.9); }
.mm-goalbox__top{ margin-bottom:14px; }
.mm-goalbox__chips{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:18px; }
.mm-gchip{ text-align:left; border:1px solid var(--mm-line); border-radius:11px; padding:13px 14px; background:#141415; transition:border-color var(--transition),background var(--transition),transform var(--transition); display:flex; gap:11px; align-items:center; cursor:pointer; color:var(--text); }
.mm-gchip svg{ width:24px; height:24px; color:var(--silver); flex-shrink:0; transition:color var(--transition); }
.mm-gchip .mm-gt{ font-family:var(--mm-label); font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.86rem; line-height:1.05; }
.mm-gchip:hover{ border-color:#444; transform:translateY(-2px); }
.mm-gchip.active{ border-color:var(--mm-red); background:linear-gradient(160deg,#240707,#141415); }
.mm-gchip.active svg{ color:var(--mm-red); }
.mm-goalbox__panel{ border-top:1px solid var(--mm-line); padding-top:18px; }
.mm-gp-label{ font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.14em; font-size:.66rem; color:var(--text-muted); margin-bottom:6px; }
.mm-gp-name{ font-family:var(--mm-display); font-size:1.85rem; line-height:1; margin-bottom:8px; color:#fff; }
.mm-gp-name .red{ color:var(--mm-red); }
.mm-gp-desc{ font-size:.92rem; color:#bdbdbd; margin-bottom:14px; min-height:42px; }
.mm-gp-items{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px; }
.mm-gp-items span{ font-family:var(--mm-label); font-weight:600; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:#d6d6d6; background:#1d1d1f; border:1px solid var(--mm-line); padding:5px 10px; border-radius:20px; }
.mm-gp-foot{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.mm-gp-price{ font-family:var(--mm-display); font-size:1.6rem; color:#fff; }

/* ============================================================================
   CMS HERO SLIDER — brand skin over the stock slider markup (image/video/
   overlay/title/button all come straight from the section manager).
   ========================================================================== */
.hero-section{ background:#0C0C0C; border-bottom:1px solid #1c1c1e; }
.hero-title{ font-family:var(--mm-display) !important; font-weight:400 !important; font-size:clamp(2.6rem,6vw,5.4rem) !important; line-height:.95 !important; text-transform:uppercase; letter-spacing:.01em; }
.hero-subtitle{ font-family:var(--mm-body) !important; font-size:clamp(1rem,1.6vw,1.2rem) !important; opacity:.95; }
.hero-btn{ background:var(--mm-red) !important; color:#fff !important; border-radius:6px !important; font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.06em; font-weight:700 !important; }
.hero-btn:hover{ background:var(--mm-red2) !important; color:#fff !important; }
.hero-nav{ background:rgba(12,12,12,.55) !important; color:#fff !important; border:1px solid rgba(255,255,255,.25) !important; }
.hero-nav:hover{ background:var(--mm-red) !important; border-color:var(--mm-red) !important; box-shadow:0 10px 24px -8px rgba(204,0,0,.55) !important; }
.hero-dot{ background:rgba(255,255,255,.45) !important; }
.hero-dot.active{ background:var(--mm-red) !important; }
.hero-slide-placeholder{ background:linear-gradient(135deg,#1a0707,#0e0e0f) !important; }

/* Mobile: keep hero slides at 16:9 like desktop (stock theme switches to a
   portrait mobile image + 3:4/9:16 video). Show the desktop media, cropped to
   a 16:9 box so framing matches the desktop view. */
@media (max-width: 768px){
  .hero-slide{ aspect-ratio:16 / 9; }
  .hero-slide.active{ position:relative; }
  .hero-slide-img.desktop-img{ display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; }
  .hero-slide-img.mobile-img{ display:none !important; }
  .hero-slide-video, iframe.hero-slide-video{ width:100% !important; height:100% !important; aspect-ratio:16 / 9 !important; object-fit:cover !important; }
  .hero-slide-placeholder{ aspect-ratio:16 / 9; min-height:0; }
}

/* ============================================================================
   TRUST STRIP
   ========================================================================== */
.mm-trust{ background:#111112; border-bottom:1px solid #1c1c1e; }
.mm-trust__inner{ max-width:1280px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:repeat(4,1fr); }
.mm-trust__item{ display:flex; gap:14px; align-items:flex-start; padding:26px; border-left:1px solid #1c1c1e; }
.mm-trust__item:first-child{ border-left:none; padding-left:0; }
.mm-trust__ic{ flex-shrink:0; }
.mm-trust__ic svg{ width:30px; height:30px; color:var(--mm-red); }
.mm-trust__item h4{ font-family:var(--mm-label); font-weight:700; text-transform:uppercase; letter-spacing:.03em; font-size:.95rem; margin:0 0 2px; color:#fff; }
.mm-trust__item p{ font-size:.84rem; color:var(--text-muted); margin:0; line-height:1.4; }

/* ============================================================================
   SECTIONS
   ========================================================================== */
.home-section{ background:transparent; padding:84px 0; }
.section-inner{ max-width:1280px; margin:0 auto; padding:0 28px; }
.section-header{ margin-bottom:36px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.section-header h2{ font-family:var(--mm-display) !important; font-size:clamp(2.3rem,5vw,4.2rem) !important; line-height:.95 !important; text-transform:uppercase; color:#fff !important; font-weight:400 !important; margin:0; }
.section-header h2::before{ content:""; display:block; width:46px; height:4px; background:var(--mm-red); margin-bottom:14px; }

/* ---------- categories ---------- */
.categories-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.category-card{ position:relative; border:1px solid var(--mm-line) !important; border-radius:14px !important; overflow:hidden; background:linear-gradient(180deg,#1a1a1c,#101011) !important; transition:transform var(--transition),border-color var(--transition); }
.category-card:hover{ transform:translateY(-6px); border-color:var(--mm-red) !important; }
.category-img{ background:#101011 !important; }
.category-img img{ object-fit:cover; }
.category-info{ background:transparent !important; color:var(--text) !important; padding:16px; }
.category-info strong{ font-family:var(--mm-label); font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#fff !important; }
.category-info span{ color:var(--text-muted) !important; font-size:.78rem; }

/* ---------- product cards ---------- */
.products-scroll{ gap:18px; }
.product-card{ background:var(--mm-card) !important; border:1px solid var(--mm-line) !important; border-radius:13px !important; overflow:hidden; transition:transform var(--transition),border-color var(--transition); box-shadow:none !important; }
.product-card:hover{ transform:translateY(-6px); border-color:#3a3a3c !important; }
.product-card .card-image, .product-card .card-image-slider{ background:radial-gradient(120% 120% at 50% 8%,#242426,#0e0e0f) !important; }
.product-card .card-image-slider img{ object-fit:contain; }
.card-badge.sale, .card-badge{ background:var(--mm-red) !important; color:#fff !important; font-family:var(--mm-label); font-weight:700; letter-spacing:.04em; border-radius:5px; }
.card-wl-btn{ background:rgba(0,0,0,.45) !important; color:#ddd !important; border:1px solid var(--mm-line) !important; }
.card-wl-btn:hover, .card-wl-btn.wishlisted{ color:var(--mm-red) !important; border-color:var(--mm-red) !important; }
.card-body{ background:transparent !important; }
.card-title{ color:#fff !important; font-weight:700 !important; }
.card-title:hover{ color:var(--mm-red) !important; }
.card-category{ color:var(--mm-red) !important; font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.1em; font-size:.62rem; }
.card-rating .stars{ color:var(--mm-red) !important; }
.card-rating .stars-empty{ color:#3a3a3c !important; }
.card-stock.in-stock{ color:#3fb46f !important; }
.card-stock.out-of-stock{ color:#c66 !important; }
.card-price .current{ font-family:var(--mm-display) !important; font-size:1.4rem !important; color:#fff !important; }
.card-price .original{ color:var(--text-light) !important; text-decoration:line-through; }
.card-variant-hint .vh-text{ background:#1d1d1f !important; border:1px solid var(--mm-line) !important; color:#d4d4d4 !important; }
.card-variant-hint .vh-color{ border:1px solid #333 !important; }
.card-sku{ color:var(--text-light) !important; }
.card-select-btn{ border-radius:6px !important; }

/* ---------- why-choose ---------- */
.why-choose-section{ background:#111112; }
.why-choose-heading{ font-family:var(--mm-display) !important; font-size:clamp(2.2rem,4.4vw,3.6rem) !important; color:#fff !important; text-transform:uppercase; }
.why-choose-desc{ color:var(--text-muted) !important; }
.why-item{ background:var(--mm-card) !important; border:1px solid var(--mm-line) !important; border-radius:12px; padding:20px !important; }
.why-item h4{ font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.03em; color:#fff !important; }
.why-item p{ color:var(--text-muted) !important; }
.why-number{ font-family:var(--mm-display) !important; color:var(--mm-red) !important; font-size:2rem !important; }
.why-icon-wrap{ background:#1f0707 !important; border:1px solid #3a1212; border-radius:10px; }
.why-choose-media img, .why-choose-video img{ border-radius:14px; border:1px solid var(--mm-line); }
.play-btn{ background:var(--mm-red) !important; color:#fff !important; }

/* ---------- promo banners ---------- */
.promo-grid{ display:grid; gap:18px; }
.promo-card{ border:1px solid var(--mm-line) !important; border-radius:16px !important; overflow:hidden; }
.promo-content h3{ font-family:var(--mm-display) !important; text-transform:uppercase; font-size:clamp(1.6rem,3vw,2.6rem) !important; }
.promo-subtitle{ font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.16em; color:var(--mm-red); }
.promo-btn{ background:var(--mm-red) !important; color:#fff !important; border-radius:6px; font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.05em; }

/* ---------- story ---------- */
.story-banner{ border-block:1px solid #1c1c1e; }
.story-banner-title{ font-family:var(--mm-display) !important; font-size:clamp(2.4rem,5vw,4.2rem) !important; text-transform:uppercase; }
.story-eyebrow{ font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.2em; color:var(--mm-red) !important; }
.story-banner-btn{ background:var(--mm-red) !important; color:#fff !important; border-radius:6px; font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.05em; }

/* ---------- brands ---------- */
.brands-slider{ gap:12px; }
.brand-slide-card{ background:#141415 !important; border:1px solid var(--mm-line) !important; border-radius:10px !important; color:#bdbdbd !important; transition:color var(--transition),border-color var(--transition); }
.brand-slide-card:hover{ color:#fff !important; border-color:var(--silver) !important; }
.brand-slide-card strong{ font-family:'Chakra Petch',sans-serif; letter-spacing:.03em; }

/* ---------- newsletter ---------- */
.newsletter-section{ background:linear-gradient(130deg,#2a0606 0%,#120606 55%,#0e0e0f 100%) !important; border-block:1px solid #3a1212; position:relative; overflow:hidden; }
.newsletter-section h2{ font-family:var(--mm-display) !important; font-size:clamp(2.2rem,4.6vw,3.8rem) !important; text-transform:uppercase; color:#fff !important; }
.newsletter-form input{ background:#0e0e0f !important; border:1px solid #4a1c1c !important; color:#fff !important; border-radius:6px; }
.newsletter-form input::placeholder{ color:#9a6a6a !important; }
.newsletter-form button{ border-radius:6px !important; }

/* ---------- contact ---------- */
.contact-section h2{ font-family:var(--mm-display) !important; text-transform:uppercase; color:#fff !important; }
.contact-item{ background:var(--mm-card) !important; border:1px solid var(--mm-line) !important; border-radius:12px; color:var(--text) !important; }
.contact-item strong{ color:#fff !important; }
.contact-item p{ color:var(--text-muted) !important; }
.contact-icon{ color:var(--mm-red) !important; }

/* ---------- flash sale ---------- */
.flash-sale-section{ background:#111112; }
.flash-sale-section h2{ font-family:var(--mm-display) !important; text-transform:uppercase; color:#fff !important; }
.countdown .cd-box{ background:#1a0707 !important; border:1px solid #3a1212 !important; color:#fff !important; border-radius:8px; }
.countdown .cd-box span{ font-family:var(--mm-display) !important; color:var(--mm-red) !important; }
.countdown .cd-box small{ color:var(--text-muted) !important; }

/* ============================================================================
   FOOTER
   ========================================================================== */
.store-footer, footer.store-footer, .site-footer{ background:#0a0a0a !important; color:var(--text) !important; border-top:1px solid #1c1c1e; }
.store-footer *, .site-footer *{ color:inherit; }
.store-footer h3, .store-footer h4, .footer-col h4, .footer-heading{ font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; color:#fff !important; }
.store-footer a{ color:var(--text-muted) !important; }
.store-footer a:hover{ color:#fff !important; }
.footer-bottom, .store-footer .footer-bottom{ border-top:1px solid #1c1c1e !important; color:var(--text-light) !important; }
.footer-social a, .social-link{ border:1px solid var(--mm-line) !important; color:#cfcfcf !important; border-radius:8px; }
.footer-social a:hover, .social-link:hover{ background:var(--mm-red) !important; border-color:var(--mm-red) !important; color:#fff !important; }

/* ============================================================================
   SHOP PAGE
   ========================================================================== */
.shop-banner, .page-banner-custom{ background:#111112 !important; color:#fff !important; border-bottom:1px solid #1c1c1e; }
.shop-banner h1, .page-banner-custom h1{ font-family:var(--mm-display) !important; text-transform:uppercase; color:#fff !important; }
.shop-cat-strip a, .shop-categories a{ background:#161618 !important; border:1px solid var(--mm-line) !important; color:#cfcfcf !important; border-radius:30px; font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.04em; font-size:.8rem; }
.shop-cat-strip a:hover, .shop-categories a:hover{ color:#fff !important; }
.shop-cat-strip a.active, .shop-categories a.active{ background:var(--mm-red) !important; border-color:var(--mm-red) !important; color:#fff !important; }
.shop-cat-strip a .count, .shop-categories a .count{ color:inherit; opacity:.6; }
.shop-cat-arrow{ background:#161618 !important; border:1px solid var(--mm-line) !important; color:#fff !important; }
.shop-container{ background:transparent; }
.shop-sidebar{ background:transparent; }
.sidebar-widget{ background:var(--mm-card) !important; border:1px solid var(--mm-line) !important; border-radius:12px; color:var(--text) !important; }
.sidebar-widget h3, .sidebar-widget h4, .filter-title{ font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.08em; color:#fff !important; }
.filter-list-link{ color:#c8c8c8 !important; border-color:#1f1f21 !important; }
.filter-list-link:hover, .filter-list-link.active{ color:var(--mm-red) !important; }
.filter-count{ color:var(--text-light) !important; }
.filter-chip{ background:#1d1d1f !important; border:1px solid var(--mm-line) !important; color:#ddd !important; }
.filter-chip:hover{ border-color:var(--mm-red) !important; }
.filter-checkbox-box{ border:1px solid var(--mm-line) !important; background:#161618 !important; }
.filter-checkbox input:checked + .filter-checkbox-box{ background:var(--mm-red) !important; border-color:var(--mm-red) !important; }
.filter-checkbox-label{ color:#cfcfcf !important; }
.rating-filter, .price-range input, .filter-scroll{ color:var(--text); }
.shop-toolbar, .shop-sort, .results-count{ color:var(--text-muted) !important; }
.shop-sort select, select.sort-select{ background:#161618 !important; color:var(--text) !important; border:1px solid var(--mm-line) !important; border-radius:6px; }
.pagination a, .pagination span, .page-link{ background:#161618 !important; border:1px solid var(--mm-line) !important; color:#cfcfcf !important; border-radius:6px; }
.pagination a:hover, .pagination .active, .page-link.active{ background:var(--mm-red) !important; border-color:var(--mm-red) !important; color:#fff !important; }

/* ============================================================================
   PRODUCT PAGE
   ========================================================================== */
.breadcrumbs, .breadcrumbs a{ color:var(--text-muted) !important; }
.breadcrumbs a:hover{ color:var(--mm-red) !important; }
.product-gallery .gallery-main{ background:radial-gradient(120% 120% at 50% 8%,#1d1d1f,#0e0e0f) !important; border:1px solid var(--mm-line) !important; border-radius:16px; }
.product-gallery .gallery-main img{ object-fit:contain; }
.gallery-thumbs .thumb{ background:#161618 !important; border:1px solid var(--mm-line) !important; border-radius:8px; }
.gallery-thumbs .thumb.active{ border-color:var(--mm-red) !important; }
.gallery-nav-btn, .gallery-zoom-btn{ background:rgba(0,0,0,.5) !important; color:#fff !important; border:1px solid var(--mm-line); }
.product-detail h1, .product-summary h1, .product-title{ font-family:var(--mm-display) !important; font-size:clamp(2rem,3.4vw,3rem) !important; line-height:1 !important; text-transform:uppercase; color:#fff !important; }
.product-price-box .price, #display-price{ font-family:var(--mm-display) !important; color:#fff !important; }
.product-price-box .compare-price, .compare-price{ color:var(--text-light) !important; }
.vr-group-title, .variant-title{ font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.1em; color:#fff !important; }
.vr-terms .vr-term, .vr-term-btn, .variant-option{ background:#161618 !important; border:1px solid var(--mm-line) !important; color:#dcdcdc !important; border-radius:6px; font-family:var(--mm-label); }
.vr-terms .vr-term:hover, .variant-option:hover{ border-color:#555 !important; }
.vr-terms .vr-term.selected, .vr-terms .vr-term.active, .variant-option.selected{ border-color:var(--mm-red) !important; background:#240707 !important; color:#fff !important; }
.vr-term-price{ color:var(--mm-red) !important; }
.qty-selector{ background:#161618 !important; border:1px solid var(--mm-line) !important; border-radius:6px; color:#fff !important; }
.qty-selector button{ color:#fff !important; }
.product-tabs .tabs-nav{ border-bottom:1px solid var(--mm-line) !important; }
.tabs-nav button, .tab-btn{ color:var(--text-muted) !important; font-family:var(--mm-label); text-transform:uppercase; letter-spacing:.06em; }
.tabs-nav button.active, .tab-btn.active{ color:#fff !important; border-bottom-color:var(--mm-red) !important; }
.tab-panel, .tab-description{ color:var(--text) !important; }
.related-section h2{ font-family:var(--mm-display) !important; text-transform:uppercase; color:#fff !important; }
.related-grid .card-title{ color:#fff !important; }

/* ============================================================================
   CART / CHECKOUT / ACCOUNT / GENERIC PAGES
   ========================================================================== */
.cart-page, .checkout-page, .account-page, .page-content, .static-page{ color:var(--text); }
.cart-table, .checkout-summary, .account-card, .order-card, .address-card, .panel, .card, .box{ background:var(--mm-card) !important; border:1px solid var(--mm-line) !important; color:var(--text) !important; border-radius:12px; }
.cart-table th, .cart-table td{ border-color:#1f1f21 !important; }
.summary-row, .summary-total{ border-color:#1f1f21 !important; }
.checkout-section-title, .account-title, .page-title, .section-title{ font-family:var(--mm-display) !important; text-transform:uppercase; color:#fff !important; }
.account-nav a, .account-tabs a{ color:var(--text-muted) !important; border-color:#1f1f21 !important; }
.account-nav a:hover, .account-nav a.active, .account-tabs a.active{ color:#fff !important; }
.account-nav a.active{ background:#1d1d1f !important; border-left:3px solid var(--mm-red) !important; }
.empty-state, .empty-cart{ color:var(--text-muted) !important; }

/* ---------- forms / inputs (storefront-wide) ---------- */
input[type="text"], input[type="email"], input[type="password"], input[type="tel"],
input[type="number"], input[type="search"], textarea, select{
  background:#161618 !important; border:1px solid var(--mm-line) !important; color:var(--text) !important;
  border-radius:6px;
}
input::placeholder, textarea::placeholder{ color:#7a7a7d !important; }
input:focus, textarea:focus, select:focus{ outline:none; border-color:var(--mm-red) !important; box-shadow:0 0 0 2px rgba(204,0,0,.18) !important; }
label, .form-label{ color:#d4d4d4 !important; }
.form-group, .field{ color:var(--text); }

/* ---------- lead popup ---------- */
.leadpop, .leadpop-box, #leadpop, .leadpop-card{ background:#141415 !important; border:1px solid var(--mm-line) !important; color:var(--text) !important; }
.leadpop *{ color:inherit; }
.leadpop-copy h2, .leadpop-copy h3{ font-family:var(--mm-display) !important; text-transform:uppercase; color:#fff !important; }
.leadpop input{ background:#0e0e0f !important; border:1px solid var(--mm-line) !important; color:#fff !important; }
.leadpop button[type="submit"], .leadpop .btn{ background:var(--mm-red) !important; color:#fff !important; border-radius:6px; }

/* ============================================================================
   REVEAL + RESPONSIVE
   ========================================================================== */
.mm-reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--transition),transform .7s var(--transition); }
.mm-reveal.in{ opacity:1; transform:none; }

@media (max-width:1080px){
  .mm-hero__inner{ grid-template-columns:1fr; gap:36px; }
  .mm-hero__figure{ display:none; }
  .categories-grid{ grid-template-columns:repeat(3,1fr); }
  .mm-trust__inner{ grid-template-columns:1fr 1fr; }
  .mm-trust__item:nth-child(odd){ border-left:none; padding-left:0; }
  .mm-trust__item:nth-child(even){ border-left:1px solid #1c1c1e; padding-left:22px; }
}
@media (max-width:760px){
  .mm-hero{ padding:48px 0 58px; }
  .home-section{ padding:60px 0; }
  .categories-grid{ grid-template-columns:1fr 1fr; }
  .mm-hero__inner{ padding:0 20px; }
  .section-inner{ padding:0 20px; }
}
@media (max-width:440px){
  .mm-goalbox__chips{ grid-template-columns:1fr 1fr; }
  .categories-grid{ grid-template-columns:1fr 1fr; }
}
@media (prefers-reduced-motion:reduce){
  .mm-reveal{ opacity:1; transform:none; }
  *{ scroll-behavior:auto; }
}

/* RTL niceties */
[dir="rtl"] .mm-hero__copy .mm-eyebrow::before{ }
[dir="rtl"] .section-header h2::before{ }
[dir="rtl"] .mm-btn svg, [dir="rtl"] .mm-hero__cta svg{ transform:scaleX(-1); }
[dir="rtl"] .mm-btn:hover svg{ transform:scaleX(-1) translateX(4px); }
