/*
Theme Name:   AERA
Theme URI:    https://aerabreathe.com
Description:  Tema personalizado AERA — Child of Storefront. Diseño dark de alto rendimiento para e-commerce de tiras nasales deportivas.
Author:       AERA Team
Author URI:   https://aerabreathe.com
Template:     storefront
Version:      1.0.0
Text Domain:  aera
Tags:         woocommerce, dark, sports, ecommerce
*/

/* ════════════════════════════════════════
   DESIGN TOKENS
════════════════════════════════════════ */
:root {
  --lime:    #C6FF33;
  --orange:  #FE582C;
  --purple:  #7D39EB;
  --cream:   #F1F0EC;
  --black:   #000000;
  --ink:     #0D0D0D;
  --ink2:    #111111;
  --ink3:    #181818;
  --ink4:    #222222;
  --muted:   rgba(241,240,236,.45);
  --border:  rgba(125,57,235,.25);
}

/* ════════════════════════════════════════
   BASE RESET
════════════════════════════════════════ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body {
  font-family: 'DM Sans', sans-serif;
  background: var(--ink) !important;
  color: var(--cream) !important;
  overflow-x: hidden;
}
a { color: var(--lime); text-decoration: none; transition: color .18s; }
a:hover { color: var(--cream); }
img { max-width: 100%; height: auto; }

/* ════════════════════════════════════════
   TYPOGRAPHY
════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 900;
  letter-spacing: .02em;
  color: var(--cream);
  line-height: .92;
}
p { line-height: 1.7; color: var(--muted); }

/* ════════════════════════════════════════
   UTILITY CLASSES
════════════════════════════════════════ */
.eyebrow {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--lime);
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 10px;
}
.eyebrow::before { content: ''; width: 22px; height: 2px; background: var(--lime); }

.btn-primary {
  background: var(--orange); color: #fff; border: none;
  padding: 14px 38px; border-radius: 2px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  cursor: pointer; display: inline-block; text-decoration: none;
  position: relative; overflow: hidden;
  transition: color .18s, transform .18s, box-shadow .18s;
}
.btn-primary::after {
  content: ''; position: absolute; inset: 0;
  background: var(--lime); transform: translateX(-105%);
  transition: transform .32s cubic-bezier(.7,0,.3,1); z-index: 0;
}
.btn-primary:hover { color: var(--black) !important; transform: translateY(-2px); box-shadow: 0 12px 32px rgba(254,88,44,.35); }
.btn-primary:hover::after { transform: translateX(0); }
.btn-primary span, .btn-primary > * { position: relative; z-index: 1; }

.btn-outline {
  background: transparent; color: var(--cream); border: 1.5px solid rgba(241,240,236,.22);
  padding: 12px 30px; border-radius: 2px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 14px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  cursor: pointer; display: inline-block; text-decoration: none;
  transition: border-color .18s, color .18s;
}
.btn-outline:hover { border-color: var(--lime); color: var(--lime) !important; }

.btn-lime {
  background: var(--lime); color: var(--black); border: none;
  padding: 14px 38px; border-radius: 2px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 15px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  cursor: pointer; display: inline-block; text-decoration: none;
  transition: background .18s, transform .18s, box-shadow .18s;
}
.btn-lime:hover { background: var(--cream); color: var(--black) !important; transform: translateY(-2px); box-shadow: 0 12px 32px rgba(198,255,51,.3); }

/* ════════════════════════════════════════
   SCROLL REVEAL
════════════════════════════════════════ */
.rv  { opacity: 0; transform: translateY(44px); transition: opacity .7s ease, transform .7s ease; }
.rvl { opacity: 0; transform: translateX(-44px); transition: opacity .7s ease, transform .7s ease; }
.rvr { opacity: 0; transform: translateX(44px);  transition: opacity .7s ease, transform .7s ease; }
.rv.in, .rvl.in, .rvr.in { opacity: 1; transform: none; }
.d1 { transition-delay: .1s; } .d2 { transition-delay: .2s; } .d3 { transition-delay: .3s; }

/* ════════════════════════════════════════
   ANNOUNCEMENT BAR
════════════════════════════════════════ */
.aera-ann {
  background: var(--lime); color: var(--black);
  text-align: center; padding: 10px 20px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  position: relative; overflow: hidden;
}
.aera-ann::before {
  content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0, transparent 80px, rgba(0,0,0,.06) 80px, rgba(0,0,0,.06) 81px);
}

/* ════════════════════════════════════════
   NAVIGATION OVERRIDE
════════════════════════════════════════ */
.site-header {
  background: var(--black) !important;
  border-bottom: 1px solid var(--border) !important;
  position: sticky; top: 0; z-index: 200;
}
.site-header .col-full {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 56px; height: 70px; max-width: none;
}
.site-branding {
  display: flex; align-items: center;
}
.site-title a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 42px !important; font-weight: 900 !important;
  letter-spacing: .06em !important; color: var(--cream) !important;
  text-decoration: none; line-height: 1;
}
.site-title a:hover { color: var(--cream) !important; }

/* WooCommerce cart icon in nav */
.site-header-cart .cart-contents {
  background: transparent !important;
  color: rgba(241,240,236,.6) !important;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px; font-weight: 700; letter-spacing: .1em;
  padding: 0 !important; text-decoration: none;
  display: flex; align-items: center; gap: 6px;
  transition: color .18s;
}
.site-header-cart .cart-contents:hover { color: var(--lime) !important; }
.site-header-cart .cart-contents .count {
  background: var(--orange) !important;
  color: #fff !important; border-radius: 50%;
  width: 20px; height: 20px;
  font-size: 11px; font-weight: 800;
  display: inline-flex; align-items: center; justify-content: center;
}

/* Main nav menu */
.main-navigation ul li a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important; font-weight: 700 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  color: rgba(241,240,236,.5) !important;
  transition: color .18s !important;
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a { color: var(--lime) !important; }

/* Nav CTA button */
.nav-shop-btn {
  background: var(--orange); color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  padding: 9px 22px; border-radius: 2px; text-decoration: none;
  transition: background .18s, transform .18s; white-space: nowrap;
}
.nav-shop-btn:hover { background: var(--lime); color: var(--black) !important; transform: translateY(-1px); }

