/*
Theme Name: APEX Customs Electric Dark
Theme URI: https://apexcustoms.store
Description: Premium electric blue + purple neon WooCommerce child theme for APEX Customs. Built on Astra Free.
Author: APEX Customs
Author URI: https://apexcustoms.co.za
Template: astra
Version: 3.1.1
Text Domain: apex-customs-dark
*/

/* ==========================================================================
   APEX CUSTOMS v3.0 — ELECTRIC BLUE + PURPLE NEON
   Astra Free Child Theme — Full Premium UI/UX
   ========================================================================== */

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

/* ---------- DESIGN TOKENS ---------- */
:root {
  --s-void:#020208; --s-deep:#060612; --s-base:#0a0a1a; --s-raised:#0e0e22;
  --s-card:#10102a; --s-surface:#161638; --s-input:#1a1a40; --s-hover:#1e1e4a;
  --s-border:rgba(0,168,255,0.08); --s-border-light:rgba(0,168,255,0.15);
  --s-border-glow:rgba(0,168,255,0.25); --s-divider:rgba(0,168,255,0.04);
  --t-bright:#f0f2ff; --t-primary:#c8ccdd; --t-secondary:#7a80a0;
  --t-muted:#4a4e6a; --t-ghost:#2e3050;
  --a-blue:#00a8ff; --a-blue-light:#33c0ff; --a-blue-vivid:#0088ee;
  --a-blue-glow:rgba(0,168,255,0.12); --a-blue-ghost:rgba(0,168,255,0.05);
  --a-purple:#8b5cf6; --a-purple-light:#a78bfa; --a-purple-glow:rgba(139,92,246,0.12);
  --a-magenta:#c026d3;
  --a-red:#e63946; --a-red-glow:rgba(230,57,70,0.12);
  --a-gold:#c9a84c; --a-gold-soft:rgba(201,168,76,0.10);
  --a-green:#25D366; --a-teal:#2dd4bf;
  --g-neon:linear-gradient(135deg,var(--a-blue),var(--a-purple),var(--a-magenta));
  --g-neon-h:linear-gradient(90deg,var(--a-blue),var(--a-purple),var(--a-magenta));
  --g-card:linear-gradient(175deg,var(--s-card) 0%,var(--s-raised) 100%);
  --f-display:'Bebas Neue',Impact,sans-serif;
  --f-heading:'Barlow Condensed',sans-serif;
  --f-body:'Barlow',sans-serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --dur-fast:0.2s; --dur-mid:0.4s; --dur-slow:0.7s;
  --shadow-card:0 4px 20px rgba(0,0,0,0.3),inset 0 1px 0 rgba(0,168,255,0.03);
  --shadow-glow:0 0 40px rgba(0,168,255,0.15);
  --shadow-lg:0 20px 60px rgba(0,0,0,0.5);
  --r-sm:4px; --r-md:8px; --r-lg:10px;
}


/* ==========================================================================
   GLOBAL FOUNDATIONS
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
body,html{
  background:var(--s-void)!important; color:var(--t-primary)!important;
  font-family:var(--f-body)!important; font-weight:400; font-size:15px;
  line-height:1.6; -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale; overflow-x:hidden;
}
body::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0.4;
  background-image:url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='0.5' fill='%23ffffff' fill-opacity='0.015'/%3E%3C/svg%3E");
  background-size:6px 6px;
}
body::after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,transparent 50%,rgba(2,2,8,0.4) 100%)}
::selection{background:var(--a-blue);color:white}
a{color:var(--t-bright);text-decoration:none;transition:color var(--dur-fast) var(--ease)}
a:hover{color:var(--a-blue)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--s-void)}
::-webkit-scrollbar-thumb{background:var(--s-surface);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--a-blue)}


/* ==========================================================================
   SCROLL REVEAL SYSTEM
   Products start visible by default. JS adds .apex-reveal to enable animation.
   If JS fails or observer doesn't trigger, 1.5s fallback forces visibility.
   ========================================================================== */
.apex-reveal{
  opacity:0; transform:translateY(25px);
  transition:opacity 0.7s var(--ease),transform 0.7s var(--ease);
}
.apex-reveal.apex-visible{opacity:1;transform:translateY(0)}
/* Fallback: if no-JS, everything stays visible */
.no-js .apex-reveal{opacity:1;transform:none}


/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */
h1,h2,h3,h4,h5,h6,.woocommerce h1,.woocommerce h2,.woocommerce h3,
.entry-title,.page-title,.woocommerce-loop-product__title,.product_title{
  font-family:var(--f-heading)!important; color:var(--t-bright)!important;
  font-weight:600; letter-spacing:0.03em; text-transform:uppercase; line-height:1.15;
}
.site-title,.ast-site-identity .site-title a{
  font-family:var(--f-display)!important; letter-spacing:0.15em!important;
  color:var(--t-bright)!important; font-size:1.8rem!important;
}
p,li,span,td,th,label,input,textarea,select{font-family:var(--f-body)}
.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description p{color:var(--t-secondary);font-weight:300;line-height:1.8;font-size:0.95rem}


/* ==========================================================================
   HEADER — GLASSMORPHISM + SHRINK
   ========================================================================== */
.ast-primary-header-bar,.site-header,#masthead{
  background:rgba(6,6,18,0.78)!important;
  backdrop-filter:blur(40px) saturate(1.4)!important;
  -webkit-backdrop-filter:blur(40px) saturate(1.4)!important;
  border-bottom:1px solid var(--s-border)!important;
  transition:all var(--dur-mid) var(--ease);
}
/* Shrink state */
.ast-primary-header-bar.apex-shrunk,#masthead.apex-shrunk{
  background:rgba(6,6,18,0.94)!important;
}

.ast-above-header-bar,.ast-above-header{
  background:var(--s-void)!important; border-bottom:1px solid var(--s-border)!important; font-size:0.7rem;
}

/* Nav links + neon underline */
.main-header-menu > .menu-item > a,.ast-nav-menu > li > a{
  font-family:var(--f-heading)!important; font-weight:400!important; font-size:0.78rem!important;
  letter-spacing:0.18em!important; text-transform:uppercase!important; color:var(--t-secondary)!important;
  transition:all var(--dur-fast) var(--ease)!important; padding:1.4rem 1.1rem!important; position:relative;
}
.main-header-menu > .menu-item > a::after{
  content:''; position:absolute; bottom:0; left:50%; right:50%; height:2px;
  background:var(--g-neon-h); transition:all var(--dur-mid) var(--ease); border-radius:1px;
}
.main-header-menu > .menu-item > a:hover::after,
.main-header-menu > .menu-item.current-menu-item > a::after{left:1.1rem;right:1.1rem}
.main-header-menu > .menu-item > a:hover,
.main-header-menu > .menu-item.current-menu-item > a{color:var(--t-bright)!important}

/* Dropdown — glass panel */
.main-header-menu .sub-menu,.ast-nav-menu .sub-menu{
  background:rgba(14,14,34,0.95)!important; backdrop-filter:blur(20px)!important;
  border:1px solid var(--s-border-light)!important; border-radius:var(--r-md)!important;
  box-shadow:var(--shadow-lg)!important; padding:0.5rem 0!important; min-width:240px!important;
  animation:ddReveal var(--dur-mid) var(--ease) both;
}
@keyframes ddReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.main-header-menu .sub-menu a{
  color:var(--t-secondary)!important; font-size:0.76rem!important; padding:0.6rem 1.5rem!important;
  transition:all var(--dur-fast) var(--ease)!important; border-left:2px solid transparent;
}
.main-header-menu .sub-menu a:hover{
  color:var(--t-bright)!important; background:var(--a-blue-ghost)!important; border-left-color:var(--a-blue)!important;
}

/* Cart badge */
.ast-site-header-cart .count{
  background:var(--a-blue)!important; color:white!important;
  font-family:var(--f-heading)!important; font-size:0.6rem!important; font-weight:700;
  box-shadow:0 0 10px rgba(0,168,255,0.4);
}

/* Mobile menu */
.ast-mobile-popup-drawer .ast-mobile-popup-inner,.ast-mobile-header-content{background:var(--s-raised)!important}
.ast-mobile-popup-drawer .menu-item a{
  color:var(--t-secondary)!important; font-family:var(--f-heading)!important;
  letter-spacing:0.12em!important; text-transform:uppercase!important;
  border-bottom:1px solid var(--s-border)!important; padding:1rem 1.5rem!important;
}


/* ==========================================================================
   MEGA MENU SYSTEM
   ========================================================================== */

/* Mega container — triggered by Astra sub-menu or custom class */
.main-header-menu .menu-item.mega-menu > .sub-menu,
.ast-mega-menu-enabled .sub-menu,
.menu-item.apex-mega > .sub-menu{
  min-width:100vw!important; width:100vw!important;
  left:50%!important; right:auto!important;
  transform:translateX(-50%)!important;
  background:rgba(8,8,18,0.97)!important;
  backdrop-filter:blur(60px) saturate(1.3)!important;
  -webkit-backdrop-filter:blur(60px) saturate(1.3)!important;
  border:none!important; border-bottom:1px solid var(--s-border-light)!important;
  border-radius:0!important;
  box-shadow:0 30px 80px rgba(0,0,0,0.6),0 0 60px rgba(0,168,255,0.03)!important;
  padding:2rem 3rem!important;
  display:grid!important; grid-template-columns:repeat(4,1fr)!important; gap:2rem!important;
  max-width:1400px; margin:0 auto;
}

/* Neon top line */
.main-header-menu .menu-item.mega-menu > .sub-menu::before,
.menu-item.apex-mega > .sub-menu::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:var(--g-neon-h); opacity:0.3;
}

/* Mega columns = top-level items inside sub-menu */
.menu-item.mega-menu > .sub-menu > li,
.menu-item.apex-mega > .sub-menu > li{
  display:block!important; padding:0!important; margin:0!important;
  border:none!important; background:none!important;
}
.menu-item.mega-menu > .sub-menu > li > a,
.menu-item.apex-mega > .sub-menu > li > a{
  font-family:var(--f-heading)!important; font-size:0.62rem!important; font-weight:700!important;
  letter-spacing:0.25em!important; text-transform:uppercase!important;
  color:var(--t-bright)!important; margin-bottom:0.8rem!important; display:block!important;
  padding:0 0 0.6rem 0!important; border-bottom:1px solid var(--s-border)!important;
  border-left:none!important; position:relative; pointer-events:none;
}
.menu-item.mega-menu > .sub-menu > li > a::after{
  content:''; position:absolute; bottom:-1px; left:0; width:25px; height:2px;
  background:var(--g-neon-h);
}

/* Mega sub-links */
.menu-item.mega-menu > .sub-menu > li > .sub-menu,
.menu-item.apex-mega > .sub-menu > li > .sub-menu{
  display:block!important; position:static!important; background:transparent!important;
  border:none!important; box-shadow:none!important; backdrop-filter:none!important;
  padding:0!important; margin:0!important; min-width:0!important; width:auto!important;
  left:auto!important; transform:none!important; animation:none!important;
  opacity:1!important; visibility:visible!important;
}
.menu-item.mega-menu > .sub-menu > li > .sub-menu li{
  margin:0!important; padding:0!important; border:none!important;
}
.menu-item.mega-menu > .sub-menu > li > .sub-menu a,
.menu-item.apex-mega > .sub-menu > li > .sub-menu a{
  display:block!important; padding:0.45rem 0.6rem!important; margin:0 -0.6rem!important;
  border-radius:6px!important; font-size:0.82rem!important;
  color:var(--t-secondary)!important; border-left:2px solid transparent!important;
  transition:all 0.2s var(--ease)!important;
}
.menu-item.mega-menu > .sub-menu > li > .sub-menu a:hover{
  color:var(--t-bright)!important; background:var(--a-blue-ghost)!important;
  border-left-color:var(--a-blue)!important; padding-left:0.8rem!important;
}


/* ==========================================================================
   BUTTONS — ELECTRIC GLOW
   ========================================================================== */