/* ════════════════════════════════════════
   HERO (front-page template)
════════════════════════════════════════ */
.aera-hero {
  background: var(--black);
  min-height: 88vh;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
}
.aera-hero::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  opacity: .5;
}
.aera-hero-left {
  display: flex; flex-direction: column; justify-content: center;
  padding: 80px 60px 80px 80px; position: relative; z-index: 2;
}
.aera-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: var(--lime); margin-bottom: 26px;
}
.aera-hero-eyebrow::before { content: ''; width: 24px; height: 2px; background: var(--lime); }
.aera-hero-left h1 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
  font-size: clamp(76px, 9.5vw, 136px);
  line-height: .88; letter-spacing: .01em; color: var(--cream); margin-bottom: 8px;
}
.aera-hero-left h1 .hollow {
  display: block; color: transparent;
  -webkit-text-stroke: 2px var(--purple); opacity: .7;
}
.aera-hero-left h1 .accent { display: block; color: var(--lime); position: relative; }
.aera-hero-left h1 .accent::before {
  content: attr(data-t); position: absolute; left: 5px; top: 5px;
  color: var(--purple); z-index: -1; opacity: .4;
}
.aera-hero-sub {
  font-family: 'Playfair Display', serif; font-style: italic;
  font-size: 18px; color: rgba(241,240,236,.5);
  margin: 26px 0 10px; max-width: 400px; line-height: 1.65;
  border-left: 2px solid var(--purple); padding-left: 16px;
}
.aera-hero-stars { color: var(--orange); font-size: 17px; letter-spacing: 3px; margin: 18px 0 5px; }
.aera-hero-star-txt { font-size: 12px; color: rgba(241,240,236,.38); margin-bottom: 28px; }
.aera-hero-cta { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }

.aera-hero-right {
  background: var(--ink3); position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  padding: 60px 40px;
  border-left: 1px solid rgba(125,57,235,.15);
}
.aera-hero-right::before {
  content: ''; position: absolute; top: 0; left: -40px; bottom: 0; width: 80px;
  background: var(--black);
  clip-path: polygon(0 0, 40px 0, 100% 100%, 0 100%); z-index: 1;
}
.aera-hero-right::after {
  content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 60%;
  background: radial-gradient(ellipse 80% 80% at 80% 40%, rgba(125,57,235,.12) 0%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.aera-hero-bg-word {
  position: absolute; right: -30px; bottom: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
  font-size: 240px; line-height: 1; color: transparent;
  -webkit-text-stroke: 1px rgba(198,255,51,.06);
  pointer-events: none; user-select: none;
}
.aera-hero-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 32px; }
.aera-hero-pill {
  border: 1px solid rgba(198,255,51,.18); border-radius: 2px;
  padding: 6px 14px; background: rgba(198,255,51,.04);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(241,240,236,.45);
  display: flex; align-items: center; gap: 7px;
  transition: border-color .18s, color .18s;
}
.aera-hero-pill:hover { border-color: var(--lime); color: var(--lime); }
.aera-hero-pill span { width: 5px; height: 5px; border-radius: 50%; background: var(--lime); flex-shrink: 0; }

/* Floating product card inside hero */
.aera-hero-card {
  background: rgba(0,0,0,.7);
  border: 1px solid rgba(125,57,235,.35);
  border-radius: 14px; padding: 30px 28px 28px; width: 300px;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 40px 80px rgba(0,0,0,.5), 0 0 40px rgba(125,57,235,.08);
  position: relative; z-index: 2;
  transition: box-shadow .3s, transform .3s;
}
.aera-hero-card:hover { transform: translateY(-6px); box-shadow: 0 56px 100px rgba(0,0,0,.6), 0 0 60px rgba(125,57,235,.14); }
.aera-hero-card-badge {
  position: absolute; top: -12px; right: 16px;
  background: var(--purple); color: var(--cream);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 2px;
}
.aera-hero-card-img {
  width: 100%; aspect-ratio: 1;
  background: var(--ink4); border: 1px solid rgba(198,255,51,.1);
  border-radius: 10px; margin-bottom: 20px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  position: relative; overflow: hidden;
}
.aera-hero-card-img::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(198,255,51,.07) 0%, transparent 70%);
}
.aera-hero-card-strip {
  width: 120px; height: 13px;
  background: linear-gradient(90deg, var(--lime), rgba(198,255,51,.3));
  border-radius: 6px; position: relative; z-index: 1;
}
.aera-hero-card-lbl {
  font-family: 'Barlow Condensed', sans-serif; font-size: 11px;
  letter-spacing: .22em; text-transform: uppercase;
  color: rgba(198,255,51,.35); z-index: 1;
}
.aera-hero-card-img img { position: relative; z-index: 1; max-height: 160px; object-fit: contain; }
.aera-hero-card-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 26px; font-weight: 800; letter-spacing: .05em; color: var(--cream); margin-bottom: 3px;
}
.aera-hero-card-desc { font-size: 12px; color: rgba(241,240,236,.45); margin-bottom: 16px; }
.aera-hero-card-price { display: flex; align-items: baseline; gap: 10px; margin-bottom: 18px; }
.aera-hero-card-now { font-family: 'Barlow Condensed', sans-serif; font-size: 34px; font-weight: 900; color: var(--lime); line-height: 1; }
.aera-hero-card-was { font-size: 14px; color: rgba(241,240,236,.25); text-decoration: line-through; }
.aera-hero-card .btn-primary { width: 100%; text-align: center; }

/* Floating stat chips */
.fstat {
  position: absolute; z-index: 3;
  background: var(--ink); border: 1px solid rgba(125,57,235,.35);
  border-radius: 8px; padding: 12px 16px;
  box-shadow: 0 8px 32px rgba(0,0,0,.4), 0 0 20px rgba(125,57,235,.08);
}
.fstat-num { font-family: 'Barlow Condensed', sans-serif; font-size: 32px; font-weight: 900; color: var(--purple); line-height: 1; }
.fstat-lbl { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(241,240,236,.4); }
#fs1 { top: 18%; left: 6%; animation: float1 4s ease-in-out infinite; }
#fs2 { bottom: 16%; right: 6%; animation: float2 5s ease-in-out infinite; }
@keyframes float1 { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-12px) rotate(-2deg)} }
@keyframes float2 { 0%,100%{transform:translateY(0) rotate(2deg)} 50%{transform:translateY(-10px) rotate(2deg)} }

/* Hero load animations */
@keyframes fadeUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
.aera-hero-left > * { animation: fadeUp .7s ease forwards; opacity: 0; }
.aera-hero-eyebrow { animation-delay: .1s; }
.aera-hero-left h1  { animation-delay: .2s; }
.aera-hero-sub      { animation-delay: .3s; }
.aera-hero-stars    { animation-delay: .35s; }
.aera-hero-star-txt { animation-delay: .38s; }
.aera-hero-cta      { animation-delay: .45s; }
.aera-hero-pills    { animation-delay: .55s; }

/* ════════════════════════════════════════
   AMBASSADORS TICKER
════════════════════════════════════════ */
.aera-amb {
  background: var(--purple);
  border-top: 2px solid rgba(0,0,0,.12);
  padding: 14px 0; overflow: hidden;
}
.aera-amb-track {
  display: flex; gap: 48px; align-items: center; white-space: nowrap;
  animation: roll 22s linear infinite;
}
@keyframes roll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.aera-amb-item { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.aera-amb-av {
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(0,0,0,.3); border: 2px solid rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center; font-size: 14px;
}
.aera-amb-name { font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 800; letter-spacing: .06em; color: var(--cream); }
.aera-amb-role { font-size: 10px; font-weight: 700; color: rgba(241,240,236,.55); text-transform: uppercase; letter-spacing: .06em; }
.aera-amb-sep { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 900; color: rgba(241,240,236,.25); }

/* ════════════════════════════════════════
   WOOCOMMERCE — SHOP / ARCHIVE PRODUCTS
════════════════════════════════════════ */
.woocommerce-page .site-main,
.woocommerce .site-main {
  background: var(--ink2) !important;
  padding: 80px 80px 110px !important;
}

/* Shop header */
.woocommerce-products-header {
  margin-bottom: 60px;
}
.woocommerce-products-header__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(52px, 7vw, 88px) !important;
  font-weight: 900 !important; color: var(--cream) !important;
  line-height: .88 !important;
}

/* Ordering / filter bar */
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
  background: var(--ink3) !important;
  border: 1px solid var(--border) !important;
  color: var(--cream) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  padding: 10px 36px 10px 14px !important;
  border-radius: 2px !important;
  cursor: pointer;
  -webkit-appearance: none;
}
.woocommerce-ordering select:focus { border-color: var(--purple) !important; outline: none; }

/* Products grid */
ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important; margin: 0 !important;
}
ul.products li.product {
  background: var(--ink3) !important;
  border: 1px solid rgba(198,255,51,.08) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  position: relative;
  transition: transform .28s, box-shadow .28s, border-color .28s !important;
}
ul.products li.product:hover {
  transform: translateY(-8px) rotate(-.4deg) !important;
  box-shadow: 8px 8px 0 var(--black), 0 30px 60px rgba(0,0,0,.5) !important;
  border-color: rgba(198,255,51,.25) !important;
}

/* Product image area */
ul.products li.product .woocommerce-loop-product__link {
  display: block; text-decoration: none;
}
ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 1.05 !important;
  object-fit: cover !important;
  display: block;
}
/* Fallback when no image: colored placeholder */
ul.products li.product:nth-child(1) .woocommerce-LoopProduct-link > img,
ul.products li.product:nth-child(1) a > img {
  background: linear-gradient(135deg,#0a1200,#152400);
}
ul.products li.product:nth-child(2) a > img {
  background: linear-gradient(135deg,#150500,#280a00);
}
ul.products li.product:nth-child(3) a > img {
  background: linear-gradient(135deg,#0c0515,#160830);
}

/* Product info area */
ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 26px !important; font-weight: 800 !important;
  letter-spacing: .04em !important; color: var(--cream) !important;
  padding: 22px 22px 4px !important; line-height: 1 !important;
}
ul.products li.product .price {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 28px !important; font-weight: 900 !important;
  color: var(--lime) !important;
  padding: 0 22px 8px !important; display: block;
}
ul.products li.product .price del { color: rgba(241,240,236,.22) !important; font-size: 16px !important; }
ul.products li.product .price ins { text-decoration: none !important; color: var(--lime) !important; }
ul.products li.product:nth-child(2) .price { color: var(--orange) !important; }
ul.products li.product:nth-child(2) .price ins { color: var(--orange) !important; }
ul.products li.product:nth-child(3) .price { color: var(--purple) !important; }
ul.products li.product:nth-child(3) .price ins { color: var(--purple) !important; }

/* Sale badge */
ul.products li.product .onsale {
  background: var(--lime) !important; color: var(--black) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 10px !important; font-weight: 800 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  padding: 3px 10px !important; border-radius: 2px !important;
  top: 12px !important; left: 12px !important; right: auto !important;
  margin: 0 !important; min-height: auto !important; line-height: 1.6 !important;
}

/* Add to cart button on loop */
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
  background: rgba(198,255,51,.1) !important;
  color: var(--lime) !important;
  border: 1px solid rgba(198,255,51,.22) !important;
  padding: 9px 18px !important; border-radius: 2px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important; font-weight: 800 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  margin: 0 22px 22px !important; display: inline-block !important;
  transition: background .18s, color .18s !important;
  cursor: pointer;
}
ul.products li.product .button:hover,
ul.products li.product .add_to_cart_button:hover {
  background: var(--lime) !important; color: var(--black) !important; border-color: var(--lime) !important;
}
ul.products li.product:nth-child(2) .button { background: rgba(254,88,44,.1) !important; color: var(--orange) !important; border-color: rgba(254,88,44,.22) !important; }
ul.products li.product:nth-child(2) .button:hover { background: var(--orange) !important; color: #fff !important; border-color: var(--orange) !important; }
ul.products li.product:nth-child(3) .button { background: rgba(125,57,235,.1) !important; color: var(--purple) !important; border-color: rgba(125,57,235,.22) !important; }
ul.products li.product:nth-child(3) .button:hover { background: var(--purple) !important; color: #fff !important; border-color: var(--purple) !important; }

/* ════════════════════════════════════════
   WOOCOMMERCE — SINGLE PRODUCT PAGE
════════════════════════════════════════ */
.single-product .site-main { padding: 80px !important; }

/* Product gallery */
.woocommerce-product-gallery {
  background: var(--ink3) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important; overflow: hidden !important;
  padding: 30px !important;
}
.woocommerce-product-gallery__image img {
  border-radius: 8px !important;
}
.woocommerce-product-gallery__trigger {
  background: var(--ink) !important; border: 1px solid var(--border) !important;
  border-radius: 50% !important; color: var(--cream) !important;
}

/* Product summary */
.summary.entry-summary {
  padding-left: 60px !important;
}
.product_title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: clamp(42px, 6vw, 72px) !important;
  font-weight: 900 !important; color: var(--cream) !important;
  line-height: .88 !important; margin-bottom: 10px !important;
}
.price.product-price, .woocommerce-Price-amount {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 44px !important; font-weight: 900 !important;
  color: var(--lime) !important; line-height: 1 !important;
}
.price.product-price del, .price del .woocommerce-Price-amount {
  color: rgba(241,240,236,.25) !important; font-size: 24px !important;
}
.woocommerce-product-rating {
  margin-bottom: 16px !important;
}
.star-rating span::before { color: var(--orange) !important; }
.woocommerce-review-link { color: rgba(241,240,236,.4) !important; font-size: 13px !important; }

/* Short description */
.woocommerce-product-details__short-description {
  font-size: 16px !important; color: rgba(241,240,236,.55) !important;
  line-height: 1.72 !important; margin: 20px 0 28px !important;
  border-left: 2px solid var(--purple) !important; padding-left: 16px !important;
}

/* Quantity input */
.quantity .qty {
  background: var(--ink3) !important;
  border: 1px solid var(--border) !important;
  color: var(--cream) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 20px !important; font-weight: 700 !important;
  width: 80px !important; height: 52px !important;
  text-align: center !important; border-radius: 2px !important;
}
.quantity .qty:focus { border-color: var(--purple) !important; outline: none !important; }

/* Add to cart button — single */
.single_add_to_cart_button,
button.single_add_to_cart_button.button.alt {
  background: var(--orange) !important; color: #fff !important;
  border: none !important; padding: 16px 48px !important; border-radius: 2px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 16px !important; font-weight: 800 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  cursor: pointer !important; transition: background .18s, transform .18s !important;
  height: auto !important; line-height: 1 !important;
}
.single_add_to_cart_button:hover { background: var(--lime) !important; color: var(--black) !important; transform: translateY(-2px) !important; }

/* Product meta */
.product_meta { margin-top: 24px !important; font-size: 13px !important; color: rgba(241,240,236,.3) !important; }
.product_meta a { color: rgba(241,240,236,.5) !important; }
.product_meta a:hover { color: var(--lime) !important; }

/* Product tabs */
.woocommerce-tabs ul.tabs {
  padding: 0 !important; margin: 0 0 0 !important;
  border-bottom: 1px solid var(--border) !important;
  display: flex; gap: 0; list-style: none;
}
.woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important; border-radius: 0 !important; margin: 0 !important;
  border-bottom: 2px solid transparent !important;
}
.woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--lime) !important;
}
.woocommerce-tabs ul.tabs li a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important; font-weight: 700 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  color: rgba(241,240,236,.4) !important; padding: 14px 24px !important;
  display: block;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--lime) !important; }