.wp-block-button__link,.button,button,input[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,
.woocommerce button.button.alt,.woocommerce input.button.alt,
.checkout-button,.single_add_to_cart_button,.wc-block-components-button{
  font-family:var(--f-heading)!important; font-weight:600!important; font-size:0.8rem!important;
  letter-spacing:0.2em!important; text-transform:uppercase!important;
  background:var(--a-blue)!important; color:white!important; border:none!important;
  border-radius:var(--r-sm)!important; padding:0.95rem 2.4rem!important;
  transition:all var(--dur-mid) var(--ease)!important; position:relative; overflow:hidden; cursor:pointer;
}
/* Shine sweep */
.woocommerce a.button::before,.woocommerce button.button::before,
.single_add_to_cart_button::before,.button::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);
  transform:translateX(-100%); transition:transform 0.6s var(--ease);
}
.woocommerce a.button:hover::before,.single_add_to_cart_button:hover::before,.button:hover::before{transform:translateX(100%)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.single_add_to_cart_button:hover,.button:hover,button:hover{
  background:var(--a-blue-light)!important;
  box-shadow:var(--shadow-glow),0 4px 15px rgba(0,168,255,0.3)!important; transform:translateY(-2px);
}
.woocommerce a.button:active,.button:active{transform:translateY(0);box-shadow:0 0 20px rgba(0,168,255,0.15)!important}

/* Ghost buttons */
.woocommerce a.button.product_type_simple,.added_to_cart{
  background:transparent!important; border:1px solid rgba(0,168,255,0.15)!important; color:var(--a-blue-light)!important;
}
.woocommerce a.button.product_type_simple:hover,.added_to_cart:hover{
  border-color:var(--a-blue)!important; background:var(--a-blue-ghost)!important;
  color:white!important; box-shadow:var(--shadow-glow)!important;
}


/* ==========================================================================
   WHATSAPP BUTTON — PULSE DOT
   ========================================================================== */
.apex-wa-btn{
  display:inline-flex!important; align-items:center; gap:0.5rem;
  padding:0 1.5rem!important; height:48px;
  background:transparent!important; border:1px solid rgba(37,211,102,0.3)!important;
  border-radius:var(--r-sm)!important; color:var(--a-green)!important;
  font-family:var(--f-heading)!important; font-size:0.72rem!important;
  font-weight:600!important; letter-spacing:0.15em!important; text-transform:uppercase!important;
  margin-left:0.5rem; transition:all 0.3s var(--ease)!important;
  text-decoration:none!important;
}
.apex-wa-btn:hover{
  background:rgba(37,211,102,0.08)!important; border-color:var(--a-green)!important;
  box-shadow:0 0 20px rgba(37,211,102,0.15)!important; color:white!important;
  transform:translateY(-2px);
}
.apex-wa-pulse{
  width:8px; height:8px; background:var(--a-green); border-radius:50%;
  animation:waPulse 1.5s ease infinite; flex-shrink:0;
}
@keyframes waPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}


/* ==========================================================================
   CONTENT AREAS
   ========================================================================== */
.woocommerce .ast-woocommerce-container,.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,#primary,#secondary,.site-content,.content-area{
  background:var(--s-void)!important;
}


/* ==========================================================================
   PRODUCT CARDS — NEON GLOW
   ========================================================================== */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  background:var(--g-card)!important; border:1px solid var(--s-border)!important;
  border-radius:var(--r-lg)!important; padding:0!important; overflow:hidden;
  position:relative; transition:all 0.5s var(--ease)!important; box-shadow:var(--shadow-card);
}
/* Neon top-line */
.woocommerce ul.products li.product::after{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--g-neon-h); transform:scaleX(0); transform-origin:left;
  transition:transform var(--dur-slow) var(--ease); z-index:20; border-radius:var(--r-lg) var(--r-lg) 0 0;
}
/* Inner highlight */
.woocommerce ul.products li.product::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,168,255,0.06),transparent);
  z-index:5; transition:all var(--dur-mid) var(--ease);
}
/* HOVER */
.woocommerce ul.products li.product:hover{
  border-color:var(--s-border-glow)!important; transform:translateY(-10px);
  box-shadow:0 0 30px rgba(0,168,255,0.08),0 0 60px rgba(139,92,246,0.05),0 25px 60px rgba(0,0,0,0.5);
}
.woocommerce ul.products li.product:hover::after{transform:scaleX(1)}
.woocommerce ul.products li.product:hover::before{background:linear-gradient(90deg,transparent,rgba(0,168,255,0.12),transparent)}

/* Image */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{display:block;overflow:hidden;position:relative}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img:first-of-type{
  width:100%!important; height:280px!important; object-fit:contain!important; object-position:center!important;
  background:linear-gradient(180deg,#0e0e22 0%,#0a0a1a 100%)!important;
  border-radius:0!important; border-bottom:none!important;
  transition:all 0.7s var(--ease)!important; padding:18px!important; filter:brightness(0.95);
}
.woocommerce ul.products li.product:hover img:first-of-type{transform:scale(1.1);filter:brightness(1.1) drop-shadow(0 0 20px rgba(0,168,255,0.08))}
/* Image fade overlay */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:70px;
  background:linear-gradient(transparent,#10102a); pointer-events:none; z-index:3;
}

/* Category label */
.apex-grid-cat{
  display:block; font-family:var(--f-heading)!important; font-size:0.55rem!important;
  letter-spacing:0.25em!important; text-transform:uppercase!important;
  color:var(--a-blue)!important; opacity:0.7; padding:0.8rem 1.3rem 0!important;
}

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  font-family:var(--f-heading)!important; font-size:0.88rem!important; font-weight:600!important;
  letter-spacing:0.04em!important; color:var(--t-bright)!important;
  padding:0.3rem 1.3rem 0.25rem!important; text-transform:uppercase;
  margin:0!important; line-height:1.25!important; transition:color var(--dur-fast) var(--ease);
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--a-blue-light)!important}

/* Price */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price .amount{
  font-family:var(--f-display)!important; font-size:1.35rem!important;
  color:var(--t-bright)!important; letter-spacing:0.02em; padding:0.2rem 1.3rem; display:block;
}
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount{
  color:var(--t-ghost)!important; font-size:0.85rem!important; text-decoration:line-through;
}

/* Sale badge */
.woocommerce span.onsale{
  background:var(--a-red)!important; color:white!important; border-radius:var(--r-sm)!important;
  font-family:var(--f-heading)!important; font-size:0.63rem!important; font-weight:700;
  letter-spacing:0.12em!important; text-transform:uppercase; padding:0.3rem 0.65rem!important;
  min-height:auto!important; min-width:auto!important; line-height:1.4!important;
  box-shadow:0 4px 15px rgba(230,57,70,0.4); z-index:15;
}

/* Exclusive badge */
.apex-badge-exclusive{
  position:absolute; top:10px; right:10px;
  background:linear-gradient(135deg,#c9a84c,#e8d48b); color:#020208;
  font-family:var(--f-heading); font-size:0.55rem; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase;
  padding:0.25rem 0.6rem; border-radius:3px; z-index:15;
}

/* Add to Cart in grid */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button{
  font-size:0.7rem!important; letter-spacing:0.2em!important;
  padding:0.82rem 1.3rem!important; margin:0.5rem 1.3rem 1.3rem!important;
  display:block; width:calc(100% - 2.6rem); text-align:center;
  border-radius:var(--r-sm)!important;
  background:var(--a-blue-ghost)!important; color:var(--a-blue-light)!important;
  border:1px solid rgba(0,168,255,0.15)!important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover{
  background:var(--a-blue)!important; color:white!important; border-color:var(--a-blue)!important;
  box-shadow:0 8px 30px rgba(0,168,255,0.3),0 0 15px rgba(0,168,255,0.15)!important; transform:translateY(-1px);
}

/* Stars */
.woocommerce .star-rating span::before{color:var(--a-gold)!important}
.woocommerce .star-rating::before{color:var(--t-ghost)!important}

/* Sort & Results */
.woocommerce .woocommerce-result-count{color:var(--t-muted)!important;font-family:var(--f-heading)!important;font-size:0.7rem!important;letter-spacing:0.2em;text-transform:uppercase}
.woocommerce .woocommerce-ordering select{
  background:var(--s-surface)!important; border:1px solid var(--s-border)!important;
  color:var(--t-secondary)!important; font-family:var(--f-heading)!important;
  font-size:0.72rem!important; letter-spacing:0.1em; text-transform:uppercase;
  padding:0.55rem 2rem 0.55rem 1rem; border-radius:var(--r-sm); cursor:pointer;
}


/* ==========================================================================
   SINGLE PRODUCT PAGE
   ========================================================================== */
.woocommerce div.product .product_title{
  font-family:var(--f-display)!important; font-size:clamp(2.2rem,4.5vw,3.5rem)!important;
  letter-spacing:0.04em!important; line-height:1.05!important; color:var(--t-bright)!important;
  margin-bottom:1rem!important;
  animation:fadeUpTitle 0.6s var(--ease) both;
}
@keyframes fadeUpTitle{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--f-display)!important; font-size:2.2rem!important;
  color:var(--t-bright)!important; letter-spacing:0.03em; padding:0.5rem 0;
}
.woocommerce div.product p.price del{color:var(--t-ghost)!important;font-size:1.4rem!important}

/* VAT label */
.apex-vat-label{
  display:block; font-family:var(--f-heading); font-size:0.6rem;
  color:var(--t-muted); letter-spacing:0.1em; margin-bottom:0.5rem;
}

/* Feature pills */
.apex-feature-pills{
  display:flex; gap:0.6rem; margin:0.8rem 0 1.2rem; flex-wrap:wrap;
}
.apex-fp{
  background:var(--g-card); border:1px solid var(--s-border); border-radius:var(--r-md);
  padding:0.7rem 1rem; display:flex; align-items:center; gap:0.5rem;
  transition:all 0.3s var(--ease); flex:1; min-width:140px;
}
.apex-fp:hover{border-color:var(--s-border-glow);box-shadow:0 0 20px rgba(0,168,255,0.06)}
.apex-fp-icon{font-size:1.1rem}
.apex-fp-text{font-family:var(--f-heading);font-size:0.68rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--t-primary);line-height:1.3}
.apex-fp-text small{display:block;font-weight:400;font-size:0.58rem;color:var(--t-muted);text-transform:none;letter-spacing:0.02em}

/* Trust badge cards */
.apex-trust-cards{
  display:grid; grid-template-columns:repeat(3,1fr); gap:0.6rem;
  margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--s-border);
}
.apex-tc{
  background:var(--g-card); border:1px solid var(--s-border); border-radius:var(--r-md);
  padding:1rem; text-align:center; transition:all 0.3s var(--ease);
}
.apex-tc:hover{border-color:var(--s-border-glow);transform:translateY(-2px)}
.apex-tc-icon{
  width:36px; height:36px; margin:0 auto 0.5rem;
  background:var(--a-blue-ghost); border:1px solid var(--s-border); border-radius:var(--r-md);
  display:flex; align-items:center; justify-content:center; color:var(--a-blue);
}
.apex-tc-icon svg{color:var(--a-blue)}
.apex-tc-label{font-family:var(--f-heading);font-size:0.62rem;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--t-bright);margin-bottom:0.2rem}
.apex-tc-desc{font-size:0.6rem;color:var(--t-muted);line-height:1.4}

/* Gallery */
.woocommerce div.product div.images{background:var(--s-card);border:1px solid var(--s-border);border-radius:var(--r-md);overflow:hidden}

/* Quantity */
.woocommerce .quantity .qty{
  background:var(--s-input)!important; border:1px solid var(--s-border)!important;
  color:var(--t-bright)!important; font-family:var(--f-heading)!important;
  font-size:1rem!important; text-align:center; border-radius:var(--r-sm); width:70px!important; height:48px!important;
}

/* Product tabs — neon underline */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  background:transparent!important; border-bottom:1px solid var(--s-border)!important;
  padding:0!important; margin-bottom:2rem!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--f-heading)!important; font-weight:500!important; font-size:0.76rem!important;
  letter-spacing:0.2em!important; text-transform:uppercase!important;
  color:var(--t-muted)!important; padding:1rem 1.8rem!important;
  transition:all var(--dur-fast) var(--ease); position:relative;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after{
  content:''; position:absolute; bottom:-1px; left:1.8rem; right:1.8rem; height:2px;
  background:var(--g-neon-h); transform:scaleX(0); transition:transform var(--dur-mid) var(--ease);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after{transform:scaleX(1)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--t-bright)!important}
.woocommerce div.product .woocommerce-tabs .panel{background:transparent!important;color:var(--t-secondary)!important;line-height:1.8}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.1rem!important;margin-bottom:1rem!important}

/* Spec table styling */
.woocommerce div.product .woocommerce-tabs table,
.woocommerce div.product .shop_attributes{
  border-collapse:collapse; width:100%;
}
.woocommerce div.product .woocommerce-tabs table tr,
.woocommerce div.product .shop_attributes tr{
  border-bottom:1px solid var(--s-border); transition:background 0.2s var(--ease);
}
.woocommerce div.product .woocommerce-tabs table tr:hover,
.woocommerce div.product .shop_attributes tr:hover{background:var(--a-blue-ghost)}
.woocommerce div.product .woocommerce-tabs table th,
.woocommerce div.product .shop_attributes th{
  font-family:var(--f-heading)!important; font-weight:600; font-size:0.72rem!important;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--t-muted)!important;
  width:200px; border-left:2px solid var(--a-blue); padding:0.85rem 1rem!important;
  background:transparent!important;
}
.woocommerce div.product .woocommerce-tabs table td,
.woocommerce div.product .shop_attributes td{
  padding:0.85rem 1.2rem!important; color:var(--t-primary)!important;
  background:transparent!important; font-size:0.85rem;
}
.woocommerce div.product .woocommerce-tabs table tr:nth-child(even),
.woocommerce div.product .shop_attributes tr:nth-child(even){background:rgba(0,168,255,0.02)}

/* Related / upsell headings */
.woocommerce div.product .related > h2,.woocommerce div.product .upsells > h2{
  font-family:var(--f-display)!important; font-size:2rem!important; letter-spacing:0.1em!important;
  margin-bottom:2rem!important; padding-bottom:1rem; border-bottom:1px solid var(--s-border);
}

/* Product meta */
.woocommerce div.product .product_meta{
  color:var(--t-muted)!important; font-size:0.82rem; padding-top:1.5rem;
  margin-top:1.5rem; border-top:1px solid var(--s-border);
}
.woocommerce div.product .product_meta a{color:var(--t-secondary)!important}
.woocommerce div.product .product_meta a:hover{color:var(--a-blue)!important}