.woocommerce-tabs .panel {
  background: var(--ink3) !important;
  border: 1px solid var(--border) !important; border-top: none !important;
  border-radius: 0 0 8px 8px !important;
  padding: 32px !important; color: var(--muted) !important;
}

/* Related products */
.related.products > h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 44px !important; font-weight: 900 !important;
  color: var(--cream) !important; margin-bottom: 32px !important;
}

/* ════════════════════════════════════════
   WOOCOMMERCE — CART PAGE
════════════════════════════════════════ */
.woocommerce-cart .site-main {
  padding: 80px !important;
}
.woocommerce-cart-form {
  width: 100%;
}

/* Cart table */
table.shop_table {
  border: none !important;
  width: 100% !important;
  border-collapse: collapse !important;
}
table.shop_table thead th {
  background: var(--ink3) !important;
  border: none !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: .18em !important; text-transform: uppercase !important;
  color: rgba(241,240,236,.4) !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--border) !important;
}
table.shop_table thead th:first-child { border-radius: 4px 0 0 0; }
table.shop_table thead th:last-child { border-radius: 0 4px 0 0; }

table.shop_table tbody td {
  border: none !important; border-bottom: 1px solid rgba(125,57,235,.1) !important;
  padding: 20px !important; background: var(--ink3) !important;
  vertical-align: middle !important;
}
table.shop_table td.product-name a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 20px !important; font-weight: 800 !important;
  color: var(--cream) !important;
}
table.shop_table td.product-name a:hover { color: var(--lime) !important; }
table.shop_table td.product-price .amount,
table.shop_table td.product-subtotal .amount {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 22px !important; font-weight: 900 !important; color: var(--lime) !important;
}
table.shop_table td.product-remove a {
  color: rgba(241,240,236,.25) !important; font-size: 18px !important;
  transition: color .18s !important;
}
table.shop_table td.product-remove a:hover { color: var(--orange) !important; }

/* Cart image thumbnail */
table.shop_table td.product-thumbnail img {
  border-radius: 6px !important; border: 1px solid var(--border) !important;
  background: var(--ink4) !important;
}

/* Quantity in cart */
.cart .quantity .qty {
  background: var(--ink4) !important;
  border: 1px solid var(--border) !important;
  color: var(--cream) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 18px !important; width: 70px !important; height: 44px !important;
  text-align: center !important; border-radius: 2px !important;
}

/* Update cart button */
.cart .actions .button {
  background: var(--ink4) !important; color: rgba(241,240,236,.45) !important;
  border: 1px solid var(--border) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  padding: 10px 22px !important; border-radius: 2px !important;
  transition: border-color .18s, color .18s !important;
}
.cart .actions .button:hover { border-color: var(--lime) !important; color: var(--lime) !important; }

/* Coupon */
.coupon input[type="text"] {
  background: var(--ink4) !important; border: 1px solid var(--border) !important;
  color: var(--cream) !important; font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important; padding: 10px 16px !important; border-radius: 2px !important;
  transition: border-color .18s !important;
}
.coupon input[type="text"]:focus { border-color: var(--purple) !important; outline: none !important; }
.coupon .button {
  background: rgba(125,57,235,.15) !important; color: var(--purple) !important;
  border: 1px solid rgba(125,57,235,.35) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important; font-weight: 800 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  padding: 10px 22px !important; border-radius: 2px !important;
  transition: background .18s, color .18s !important;
}
.coupon .button:hover { background: var(--purple) !important; color: #fff !important; }

/* Cart totals */
.cart_totals {
  background: var(--ink3) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important; padding: 32px !important;
}
.cart_totals h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 28px !important; font-weight: 900 !important;
  color: var(--cream) !important; margin-bottom: 24px !important;
}
.cart_totals table { width: 100% !important; }
.cart_totals table th {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  color: rgba(241,240,236,.4) !important;
  padding: 12px 0 !important; border-bottom: 1px solid rgba(125,57,235,.1) !important;
}
.cart_totals table td {
  font-family: 'Barlow Condensed', sans-serif !important;
  color: var(--cream) !important; padding: 12px 0 !important;
  border-bottom: 1px solid rgba(125,57,235,.1) !important;
}
.cart_totals .order-total .amount {
  font-size: 36px !important; font-weight: 900 !important; color: var(--lime) !important;
}
.cart_totals .wc-proceed-to-checkout .checkout-button {
  background: var(--orange) !important; color: #fff !important;
  border: none !important; width: 100% !important;
  padding: 16px !important; border-radius: 2px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 16px !important; font-weight: 800 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  text-align: center !important; display: block !important;
  margin-top: 20px !important; cursor: pointer !important;
  transition: background .18s, transform .18s !important;
}
.cart_totals .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--lime) !important; color: var(--black) !important; transform: translateY(-2px) !important;
}

/* Trust badges in cart */
.aera-trust-badges {
  display: flex; gap: 10px; flex-direction: column;
  margin-top: 16px;
}
.aera-trust-badge {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(241,240,236,.35);
}
.aera-trust-badge::before { content: '✓'; color: var(--lime); font-size: 12px; }

/* ════════════════════════════════════════
   WOOCOMMERCE — CHECKOUT PAGE
════════════════════════════════════════ */
.woocommerce-checkout .site-main { padding: 80px !important; }

.woocommerce-checkout h3 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 24px !important; font-weight: 800 !important;
  color: var(--cream) !important; letter-spacing: .06em !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Form fields */
.woocommerce-checkout .form-row label,
.woocommerce-billing-fields label,
.woocommerce-shipping-fields label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  color: rgba(241,240,236,.45) !important; margin-bottom: 6px !important;
  display: block !important;
}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  background: var(--ink3) !important;
  border: 1px solid rgba(125,57,235,.2) !important;
  color: var(--cream) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important; padding: 12px 16px !important;
  border-radius: 2px !important; width: 100% !important;
  transition: border-color .18s !important;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--purple) !important; outline: none !important;
  box-shadow: 0 0 0 3px rgba(125,57,235,.1) !important;
}