/* ==========================================================================
   CART & CHECKOUT
   ========================================================================== */
.woocommerce table.shop_table{
  background:var(--s-raised)!important; border:1px solid var(--s-border)!important;
  border-radius:var(--r-md)!important; overflow:hidden;
}
.woocommerce table.shop_table th{
  font-family:var(--f-heading)!important; font-size:0.7rem!important;
  letter-spacing:0.2em!important; text-transform:uppercase!important;
  color:var(--t-muted)!important; background:var(--s-card)!important;
  border-color:var(--s-border)!important; padding:1rem 1.2rem!important;
}
.woocommerce table.shop_table td{
  color:var(--t-secondary)!important; border-color:var(--s-border)!important; padding:1rem 1.2rem!important;
}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{
  background:var(--s-raised)!important; border:1px solid var(--s-border)!important;
  border-radius:var(--r-md)!important; padding:2rem!important;
}

/* Forms & Inputs */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,input[type="text"],input[type="email"],
input[type="password"],input[type="tel"],input[type="search"],textarea,select{
  background:var(--s-input)!important; border:1px solid var(--s-border)!important;
  color:var(--t-bright)!important; font-family:var(--f-body)!important;
  border-radius:var(--r-sm)!important; padding:0.85rem 1.1rem!important;
  transition:all var(--dur-fast) var(--ease); font-size:0.9rem!important;
}
input:focus,textarea:focus,select:focus,.woocommerce form .form-row input.input-text:focus{
  border-color:var(--a-blue)!important; outline:none!important;
  box-shadow:0 0 0 3px var(--a-blue-ghost),var(--shadow-glow)!important;
}
label,.woocommerce form .form-row label{
  font-family:var(--f-heading)!important; font-size:0.7rem!important;
  letter-spacing:0.15em!important; text-transform:uppercase!important;
  color:var(--t-muted)!important; font-weight:500!important; margin-bottom:0.5rem!important;
}


/* ==========================================================================
   MY ACCOUNT
   ========================================================================== */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  background:var(--s-raised)!important; border:1px solid var(--s-border)!important;
  border-radius:var(--r-md)!important; overflow:hidden; padding:0!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li{border-bottom:1px solid var(--s-border)!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child{border-bottom:none!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
  font-family:var(--f-heading)!important; font-size:0.8rem!important;
  letter-spacing:0.15em!important; text-transform:uppercase!important;
  color:var(--t-muted)!important; padding:1rem 1.5rem!important; display:block;
  transition:all var(--dur-fast) var(--ease); border-left:3px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
  color:var(--t-bright)!important; background:var(--a-blue-ghost)!important; border-left-color:var(--a-blue);
}


/* ==========================================================================
   WIDGETS
   ========================================================================== */
.widget{background:var(--s-raised)!important;border:1px solid var(--s-border)!important;border-radius:var(--r-md)!important;padding:1.5rem!important;margin-bottom:1.5rem!important}
.widget-title{
  font-family:var(--f-heading)!important; font-size:0.72rem!important;
  letter-spacing:0.25em!important; text-transform:uppercase!important;
  color:var(--t-bright)!important; border-bottom:1px solid var(--s-border);
  padding-bottom:1rem; margin-bottom:1rem!important; position:relative;
}
.widget-title::after{content:'';position:absolute;bottom:-1px;left:0;width:40px;height:2px;background:var(--g-neon-h)}
.widget ul li a{color:var(--t-secondary)!important;font-size:0.88rem}
.widget ul li a:hover{color:var(--a-blue)!important}
.woocommerce .widget_price_filter .ui-slider{background:var(--s-card)!important;border-radius:10px}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range{background:var(--g-neon-h)!important}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{
  background:white!important; border:2px solid var(--a-blue)!important;
  border-radius:50%; box-shadow:0 0 10px rgba(0,168,255,0.3);
}


/* ==========================================================================
   BREADCRUMBS & PAGINATION
   ========================================================================== */
.woocommerce .woocommerce-breadcrumb,.ast-breadcrumbs{
  font-family:var(--f-heading)!important; font-size:0.66rem!important;
  letter-spacing:0.2em!important; text-transform:uppercase!important; color:var(--t-ghost)!important;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--t-muted)!important}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--a-blue)!important}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  background:var(--s-card)!important; border:1px solid var(--s-border)!important;
  color:var(--t-muted)!important; font-family:var(--f-heading)!important;
  font-size:0.82rem; border-radius:var(--r-sm)!important; transition:all var(--dur-fast) var(--ease);
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
  background:var(--a-blue)!important; border-color:var(--a-blue)!important;
  color:white!important; box-shadow:0 4px 12px rgba(0,168,255,0.3);
}


/* ==========================================================================
   ARCHIVE HEADER
   ========================================================================== */
.ast-archive-description{
  background:linear-gradient(135deg,var(--s-card),var(--s-raised),var(--s-card))!important;
  border-bottom:1px solid var(--s-border)!important; padding:4rem 0 3rem!important; position:relative;
}
.ast-archive-description::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background:var(--g-neon-h); opacity:0.2;
}
.ast-archive-description .ast-archive-title{
  font-family:var(--f-display)!important; font-size:clamp(2rem,5vw,4rem)!important; letter-spacing:0.08em!important;
}


/* ==========================================================================
   NOTICES & MESSAGES
   ========================================================================== */
.woocommerce-message{
  background:var(--s-card)!important; border:1px solid rgba(0,168,255,0.15)!important;
  border-left:4px solid var(--a-blue)!important; color:var(--t-secondary)!important;
  border-radius:var(--r-sm)!important; padding:1rem 1.5rem!important;
}
.woocommerce-message::before{color:var(--a-blue)!important}
.woocommerce-info{
  background:var(--s-card)!important; border:1px solid var(--a-gold-soft)!important;
  border-left:4px solid var(--a-gold)!important; color:var(--t-secondary)!important; border-radius:var(--r-sm)!important;
}
.woocommerce-info::before{color:var(--a-gold)!important}
.woocommerce-error{background:var(--s-card)!important;border-left:4px solid var(--a-red)!important;border-radius:var(--r-sm)!important}

/* Search */
.search-form .search-field{background:var(--s-input)!important;border:1px solid var(--s-border)!important;color:var(--t-bright)!important;border-radius:var(--r-sm)!important}
.search-form .search-field:focus{border-color:var(--a-blue)!important;box-shadow:0 0 0 3px var(--a-blue-ghost)!important}


/* ==========================================================================
   FOOTER — NUCLEAR OVERRIDES
   ========================================================================== */
.site-footer,.ast-footer-overlay,footer,.ast-footer-copyright,
.ast-small-footer,.ast-small-footer .ast-footer-copyright,
.site-footer .site-info,.ast-footer-copyright .ast-footer-copyright-content,
.ast-builder-footer-grid-columns,.site-below-footer-wrap,
.ast-builder-layout-element,.ast-footer-copyright .ast-builder-layout-element,
footer.site-footer,.ast-above-footer-wrap,.ast-footer-row-inline{
  background:var(--s-raised)!important; background-color:var(--s-raised)!important;
  border-top:1px solid var(--s-border)!important; color:var(--t-muted)!important;
}
.site-below-footer-wrap .ast-builder-grid-row,.site-primary-footer-wrap,
.site-above-footer-wrap,.ast-footer-row-inline .ast-builder-grid-row{
  background:var(--s-raised)!important; background-color:var(--s-raised)!important;
}
.site-primary-footer-wrap,.site-above-footer-wrap,.site-below-footer-wrap,
.site-primary-footer-wrap .ast-builder-grid-row,
.site-above-footer-wrap .ast-builder-grid-row,
.site-below-footer-wrap .ast-builder-grid-row,
.ast-hfb-header .site-footer,.ast-footer-row-inline,.ast-footer-row-stack,
[data-section="section-above-footer-builder"],
[data-section="section-primary-footer-builder"],
[data-section="section-below-footer-builder"],
.site-footer-primary-section-1,.site-footer-primary-section-2,
.site-above-footer-section-1,.site-above-footer-section-2,
.site-below-footer-section-1,.site-below-footer-section-2{
  background:var(--s-raised)!important; background-color:#0e0e22!important;
  border-color:var(--s-border)!important; color:var(--t-muted)!important;
}
/* Neon gradient top line */
.site-footer::before{content:'';display:block;height:2px;background:var(--g-neon-h);opacity:0.15}
.site-footer a,.ast-footer-copyright a,.ast-small-footer a,.site-below-footer-wrap a{color:var(--t-secondary)!important}
.site-footer a:hover,.ast-footer-copyright a:hover{color:var(--a-blue)!important}
.site-footer .widget-title{color:var(--t-bright)!important}
.ast-footer-copyright p,.ast-small-footer p,.site-info p,
.ast-builder-layout-element p,.ast-footer-copyright .ast-builder-layout-element{color:var(--t-muted)!important}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1024px){
  .woocommerce ul.products[class*="columns-"] li.product{width:31%!important;margin-right:3.5%!important}
  .woocommerce ul.products[class*="columns-"] li.product:nth-child(3n){margin-right:0!important}
  .apex-trust-cards{grid-template-columns:1fr}
  .apex-feature-pills{flex-direction:column}
  /* Mega menu to 2 cols on tablet */
  .main-header-menu .menu-item.mega-menu > .sub-menu,
  .menu-item.apex-mega > .sub-menu{grid-template-columns:repeat(2,1fr)!important;padding:1.5rem 2rem!important}
}
@media(max-width:768px){
  .woocommerce ul.products[class*="columns-"] li.product{width:48%!important;margin-right:4%!important}
  .woocommerce ul.products[class*="columns-"] li.product:nth-child(2n){margin-right:0!important}
  .woocommerce ul.products li.product img:first-of-type{height:200px!important}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:0.76rem!important;padding:0.8rem 1rem 0.15rem!important}
  .woocommerce ul.products li.product .price{font-size:1.1rem!important;padding:0.15rem 1rem!important}
  .woocommerce ul.products li.product .button{margin:0.4rem 1rem 1rem!important;width:calc(100% - 2rem);font-size:0.65rem!important}
  .apex-trust-cards{grid-template-columns:1fr}
}
@media(max-width:480px){
  .woocommerce ul.products li.product img:first-of-type{height:160px!important;padding:10px!important}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:0.68rem!important;padding:0.65rem 0.8rem 0.1rem!important}
  .woocommerce ul.products li.product .price{font-size:0.95rem!important;padding:0.1rem 0.8rem!important}
  .woocommerce ul.products li.product .button{margin:0.3rem 0.8rem 0.8rem!important;width:calc(100% - 1.6rem);font-size:0.58rem!important;padding:0.6rem 0.5rem!important}
  .woocommerce div.product .product_title{font-size:1.8rem!important}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
  .apex-reveal{opacity:1;transform:none}
}


/* ============================================
   BRAND ALIGNMENT OVERRIDE (apexcustoms.co.za)
   Added: 2026-03-29
   Fonts: Orbitron + Outfit (matching brand site)
   Colors: #050508 bg, #4466ff blue, #9966ff purple, #44ddff cyan
   ============================================ */

/* ============================================
   APEX CUSTOMS STORE — Brand Alignment CSS
   Matching apexcustoms.co.za design language
   ============================================ */

/* --- CUSTOM PROPERTIES --- */
:root {
  --apex-bg: #050508;
  --apex-surface: #08080f;
  --apex-surface2: #0c0c16;
  --apex-surface3: #101020;
  --apex-border: rgba(100,120,255,0.1);
  --apex-border-solid: #1a1a2e;
  --apex-text: #f0f0ff;
  --apex-text-dim: #7878a0;
  --apex-text-mid: #b0b0cc;
  --apex-blue: #4466ff;
  --apex-blue-bright: #7799ff;
  --apex-purple: #9966ff;
  --apex-cyan: #44ddff;
  --apex-neon-blue: #00bbff;
  --apex-gradient: linear-gradient(135deg, #4466ff, #9966ff);
  --apex-gradient-hover: linear-gradient(135deg, #5577ff, #aa77ff);
  --apex-glow: 0 0 20px rgba(68,102,255,0.3), 0 0 40px rgba(153,102,255,0.15);
  --apex-glow-cyan: 0 0 15px rgba(68,221,255,0.25);
  --apex-radius: 12px;
  --apex-radius-sm: 8px;
  --apex-radius-lg: 16px;
  --apex-font-heading: 'Orbitron', sans-serif;
  --apex-font-body: 'Outfit', sans-serif;
  --apex-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- GOOGLE FONTS IMPORT --- */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Outfit:wght@300;400;500;600;700&display=swap');

/* =============================================
   1. GLOBAL STYLES
   ============================================= */

body,
html {
  background-color: var(--apex-bg) !important;
  color: var(--apex-text) !important;
  font-family: var(--apex-font-body) !important;
}

/* Override Astra global colors */
body {
  --ast-global-color-0: #4466ff;
  --ast-global-color-1: #3355ee;
  --ast-global-color-2: #0c0c16;
  --ast-global-color-3: #1a1a2e;
  --ast-global-color-4: #050508;
  --ast-global-color-5: #08080f;
  --ast-global-color-6: #f0f0ff;
  --ast-global-color-7: #1a1a2e;
  --ast-global-color-8: #f0f0ff;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.woocommerce-loop-product__title,
.product_title {
  font-family: var(--apex-font-heading) !important;
  color: var(--apex-text) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-weight: 700 !important;
}

p, span, div, li, td, th, label, input, textarea, select {
  color: var(--apex-text);
}

a {
  color: var(--apex-cyan) !important;
  transition: var(--apex-transition);
}
a:hover {
  color: var(--apex-blue-bright) !important;
}

::selection {
  background: var(--apex-blue);
  color: #fff;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; background: var(--apex-bg); }
::-webkit-scrollbar-thumb { background: var(--apex-surface2); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--apex-blue); }

/* =============================================
   2. HEADER / NAVIGATION
   ============================================= */

.ast-primary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar,
#masthead,
.site-header,
header.site-header,
.main-header-bar,
.ast-primary-header,
.main-header-menu,
#ast-hf-menu-1 {
  background-color: rgba(5,5,8,0.85) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--apex-border) !important;
}

.main-header-menu a,
.ast-header-break-point .ast-builder-menu .main-navigation .menu-item > .menu-link,
.ast-builder-menu .main-navigation .menu-item > .menu-link,
#ast-hf-menu-1 .menu-item > .menu-link,
.ast-masthead-custom-menu-items a {
  color: var(--apex-text-mid) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  transition: var(--apex-transition);
}

.main-header-menu a:hover,
.ast-builder-menu .main-navigation .menu-item:hover > .menu-link,
#ast-hf-menu-1 .menu-item:hover > .menu-link,
.main-header-menu .current-menu-item > .menu-link {
  color: var(--apex-cyan) !important;
}

/* Cart icon */
.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart i,
.ast-site-header-cart .count,
.ast-woo-header-cart-info-wrap {
  color: var(--apex-text) !important;
}

.ast-site-header-cart:hover i {
  color: var(--apex-cyan) !important;
}

/* Cart count badge */
.ast-site-header-cart .count,
.ast-cart-menu-wrap .count {
  background: var(--apex-blue) !important;
  color: #fff !important;
  font-family: var(--apex-font-heading) !important;
}

/* Logo */
.site-logo img,
.custom-logo {
  max-height: 50px !important;
}

/* Mobile menu */
.ast-mobile-popup-content,
.ast-mobile-header-content,
.ast-builder-menu .sub-menu {
  background-color: var(--apex-surface) !important;
  border: 1px solid var(--apex-border) !important;
}

/* Dropdown submenus */
.main-header-menu .sub-menu,
.ast-builder-menu .sub-menu {
  background-color: var(--apex-surface) !important;
  border: 1px solid var(--apex-border) !important;
  border-radius: var(--apex-radius-sm) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}

.main-header-menu .sub-menu a,
.ast-builder-menu .sub-menu .menu-link {
  color: var(--apex-text-mid) !important;
  border-bottom: 1px solid var(--apex-border) !important;
}

.main-header-menu .sub-menu a:hover,
.ast-builder-menu .sub-menu .menu-link:hover {
  color: var(--apex-cyan) !important;
  background: rgba(68,102,255,0.08) !important;
}

/* =============================================
   3. PRODUCT CARDS (Shop Grid)
   ============================================= */

/* Card container */
.woocommerce ul.products li.product,
.ast-woocommerce ul.products li.product,
li.product {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border) !important;
  border-radius: var(--apex-radius) !important;
  padding: 0 !important;
  overflow: hidden;
  transition: var(--apex-transition);
  position: relative;
}

.woocommerce ul.products li.product:hover,
li.product:hover {
  border-color: rgba(68,102,255,0.3) !important;
  box-shadow: var(--apex-glow) !important;
  transform: translateY(-4px);
}

/* Product image area */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product img,
li.product img {
  border-radius: 0 !important;
  transition: var(--apex-transition);
}

.woocommerce ul.products li.product:hover img {
  opacity: 0.9;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-loop-product__title {
  font-family: var(--apex-font-body) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: var(--apex-text) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 0 16px !important;
  margin-top: 12px !important;
  line-height: 1.4 !important;
}

/* Price */
.woocommerce ul.products li.product .price,
li.product .price,
.woocommerce .price {
  color: var(--apex-cyan) !important;
  font-family: var(--apex-font-heading) !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  padding: 0 16px !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce .price ins {
  color: var(--apex-cyan) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce .price del {
  color: var(--apex-text-dim) !important;
  opacity: 0.6;
  font-size: 0.85em !important;
}

/* Sale badge */
.woocommerce span.onsale,
.onsale {
  background: var(--apex-gradient) !important;
  color: #fff !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  border-radius: var(--apex-radius-sm) !important;
  padding: 4px 10px !important;
  line-height: 1.4 !important;
}

/* Out of stock badge */
.woocommerce ul.products li.product .ast-shop-product-out-of-stock,
.outofstock-label,
.out-of-stock {
  background: rgba(255,68,68,0.15) !important;
  color: #ff5555 !important;
  border: 1px solid rgba(255,68,68,0.3) !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
}

/* Add to cart button (shop grid) */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
li.product .button,
.ast-shop-product-out-of-stock ~ .button,
.added_to_cart {
  background: var(--apex-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  margin: 12px 16px 16px !important;
  transition: var(--apex-transition);
  display: inline-block !important;
}

.woocommerce ul.products li.product .button:hover,
li.product .button:hover,
.added_to_cart:hover {
  background: var(--apex-gradient-hover) !important;
  box-shadow: var(--apex-glow) !important;
  transform: translateY(-1px);
}

/* Star ratings */
.woocommerce .star-rating span::before,
.star-rating span::before {
  color: #ffd700 !important;
}

/* =============================================
   4. SHOP PAGES
   ============================================= */

/* Page backgrounds */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-comment-list li.depth-1,
.ast-separate-container .comment-respond,
.ast-separate-container,
.ast-plain-container,
#primary,
#secondary,
.content-area,
.site-content,
.ast-container,
main#main {
  background-color: var(--apex-bg) !important;
}

/* Page title / Archive headers */
.woocommerce-products-header h1,
.woocommerce-products-header__title,
.ast-archive-description .ast-archive-title,
.page-title,
.entry-title {
  font-family: var(--apex-font-heading) !important;
  color: var(--apex-text) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* Breadcrumbs */
.woocommerce-breadcrumb,
.ast-breadcrumbs,
nav.woocommerce-breadcrumb {
  color: var(--apex-text-dim) !important;
  font-family: var(--apex-font-body) !important;
  font-size: 13px !important;
}

.woocommerce-breadcrumb a {
  color: var(--apex-text-mid) !important;
}

.woocommerce-breadcrumb a:hover {
  color: var(--apex-cyan) !important;
}

/* Result count and ordering */
.woocommerce-result-count,
.woocommerce-ordering select {
  color: var(--apex-text-dim) !important;
  font-family: var(--apex-font-body) !important;
}

.woocommerce-ordering select {
  background-color: var(--apex-surface) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius-sm) !important;
  color: var(--apex-text) !important;
  padding: 8px 12px !important;
}

.woocommerce .woocommerce-result-count {
  margin: 0 0 18px !important;
  padding: 10px 0 !important;
  color: var(--apex-text-dim) !important;
  font-size: 0.9rem !important;
}

.woocommerce .woocommerce-ordering {
  margin: 0 0 18px !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination {
  display: flex !important;
  justify-content: center !important;
  margin: 34px auto 10px !important;
}

.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
nav.woocommerce-pagination ul li a,
.ast-pagination a,
.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 13px !important;
  background: var(--apex-surface) !important;
  color: var(--apex-text-mid) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  transition: var(--apex-transition);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.ast-pagination a:hover,
.page-numbers:hover {
  background: rgba(68,102,255,0.15) !important;
  color: var(--apex-cyan) !important;
  border-color: var(--apex-blue) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.ast-pagination .current,
.page-numbers.current {
  background: var(--apex-gradient) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* Category filter widgets / YITH */
.widget,
.widget-area,
.sidebar-main,
#secondary .widget {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border) !important;
  border-radius: var(--apex-radius) !important;
  padding: 20px !important;
  color: var(--apex-text) !important;
}

.widget-title,
.widget h2 {
  font-family: var(--apex-font-heading) !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--apex-text) !important;
  border-bottom: 1px solid var(--apex-border) !important;
  padding-bottom: 12px !important;
  margin-bottom: 16px !important;
}

/* YITH Filters */
.yith-wcan-filters .filter-title {
  color: var(--apex-text) !important;
}

.yith-wcan-filters a {
  color: var(--apex-text-mid) !important;
}

.yith-wcan-filters a:hover {
  color: var(--apex-cyan) !important;
}

/* =============================================
   5. SINGLE PRODUCT PAGE
   ============================================= */

.single-product div.product {
  color: var(--apex-text) !important;
}

/* Product title */
.single-product .product_title {
  font-family: var(--apex-font-heading) !important;
  font-size: 1.8em !important;
  font-weight: 700 !important;
  color: var(--apex-text) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* Product price */
.single-product p.price,
.single-product .price,
.single-product .woocommerce-Price-amount {
  color: var(--apex-cyan) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 1.6em !important;
  font-weight: 700 !important;
}

.single-product .price del .woocommerce-Price-amount {
  color: var(--apex-text-dim) !important;
  font-size: 0.75em !important;
}

/* Product short description */
.single-product .woocommerce-product-details__short-description,
.single-product .product .description {
  color: var(--apex-text-mid) !important;
  font-family: var(--apex-font-body) !important;
  line-height: 1.7 !important;
}

/* Product meta (SKU, categories, tags) */
.single-product .product_meta,
.single-product .product_meta span {
  color: var(--apex-text-dim) !important;
  font-size: 13px !important;
}

.single-product .product_meta a {
  color: var(--apex-blue-bright) !important;
}

/* Gallery */
.single-product .woocommerce-product-gallery {
  background: var(--apex-surface) !important;
  border-radius: var(--apex-radius) !important;
  padding: 8px !important;
  border: 1px solid var(--apex-border) !important;
}

.single-product .woocommerce-product-gallery img {
  border-radius: var(--apex-radius-sm) !important;
}

.single-product .flex-control-thumbs li img {
  border-radius: 6px !important;
  border: 2px solid transparent !important;
  transition: var(--apex-transition);
}

.single-product .flex-control-thumbs li img:hover,
.single-product .flex-control-thumbs li img.flex-active {
  border-color: var(--apex-blue) !important;
}

/* Quantity input */
.single-product .quantity .qty,
.woocommerce .quantity .qty {
  background: var(--apex-surface) !important;
  color: var(--apex-text) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-heading) !important;
  font-weight: 600 !important;
  width: 60px !important;
  text-align: center !important;
}

/* Add to cart button (single product) */
.single-product .single_add_to_cart_button,
.single-product button.single_add_to_cart_button {
  background: var(--apex-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  transition: var(--apex-transition);
}

.single-product .single_add_to_cart_button:hover {
  background: var(--apex-gradient-hover) !important;
  box-shadow: var(--apex-glow) !important;
  transform: translateY(-2px);
}

/* Product tabs */
.woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs {
  margin-top: 40px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  background: transparent !important;
  border-bottom: 1px solid var(--apex-border-solid) !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom-color: var(--apex-border-solid) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--apex-text-dim) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 12px 20px !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--apex-blue) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--apex-cyan) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border) !important;
  border-top: none !important;
  border-radius: 0 0 var(--apex-radius) var(--apex-radius) !important;
  padding: 24px !important;
  color: var(--apex-text-mid) !important;
}

/* Related products */
.single-product .related.products h2,
.single-product .upsells h2,
section.related > h2,
section.up-sells > h2 {
  font-family: var(--apex-font-heading) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 1.2em !important;
  color: var(--apex-text) !important;
}

/* =============================================
   6. CART & CHECKOUT
   ============================================= */

/* Cart table */
.woocommerce-cart table.shop_table,
.woocommerce table.shop_table {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius) !important;
  overflow: hidden;
}

.woocommerce table.shop_table th {
  background: var(--apex-surface2) !important;
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--apex-border-solid) !important;
}

.woocommerce table.shop_table td {
  background: transparent !important;
  color: var(--apex-text) !important;
  border-bottom: 1px solid var(--apex-border) !important;
}

.woocommerce table.shop_table td a {
  color: var(--apex-text) !important;
}

/* Cart totals */
.cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius) !important;
  padding: 24px !important;
}

.cart_totals h2 {
  font-size: 14px !important;
}

/* Form inputs (checkout + all) */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper textarea,
.woocommerce-input-wrapper select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select,
.select2-container .select2-selection {
  background-color: var(--apex-surface2) !important;
  color: var(--apex-text) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-body) !important;
  padding: 10px 14px !important;
  transition: var(--apex-transition);
}

input:focus,
textarea:focus,
select:focus,
.select2-container--focus .select2-selection {
  border-color: var(--apex-blue) !important;
  box-shadow: 0 0 0 2px rgba(68,102,255,0.2) !important;
  outline: none !important;
}

/* Form labels */
.woocommerce form .form-row label,
label {
  color: var(--apex-text-mid) !important;
  font-family: var(--apex-font-body) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
}