/* Order review table in checkout */
#order_review table.shop_table { margin-bottom: 20px !important; }
#order_review .order-total .amount {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 32px !important; font-weight: 900 !important; color: var(--lime) !important;
}

/* Payment methods */
#payment {
  background: var(--ink3) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important; padding: 28px !important;
}
#payment ul.payment_methods li {
  border-bottom: 1px solid rgba(125,57,235,.1) !important;
  padding: 14px 0 !important;
}
#payment ul.payment_methods li label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 16px !important; font-weight: 700 !important;
  color: var(--cream) !important; cursor: pointer !important;
  letter-spacing: .06em !important;
}
#payment div.payment_box {
  background: var(--ink4) !important;
  border-radius: 4px !important; padding: 16px !important;
  color: rgba(241,240,236,.5) !important; font-size: 14px !important;
  margin-top: 10px !important;
}
/* Place order button */
#place_order {
  background: var(--orange) !important; color: #fff !important;
  border: none !important; width: 100% !important;
  padding: 18px !important; border-radius: 2px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 18px !important; font-weight: 800 !important;
  letter-spacing: .16em !important; text-transform: uppercase !important;
  cursor: pointer !important; transition: background .18s, transform .18s !important;
  margin-top: 20px !important;
}
#place_order:hover { background: var(--lime) !important; color: var(--black) !important; transform: translateY(-2px) !important; }

/* Checkout privacy/terms */
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: 12px !important; color: rgba(241,240,236,.3) !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label { font-size: 13px !important; color: rgba(241,240,236,.45) !important; text-transform: none !important; letter-spacing: 0 !important; }

/* ════════════════════════════════════════
   WOOCOMMERCE — MY ACCOUNT
════════════════════════════════════════ */
.woocommerce-account .site-main { padding: 80px !important; }

.woocommerce-MyAccount-navigation ul {
  list-style: none !important; padding: 0 !important;
  background: var(--ink3) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important; overflow: hidden !important;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block !important; padding: 14px 20px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important; font-weight: 700 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  color: rgba(241,240,236,.5) !important;
  border-bottom: 1px solid rgba(125,57,235,.08) !important;
  transition: color .18s, background .18s !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--lime) !important; background: rgba(198,255,51,.04) !important;
}

.woocommerce-MyAccount-content {
  padding-left: 40px !important; color: var(--muted) !important;
}
.woocommerce-MyAccount-content p { color: var(--muted) !important; }
.woocommerce-MyAccount-content a { color: var(--lime) !important; }
.woocommerce-MyAccount-content .button {
  background: var(--orange) !important; color: #fff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important; font-weight: 800 !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
  padding: 10px 24px !important; border-radius: 2px !important; border: none !important;
}

/* ════════════════════════════════════════
   WOOCOMMERCE — NOTICES / MESSAGES
════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: 4px !important; padding: 14px 20px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important; font-weight: 700 !important;
  letter-spacing: .06em !important; border-top: none !important;
}
.woocommerce-message {
  background: rgba(198,255,51,.08) !important;
  border-left: 3px solid var(--lime) !important; color: var(--lime) !important;
}
.woocommerce-error {
  background: rgba(254,88,44,.08) !important;
  border-left: 3px solid var(--orange) !important; color: var(--orange) !important;
}
.woocommerce-info {
  background: rgba(125,57,235,.08) !important;
  border-left: 3px solid var(--purple) !important; color: var(--purple) !important;
}
.woocommerce-message .button,
.woocommerce-info .button {
  background: transparent !important; color: var(--lime) !important;
  border: 1px solid rgba(198,255,51,.3) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 12px !important; font-weight: 800 !important; letter-spacing: .1em !important;
  padding: 6px 16px !important; border-radius: 2px !important;
}

/* ════════════════════════════════════════
   SCIENCE SECTION
════════════════════════════════════════ */
.aera-science {
  background: #120F1C;
  padding: 110px 80px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px;
  align-items: center; position: relative; overflow: hidden;
}
.aera-science::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 55% 80% at 0% 50%, rgba(125,57,235,.15) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 100% 50%, rgba(254,88,44,.05) 0%, transparent 55%);
}
.aera-sci-left .eyebrow { color: var(--purple); }
.aera-sci-left .eyebrow::before { background: var(--purple); }
.aera-sci-left h2 {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
  font-size: clamp(52px, 6.5vw, 86px); line-height: .88;
  color: var(--cream); margin-bottom: 22px;
}
.aera-sci-left h2 span { color: var(--lime); }
.aera-sci-left p { font-size: 16px; color: rgba(241,240,236,.48); line-height: 1.72; margin-bottom: 36px; max-width: 400px; }
.aera-sci-stats {
  display: flex; border: 1px solid rgba(125,57,235,.3); border-radius: 6px;
  overflow: hidden; width: fit-content; margin-top: 8px;
}
.aera-stat-box { padding: 20px 28px; border-right: 1px solid rgba(125,57,235,.2); }
.aera-stat-box:last-child { border-right: none; }
.aera-stat-num { font-family: 'Barlow Condensed', sans-serif; font-size: 52px; font-weight: 900; color: var(--purple); line-height: 1; }
.aera-stat-lbl { font-size: 10px; font-weight: 700; color: rgba(241,240,236,.32); letter-spacing: .1em; text-transform: uppercase; margin-top: 2px; }

.aera-sci-right { display: flex; flex-direction: column; }
.aera-sci-card {
  padding: 22px 0; border-bottom: 1px solid rgba(241,240,236,.06);
  display: flex; align-items: flex-start; gap: 16px; cursor: pointer;
  position: relative; transition: padding-left .22s;
}
.aera-sci-card:last-child { border-bottom: none; }
.aera-sci-card:hover { padding-left: 10px; }
.aera-sci-icon {
  width: 44px; height: 44px; border-radius: 8px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.aera-sci-card:nth-child(odd) .aera-sci-icon { background:rgba(125,57,235,.1);border:1px solid rgba(125,57,235,.25); }
.aera-sci-card:nth-child(even) .aera-sci-icon { background:rgba(254,88,44,.08);border:1px solid rgba(254,88,44,.15); }
.aera-sci-tag { font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--orange); margin-bottom: 3px; }
.aera-sci-card h4 { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 800; color: var(--cream); margin-bottom: 3px; }
.aera-sci-card p { font-size: 12px; color: rgba(241,240,236,.38); line-height: 1.5; }
.aera-sci-arrow {
  position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--purple); color: var(--cream);
  display: flex; align-items: center; justify-content: center; font-size: 11px;
  opacity: 0; transition: opacity .2s;
}
.aera-sci-card:hover .aera-sci-arrow { opacity: 1; }

/* ════════════════════════════════════════
   CTA BANNER
════════════════════════════════════════ */
.aera-banner {
  background: var(--purple); padding: 100px 80px;
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px;
  position: relative; overflow: hidden;
}
.aera-banner::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 80% 100% at 0% 50%, rgba(0,0,0,.25) 0%, transparent 60%),
    radial-gradient(ellipse 60% 80% at 100% 100%, rgba(125,57,235,.4) 0%, transparent 50%);
}
.aera-banner-bg-word {
  position: absolute; right: -30px; top: 50%; transform: translateY(-50%);
  font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
  font-size: clamp(160px, 22vw, 300px);
  color: rgba(0,0,0,.1); white-space: nowrap; pointer-events: none; line-height: 1;
}
.aera-banner-left { position: relative; z-index: 2; }
.aera-banner-eye {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(241,240,236,.5); margin-bottom: 14px;
}
.aera-banner-title {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
  font-size: clamp(64px, 9vw, 120px); line-height: .88;
  color: var(--cream); margin-bottom: 22px;
}
.aera-banner-title span { color: var(--lime); }
.aera-banner-body { font-size: 16px; color: rgba(241,240,236,.55); line-height: 1.68; max-width: 480px; }
.aera-banner-right { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; z-index: 2; flex-shrink: 0; }
.aera-banner-gua {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(241,240,236,.4); display: flex; align-items: center; gap: 6px;
}
.aera-banner-gua::before { content: '✓'; color: var(--lime); }

/* ════════════════════════════════════════
   TESTIMONIALS
════════════════════════════════════════ */
.aera-testimonials {
  background: var(--ink); padding: 110px 80px;
  position: relative; overflow: hidden;
}
.aera-testimonials::before {
  content: '"'; position: absolute; top: 10px; right: 40px;
  font-family: 'Playfair Display', serif;
  font-size: 380px; color: rgba(125,57,235,.06); line-height: 1; pointer-events: none;
}
.aera-tst-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 60px; }
.aera-tst-card {
  background: var(--ink3); border: 1px solid rgba(198,255,51,.07);
  border-radius: 12px; padding: 28px; position: relative; overflow: hidden;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.aera-tst-card:nth-child(2) { background: rgba(125,57,235,.12); border-color: rgba(125,57,235,.25); }
.aera-tst-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
.aera-tst-card:nth-child(1)::before { background: var(--lime); }
.aera-tst-card:nth-child(2)::before { background: var(--orange); }
.aera-tst-card:nth-child(3)::before { background: var(--purple); }
.aera-tst-card:hover { transform: translateY(-7px); box-shadow: 0 28px 56px rgba(0,0,0,.45); border-color: rgba(198,255,51,.18); }
.aera-tst-card:nth-child(2):hover { box-shadow: 0 28px 56px rgba(0,0,0,.45), 0 0 40px rgba(125,57,235,.2); border-color: rgba(125,57,235,.45); }
.aera-tst-stars { color: var(--orange); font-size: 15px; letter-spacing: 3px; margin-bottom: 14px; }
.aera-tst-text { font-size: 14px; line-height: 1.7; color: rgba(241,240,236,.6); margin-bottom: 22px; font-family: 'Playfair Display', serif; font-style: italic; }
.aera-tst-author { display: flex; align-items: center; gap: 12px; }
.aera-tst-av {
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 800;
  border: 1px solid rgba(255,255,255,.08);
}
.aera-tst-card:nth-child(1) .aera-tst-av { background:rgba(198,255,51,.12);color:var(--lime); }
.aera-tst-card:nth-child(2) .aera-tst-av { background:rgba(254,88,44,.12);color:var(--orange); }
.aera-tst-card:nth-child(3) .aera-tst-av { background:rgba(125,57,235,.12);color:var(--purple); }
.aera-tst-name { font-family: 'Barlow Condensed', sans-serif; font-size: 15px; font-weight: 800; color: var(--cream); }
.aera-tst-role { font-size: 10px; color: rgba(241,240,236,.32); text-transform: uppercase; letter-spacing: .08em; }

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.site-footer {
  background: var(--black) !important;
  border-top: 1px solid rgba(125,57,235,.2) !important;
  padding: 80px 80px 40px !important;
  position: relative; overflow: hidden;
}
.site-footer::before {
  content: 'AERA'; position: absolute; bottom: -50px; left: -20px;
  font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
  font-size: 280px; color: rgba(198,255,51,.02); line-height: 1; pointer-events: none;
}
.aera-ft-grid {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 60px; margin-bottom: 60px; position: relative; z-index: 2;
}
.aera-ft-logo {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 900;
  font-size: 44px; letter-spacing: .06em; color: var(--cream) !important;
  text-decoration: none; display: block; margin-bottom: 14px;
}
.aera-ft-logo em { font-style:normal;background:var(--purple);color:var(--cream);padding:0 6px 2px;display:inline-block;transform:skewX(-6deg);margin-left:2px; }
.aera-ft-tagline { font-size: 14px; color: rgba(241,240,236,.28); line-height: 1.68; max-width: 250px; }
.aera-ft-col h5 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--lime); margin-bottom: 18px;
}
.aera-ft-col ul { list-style: none; }
.aera-ft-col li { margin-bottom: 9px; }
.aera-ft-col a { color: rgba(241,240,236,.3) !important; font-size: 13px; transition: color .15s; }
.aera-ft-col a:hover { color: var(--cream) !important; }
.aera-ft-bottom {
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid rgba(125,57,235,.15); padding-top: 28px;
  font-size: 11px; color: rgba(241,240,236,.2);
  position: relative; z-index: 2;
}
.aera-ft-social { display: flex; gap: 10px; }
.aera-ft-soc {
  width: 34px; height: 34px; border-radius: 2px;
  border: 1px solid rgba(125,57,235,.3);
  display: flex; align-items: center; justify-content: center;
  color: rgba(125,57,235,.65); font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px; font-weight: 800; cursor: pointer;
  transition: background .18s, color .18s, border-color .18s;
  text-decoration: none;
}
.aera-ft-soc:hover { background: var(--purple); color: var(--cream) !important; border-color: var(--purple); }

/* Storefront footer override */
.site-footer .col-full { max-width: none !important; padding: 0 !important; }
.site-footer .storefront-handheld-footer-bar { display: none !important; }

/* ════════════════════════════════════════
   MOBILE MENU
════════════════════════════════════════ */
#aera-mm {
  display: none; position: fixed; inset: 0;
  background: var(--black); z-index: 500;
  flex-direction: column; padding: 28px 24px;
}
#aera-mm.open { display: flex !important; }
.aera-mm-top { display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;border-bottom:1px solid rgba(198,255,51,.1);padding-bottom:18px; }
.aera-mm-close { cursor:pointer;font-size:28px;color:rgba(241,240,236,.5);font-weight:300;background:none;border:none; }
.aera-mm-link { font-family:'Barlow Condensed',sans-serif;font-size:54px;font-weight:900;letter-spacing:.03em;color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.05);padding:10px 0;display:block;transition:color .15s; }
.aera-mm-link:hover { color:var(--lime); }

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media (max-width: 1024px) {
  .aera-hero { grid-template-columns: 1fr; min-height: auto; }
  .aera-hero-right { display: none; }
  .aera-hero-left { padding: 60px 40px; }
  .aera-science { grid-template-columns: 1fr; padding: 80px 40px; gap: 50px; }
  .aera-banner { grid-template-columns: 1fr; padding: 80px 40px; }
  .aera-ft-grid { grid-template-columns: 1fr 1fr; gap: 40px; padding: 0; }
  ul.products { grid-template-columns: repeat(2,1fr) !important; }
  .woocommerce-page .site-main { padding: 60px 40px !important; }
}