/* Select2 dropdowns */
.select2-container .select2-dropdown {
  background-color: var(--apex-surface) !important;
  border-color: var(--apex-border-solid) !important;
}

.select2-results__option {
  color: var(--apex-text) !important;
}

.select2-results__option--highlighted {
  background-color: var(--apex-blue) !important;
}

/* Checkout sections */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .woocommerce-checkout-review-order {
  color: var(--apex-text) !important;
}

.woocommerce-checkout h3,
#order_review_heading {
  font-family: var(--apex-font-heading) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* Checkout order review */
.woocommerce-checkout-review-order-table {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius) !important;
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: var(--apex-surface) !important;
  border-radius: var(--apex-radius) !important;
  border: 1px solid var(--apex-border-solid) !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--apex-border) !important;
}

.woocommerce-checkout #payment div.payment_box {
  background-color: var(--apex-surface2) !important;
  color: var(--apex-text-mid) !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--apex-surface2) !important;
}

/* Place order button */
.woocommerce #place_order,
.woocommerce-checkout #place_order {
  background: var(--apex-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 16px 32px !important;
  transition: var(--apex-transition);
  width: 100%;
}

.woocommerce #place_order:hover {
  background: var(--apex-gradient-hover) !important;
  box-shadow: var(--apex-glow) !important;
}

/* General WooCommerce buttons */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt,
.wp-element-button,
.ast-custom-button,
button[type="submit"] {
  background: var(--apex-gradient) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-heading) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: var(--apex-transition);
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.wp-element-button:hover,
button[type="submit"]:hover {
  background: var(--apex-gradient-hover) !important;
  box-shadow: var(--apex-glow) !important;
}

/* Update cart / coupon buttons */
.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="update_cart"] {
  font-size: 11px !important;
  padding: 10px 18px !important;
}

/* Notices / Messages */
.woocommerce-message,
.woocommerce-info {
  background-color: var(--apex-surface) !important;
  border-top-color: var(--apex-blue) !important;
  color: var(--apex-text) !important;
}

.woocommerce-error {
  background-color: var(--apex-surface) !important;
  border-top-color: #ff4444 !important;
  color: var(--apex-text) !important;
}

.woocommerce-message::before {
  color: var(--apex-blue) !important;
}

.woocommerce-info::before {
  color: var(--apex-cyan) !important;
}

/* =============================================
   7. FOOTER
   ============================================= */

.site-footer,
footer.site-footer,
.ast-footer-overlay,
.ast-small-footer,
.ast-footer,
.site-below-footer-wrap,
.site-above-footer-wrap,
.ast-above-footer,
.ast-below-footer,
footer .ast-builder-grid-row {
  background-color: var(--apex-surface) !important;
  color: var(--apex-text-mid) !important;
  border-top: 1px solid var(--apex-border) !important;
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
}

.site-footer a {
  color: var(--apex-text-mid) !important;
}

.site-footer a:hover {
  color: var(--apex-cyan) !important;
}

.site-footer p,
.site-footer span,
.site-footer li,
.ast-footer-copyright {
  color: var(--apex-text-dim) !important;
}

/* Footer bottom bar */
.ast-small-footer,
.site-below-footer-wrap {
  background-color: var(--apex-bg) !important;
  border-top: 1px solid var(--apex-border) !important;
}

/* =============================================
   8. MY ACCOUNT PAGE
   ============================================= */

.woocommerce-MyAccount-navigation ul {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius) !important;
  overflow: hidden;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-MyAccount-navigation ul li {
  border-bottom: 1px solid var(--apex-border) !important;
}

.woocommerce-MyAccount-navigation ul li a {
  color: var(--apex-text-mid) !important;
  padding: 12px 20px !important;
  display: block !important;
  transition: var(--apex-transition);
  font-family: var(--apex-font-body) !important;
  font-weight: 500 !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--apex-cyan) !important;
  background: rgba(68,102,255,0.08) !important;
}

/* =============================================
   9. ELEMENTOR OVERRIDES
   ============================================= */

.elementor-section,
.elementor-element {
  color: var(--apex-text) !important;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: var(--apex-font-heading) !important;
  color: var(--apex-text) !important;
}

.elementor-widget-text-editor {
  color: var(--apex-text-mid) !important;
}

.elementor-button {
  background: var(--apex-gradient) !important;
  border-radius: var(--apex-radius-sm) !important;
  font-family: var(--apex-font-heading) !important;
  letter-spacing: 0.1em !important;
}

.elementor-button:hover {
  background: var(--apex-gradient-hover) !important;
  box-shadow: var(--apex-glow) !important;
}

/* Elementor dark background sections */
.elementor-section[data-settings] {
  /* Don't override section-specific backgrounds from Elementor */
}

/* =============================================
   10. UTILITY & MISC
   ============================================= */

/* Search */
.search-form input[type="search"],
.ast-search-menu-icon form input {
  background: var(--apex-surface) !important;
  color: var(--apex-text) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius-sm) !important;
}

/* Tables */
table, th, td {
  border-color: var(--apex-border-solid) !important;
}

/* HR / Dividers */
hr {
  border-color: var(--apex-border-solid) !important;
}

/* Coupon field */
.woocommerce-form-coupon {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border-solid) !important;
  border-radius: var(--apex-radius) !important;
  padding: 20px !important;
}

/* Loading spinner */
.woocommerce .blockUI.blockOverlay {
  background-color: rgba(5,5,8,0.7) !important;
}

/* WhatsApp Click to Chat (if present) */
.cht-widget,
.ccw_plugin {
  z-index: 9999 !important;
}

/* Wishlist (TI) */
.tinv-wishlist .product-remove button,
.tinv-wishlist .tinvwl_add_to_wishlist_button {
  color: var(--apex-text-dim) !important;
}

.tinv-wishlist .tinvwl_add_to_wishlist_button:hover {
  color: var(--apex-cyan) !important;
}

/* Category cards / thumbnails on shop page */
.woocommerce ul.products li.product-category a {
  background: var(--apex-surface) !important;
  border: 1px solid var(--apex-border) !important;
  border-radius: var(--apex-radius) !important;
  overflow: hidden;
  transition: var(--apex-transition);
}

.woocommerce ul.products li.product-category a:hover {
  border-color: rgba(68,102,255,0.3) !important;
  box-shadow: var(--apex-glow) !important;
}

.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
}

/* Placeholder images */
.woocommerce .wc-block-grid__product-image img.wc-placeholder,
img.wp-post-image[src*="placeholder"] {
  background: var(--apex-surface2) !important;
  border-radius: var(--apex-radius-sm) !important;
}

/* ============================================
   PHASE 1 STORE UX REPAIR
   Added: 2026-05-25
   ============================================ */

body.woocommerce-shop .ast-container,
body.tax-product_cat .ast-container,
body.post-type-archive-product .ast-container {
  max-width: 1220px !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.woocommerce-products-header,
.ast-archive-description {
  margin: 28px 0 22px !important;
}

.woocommerce-products-header__title.page-title,
.woocommerce-products-header h1,
.woocommerce .page-title {
  font-size: 2rem !important;
  line-height: 1.1 !important;
  margin: 0 0 22px !important;
}

.apex-shop-guide {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: 24px;
  align-items: end;
  margin: 0 0 28px;
  padding: 24px;
  background: linear-gradient(145deg, rgba(12,12,22,0.98), rgba(8,8,15,0.98));
  border: 1px solid rgba(100,120,255,0.16);
  border-radius: 8px;
  max-width: 100%;
  overflow: hidden;
}

.apex-shop-guide,
.apex-shop-guide * {
  min-width: 0;
  box-sizing: border-box;
}

.apex-shop-guide__eyebrow {
  display: block;
  margin: 0 0 8px;
  color: var(--apex-cyan) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.apex-shop-guide h2 {
  margin: 0 0 8px !important;
  color: var(--apex-text) !important;
  font-size: 1.15rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.05em !important;
}

.apex-shop-guide p {
  max-width: 68ch;
  margin: 0 !important;
  color: var(--apex-text-mid) !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

.apex-shop-guide__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.apex-shop-chip {
  display: flex !important;
  flex-direction: column;
  gap: 3px;
  min-height: 58px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(100,120,255,0.14);
  border-radius: 8px;
  text-decoration: none !important;
}

.apex-shop-chip strong {
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.apex-shop-chip span {
  color: var(--apex-text-dim) !important;
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
}

.apex-shop-chip:hover,
.apex-shop-chip:focus-visible {
  background: rgba(68,102,255,0.12);
  border-color: rgba(68,221,255,0.34);
  transform: translateY(-1px);
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
  float: none !important;
  margin: 0 0 18px !important;
}

.woocommerce .woocommerce-result-count {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: var(--apex-text-dim) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.woocommerce .woocommerce-ordering {
  display: inline-flex;
  float: right !important;
}

.woocommerce .woocommerce-ordering select {
  min-width: 168px;
  height: 40px;
  padding: 0 36px 0 14px !important;
  background-color: #111127 !important;
  border-color: rgba(100,120,255,0.18) !important;
  border-radius: 8px !important;
  color: var(--apex-text-mid) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.woocommerce ul.products,
.woocommerce-page ul.products,
.ast-woocommerce-container ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px 20px !important;
  clear: both !important;
  margin: 0 0 44px !important;
  padding: 0 !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  content: none !important;
  display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.ast-woocommerce ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: #0a0a16 !important;
  border: 1px solid rgba(100,120,255,0.14) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 50px rgba(0,0,0,0.28) !important;
  overflow: hidden !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  border-color: rgba(68,221,255,0.32) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,0.44), 0 0 26px rgba(68,102,255,0.12) !important;
  transform: translateY(-3px) !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link::after {
  height: 36px !important;
  opacity: 0.45 !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img:first-of-type,
.woocommerce-page ul.products li.product img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 24px !important;
  background:
    radial-gradient(circle at 50% 34%, rgba(68,102,255,0.11), transparent 48%),
    linear-gradient(180deg, #111127 0%, #090914 100%) !important;
  border-bottom: 1px solid rgba(100,120,255,0.08) !important;
  transform: none !important;
}

.woocommerce ul.products li.product:hover img:first-of-type {
  transform: scale(1.03) !important;
  filter: brightness(1.05) !important;
}

.woocommerce ul.products li.product .ast-woo-product-category {
  display: none !important;
}

.woocommerce ul.products li.product .apex-grid-cat {
  padding: 14px 16px 0 !important;
  color: var(--apex-cyan) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.2 !important;
  opacity: 0.74 !important;
  text-transform: uppercase !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  min-height: 48px;
  padding: 8px 16px 0 !important;
  margin: 0 !important;
  color: var(--apex-text) !important;
  font-family: var(--apex-font-body) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  overflow: hidden;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price .amount {
  padding: 10px 16px 0 !important;
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 1.08rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .added_to_cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  width: auto !important;
  margin: auto 16px 16px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #4466ff, #815cff) !important;
  color: #f7f7ff !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.woocommerce ul.products li.product .ast-on-card-button {
  display: none !important;
}

.woocommerce ul.products li.product .ast-shop-product-out-of-stock {
  position: static !important;
  display: block !important;
  margin: 12px 16px 0 !important;
  padding: 9px 10px !important;
  border-radius: 8px !important;
  text-align: center !important;
}

.woocommerce ul.products li.product-category a,
.woocommerce-page ul.products li.product-category a {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  padding: 0 !important;
  background: #0a0a16 !important;
  border: 1px solid rgba(100,120,255,0.14) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.woocommerce ul.products li.product-category img {
  width: 100% !important;
  aspect-ratio: 1 / 0.72 !important;
  height: auto !important;
  object-fit: contain !important;
  padding: 22px !important;
  background: #111127 !important;
}

.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  padding: 14px 16px 18px !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.woocommerce ul.products li.product-category mark.count {
  display: block;
  margin-top: 5px;
  color: var(--apex-text-dim) !important;
  background: transparent !important;
  font-family: var(--apex-font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
}

.ac-section {
  padding: 58px 0 !important;
}

.ac-w {
  width: min(1200px, calc(100% - 48px)) !important;
}

.ac-brand-box {
  border-radius: 8px !important;
  border: 1px solid rgba(100,120,255,0.12) !important;
}

.ac-bh {
  border-left-width: 1px !important;
}

.ac-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

body .ac-page .ac-grid > br,
body .ac-page .ac-grid > p,
body .ac-page .ac-grid > script,
body .ac-page .ac-grid > style {
  display: none !important;
}

body .ac-page .ac-grid > p > .ac-card,
body .ac-page .ac-grid > p > br {
  display: none !important;
}

body .ac-page .ac-grid > .ac-card {
  display: flex !important;
}

.ac-card {
  min-height: 248px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}

.ac-img {
  height: 160px !important;
}

.ac-img img {
  max-width: 100% !important;
  max-height: 100% !important;
}

.apex-checkout-note {
  margin: 18px 0;
  padding: 16px;
  background: rgba(68,102,255,0.08);
  border: 1px solid rgba(100,120,255,0.16);
  border-radius: 8px;
}

.apex-checkout-note strong {
  display: block;
  margin: 0 0 4px;
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.apex-checkout-note p {
  margin: 0 !important;
  color: var(--apex-text-mid) !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
}

@media (max-width: 980px) {
  .apex-shop-guide {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .ast-woocommerce-container ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.woocommerce-shop .ast-container,
  body.tax-product_cat .ast-container,
  body.post-type-archive-product .ast-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .woocommerce .woocommerce-ordering {
    float: none !important;
    display: block !important;
  }

  .woocommerce .woocommerce-ordering select {
    width: 100% !important;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .ast-woocommerce-container ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px 14px !important;
  }

  .woocommerce ul.products[class*="columns-"] li.product,
  .woocommerce-page ul.products[class*="columns-"] li.product {
    width: auto !important;
    margin: 0 !important;
  }

  .woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product img:first-of-type {
    padding: 18px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2 {
    min-height: 58px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 0.86rem !important;
    -webkit-line-clamp: 3;
  }

  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .price ins,
  .woocommerce ul.products li.product .price .amount {
    padding-left: 14px !important;
    padding-right: 14px !important;
    font-size: 0.98rem !important;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product .added_to_cart {
    margin: auto 14px 14px !important;
    min-height: 44px !important;
    font-size: 0.66rem !important;
    letter-spacing: 0.03em !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-shop .ast-container,
  body.tax-product_cat .ast-container,
  body.post-type-archive-product .ast-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .apex-shop-guide {
    padding: 18px !important;
    width: 100% !important;
  }

  .apex-shop-guide h2 {
    font-size: 1rem !important;
    line-height: 1.32 !important;
    max-width: 31ch !important;
    white-space: normal !important;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .apex-shop-guide p {
    font-size: 0.9rem !important;
    max-width: 35ch !important;
  }

  .apex-shop-guide__links {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .ast-woocommerce-container ul.products {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .woocommerce ul.products[class*="columns-"] li.product,
  .woocommerce-page ul.products[class*="columns-"] li.product {
    width: auto !important;
    margin: 0 !important;
  }

  .woocommerce ul.products li.product .apex-grid-cat {
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 0.54rem !important;
  }

  .woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product img:first-of-type {
    aspect-ratio: 4 / 3 !important;
    padding: 20px !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2 {
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 0.8rem !important;
  }

  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .price ins,
  .woocommerce ul.products li.product .price .amount {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product .added_to_cart {
    margin-left: 12px !important;
    margin-right: 12px !important;
    padding: 0 8px !important;
    font-size: 0.62rem !important;
  }
}

/* ============================================
   PHASE 2 SHOPPER ARCHITECTURE
   Added: 2026-05-26
   ============================================ */

.apex-journey {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  gap: 24px;
  margin: 0 0 32px;
  padding: 24px;
  background:
    radial-gradient(circle at 8% 0%, rgba(68,102,255,0.1), transparent 34%),
    linear-gradient(145deg, rgba(12,12,22,0.98), rgba(7,7,12,0.98));
  border: 1px solid rgba(100,120,255,0.16);
  border-radius: 8px;
  overflow: hidden;
}

.apex-journey,
.apex-journey * {
  min-width: 0;
  box-sizing: border-box;
}

.apex-journey__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
}

.apex-journey__intro > span,
.apex-category-map span,
.apex-objection-panel__head > span,
.apex-product-brief span {
  color: var(--apex-cyan) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.66rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.apex-journey h2,
.apex-objection-panel h2 {
  max-width: 22ch;
  margin: 0 !important;
  color: var(--apex-text) !important;
  font-size: clamp(1.15rem, 1.6vw, 1.55rem) !important;
  line-height: 1.18 !important;
  letter-spacing: 0.04em !important;
}

.apex-journey p,
.apex-objection-panel__head p {
  max-width: 58ch;
  margin: 0 !important;
  color: var(--apex-text-mid) !important;
  font-size: 0.94rem !important;
  line-height: 1.58 !important;
}

.apex-journey__wa,
.apex-objection-wa {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 8px;
  padding: 0 16px;
  background: rgba(37,211,102,0.08);
  border: 1px solid rgba(37,211,102,0.32);
  border-radius: 8px;
  color: #8df0b4 !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.apex-journey__wa:hover,
.apex-objection-wa:hover {
  background: rgba(37,211,102,0.16);
  border-color: rgba(37,211,102,0.48);
  color: #c8ffdc !important;
}

.apex-journey__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.apex-path-card {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  min-height: 154px;
  padding: 16px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(100,120,255,0.14);
  border-radius: 8px;
  text-decoration: none !important;
}

.apex-path-card:hover,
.apex-path-card:focus-visible,
.apex-path-card.is-active {
  background: rgba(68,102,255,0.1);
  border-color: rgba(68,221,255,0.34);
  transform: translateY(-2px);
}

.apex-path-card span,
.apex-path-card small {
  color: var(--apex-text-dim) !important;
  font-size: 0.74rem !important;
  line-height: 1.35 !important;
}

.apex-path-card span {
  color: var(--apex-cyan) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.6rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.apex-path-card strong {
  margin: 9px 0 6px;
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.06em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.apex-path-card em {
  margin: 0 0 10px;
  color: var(--apex-text-mid) !important;
  font-size: 0.82rem !important;
  font-style: normal !important;
  line-height: 1.45 !important;
}

.apex-category-map {
  display: grid;
  grid-template-columns: minmax(180px, 0.32fr) minmax(0, 0.68fr);
  gap: 18px;
  align-items: start;
  margin: -12px 0 32px;
  padding: 18px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(100,120,255,0.12);
  border-radius: 8px;
}

.apex-category-map h3 {
  margin: 6px 0 0 !important;
  color: var(--apex-text) !important;
  font-size: 0.98rem !important;
  line-height: 1.25 !important;
}

.apex-category-map p {
  max-width: 32ch;
  margin: 8px 0 0 !important;
  color: var(--apex-text-dim) !important;
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
}

.apex-category-map nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.apex-category-map a {
  display: flex !important;
  flex-direction: column;
  gap: 4px;
  min-height: 62px;
  padding: 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(100,120,255,0.12);
  border-radius: 8px;
  text-decoration: none !important;
}

.apex-category-map a:hover {
  background: rgba(68,102,255,0.1);
  border-color: rgba(68,221,255,0.3);
}

.apex-category-map a.is-active {
  background: rgba(68,221,255,0.12);
  border-color: rgba(68,221,255,0.45);
  box-shadow: inset 0 0 0 1px rgba(68,221,255,0.12);
}

.apex-category-map strong {
  color: var(--apex-text) !important;
  font-size: 0.84rem !important;
  line-height: 1.3 !important;
}

.apex-category-map small {
  color: var(--apex-text-dim) !important;
  font-size: 0.76rem !important;
}

.apex-category-map em {
  margin-top: auto;
  color: var(--apex-cyan) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.66rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.apex-category-map--priority {
  margin-top: 4px;
  background: linear-gradient(135deg, rgba(68,102,255,0.09), rgba(255,255,255,0.025));
  border-color: rgba(68,221,255,0.2);
}

.apex-category-map--priority nav {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.apex-category-map--priority a {
  min-height: 112px;
}

.apex-category-map--series {
  margin-top: -18px;
  background: rgba(255,255,255,0.018);
}

.apex-category-map--series nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.apex-category-beauty {
  --apex-beauty-accent: #7799ff;
  --apex-beauty-rgb: 119,153,255;
  box-sizing: border-box;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 34px;
  padding: clamp(34px, 6vw, 86px) max(24px, calc((100vw - 1220px) / 2 + 24px));
  background:
    radial-gradient(circle at 74% 28%, rgba(var(--apex-beauty-rgb),0.18), transparent 34%),
    radial-gradient(circle at 14% 88%, rgba(255,255,255,0.045), transparent 28%),
    linear-gradient(135deg, #050508 0%, #0b0b14 42%, #050508 100%);
  border-top: 1px solid rgba(var(--apex-beauty-rgb),0.22);
  border-bottom: 1px solid rgba(100,120,255,0.1);
  overflow: hidden;
}

.apex-category-beauty,
.apex-category-beauty * {
  min-width: 0;
}

.apex-category-beauty--red {
  --apex-beauty-accent: #ff4455;
  --apex-beauty-rgb: 255,68,85;
}

.apex-category-beauty--blue {
  --apex-beauty-accent: #44ddff;
  --apex-beauty-rgb: 68,221,255;
}

.apex-category-beauty--green {
  --apex-beauty-accent: #25d366;
  --apex-beauty-rgb: 37,211,102;
}

.apex-category-beauty--amber {
  --apex-beauty-accent: #ffb14a;
  --apex-beauty-rgb: 255,177,74;
}

.apex-category-beauty__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  gap: clamp(28px, 5vw, 78px);
  align-items: center;
  max-width: 1220px;
  margin: 0 auto;
}

.apex-category-beauty__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.apex-category-beauty__eyebrow,
.apex-category-beauty__proof span {
  color: var(--apex-beauty-accent) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.apex-category-beauty h2 {
  max-width: 12ch;
  margin: 0 !important;
  color: var(--apex-text) !important;
  font-size: clamp(2rem, 5.2vw, 4.65rem) !important;
  line-height: 0.95 !important;
  letter-spacing: 0.02em !important;
}

.apex-category-beauty p {
  max-width: 64ch;
  margin: 0 !important;
  color: var(--apex-text-mid) !important;
  font-size: clamp(0.98rem, 1.15vw, 1.12rem) !important;
  line-height: 1.65 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.apex-category-beauty__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.apex-category-beauty__proof span {
  padding: 9px 11px;
  background: rgba(var(--apex-beauty-rgb),0.08);
  border: 1px solid rgba(var(--apex-beauty-rgb),0.22);
  border-radius: 8px;
  color: var(--apex-text) !important;
  font-size: 0.62rem !important;
}

.apex-category-beauty__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
}

.apex-category-beauty__actions a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 8px;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.apex-category-beauty__actions a:first-child {
  background: linear-gradient(135deg, #4466ff, #815cff);
  color: #f7f7ff !important;
}

.apex-category-beauty__actions a:last-child {
  background: rgba(5,5,9,0.52);
  border: 1px solid rgba(var(--apex-beauty-rgb),0.42);
  color: var(--apex-beauty-accent) !important;
}

.apex-category-beauty small {
  display: block;
  max-width: 58ch;
  margin-top: 2px;
  color: var(--apex-text-dim) !important;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
}

.apex-category-beauty__stage {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(150px, 0.82fr);
  grid-template-rows: repeat(2, minmax(160px, 1fr));
  gap: 14px;
  min-height: clamp(360px, 43vw, 560px);
  overflow: hidden;
}

.apex-category-beauty__shot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  margin: 0;
  padding: clamp(16px, 2.4vw, 30px);
  background:
    radial-gradient(circle at 50% 42%, rgba(var(--apex-beauty-rgb),0.12), transparent 46%),
    var(--apex-shot-image) center / min(78%, 560px) auto no-repeat,
    linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.016));
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 8px;
  overflow: hidden;
}

.apex-category-beauty__shot--main {
  grid-row: 1 / 3;
}

.apex-category-beauty__shot::after {
  content: "";
  position: absolute;
  inset: auto 13% 8% 13%;
  height: 18px;
  background: rgba(var(--apex-beauty-rgb),0.18);
  border-radius: 999px;
  filter: blur(22px);
}

.apex-category-beauty__shot img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 22px 28px rgba(0,0,0,0.34));
}

.apex-category-beauty__shot img[src^="data:image/svg"] {
  opacity: 0;
}

.apex-category-products-anchor {
  position: relative;
  top: -100px;
  display: block;
  width: 1px;
  height: 1px;
}

.woocommerce ul.products li.product .apex-card-help {
  display: block;
  min-height: 38px;
  margin: 6px 16px 12px;
  color: var(--apex-text-dim) !important;
  font-size: 0.78rem !important;
  line-height: 1.35 !important;
}

.single-product .summary .apex-product-brief {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.apex-product-brief > div {
  padding: 14px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(100,120,255,0.14);
  border-radius: 8px;
}

.apex-product-brief strong {
  display: block;
  margin: 7px 0 5px;
  color: var(--apex-text) !important;
  font-size: 0.88rem !important;
  line-height: 1.3 !important;
}

.apex-product-brief small {
  display: block;
  color: var(--apex-text-mid) !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
}

.apex-objection-panel {
  clear: both;
  margin: 26px 0;
  padding: 24px;
  background:
    radial-gradient(circle at 90% 10%, rgba(68,221,255,0.08), transparent 28%),
    linear-gradient(145deg, rgba(12,12,22,0.98), rgba(7,7,12,0.98));
  border: 1px solid rgba(100,120,255,0.16);
  border-radius: 8px;
}

.apex-objection-panel,
.apex-objection-panel * {
  min-width: 0;
}

.apex-objection-panel__head {
  max-width: 780px;
  margin: 0 0 18px;
}

.apex-objection-panel p,
.apex-objection-card li,
.apex-product-brief small {
  white-space: normal !important;
  overflow-wrap: break-word;
}

.apex-objection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.apex-objection-card {
  padding: 16px;
  background: rgba(255,255,255,0.032);
  border: 1px solid rgba(100,120,255,0.12);
  border-radius: 8px;
}

.apex-objection-card h3 {
  margin: 0 0 12px !important;
  color: var(--apex-text) !important;
  font-size: 0.86rem !important;
  line-height: 1.25 !important;
}

.apex-objection-card ul {
  display: grid;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.apex-objection-card li {
  position: relative;
  padding-left: 18px;
  color: var(--apex-text-mid) !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
}

.apex-objection-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 6px;
  height: 6px;
  background: var(--apex-cyan);
  border-radius: 999px;
}

.apex-objection-wa {
  margin-top: 18px;
}

.apex-fitment-tab {
  max-width: 980px;
}

.apex-fitment-tab > p {
  max-width: 72ch;
  color: var(--apex-text-mid) !important;
}

.apex-fitment-tab__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

@media (max-width: 1100px) {
  .apex-category-beauty__inner {
    grid-template-columns: 1fr;
  }

  .apex-category-beauty h2 {
    max-width: 14ch;
  }

  .apex-journey {
    grid-template-columns: 1fr;
  }

  .apex-category-map {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .apex-category-beauty {
    padding: 32px 20px;
  }

  .apex-category-beauty__stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    min-height: 0;
  }

  .apex-category-beauty__shot {
    min-height: 180px;
  }

  .apex-category-beauty__shot--main {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 300px;
  }

  .apex-journey__grid,
  .apex-category-map nav,
  .apex-objection-grid,
  .single-product .summary .apex-product-brief,
  .apex-fitment-tab__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .apex-category-beauty {
    margin-bottom: 24px;
    padding: 30px 20px;
  }

  .apex-category-beauty__inner {
    gap: 24px;
  }

  .apex-category-beauty h2 {
    max-width: 12ch;
    font-size: 2rem !important;
    line-height: 1 !important;
  }

  .apex-category-beauty p {
    max-width: 31ch !important;
    font-size: 0.95rem !important;
  }

  .apex-category-beauty small {
    max-width: 31ch !important;
  }

  .apex-category-beauty__actions {
    max-width: 31ch;
    width: 100%;
  }

  .apex-category-beauty__actions a {
    width: 100%;
  }

  .apex-category-beauty__stage {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .apex-category-beauty__shot {
    min-height: 130px;
    padding: 12px;
  }

  .apex-category-beauty__shot:not(.apex-category-beauty__shot--main) {
    display: none;
  }

  .apex-category-beauty__shot--main {
    min-height: 250px;
  }

  .apex-journey,
  .apex-category-map,
  .apex-objection-panel {
    padding: 18px;
  }

  .apex-journey h2,
  .apex-objection-panel h2 {
    max-width: 30ch;
    font-size: 1.05rem !important;
  }

  .apex-path-card {
    min-height: 132px;
  }
}

/* Phase 2 product media polish */
.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
  margin-bottom: 28px !important;
  padding: 14px;
  background:
    radial-gradient(circle at 18% 12%, rgba(119,153,255,0.08), transparent 30%),
    linear-gradient(145deg, rgba(10,10,18,0.98), rgba(5,5,9,0.98));
  border: 1px solid rgba(100,120,255,0.16);
  border-radius: 8px;
}

.woocommerce div.product div.images,
.woocommerce-page div.product div.images,
.single-product .woocommerce-product-gallery {
  max-width: 100%;
  box-sizing: border-box;
}

.single-product .woocommerce-product-gallery * {
  box-sizing: border-box;
}

.single-product .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
}

.single-product .woocommerce-product-gallery__image {
  overflow: hidden;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 8px;
}

.single-product .woocommerce-product-gallery__image a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: clamp(320px, 42vw, 560px);
  padding: clamp(14px, 2vw, 26px);
}

.single-product .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 540px;
  object-fit: contain;
  opacity: 1 !important;
  filter: none !important;
}

.single-product .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

.single-product .flex-control-thumbs li {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .flex-control-thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(100,120,255,0.12);
  border-radius: 8px;
  opacity: 0.76 !important;
  transition: opacity 180ms ease, border-color 180ms ease, background 180ms ease;
}

.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover {
  background: rgba(68,102,255,0.1);
  border-color: rgba(68,221,255,0.32);
  opacity: 1 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  top: 24px !important;
  right: 24px !important;
  background: rgba(5,5,9,0.74) !important;
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(14px);
}

@media (max-width: 768px) {
  .single-product div.product,
  .single-product .summary,
  .single-product .apex-product-brief,
  .single-product .apex-objection-panel {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  .single-product div.product {
    overflow-x: hidden;
  }

  .woocommerce div.product div.summary,
  .woocommerce-page div.product div.summary,
  .single-product .entry-summary {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .woocommerce div.product div.images,
  .woocommerce-page div.product div.images,
  .single-product .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
  }

  .single-product .woocommerce-product-gallery {
    padding: 10px;
  }

  .single-product .woocommerce-product-gallery__image a {
    min-height: 300px;
  }
}

@media (max-width: 640px) {
  body.single-product {
    overflow-x: hidden;
  }

  .single-product .woocommerce-product-gallery,
  .woocommerce div.product div.summary,
  .woocommerce-page div.product div.summary,
  .single-product .entry-summary,
  .single-product .apex-product-brief,
  .single-product .apex-objection-panel,
  .single-product form.cart {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
  }

  .single-product form.cart {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: stretch;
  }

  .single-product form.cart .quantity {
    grid-column: 1 / -1;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
  }

  .single-product form.cart .quantity .qty {
    width: 100% !important;
    min-height: 48px;
  }

  .single-product form.cart .single_add_to_cart_button {
    grid-column: 1 / -1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px;
    margin: 0 !important;
    white-space: normal;
  }

  .single-product form.cart .apex-wa-btn {
    grid-column: 1 / -1;
    justify-content: center;
    width: 100% !important;
    min-height: 48px;
    margin: 0 !important;
    white-space: normal;
  }
}

/* ============================================
   PHASE 3 CURATED STORE, PRODUCT INFO, CHECKOUT
   ============================================ */

.apex-home-v2 {
  color: var(--apex-text);
  background: #050508;
  overflow: hidden;
}

.apex-live-test-notice {
  position: sticky;
  top: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 12px 20px;
  background:
    linear-gradient(135deg, rgba(255,177,74,0.22), rgba(255,68,85,0.18)),
    #110d08;
  border-bottom: 1px solid rgba(255,177,74,0.42);
  box-shadow: 0 14px 30px rgba(0,0,0,0.26);
  color: #fff6e6 !important;
  text-align: center;
}

.apex-live-test-notice strong,
.apex-live-test-checkout strong {
  color: #ffcf7a !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.78rem !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.apex-live-test-notice span,
.apex-live-test-checkout span {
  color: #fff2d8 !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
}

.apex-live-test-notice a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  background: #25d366;
  border-radius: 8px;
  color: #041108 !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  white-space: nowrap;
}

.apex-live-test-checkout {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
  padding: 16px 18px;
  background:
    linear-gradient(135deg, rgba(255,177,74,0.14), rgba(255,68,85,0.08)),
    rgba(255,255,255,0.03);
  border: 1px solid rgba(255,177,74,0.28);
  border-radius: 8px;
}

.apex-home-v2,
.apex-home-v2 * {
  box-sizing: border-box;
  min-width: 0;
}

.apex-home-hero {
  min-height: min(760px, calc(100vh - 96px));
  display: grid;
  place-items: center;
  padding: clamp(72px, 10vw, 132px) 24px;
  background:
    radial-gradient(circle at 50% 26%, rgba(119,153,255,0.12), transparent 28%),
    linear-gradient(180deg, #050508 0%, #080812 100%);
  text-align: center;
}

.apex-home-hero__inner {
  width: min(880px, 100%);
  display: grid;
  justify-items: center;
  gap: 18px;
}

.site-header .custom-logo-link {
  position: relative;
  display: inline-block;
  min-width: min(190px, 45vw);
  aspect-ratio: 390 / 108;
  background: none !important;
}

.site-header .custom-logo-link::before {
  content: none;
  display: none;
}

.site-header .custom-logo-link img {
  position: relative;
  z-index: 1;
}

.site-header .custom-logo-link img[src^="data:image/svg"] {
  opacity: 0 !important;
}

.apex-home-hero__brand {
  width: min(300px, 74vw);
  aspect-ratio: 390 / 108;
  margin-bottom: 8px;
  background: var(--apex-logo) center / contain no-repeat;
  filter: drop-shadow(0 22px 36px rgba(0,0,0,0.34));
}

.apex-home-hero__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.apex-home-hero__logo[src^="data:image/svg"] {
  opacity: 0;
}

.apex-home-hero span,
.apex-home-section-head span,
.apex-home-feature span,
.apex-product-intel__head span,
.apex-product-intel article span,
.apex-cart-confidence span,
.apex-checkout-confidence span {
  color: var(--apex-cyan) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

.apex-home-hero h1 {
  max-width: 13ch;
  margin: 0 !important;
  color: var(--apex-text) !important;
  font-size: 5.9rem !important;
  line-height: 0.94 !important;
  letter-spacing: 0 !important;
}

.apex-home-hero p,
.apex-home-section-head p,
.apex-home-feature p,
.apex-product-intel__head p,
.apex-product-intel article p,
.apex-cart-confidence p {
  max-width: 68ch;
  margin: 0 !important;
  color: var(--apex-text-mid) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.apex-home-actions,
.apex-home-feature div > a,
.apex-cart-confidence a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}

.apex-home-actions a,
.apex-home-feature div > a,
.apex-cart-confidence a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border-radius: 8px;
  font-family: var(--apex-font-heading) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.apex-home-actions a:first-child,
.apex-home-feature div > a,
.apex-cart-confidence a {
  background: linear-gradient(135deg, #4466ff, #815cff);
  color: #f7f7ff !important;
}

.apex-home-actions a:last-child {
  background: rgba(5,5,9,0.52);
  border: 1px solid rgba(68,221,255,0.34);
  color: var(--apex-cyan) !important;
}

.apex-home-paths,
.apex-home-process,
.apex-product-intel,
.apex-cart-confidence,
.apex-checkout-confidence {
  width: min(1220px, calc(100% - 48px));
  margin: clamp(44px, 7vw, 86px) auto;
}

.apex-home-section-head {
  display: grid;
  gap: 10px;
  max-width: 660px;
  margin: 0 0 24px;
}

.apex-home-section-head h2,
.apex-product-intel__head h2,
.apex-cart-confidence h2 {
  margin: 0 !important;
  color: var(--apex-text) !important;
  font-size: 3rem !important;
  line-height: 1 !important;
}

.apex-home-paths__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.apex-home-path {
  display: flex !important;
  min-height: 168px;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  background: rgba(255,255,255,0.028);
  border: 1px solid rgba(100,120,255,0.14);
  border-radius: 8px;
  text-decoration: none !important;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.apex-home-path:hover,
.apex-home-path:focus-visible {
  background: rgba(68,102,255,0.09);
  border-color: rgba(68,221,255,0.3);
  transform: translateY(-2px);
}

.apex-home-path strong {
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 1rem !important;
  line-height: 1.1 !important;
  text-transform: uppercase;
}

.apex-home-path span {
  color: var(--apex-text-mid) !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
}

.apex-home-feature {
  --feature-accent: #44ddff;
  --feature-rgb: 68,221,255;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: clamp(46px, 7vw, 92px) max(24px, calc((100vw - 1220px) / 2 + 24px));
  background:
    radial-gradient(circle at 78% 42%, rgba(var(--feature-rgb),0.13), transparent 34%),
    linear-gradient(135deg, #050508 0%, #0b0b14 100%);
  border-top: 1px solid rgba(var(--feature-rgb),0.18);
}

.apex-home-feature--flip figure {
  order: -1;
}

.apex-home-feature--red {
  --feature-accent: #ff4455;
  --feature-rgb: 255,68,85;
}

.apex-home-feature--green {
  --feature-accent: #25d366;
  --feature-rgb: 37,211,102;
}

.apex-home-feature--amber {
  --feature-accent: #ffb14a;
  --feature-rgb: 255,177,74;
}

.apex-home-feature--blue {
  --feature-accent: #44ddff;
  --feature-rgb: 68,221,255;
}

.apex-home-feature div {
  display: grid;
  justify-items: start;
  gap: 16px;
}

.apex-home-feature span {
  color: var(--feature-accent) !important;
}

.apex-home-feature h2 {
  max-width: 12ch;
  margin: 0 !important;
  color: var(--apex-text) !important;
  font-size: 4.2rem !important;
  line-height: 0.96 !important;
}

.apex-home-feature figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(320px, 42vw, 560px);
  margin: 0;
  padding: clamp(18px, 3vw, 34px);
  background:
    radial-gradient(circle at 50% 42%, rgba(var(--feature-rgb),0.13), transparent 44%),
    var(--apex-feature-image) center / min(72%, 560px) auto no-repeat,
    rgba(255,255,255,0.034);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 8px;
  overflow: hidden;
}

.apex-home-feature img {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: 500px;
  object-fit: contain;
  filter: drop-shadow(0 22px 34px rgba(0,0,0,0.42));
}

.apex-home-feature img[src^="data:image/svg"] {
  opacity: 0;
}

.apex-home-process ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.apex-home-process li {
  display: grid;
  gap: 8px;
  padding: 18px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(100,120,255,0.14);
  border-radius: 8px;
}

.apex-home-process strong,
.apex-product-intel article h3,
.apex-cart-confidence strong,
.apex-checkout-confidence strong {
  color: var(--apex-text) !important;
  font-family: var(--apex-font-heading) !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.apex-home-process small,
.apex-checkout-confidence small,
.apex-order-final-note {
  color: var(--apex-text-mid) !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
}

.apex-product-intel {
  clear: both;
  display: grid;
  gap: 22px;
  padding-top: 28px;
  border-top: 1px solid rgba(100,120,255,0.12);
}

.apex-product-intel__head {
  display: grid;
  gap: 10px;
  max-width: 760px;
}

.apex-product-intel__grid,
.apex-checkout-confidence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.apex-product-intel article,
.apex-checkout-confidence > div {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 18px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(100,120,255,0.14);
  border-radius: 8px;
}

.apex-cart-confidence {
  display: grid;
  justify-items: start;
  gap: 12px;
  padding: 22px;
  background:
    radial-gradient(circle at 92% 18%, rgba(37,211,102,0.1), transparent 28%),
    linear-gradient(145deg, rgba(12,12,22,0.98), rgba(7,7,12,0.98));
  border: 1px solid rgba(100,120,255,0.16);
  border-radius: 8px;
}

.apex-checkout-confidence {
  margin-top: 0;
  margin-bottom: 24px;
}

.apex-order-final-note {
  margin: 10px 0 0 !important;
  padding: 12px;
  background: rgba(37,211,102,0.06);
  border: 1px solid rgba(37,211,102,0.18);
  border-radius: 8px;
}

.woocommerce-cart .cart-collaterals h2,
.woocommerce-cart .cart_totals h2,
.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
  background:
    linear-gradient(135deg, rgba(68,102,255,0.11), rgba(153,102,255,0.07)),
    rgba(255,255,255,0.03) !important;
  color: var(--apex-text) !important;
  border: 1px solid rgba(100,120,255,0.14) !important;
}

.woocommerce-cart .cart-collaterals h2,
.woocommerce-cart .cart_totals h2 {
  margin: 0 !important;
  padding: 16px 18px !important;
  border-radius: 8px 8px 0 0 !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table {
  width: 100% !important;
  table-layout: fixed !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table th,
.woocommerce-cart .woocommerce-cart-form table.shop_table td {
  vertical-align: middle !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-remove,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-remove {
  width: 42px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  text-align: center !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-thumbnail,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail {
  width: 112px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail img {
  display: block !important;
  width: 88px !important;
  max-width: 88px !important;
  height: 88px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid rgba(100,120,255,0.16) !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name a {
  display: inline-block !important;
  max-width: 34ch !important;
  line-height: 1.35 !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-price,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-price,
.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-quantity,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-quantity,
.woocommerce-cart .woocommerce-cart-form table.shop_table th.product-subtotal,
.woocommerce-cart .woocommerce-cart-form table.shop_table td.product-subtotal {
  width: 140px !important;
  white-space: nowrap !important;
}

.woocommerce-cart .woocommerce-cart-form .quantity .qty {
  width: 68px !important;
  min-width: 68px !important;
  text-align: center !important;
}

body.apex-store-home .woocommerce-products-header,
body.apex-store-home .woocommerce-result-count,
body.apex-store-home .woocommerce-ordering,
body.apex-store-home .woocommerce-pagination,
body.apex-store-home .wp-block-woocommerce-product-collection,
body.apex-store-home .wc-block-grid,
body.apex-store-home .wc-block-product-template,
body.apex-store-home .wp-block-query:has(.wc-block-product-template),
body.apex-store-home .site-main > ul.products,
body.apex-store-home .site-main .apex-home-suppressed-shop-loop,
body.apex-store-home .entry-content > :not(.apex-home-v2) {
  display: none !important;
}

@media (max-width: 1100px) {
  .apex-home-paths__grid,
  .apex-home-process ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .apex-home-feature {
    grid-template-columns: 1fr;
  }

  .apex-home-feature--flip figure {
    order: 0;
  }
}

@media (max-width: 860px) {
  .apex-home-hero h1 {
    font-size: 4rem !important;
  }

  .apex-home-section-head h2,
  .apex-product-intel__head h2,
  .apex-cart-confidence h2 {
    font-size: 2.3rem !important;
  }

  .apex-home-feature h2 {
    font-size: 3rem !important;
  }

  .apex-home-paths,
  .apex-home-process,
  .apex-product-intel,
  .apex-cart-confidence,
  .apex-checkout-confidence {
    width: min(100% - 40px, 1220px);
  }

  .apex-product-intel__grid,
  .apex-checkout-confidence {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .apex-live-test-notice {
    display: grid;
    gap: 8px;
    padding: 12px 16px;
    justify-items: center;
    white-space: normal;
  }

  .apex-live-test-notice strong,
  .apex-live-test-notice span {
    display: block;
    width: 100%;
    max-width: 34ch;
    overflow-wrap: break-word;
    text-align: center;
  }

  .apex-live-test-notice a {
    width: min(260px, 100%);
    margin: 0 auto;
  }

  .apex-home-v2 {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .apex-home-hero {
    min-height: auto;
    padding: 58px 20px;
  }

  .apex-home-hero__inner {
    width: 100%;
    max-width: 350px;
  }

  .apex-home-hero h1 {
    max-width: 11ch;
    font-size: 2.5rem !important;
    line-height: 1 !important;
  }

  .apex-home-hero p,
  .apex-home-section-head p,
  .apex-home-feature p {
    width: 100%;
    max-width: 30ch;
    overflow-wrap: break-word;
  }

  .apex-home-actions {
    width: min(300px, 100%);
    max-width: 300px;
    justify-self: center;
  }

  .apex-home-section-head h2,
  .apex-product-intel__head h2,
  .apex-cart-confidence h2 {
    max-width: 10ch;
    font-size: 1.7rem !important;
    line-height: 1.08 !important;
    overflow-wrap: normal;
  }

  .apex-home-actions,
  .apex-home-actions a,
  .apex-home-feature div > a,
  .apex-cart-confidence a {
    width: 100%;
  }

  .apex-home-paths__grid,
  .apex-home-process ol {
    grid-template-columns: 1fr;
  }

  .apex-home-paths,
  .apex-home-process,
  .apex-product-intel,
  .apex-cart-confidence,
  .apex-checkout-confidence {
    width: min(320px, calc(100vw - 40px)) !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .apex-home-section-head,
  .apex-home-paths__grid,
  .apex-home-process ol,
  .apex-home-path {
    width: 100%;
    max-width: 100%;
  }

  .apex-home-feature {
    width: 100%;
    max-width: 100vw;
    margin-left: 0;
    margin-right: 0;
    padding: 40px 20px;
    gap: 24px;
  }

  .apex-home-feature div {
    width: 100%;
  }

  .apex-home-feature h2 {
    max-width: 12ch;
    font-size: 2rem !important;
  }

  .apex-home-feature figure {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: clamp(210px, 62vw, 280px);
    padding: 14px;
    background-size: auto, min(78%, 300px) auto, auto;
  }

  .apex-home-feature img {
    max-height: 220px;
  }

  .apex-home-path {
    min-height: 126px;
  }
}

@media (max-width: 640px) {
  body.single-product .site-content,
  body.single-product .ast-container,
  body.single-product .ast-woocommerce-container,
  body.tax-product_cat .site-content,
  body.tax-product_cat .ast-container,
  body.tax-product_cat .ast-woocommerce-container {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .single-product .woocommerce-breadcrumb,
  .single-product .summary,
  .single-product .entry-summary,
  .single-product .woocommerce-product-details__short-description,
  .single-product .product_title,
  .apex-product-brief,
  .apex-objection-panel,
  .apex-product-intel,
  .apex-product-intel * {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .single-product .woocommerce-breadcrumb {
    white-space: normal !important;
    line-height: 1.45 !important;
  }

  .single-product .product_title {
    font-size: 1.45rem !important;
    line-height: 1.16 !important;
    letter-spacing: 0 !important;
  }

  .single-product p.price,
  .single-product .price,
  .single-product .woocommerce-Price-amount {
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
  }

  .apex-category-beauty,
  .apex-category-beauty__inner,
  .apex-category-beauty__stage,
  .apex-category-beauty__shot {
    width: 100%;
    max-width: 100%;
  }

  .apex-category-beauty {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .apex-category-beauty__copy,
  .apex-category-beauty__stage {
    width: calc(100vw - 40px);
    max-width: calc(100vw - 40px);
  }

  .apex-category-beauty__proof,
  .apex-category-beauty__actions {
    width: min(320px, 100%);
    max-width: 320px;
  }

  .apex-category-beauty__proof {
    display: grid;
    grid-template-columns: 1fr;
  }

  .apex-category-beauty__eyebrow,
  .apex-category-beauty__proof span,
  .apex-category-beauty__actions a {
    letter-spacing: 0 !important;
  }

  .apex-category-beauty__proof span {
    width: 100%;
    max-width: 320px;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .single-product .summary > *,
  .single-product .entry-summary > *,
  .single-product form.cart > *,
  .apex-product-brief > *,
  .apex-objection-panel > *,
  .apex-product-intel > * {
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  .woocommerce-cart .woocommerce-cart-form table.shop_table,
  .woocommerce-cart .woocommerce-cart-form table.shop_table tbody,
  .woocommerce-cart .woocommerce-cart-form table.shop_table tr,
  .woocommerce-cart .woocommerce-cart-form table.shop_table td {
    display: block !important;
    width: 100% !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table thead {
    display: none !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 8px 14px !important;
    padding: 16px !important;
    border-bottom: 1px solid rgba(100,120,255,0.14) !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td {
    border: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    width: 28px !important;
    z-index: 2;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail {
    grid-row: 1 / span 4 !important;
    grid-column: 1 !important;
    width: 92px !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail::before {
    display: none !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-thumbnail img {
    width: 92px !important;
    max-width: 92px !important;
    height: 92px !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name,
  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-price,
  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-quantity,
  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-subtotal {
    grid-column: 2 !important;
    min-width: 0 !important;
    white-space: normal !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-name a {
    max-width: calc(100% - 34px) !important;
    overflow-wrap: anywhere !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-price::before,
  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-quantity::before,
  .woocommerce-cart .woocommerce-cart-form table.shop_table td.product-subtotal::before {
    display: inline-block !important;
    min-width: 82px !important;
    color: var(--apex-muted) !important;
    font-family: var(--apex-font-heading) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.actions {
    padding: 14px !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon {
    display: grid !important;
    gap: 10px !important;
  }

  .woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon .input-text,
  .woocommerce-cart .woocommerce-cart-form table.shop_table td.actions .coupon .button,
  .woocommerce-cart .woocommerce-cart-form table.shop_table td.actions > .button {
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.post-type-archive-product ul.products,
  body.woocommerce-shop .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.woocommerce-shop .ast-woocommerce-container ul.products,
  body.tax-product_cat .ast-woocommerce-container ul.products,
  body.post-type-archive-product .ast-woocommerce-container ul.products {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: min(100%, 340px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.woocommerce-shop ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.post-type-archive-product ul.products li.product,
  body.woocommerce-shop ul.products[class*="columns-"] li.product,
  body.tax-product_cat ul.products[class*="columns-"] li.product,
  body.post-type-archive-product ul.products[class*="columns-"] li.product {
    width: 100% !important;
    max-width: 340px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
  }

  body.woocommerce-shop ul.products li.product .woocommerce-LoopProduct-link img,
  body.woocommerce-shop ul.products li.product a img,
  body.woocommerce-shop ul.products li.product img:first-of-type,
  body.tax-product_cat ul.products li.product .woocommerce-LoopProduct-link img,
  body.tax-product_cat ul.products li.product a img,
  body.tax-product_cat ul.products li.product img:first-of-type,
  body.post-type-archive-product ul.products li.product .woocommerce-LoopProduct-link img,
  body.post-type-archive-product ul.products li.product a img,
  body.post-type-archive-product ul.products li.product img:first-of-type {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    padding: 18px !important;
    object-fit: contain !important;
  }

  body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
  body.woocommerce-shop ul.products li.product h2,
  body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat ul.products li.product h2,
  body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
  body.post-type-archive-product ul.products li.product h2 {
    min-height: auto !important;
    padding: 10px 16px 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
  }

  body.woocommerce-shop ul.products li.product .price,
  body.woocommerce-shop ul.products li.product .price .amount,
  body.tax-product_cat ul.products li.product .price,
  body.tax-product_cat ul.products li.product .price .amount,
  body.post-type-archive-product ul.products li.product .price,
  body.post-type-archive-product ul.products li.product .price .amount {
    padding: 10px 16px 0 !important;
    font-size: 1.1rem !important;
    line-height: 1.15 !important;
  }

  body.woocommerce-shop ul.products li.product .button,
  body.woocommerce-shop ul.products li.product a.button,
  body.tax-product_cat ul.products li.product .button,
  body.tax-product_cat ul.products li.product a.button,
  body.post-type-archive-product ul.products li.product .button,
  body.post-type-archive-product ul.products li.product a.button {
    width: calc(100% - 32px) !important;
    min-height: 46px !important;
    margin: 14px 16px 16px !important;
    padding: 0 12px !important;
    font-size: 0.7rem !important;
    white-space: normal !important;
  }
}