@media (max-width: 768px) {
  .site-header .col-full { padding: 0 24px; }
  .main-navigation { display: none !important; }
  .aera-hero-left { padding: 48px 24px; }
  .aera-hero-left h1 { font-size: clamp(56px, 15vw, 96px); }
  .aera-tst-grid { grid-template-columns: 1fr !important; }
  ul.products { grid-template-columns: 1fr !important; }
  .aera-ft-grid { grid-template-columns: 1fr !important; }
  .woocommerce-page .site-main,
  .single-product .site-main,
  .woocommerce-cart .site-main,
  .woocommerce-checkout .site-main { padding: 40px 24px !important; }
  .aera-banner { padding: 60px 24px; }
  .aera-science { padding: 60px 24px; }
  .site-footer { padding: 60px 24px 32px !important; }
}

/* ══════════════════════════════════════════════════════════════
   AERA FIXES v2 — Correcciones de producción
   Diagnosticado en aerabreathing.com el 2025
══════════════════════════════════════════════════════════════ */

/* ── FIX 1: NAV — Quitar floats de Storefront, meter flex limpio ── */

.site-header .site-branding,
.woocommerce-active .site-header .site-branding {
  float: none !important;
  width: auto !important;
  margin-bottom: 0 !important;
  margin-right: 0 !important;
  flex-shrink: 0;
}

.site-header .main-navigation,
.woocommerce-active .site-header .main-navigation {
  float: none !important;
  width: auto !important;
  margin-bottom: 0 !important;
  margin-right: 0 !important;
  clear: none !important;
  flex: 1;
  display: flex !important;
  justify-content: center;
}

.site-header .col-full {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 70px !important;
  padding: 0 56px !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Quitar clearfix ::after que rompe el flexbox */
.site-header .col-full::after {
  display: none !important;
}

/* Storefront en 768+ pone padding-top al header — lo anulamos */
@media (min-width: 768px) {
  .site-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .woocommerce-active .site-header .site-branding,
  .woocommerce-active .site-header .main-navigation,
  .woocommerce-active .site-header .site-header-cart {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    clear: none !important;
  }
}

/* Nav links: de bloque a flex horizontal */
.main-navigation ul.menu,
.main-navigation ul.nav-menu {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  transition: none !important;
}

.main-navigation ul.menu > li,
.main-navigation ul.nav-menu > li {
  display: inline-flex !important;
  align-items: center !important;
  position: relative;
}

.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
  display: flex !important;
  align-items: center !important;
  height: 70px !important;
  padding: 0 16px !important;
  line-height: 1 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(241,240,236,.5) !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.menu > li.current-menu-item > a {
  color: #C6FF33 !important;
}

/* Dropdown submenú */
.main-navigation ul.menu ul,
.main-navigation ul.nav-menu ul {
  background: #0D0D0D !important;
  border: 1px solid rgba(125,57,235,.25) !important;
  border-radius: 4px !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.5) !important;
  min-width: 180px !important;
  padding: 8px 0 !important;
}
.main-navigation ul.menu ul li a,
.main-navigation ul.nav-menu ul li a {
  color: rgba(241,240,236,.5) !important;
  font-size: 13px !important;
  padding: 10px 18px !important;
  height: auto !important;
}
.main-navigation ul.menu ul li a:hover {
  color: #C6FF33 !important;
  background: rgba(198,255,51,.04) !important;
}

/* Nav right: flex en línea */
.nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-shrink: 0;
}

/* ── FIX 2: CART — de bloque apilado a flex en línea ── */

.site-header-cart,
.woocommerce-active .site-header .site-header-cart {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.site-header-cart .cart-contents {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 0 !important;
  color: rgba(241,240,236,.6) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background: transparent !important;
}

.site-header-cart .cart-contents:hover {
  color: #C6FF33 !important;
}

/* Ocultar el importe €0.00 — mostramos solo el icono + count */
.site-header-cart .cart-contents .woocommerce-Price-amount,
.site-header-cart .cart-contents .woocommerce-Price-currencySymbol {
  display: none !important;
}

/* El count: solo número, circulo naranja */
.site-header-cart .cart-contents .count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FE582C !important;
  color: #fff !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  /* font-size 0 oculta el texto "X productos",
     el número real lo inserta aera.js via ::before + data-count */
  font-size: 0 !important;
  line-height: 1 !important;
}

/* ── FIX 3: SCROLL NEGRO — site-main margins de Storefront ── */

.site-main {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Storefront añade margin-bottom en homepage */
.home.blog .site-header,
.home.page .site-header,
.no-wc-breadcrumb .site-header {
  margin-bottom: 0 !important;
}

/* content-area: quitar float y width de Storefront */
.content-area {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* col-full dentro del contenido */
.site-content .col-full {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.site-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* hentry margin de Storefront */
.hentry {
  margin-bottom: 0 !important;
}

/* ── FIX 4: ESPACIADO — gaps negros entre secciones ── */

/* El page wrapper no debe tener overflow hidden que corte secciones */
#page.site {
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

/* Quitar padding-top que Storefront mete en homepage */
.page-template-template-homepage:not(.has-post-thumbnail) .site-main {
  padding-top: 0 !important;
}
.page-template-template-homepage .type-page {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── FIX 5: PRECIOS — selectores de mayor especificidad ── */

/* Precio en loop de tienda */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product span.price {
  color: #C6FF33 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  display: block !important;
  padding: 0 22px 18px !important;
}
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  color: #C6FF33 !important;
}
.woocommerce ul.products li.product .price del {
  color: rgba(241,240,236,.25) !important;
  font-size: 14px !important;
}
.woocommerce ul.products li.product .price del .woocommerce-Price-amount {
  color: rgba(241,240,236,.25) !important;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: #C6FF33 !important;
}

/* Precio en página de producto single */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce .summary .price {
  color: #C6FF33 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 44px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.woocommerce div.product .price .woocommerce-Price-amount {
  color: #C6FF33 !important;
}

/* ── FIX 6: FOOTER — quitar fondo gris de Storefront ── */

.site-footer {
  background: #000000 !important;
  color: rgba(241,240,236,.25) !important;
  padding: 0 !important;
  border-top: 1px solid rgba(125,57,235,.2) !important;
}

.site-footer h1, .site-footer h2, .site-footer h3,
.site-footer h4, .site-footer h5, .site-footer h6 {
  color: #C6FF33 !important;
}

.site-footer a {
  color: rgba(241,240,236,.3) !important;
  text-decoration: none !important;
}
.site-footer a:hover {
  color: #F1F0EC !important;
  text-decoration: none !important;
}

/* Barra inferior de Storefront */
.site-info {
  background: #000 !important;
  color: rgba(241,240,236,.2) !important;
  border-top: 1px solid rgba(125,57,235,.1) !important;
  padding: 20px 56px !important;
  font-size: 11px !important;
}
.site-info a { color: rgba(241,240,236,.3) !important; }

/* Quitar footer widgets vacíos */
.footer-widgets:empty { display: none !important; padding: 0 !important; }

/* ── FIX 7: BOTONES — Storefront pone background #43454b ── */

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.wc-block-grid__products .wc-block-grid__product .wp-block-button__link,
.added_to_cart {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
}

/* Botón principal WC (add to cart, proceed to checkout) */
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt {
  background-color: #FE582C !important;
  color: #fff !important;
  border: none !important;
}
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover {
  background-color: #C6FF33 !important;
  color: #000 !important;
}

/* Botón secundario (view cart, continue shopping) */
.woocommerce .button:not(.alt),
.woocommerce a.button:not(.alt) {
  background-color: rgba(125,57,235,.15) !important;
  color: #7D39EB !important;
  border: 1px solid rgba(125,57,235,.3) !important;
}
.woocommerce .button:not(.alt):hover,
.woocommerce a.button:not(.alt):hover {
  background-color: #7D39EB !important;
  color: #fff !important;
}

/* ── FIX 8: WOOCOMMERCE NOTICES spacing ── */
.woocommerce-notices-wrapper {
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin-top: 0 !important;
}

/* ── FIX 9: MOBILE ── */
@media (max-width: 768px) {
  .site-header .col-full {
    padding: 0 24px !important;
    height: 64px !important;
  }
  .main-navigation {
    display: none !important;
  }
  .nav-right {
    gap: 14px !important;
  }
  .site-info {
    padding: 16px 24px !important;
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
  }
}

/* ══════════════════════════════════════════════════
   AERA FIXES v3 — Nav gaps, Cart inline, Gap negro
══════════════════════════════════════════════════ */

/* ── NAV: espaciado entre items ──
   Los li tienen padding 0 16px en el <a>
   pero Storefront puede meter margin extra
   en los li. Forzamos a 0.                    */
.main-navigation ul.menu > li,
.main-navigation ul.nav-menu > li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
/* El padding va en el <a>, no en el <li> */
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
  padding-left: 18px !important;
  padding-right: 18px !important;
  margin: 0 !important;
}

/* ── CART: ocultar texto "€0.00" completamente ──
   Storefront pone el importe como texto libre
   ANTES del span .count, no dentro de ningún
   span propio. La única forma fiable es hacer
   font-size:0 en el enlace y restaurarlo en
   los hijos que queremos ver.                  */
.site-header-cart .cart-contents {
  font-size: 0 !important;   /* oculta el texto suelto €0.00 */
  letter-spacing: 0 !important;
}
/* Restaurar font-size para el count */
.site-header-cart .cart-contents .count {
  font-size: 0 !important;   /* el texto "X productos" sigue oculto */
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background: #FE582C !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
/* Número real via ::before + data-count (lo pone aera.js) */
.site-header-cart .cart-contents .count::before {
  content: attr(data-count);
  font-size: 12px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  color: #fff !important;
}
/* Ícono carrito via ::before en el enlace */
.site-header-cart .cart-contents::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(241,240,236,.65)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  font-size: 14px !important;  /* restore para este pseudo */
}

/* ── GAP NEGRO entre hero y secciones ──
   Hay un gap de ~50px entre el hero y el
   announcement. Viene del margin-top que
   Storefront inyecta via JS en .home .site-header
   Adicionalmente, front-page.php no está
   envuelto en .entry-content de Storefront
   por lo que .hentry puede añadir margin.     */

/* Quitar el gap extra entre announcement y nav */
.aera-ann + .site-header,
.aera-ann ~ .site-header {
  margin-top: 0 !important;
}

/* El gap negro entre hero (bottom 1037px) y
   el ticker es en realidad un espacio que viene
   del .site-main > padding o del .entry-content  */
.site-main > .entry-content,
.site-main > article,
.site-main > .hentry,
.site-main > .page,
.site-main > .post {
  margin: 0 !important;
  padding: 0 !important;
}

/* Storefront en front-page mete padding al .type-page */
.page-template-template-homepage .type-page,
.type-page.has-post-thumbnail {
  padding: 0 !important;
}

/* El body tiene margin-top 0 pero asegurar que
   el announcement bar no cree gaps */
body > .aera-ann {
  position: relative;
  z-index: 201;
}

/* ── HERO: quitar el gap blanco que aparece
   sobre el hero cuando Storefront calcula
   la altura del header sticky             */
.aera-hero {
  margin-top: 0 !important;
}

/* ── SCROLL REVEAL mejorado ──
   Reducir el translateY inicial de 44px a 20px
   para que las secciones oscuras no parezcan
   completamente negras durante la transición  */
.rv  { transform: translateY(20px) !important; }
.rvl { transform: translateX(-20px) !important; }
.rvr { transform: translateX(20px) !important; }
.rv.in, .rvl.in, .rvr.in {
  opacity: 1 !important;
  transform: none !important;
}

/* ── FOOTER bottom info bar ── */
@media (min-width: 769px) {
  .site-info {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 20px 56px !important;
  }
}


/* ══════════════════════════════════════════════
   FIX IMÁGENES DE PRODUCTO — ocupar todo el cuadrado
   La imagen viene con fondo blanco del archivo,
   la metemos en cover para que llene el contenedor
══════════════════════════════════════════════ */

/* ── Hero card: imagen a full ── */
.aera-hero-card-img {
  position: relative !important;
  aspect-ratio: 1 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 10px !important;
  background: #fff !important;
}
.aera-hero-card-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 1 !important;
  border-radius: 0 !important;
  display: block !important;
}
/* Ocultar barra/label decorativos cuando hay imagen real */
.aera-hero-card-img img ~ .aera-hero-card-strip,
.aera-hero-card-img img ~ .aera-hero-card-lbl {
  display: none !important;
}

/* ── Grid de productos — WooCommerce loop ── */
ul.products li.product .woocommerce-LoopProduct-link,
ul.products li.product > a:first-child {
  display: block !important;
  overflow: hidden !important;
  aspect-ratio: 1 !important;
  background: #fff !important;
  position: relative !important;
}
ul.products li.product a img,
ul.products li.product .woocommerce-LoopProduct-link img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  max-height: none !important;
  border-radius: 0 !important;
  display: block !important;
}

/* ── Tarjetas dinámicas de front-page.php ── */
.prod-card > div[style*="aspect-ratio"] {
  overflow: hidden !important;
  position: relative !important;
  background: #fff !important;
}
.prod-card > div[style*="aspect-ratio"] img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 2 !important;
  border-radius: 0 !important;
  display: block !important;
}

/* ── Página de producto single ── */
.woocommerce-product-gallery {
  background: #fff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery .flex-active-slide img {
  width: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  max-height: 600px !important;
}

