/* =========================================================
   ATHLETIC SHOP / CSS PÚBLICO BASE
   Estado: sólo index.php + _header.php + _footer.php.
   Limpieza aplicada: se retiraron estilos de páginas eliminadas
   como catálogo, producto, checkout, favoritos, drops, hombre y mujer.
========================================================= */

/* ---------------------------------------------------------
   01. Variables globales y reset base.
--------------------------------------------------------- */

:root{
  --ath-bg:#050506;
  --ath-panel:#0c0c0f;
  --ath-panel-2:#111116;
  --ath-text:#f7f7f7;
  --ath-muted:rgba(255,255,255,.66);
  --ath-soft:rgba(255,255,255,.1);
  --ath-line:rgba(255,255,255,.12);
  --ath-red:#e10600;
  --ath-red-2:#ff312a;
  --ath-radius:28px;
  --ath-header:78px;
  --ath-header-mobile:68px;
  --ath-shadow:0 24px 80px rgba(0,0,0,.48);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  background:var(--ath-bg);
}

body{
  margin:0;
  min-height:100vh;
  color:var(--ath-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background: radial-gradient(circle at 80% 0%,rgba(225,6,0,.16),transparent 34%), linear-gradient(180deg,#070708 0%,#050506 100%);
}

body.no-scroll{
  overflow:hidden;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  display:block;
  max-width:100%;
}

button,input{
  font:inherit;
}

button{
  cursor:pointer;
}

.app-shell{
  min-height:100vh;
  overflow:hidden;
  background:transparent;
}

/* ---------------------------------------------------------
   02. Componentes globales reutilizados por index/header/footer.
--------------------------------------------------------- */

.kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ath-red-2);
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.kicker::before{
  content:"";
  width:24px;
  height:2px;
  background:var(--ath-red);
  border-radius:999px;
}

.primary-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  color:#fff;
  font-weight:900;
  background:linear-gradient(135deg,var(--ath-red),#8f0501);
  box-shadow:0 16px 42px rgba(225,6,0,.28);
}

.primary-cta.full{
  width:100%;
}

.round-action, .bag-action{
  border:1px solid var(--ath-line);
  color:#fff;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(14px);
}

.round-action{
  width:46px;
  height:46px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.muted{
  color:var(--ath-muted);
}

.app-section{
  width:min(1500px,calc(100% - 48px));
  margin:0 auto;
  padding:64px 0;
}

.app-section.no-top{
  padding-top:26px;
}

.section-title{
  margin-bottom:26px;
}

.section-title h2{
  margin:8px 0 0;
  font-size:clamp(28px,3.2vw,46px);
  line-height:.96;
  letter-spacing:-.045em;
  text-transform:uppercase;
}

.section-title .kicker{
  font-size:11px;
  letter-spacing:.2em;
}

.section-title.row>a{
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.12em;
}

.section-title.row{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
}

.section-title.row>a{
  color:#fff;
  font-weight:900;
  border-bottom:1px solid var(--ath-red);
}

.ui-overlay{
  position:fixed;
  inset:0;
  z-index:80;
  background:rgba(0,0,0,.6);
  opacity:0;
  pointer-events:none;
  transition:.22s ease;
}

.ui-overlay.open{
  opacity:1;
  pointer-events:auto;
}

.sheet-handle{
  width:44px;
  height:5px;
  margin:0 auto 18px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
}

/* ---------------------------------------------------------
   03. Header desktop/mobile.
--------------------------------------------------------- */

.app-header{
  position:fixed;
  top:16px;
  left:50%;
  z-index:90;
  width:min(1500px,calc(100% - 48px));
  min-height:72px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 12px 10px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(16,16,18,.88),rgba(5,5,6,.76));
  box-shadow:0 22px 70px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(24px);
  transition:.25s ease;
}

.app-header.scrolled{
  top:10px;
  background:rgba(5,5,6,.86);
}

.app-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
}

.ath-premium-brand__mark{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(225,6,0,.14);
  border:1px solid rgba(225,6,0,.34);
}

.ath-premium-brand__mark img{
  width:29px;
  height:29px;
  object-fit:contain;
}

.ath-premium-brand__word{
  display:grid;
  line-height:.9;
  letter-spacing:-.04em;
}

.ath-premium-brand__word strong{
  font-size:17px;
  font-weight:950;
}

.ath-premium-brand__word small{
  color:var(--ath-muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.28em;
}

.desktop-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:1;
  padding:6px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.035);
}

.desktop-nav a{
  position:relative;
  padding:12px 16px;
  border-radius:999px;
  color:rgba(255,255,255,.74);
  font-size:12px;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:.22s ease;
}

.desktop-nav a:hover, .desktop-nav a.is-active{
  color:#fff;
  background:linear-gradient(135deg,rgba(225,6,0,.24),rgba(255,255,255,.08));
  box-shadow:inset 0 0 0 1px rgba(225,6,0,.25);
}

.app-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.ath-action b{
  display:none;
}

.ath-action--menu span{
  display:block;
  width:16px;
  height:2px;
  border-radius:999px;
  background:#fff;
}

.ath-action--menu{
  flex-direction:column;
  gap:4px;
}

.ath-action--search span{
  font-size:22px;
  line-height:1;
}

.bag-action{
  height:46px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 8px 0 16px;
  border-radius:999px;
  font-weight:900;
}

.bag-action b{
  min-width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ath-red);
}

/* ---------------------------------------------------------
   04. Menú lateral móvil/rápido.
--------------------------------------------------------- */

.app-menu, .search-sheet, .bag-drawer{
  position:fixed;
  right:18px;
  top:108px;
  z-index:100;
  width:min(420px,calc(100% - 36px));
  max-height:calc(100svh - 130px);
  overflow:auto;
  padding:18px;
  border:1px solid var(--ath-line);
  border-radius:28px;
  background:rgba(9,9,11,.94);
  box-shadow:var(--ath-shadow);
  backdrop-filter:blur(24px);
  opacity:0;
  pointer-events:none;
  transform:translateY(-10px) scale(.98);
  transition:.22s ease;
}

.app-menu.open, .search-sheet.open, .bag-drawer.open{
  opacity:1;
  pointer-events:auto;
  transform:none;
}

.menu-profile{
  display:flex;
  gap:14px;
  align-items:center;
  padding:16px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(225,6,0,.2),rgba(255,255,255,.05));
}

.menu-profile img{
  width:48px;
  height:48px;
  object-fit:contain;
}

.ath-menu-kicker{
  display:block;
  color:var(--ath-red-2);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}

.menu-profile strong{
  display:block;
  margin:4px 0;
  font-size:18px;
  line-height:1.05;
}

.menu-profile small{
  color:var(--ath-muted);
  line-height:1.45;
}

.ath-menu-feature a{
  display:block;
  margin:14px 0;
  padding:16px;
  border-radius:22px;
  background:#fff;
  color:#070707;
}

.ath-menu-feature small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10px;
  font-weight:950;
  color:#a70702;
}

.ath-menu-feature b{
  display:block;
  font-size:22px;
  letter-spacing:-.05em;
}

.ath-menu-feature span{
  color:#555;
  font-size:13px;
}

.menu-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.menu-grid a{
  min-height:94px;
  padding:14px;
  border-radius:20px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);
}

.menu-grid b{
  display:block;
  font-size:16px;
}

.menu-grid small{
  display:block;
  margin-top:6px;
  color:var(--ath-muted);
  font-size:12px;
  line-height:1.35;
}

.ath-menu-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.ath-menu-benefits span{
  padding:8px 10px;
  border-radius:999px;
  background:rgba(225,6,0,.14);
  font-size:11px;
  font-weight:900;
}

/* ---------------------------------------------------------
   05. Buscador superior.
--------------------------------------------------------- */

.smart-search label{
  display:block;
  margin-bottom:10px;
  color:var(--ath-muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.smart-search div{
  display:flex;
  gap:8px;
}

.smart-search input{
  width:100%;
  height:48px;
  border:1px solid var(--ath-line);
  border-radius:999px;
  padding:0 16px;
  color:#fff;
  background:rgba(255,255,255,.07);
  outline:none;
}

.smart-search button{
  border:0;
  border-radius:999px;
  padding:0 18px;
  color:#fff;
  font-weight:900;
  background:var(--ath-red);
}

.quick-lanes{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.quick-lanes a{
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  font-size:12px;
  font-weight:900;
}

/* ---------------------------------------------------------
   06. Bolsa lateral.
--------------------------------------------------------- */

.bag-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}

.bag-head small{
  display:block;
  color:var(--ath-red-2);
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
}

.bag-head strong{
  font-size:24px;
  letter-spacing:-.05em;
}

.bag-items{
  display:grid;
  gap:10px;
}

.bag-item{
  display:grid;
  grid-template-columns:64px 1fr 34px;
  gap:12px;
  align-items:center;
  padding:10px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
}

.bag-item img{
  width:64px;
  height:70px;
  border-radius:14px;
  object-fit:cover;
  background:#151515;
}

.bag-item h4{
  margin:0 0 4px;
  font-size:14px;
}

.bag-item small{
  color:var(--ath-muted);
}

.bag-item strong{
  display:block;
  margin-top:4px;
}

.bag-item button{
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  color:#fff;
  background:rgba(225,6,0,.8);
}

.empty-bag{
  padding:28px 14px;
  text-align:center;
  color:var(--ath-muted);
  border:1px dashed var(--ath-line);
  border-radius:20px;
}

.bag-foot{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.bag-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.bag-benefits span{
  padding:7px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  font-size:11px;
}

.bag-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.bag-total strong{
  font-size:24px;
}

/* ---------------------------------------------------------
   07. Hero principal del index.
--------------------------------------------------------- */

.ath-home-hero{
  position:relative;
  min-height:780px;
  margin-top:calc(var(--ath-header) + 34px);
  display:flex;
  align-items:center;
  padding:70px max(32px,calc((100vw - 1500px)/2)) 76px;
  overflow:hidden;
  isolation:isolate;
}

.ath-home-hero__media{
  position:absolute;
  inset:0;
  z-index:-3;
}

.ath-home-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.ath-home-hero__shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.56) 42%,rgba(0,0,0,.12) 100%),radial-gradient(circle at 18% 44%,rgba(225,6,0,.22),transparent 34%);
}

.ath-home-hero__content{
  width:min(650px,100%);
}

.ath-home-hero h1{
  margin:14px 0;
  font-size:clamp(42px,5.8vw,74px);
  line-height:.9;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.ath-home-hero p{
  max-width:560px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:clamp(16px,2vw,20px);
  line-height:1.55;
}

.hero-ctas{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.hero-cta-new{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 20px;
  border:1px solid var(--ath-line);
  border-radius:999px;
  font-weight:900;
  background:rgba(255,255,255,.08);
}

/* ---------------------------------------------------------
   08. Accesos rápidos y rutas de compra.
--------------------------------------------------------- */

.quick-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.quick-row a{
  padding:18px;
  border:1px solid var(--ath-line);
  border-radius:22px;
  background:rgba(255,255,255,.06);
}

.quick-row b{
  display:block;
  font-size:18px;
}

.quick-row small{
  display:block;
  margin-top:6px;
  color:var(--ath-muted);
}

.shop-lanes-section{
  position:relative;
}

.shop-lanes-section::before{
  content:"";
  position:absolute;
  inset:18px -22px auto;
  height:260px;
  z-index:-1;
  border-radius:40px;
  background:radial-gradient(circle at 18% 10%,rgba(225,6,0,.22),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.018));
  filter:blur(.1px);
}

.shop-lanes-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.shop-lane-card{
  position:relative;
  min-height:460px;
  display:flex;
  flex-direction:column;
  justify-content:end;
  overflow:hidden;
  padding:22px;
  border:1px solid var(--ath-line);
  border-radius:var(--ath-radius);
  background:#111;
  box-shadow:0 26px 80px rgba(0,0,0,.42);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.shop-lane-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.62)),var(--lane-image);
  background-size:cover;
  background-position:center;
  filter:saturate(1.02) brightness(1.04) contrast(1.02);
  transform:scale(1.02);
  transition:.4s ease;
}

.shop-lane-card:hover{
  transform:translateY(-4px);
  border-color:rgba(225,6,0,.42);
  box-shadow:0 30px 90px rgba(225,6,0,.14),0 26px 80px rgba(0,0,0,.48);
}

.shop-lane-card:hover::before{
  filter:saturate(1.12) brightness(1.16) contrast(1.04);
  transform:scale(1.08);
}

.shop-lane-card--men{
  --lane-image:url('../img/banners/home-route-men.png');
}

.shop-lane-card--women{
  --lane-image:url('../img/banners/home-route-women.png');
}

.shop-lane-card--accessories{
  --lane-image:url('../img/banners/home-route-accessories.png');
}

.shop-lane-card span,.shop-lane-card small{
  position:relative;
  z-index:1;
}

.shop-lane-card span{
  font-size:34px;
  font-weight:950;
  letter-spacing:-.07em;
}

.shop-lane-card small{
  max-width:260px;
  margin-top:8px;
  color:rgba(255,255,255,.76);
  line-height:1.45;
}

/* ---------------------------------------------------------
   09. Cards de producto usadas por index y bolsa dinámica.
--------------------------------------------------------- */

.app-product-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.app-product-card{
  overflow:hidden;
  border:1px solid var(--ath-line);
  border-radius:24px;
  background:rgba(255,255,255,.055);
}

.product-media{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  background:#101010;
}

.product-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.02) brightness(1.05) contrast(1.02);
  transition:transform .32s ease,filter .32s ease;
}

.app-product-card:hover .product-media img{
  filter:saturate(1.12) brightness(1.18) contrast(1.04);
  transform:scale(1.045);
}

.floating-badge{
  position:absolute;
  left:12px;
  top:12px;
  padding:7px 10px;
  border-radius:999px;
  color:#fff;
  background:var(--ath-red);
  font-size:10px;
  font-weight:950;
  letter-spacing:.12em;
}

.product-meta{
  padding:16px;
}

.product-meta small{
  color:var(--ath-muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.product-meta h3{
  min-height:44px;
  margin:8px 0 14px;
  font-size:16px;
  line-height:1.15;
}

.product-meta div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.product-meta strong{
  font-size:18px;
}

.product-meta a{
  padding:9px 12px;
  border-radius:999px;
  color:#fff;
  background:rgba(225,6,0,.9);
  font-size:12px;
  font-weight:900;
}

/* ---------------------------------------------------------
   10. Campaña amplia y colecciones dinámicas.
--------------------------------------------------------- */

.wide-campaign{
  position:relative;
  width:min(1500px,calc(100% - 48px));
  min-height:460px;
  margin:20px auto 0;
  padding:42px;
  border:1px solid var(--ath-line);
  border-radius:34px;
  overflow:hidden;
  background:#101010;
  box-shadow:var(--ath-shadow);
}

.wide-campaign::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.25)),var(--campaign);
  background-size:cover;
  background-position:center 35%;
  z-index:0;
}

.wide-campaign>*{
  position:relative;
  z-index:1;
}

.wide-campaign h2{
  max-width:620px;
  margin:10px 0;
  font-size:clamp(32px,4vw,54px);
  line-height:.96;
  letter-spacing:-.045em;
  text-transform:uppercase;
}

.wide-campaign p{
  max-width:520px;
  color:rgba(255,255,255,.74);
  line-height:1.55;
}

.collection-carousel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.collection-card{
  position:relative;
  min-height:340px;
  display:flex;
  align-items:end;
  padding:16px;
  border:1px solid var(--ath-line);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(135deg,#151515,#090909);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.collection-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--collection-image,radial-gradient(circle at 70% 20%,rgba(225,6,0,.24),transparent 32%));
  background-size:cover;
  background-position:center top;
  opacity:.96;
  filter:saturate(1.02) brightness(1.03) contrast(1.02);
  transition:.3s ease;
}

.collection-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.86));
}

.collection-card:hover{
  transform:translateY(-4px);
  border-color:rgba(225,6,0,.44);
  box-shadow:0 24px 70px rgba(225,6,0,.16);
}

.collection-card:hover::before{
  opacity:1;
  filter:saturate(1.18) brightness(1.18) contrast(1.04);
  transform:scale(1.05);
}

.collection-card__content{
  position:relative;
  z-index:1;
}

.collection-card b{
  display:block;
  font-size:20px;
}

.collection-card small{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.72);
  line-height:1.35;
}

.trust-block{
  width:min(1500px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  padding:34px 0 70px;
}

.trust-block div{
  position:relative;
  overflow:hidden;
  min-height:150px;
  padding:28px 26px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 12%,rgba(225,6,0,.18),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.025));
  box-shadow:0 22px 70px rgba(0,0,0,.32);
}

.trust-block div::before{
  content:"";
  position:absolute;
  left:26px;
  top:24px;
  width:38px;
  height:3px;
  border-radius:999px;
  background:var(--ath-red);
}

.trust-block div::after{
  content:"";
  position:absolute;
  right:-46px;
  bottom:-46px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(225,6,0,.12);
  filter:blur(8px);
}

.trust-block b{
  position:relative;
  z-index:1;
  display:block;
  margin-top:22px;
  font-size:22px;
  line-height:1;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.trust-block small{
  position:relative;
  z-index:1;
  display:block;
  max-width:300px;
  margin-top:10px;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.5;
}

/* ---------------------------------------------------------
   11. Footer público.
--------------------------------------------------------- */

.app-footer{
  position:relative;
  width:min(1500px,calc(100% - 48px));
  margin:18px auto 24px;
  padding:56px 34px 28px;
  border:1px solid var(--ath-line);
  border-radius:34px;
  background:radial-gradient(circle at 88% 0%,rgba(225,6,0,.14),transparent 32%),linear-gradient(180deg,#09090b,#030303);
  overflow:hidden;
}

.footer-glow{
  position:absolute;
  right:-120px;
  top:-120px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(225,6,0,.16);
  filter:blur(40px);
}

.footer-main{
  position:relative;
  display:grid;
  grid-template-columns:2fr .8fr 1fr 1fr;
  gap:28px;
}

.footer-logo img{
    width:170px;
    height:auto;
    filter:drop-shadow(0 8px 20px rgba(225,6,0,.15));
}

.footer-description{
  max-width:360px;
  color:var(--ath-muted);
  line-height:1.55;
}

.footer-whatsapp-card{
  display:flex;
  align-items:center;
  gap:12px;
  width:max-content;
  margin:18px 0;
  padding:12px 14px;
  border:1px solid rgba(225,6,0,.34);
  border-radius:18px;
  background:rgba(225,6,0,.12);
}

.footer-whatsapp-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ath-red);
}

.footer-whatsapp-card small{
  display:block;
  color:var(--ath-muted);
}

.footer-whatsapp-card strong{
  font-size:18px;
}

.footer-social-wrap>span{
  display:block;
  margin-bottom:10px;
  color:var(--ath-muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}

.footer-social{
  display:flex;
  gap:8px;
}

.social-icon{
  position:relative;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 14px 32px rgba(0,0,0,.34);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.social-icon::before{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:inherit;
  background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.34),transparent 34%),rgba(255,255,255,.08);
}

.social-icon svg{
  width:26px;
  height:26px;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.28));
}

.social-icon.social-facebook,.social-icon.facebook{
  background:linear-gradient(145deg,#1877F2,#0B4CB8);
  box-shadow:0 14px 34px rgba(24,119,242,.30),inset 0 1px 0 rgba(255,255,255,.24);
}

.social-icon.social-instagram,.social-icon.instagram{
  background:linear-gradient(135deg,#F58529 0%,#DD2A7B 42%,#8134AF 72%,#515BD4 100%);
  box-shadow:0 14px 34px rgba(221,42,123,.30),inset 0 1px 0 rgba(255,255,255,.24);
}

.social-icon.social-tiktok,.social-icon.tiktok{
  background:linear-gradient(145deg,#050505,#151515);
  box-shadow:9px 0 22px rgba(254,44,85,.22),-9px 0 22px rgba(37,244,238,.20),inset 0 1px 0 rgba(255,255,255,.18);
}

.social-icon:hover{
  border-color:rgba(255,255,255,.28);
  transform:translateY(-3px) scale(1.05);
}

.footer-block h4{
  margin:0 0 14px;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#fff;
}

.footer-block ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.footer-block a,.footer-block li{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ath-muted);
}

.footer-mini-icon,.payment-badge,.payment-icon,.delivery-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  color:#fff;
}

.payment-badge{
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.payment-yape{
  background:#6b35ff;
}

.payment-plin{
  background:#16b8ff;
}

.payment-icon svg,.delivery-icon svg{
  width:20px;
  height:20px;
}

.footer-block strong{
  color:#fff;
}

.footer-block small{
  display:block;
  color:var(--ath-muted);
}

.footer-bottom{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:42px;
  padding-top:20px;
  border-top:1px solid var(--ath-line);
  color:var(--ath-muted);
}

.footer-bottom small{
  display:block;
}

.footer-brandline{
  display:flex;
  align-items:center;
  gap:10px;
}

.footer-brandline i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--ath-red);
}

/* ---------------------------------------------------------
   12. WhatsApp flotante y navegación inferior móvil.
--------------------------------------------------------- */

.ath-whatsapp-float{
  position:fixed;
  right:40px;
  bottom:35px;
  z-index:75;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--ath-red);
  box-shadow:0 18px 45px rgba(225,6,0,.35);
}

.ath-whatsapp-float svg{
  width:30px;
  height:30px;
}

.bottom-app-nav{
  display:none;
}

/* ---------------------------------------------------------
   13. Responsive tablet.
--------------------------------------------------------- */

@media(max-width:980px){
  .desktop-nav{
    display:none;
  }

  .app-product-grid,.shop-lanes-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .collection-carousel{
    grid-template-columns:repeat(2,1fr);
  }

  .footer-main{
    grid-template-columns:1fr 1fr;
  }

  .trust-block{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    padding:20px 0 44px;
  }

  .trust-block div{
    min-height:130px;
    padding:24px 22px;
  }

  .trust-block b{
    font-size:19px;
  }

}

/* ---------------------------------------------------------
   14. Responsive móvil.
--------------------------------------------------------- */

@media(max-width:767px){
  body{
    padding-bottom:0;
  }
    
    .footer-logo img{
        width:120px;
    }
    
  .app-header{
    top:10px;
    width:calc(100% - 20px);
    min-height:var(--ath-header-mobile);
    padding:9px 10px 9px 12px;
    border-radius:24px;
  }

  .ath-premium-brand__mark{
    width:40px;
    height:40px;
  }

  .ath-premium-brand__word strong{
    font-size:15px;
  }

  .ath-premium-brand__word small{
    font-size:9px;
  }

  .round-action{
    width:40px;
    height:40px;
  }

  .ath-action b,.bag-action span{
    display:none;
  }

  .bag-action{
    width:42px;
    height:40px;
    padding:0;
    justify-content:center;
  }

  .bag-action b{
    min-width:26px;
    height:26px;
    font-size:12px;
  }

  .app-menu,.search-sheet,.bag-drawer{
    left:10px;
    right:10px;
    top:88px;
    width:auto;
    max-height:calc(100svh - 176px);
    border-radius:24px;
  }

  .menu-grid{
    grid-template-columns:1fr;
  }

  .smart-search div{
    flex-direction:column;
  }

  .smart-search button{
    height:46px;
  }

  .ath-home-hero{
    min-height:88svh;
    margin-top:0;
    padding:calc(var(--ath-header-mobile) + 60px) 18px 70px;
  }

  /* Móvil: sube solo la imagen del hero sin mover el bloque de texto. */
  .ath-home-hero__media img{
    object-position:center top;
    transform:translateY(-18%) scale(1.08);
    transform-origin:center top;
  }

  .ath-home-hero__shade{
    background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.9)),radial-gradient(circle at 50% 40%,rgba(225,6,0,.18),transparent 42%);
  }

  .ath-home-hero h1{
    font-size:clamp(38px,12vw,58px);
    line-height:.92;
    letter-spacing:-.07em;
  }

  .ath-home-hero p{
    font-size:15px;
  }

  .hero-ctas{
    flex-direction:column;
  }

  .hero-ctas a{
    width:100%;
  }

  .app-section{
    width:calc(100% - 28px);
    padding:48px 0;
  }

  .section-title.row{
    align-items:flex-start;
    flex-direction:column;
  }

  .quick-row,.shop-lanes-grid{
    grid-template-columns:1fr;
  }

  /* Móvil: piezas clave y colecciones en 2 columnas, máximo 8 desde index.php. */
  .app-product-grid,.collection-carousel{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .shop-lane-card{
    min-height:300px;
  }

  .product-media{
    aspect-ratio:1/1;
  }

  .product-meta{
    padding:11px;
  }

  .product-meta small{
    font-size:9px;
  }

  .product-meta h3{
    min-height:42px;
    font-size:13px;
    line-height:1.18;
  }

  .product-meta div{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .product-meta strong{
    font-size:15px;
  }

  .product-meta a{
    width:100%;
    text-align:center;
    padding:9px 10px;
    font-size:11px;
  }

  .collection-card{
    min-height:210px;
    padding:12px;
    border-radius:20px;
  }

  .collection-card b{
    font-size:18px;
    line-height:1.06;
  }

  .collection-card small{
    margin-top:7px;
    font-size:13px;
    line-height:1.32;
  }

  .wide-campaign{
    width:calc(100% - 28px);
    min-height:380px;
    padding:26px;
  }

  .wide-campaign h2{
    font-size:40px;
  }

  .trust-block{
    padding-bottom:30px;
  }

  .app-footer{
    width:auto;
    margin:10px 0 0;
    padding:38px 18px calc(128px + env(safe-area-inset-bottom));
    border-left:0;
    border-right:0;
    border-bottom:0;
    border-radius:0;
  }

  .footer-main{
    grid-template-columns:1fr;
  }

  .footer-social{
    gap:10px;
  }

  .social-icon{
    width:46px;
    height:46px;
  }

  .social-icon svg{
    width:25px;
    height:25px;
  }

  .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .ath-whatsapp-float{
    display:none;
  }

  .bottom-app-nav{
    position:fixed;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:88;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    padding:8px;
    border:1px solid var(--ath-line);
    border-radius:24px;
    background:rgba(7,7,8,.9);
    box-shadow:var(--ath-shadow);
    backdrop-filter:blur(20px);
  }

  .bottom-app-nav a{
    display:grid;
    place-items:center;
    gap:3px;
    min-height:52px;
    border-radius:18px;
    color:rgba(255,255,255,.68);
    font-size:11px;
    font-weight:900;
  }

  .bottom-app-nav a.is-active{
    color:#fff;
    background:rgba(255,255,255,.09);
  }

  .bottom-app-nav span{
    font-size:18px;
  }

  .ath-bottom-whatsapp span{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:var(--ath-red);
  }

  .ath-bottom-whatsapp svg{
    width:18px;
    height:18px;
  }

  .ath-bottom-whatsapp>span{
    font-size:0;
  }

}

.footer-admin-link{
    color:inherit;
    text-decoration:none;
    transition:all .25s ease;
}

.footer-admin-link:hover{
    color:var(--ath-red,#e10600);
}

/* ---------------------------------------------------------
   15. Bolsa Athletic funcional / botones de compra.
   Agregado para conectar productos del index con api/cart.php.
--------------------------------------------------------- */

.product-buy-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.product-buy-row strong{
  font-size:18px;
}

.add-to-bag-btn{
  min-height:38px;
  padding:0 15px;
  border:1px solid rgba(225,6,0,.46);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,rgba(225,6,0,.96),rgba(120,4,1,.96));
  box-shadow:0 12px 30px rgba(225,6,0,.22);
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .22s ease,box-shadow .22s ease,opacity .22s ease;
}

.add-to-bag-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(225,6,0,.32);
}

.add-to-bag-btn:disabled{
  cursor:not-allowed;
  opacity:.68;
  transform:none;
}

.bag-item--premium{
  grid-template-columns:74px 1fr 34px;
  align-items:start;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.035));
}

.bag-item--premium img{
  width:74px;
  height:88px;
}

.bag-item-info h4{
  margin:0 0 6px;
  font-size:14px;
  line-height:1.18;
}

.bag-item-info small{
  display:block;
  margin-bottom:9px;
}

.bag-item-info strong{
  margin:0;
  white-space:nowrap;
  font-size:14px;
}

.bag-item-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
}

.bag-item-actions{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(0,0,0,.24);
}

.bag-item-actions button{
  width:26px;
  height:26px;
  border:0;
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.1);
  font-weight:950;
}

.bag-item-actions span{
  min-width:18px;
  text-align:center;
  font-size:12px;
  font-weight:950;
}

.bag-remove{
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  color:#fff;
  background:rgba(225,6,0,.84);
}

.ath-toast{
  position:fixed;
  right:28px;
  bottom:110px;
  z-index:130;
  max-width:min(340px,calc(100% - 40px));
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:#fff;
  background:rgba(10,10,12,.92);
  box-shadow:0 18px 55px rgba(0,0,0,.36);
  backdrop-filter:blur(18px);
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:.24s ease;
  font-size:13px;
  font-weight:900;
}

.ath-toast.show{
  opacity:1;
  transform:none;
}

.ath-toast[data-type="success"]{
  border-color:rgba(225,6,0,.38);
}

.ath-toast[data-type="error"]{
  border-color:rgba(255,75,75,.55);
}

@media(max-width:767px){
  .product-buy-row{
    align-items:stretch;
    flex-direction:column;
  }

  .add-to-bag-btn{
    width:100%;
    min-height:42px;
  }

  .ath-toast{
    left:14px;
    right:14px;
    bottom:88px;
    border-radius:18px;
    text-align:center;
  }
}

/* ---------------------------------------------------------
   Bolsa Athletic / Datos de entrega y pago.
--------------------------------------------------------- */
.bag-checkout-title{
  position:relative;
  padding:16px 16px 15px;
  border:1px solid rgba(225,6,0,.18);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 0%,rgba(225,6,0,.18),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}

.bag-checkout-title span{
  display:block;
  color:var(--ath-red-2);
  font-size:10px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.bag-checkout-title strong{
  display:block;
  margin-top:5px;
  font-size:22px;
  line-height:1;
  letter-spacing:-.045em;
  text-transform:uppercase;
}

.bag-checkout-title small{
  display:block;
  margin-top:7px;
  max-width:310px;
  color:rgba(255,255,255,.62);
  line-height:1.35;
}

.bag-checkout-form{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
}

.bag-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.bag-checkout-form label{
  display:grid;
  gap:7px;
}

.bag-checkout-form label span{
  color:rgba(255,255,255,.68);
  font-size:10px;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.bag-checkout-form input,
.bag-checkout-form select{
  width:100%;
  min-height:42px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  color:#fff;
  background:rgba(0,0,0,.28);
  padding:0 12px;
  outline:none;
}

.bag-checkout-form select option{
  color:#111;
}

.bag-checkout-form input:focus,
.bag-checkout-form select:focus{
  border-color:rgba(225,6,0,.55);
  box-shadow:0 0 0 3px rgba(225,6,0,.12);
}

[data-branch-field],
[data-city-field],
[data-address-field],
[data-reference-field],
[data-agency-field]{
  display:none !important;
}

[data-branch-field].is-visible,
[data-city-field].is-visible,
[data-address-field].is-visible,
[data-reference-field].is-visible,
[data-agency-field].is-visible{
  display:grid !important;
}

@media(max-width:767px){
  .bag-form-grid{
    grid-template-columns:1fr;
  }

  .bag-checkout-form{
    padding:12px;
    border-radius:20px;
  }
}

/* ---------------------------------------------------------
   16. Menú premium Athletic Shop / navegación comercial.
   Mejora visual del panel lateral y retiro de beneficios inferiores.
--------------------------------------------------------- */

.ath-premium-menu{
  overflow:hidden auto;
}

.ath-menu-hero{
  position:relative;
  overflow:hidden;
  align-items:flex-start;
  min-height:168px;
  padding:22px;
  border:1px solid rgba(225,6,0,.24);
  background:
    radial-gradient(circle at 86% 12%,rgba(225,6,0,.34),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.032));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 24px 70px rgba(0,0,0,.34);
}

.ath-menu-hero::before{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-46px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(225,6,0,.16);
  filter:blur(10px);
}

.ath-menu-hero::after{
  content:"";
  position:absolute;
  left:22px;
  bottom:18px;
  width:72px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--ath-red),rgba(255,255,255,.34));
  box-shadow:0 0 24px rgba(225,6,0,.42);
}

.ath-menu-hero img{
  position:relative;
  z-index:1;
  width:54px;
  height:54px;
  padding:10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:rgba(0,0,0,.28);
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}

.ath-menu-hero>div{
  position:relative;
  z-index:1;
}

.ath-menu-hero strong{
  margin-top:7px;
  font-size:28px;
  line-height:.94;
  letter-spacing:-.065em;
  text-transform:uppercase;
}

.ath-menu-hero small{
  display:block;
  max-width:300px;
  margin-top:10px;
  color:rgba(255,255,255,.72);
}

.ath-menu-feature a{
  position:relative;
  overflow:hidden;
  margin:16px 0;
  padding:22px;
  border:1px solid rgba(225,6,0,.34);
  border-radius:26px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 0%,rgba(225,6,0,.34),transparent 34%),
    linear-gradient(135deg,rgba(225,6,0,.22),rgba(255,255,255,.07) 48%,rgba(255,255,255,.035));
  box-shadow:0 24px 64px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.10);
  transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease;
}

.ath-menu-feature a::before{
  content:"";
  position:absolute;
  right:-42px;
  top:-42px;
  width:128px;
  height:128px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}

.ath-menu-feature a::after{
  content:"→";
  position:absolute;
  right:20px;
  bottom:18px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:rgba(225,6,0,.88);
  box-shadow:0 16px 34px rgba(225,6,0,.28);
  transition:transform .26s ease;
}

.ath-menu-feature small,
.ath-menu-feature b,
.ath-menu-feature span,
.ath-menu-feature em{
  position:relative;
  z-index:1;
}

.ath-menu-feature small{
  color:#ffb0ad;
}

.ath-menu-feature b{
  max-width:285px;
  margin-top:7px;
  color:#fff;
  font-size:28px;
  line-height:.95;
  text-transform:uppercase;
}

.ath-menu-feature span{
  display:block;
  max-width:300px;
  margin-top:10px;
  color:rgba(255,255,255,.72);
  line-height:1.42;
}

.ath-menu-feature em{
  display:inline-flex;
  margin-top:16px;
  padding:10px 44px 10px 13px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:#fff;
  background:rgba(0,0,0,.24);
  font-size:11px;
  font-style:normal;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ath-menu-feature a:hover{
  transform:translateY(-3px);
  border-color:rgba(225,6,0,.62);
  box-shadow:0 28px 78px rgba(225,6,0,.16),0 24px 64px rgba(0,0,0,.42);
}

.ath-menu-feature a:hover::after{
  transform:translateX(4px) scale(1.04);
}

.ath-menu-grid{
  gap:12px;
}

.ath-menu-grid a{
  position:relative;
  overflow:hidden;
  min-height:122px;
  padding:16px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:
    radial-gradient(circle at 96% 0%,rgba(225,6,0,.18),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.086),rgba(255,255,255,.026));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .24s ease,border-color .24s ease,background .24s ease;
}

.ath-menu-grid a::before{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:rgba(225,6,0,.10);
}

.ath-menu-grid a::after{
  content:"→";
  position:absolute;
  right:14px;
  top:14px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.08);
  transition:transform .24s ease,background .24s ease;
}

.ath-menu-grid b,
.ath-menu-grid small{
  position:relative;
  z-index:1;
}

.ath-menu-grid b{
  max-width:125px;
  color:#fff;
  font-size:19px;
  line-height:1;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.ath-menu-grid small{
  max-width:190px;
  margin-top:10px;
  color:rgba(255,255,255,.65);
}

.ath-menu-grid a:hover{
  transform:translateY(-3px);
  border-color:rgba(225,6,0,.42);
  background:
    radial-gradient(circle at 96% 0%,rgba(225,6,0,.26),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));
}

.ath-menu-grid a:hover::after{
  transform:translateX(3px);
  background:rgba(225,6,0,.86);
}

@media(max-width:767px){
  .ath-menu-hero{
    min-height:158px;
    padding:19px;
  }

  .ath-menu-hero strong{
    font-size:24px;
  }

  .ath-menu-feature b{
    font-size:24px;
  }

  .ath-menu-grid{
    grid-template-columns:1fr;
  }

  .ath-menu-grid a{
    min-height:110px;
  }
}

/* ---------------------------------------------------------
   17. Bolsa Premium V2 / drawer mobile-first.
   Mejora comercial del carrito lateral sin tocar lógica de pedidos.
--------------------------------------------------------- */
.bag-drawer--premium{
  width:min(470px,calc(100% - 36px));
  padding:16px;
  border-color:rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 90% 0%,rgba(225,6,0,.22),transparent 32%),
    radial-gradient(circle at 10% 40%,rgba(255,255,255,.06),transparent 26%),
    linear-gradient(180deg,rgba(13,13,16,.98),rgba(4,4,5,.96));
  box-shadow:0 32px 110px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.08);
}

.bag-head--premium{
  position:relative;
  overflow:hidden;
  align-items:flex-start;
  margin-bottom:12px;
  padding:18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
}

.bag-head--premium::before{
  content:"";
  position:absolute;
  right:-62px;
  top:-72px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(225,6,0,.18);
  filter:blur(16px);
}

.bag-head__copy{
  position:relative;
  z-index:1;
  max-width:340px;
}

.bag-head__copy small{
  display:block;
  color:var(--ath-red-2);
  font-size:10px;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.bag-head__copy strong{
  display:block;
  margin-top:6px;
  font-size:30px;
  line-height:.9;
  letter-spacing:-.06em;
  text-transform:uppercase;
}

.bag-head__copy span{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.64);
  font-size:13px;
  line-height:1.38;
}

.bag-close{
  position:relative;
  z-index:2;
  flex:0 0 42px;
  width:42px;
  height:42px;
  font-size:22px;
}

.bag-summary-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid rgba(225,6,0,.18);
  border-radius:999px;
  background:rgba(225,6,0,.08);
}

.bag-summary-strip span{
  color:rgba(255,255,255,.72);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.bag-summary-strip b{
  color:#fff;
}

.bag-summary-strip i{
  width:4px;
  height:4px;
  flex:0 0 4px;
  border-radius:50%;
  background:rgba(225,6,0,.9);
}

.bag-items--premium{
  max-height:32svh;
  overflow:auto;
  padding-right:3px;
  scrollbar-width:thin;
}

.bag-item--premium-v2{
  position:relative;
  display:grid;
  grid-template-columns:92px 1fr 34px;
  gap:12px;
  align-items:start;
  padding:10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%,rgba(225,6,0,.11),transparent 38%),
    linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.032));
  box-shadow:0 18px 46px rgba(0,0,0,.22);
}

.bag-item-media{
  overflow:hidden;
  width:92px;
  aspect-ratio:4/5;
  border-radius:17px;
  background:#111;
}

.bag-item-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.08) brightness(1.12) contrast(1.04);
  transition:transform .28s ease,filter .28s ease;
}

.bag-item--premium-v2:hover .bag-item-media img{
  transform:scale(1.05);
  filter:saturate(1.16) brightness(1.2) contrast(1.05);
}

.bag-item-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--ath-red-2);
  font-size:9px;
  font-weight:950;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.bag-item--premium-v2 h4{
  margin:0;
  color:#fff;
  font-size:14px;
  line-height:1.14;
}

.bag-item-variant{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  color:rgba(255,255,255,.72);
  background:rgba(0,0,0,.22);
  font-size:10px;
  font-weight:850;
}

.bag-item--premium-v2 .bag-item-row{
  margin-top:10px;
}

.bag-item--premium-v2 .bag-item-row strong{
  color:#fff;
  font-size:15px;
}

.bag-item--premium-v2 .bag-item-actions{
  gap:6px;
  padding:4px;
}

.bag-item--premium-v2 .bag-item-actions button{
  width:27px;
  height:27px;
  background:rgba(255,255,255,.11);
  transition:.2s ease;
}

.bag-item--premium-v2 .bag-item-actions button:hover{
  background:rgba(225,6,0,.72);
}

.bag-item--premium-v2 .bag-remove{
  width:32px;
  height:32px;
  background:rgba(225,6,0,.82);
  box-shadow:0 10px 24px rgba(225,6,0,.2);
}

.empty-bag--premium{
  display:grid;
  gap:8px;
  justify-items:center;
  padding:30px 18px;
  border-style:solid;
  background:
    radial-gradient(circle at 50% 0%,rgba(225,6,0,.16),transparent 42%),
    rgba(255,255,255,.045);
}

.empty-bag--premium span{
  color:var(--ath-red-2);
  font-size:10px;
  font-weight:950;
  letter-spacing:.18em;
}

.empty-bag--premium strong{
  font-size:18px;
  letter-spacing:-.03em;
}

.empty-bag--premium small{
  max-width:280px;
  color:rgba(255,255,255,.58);
  line-height:1.42;
}

.bag-foot--premium{
  gap:12px;
  margin-top:12px;
}

.bag-checkout-title--premium{
  padding:14px;
  border-color:rgba(225,6,0,.24);
  border-radius:20px;
}

.bag-checkout-title--premium strong{
  font-size:20px;
}

.bag-checkout-form--premium{
  gap:9px;
  padding:12px;
  border-radius:20px;
}

.bag-checkout-form--premium input,
.bag-checkout-form--premium select{
  min-height:44px;
  border-radius:15px;
  background:rgba(0,0,0,.32);
}

.bag-total--premium{
  position:relative;
  overflow:hidden;
  padding:14px 16px;
  border:1px solid rgba(225,6,0,.28);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(225,6,0,.18),rgba(255,255,255,.045));
}

.bag-total--premium span{
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.bag-total--premium strong{
  font-size:28px;
}

.bag-confirm-btn{
  min-height:52px;
  box-shadow:0 18px 48px rgba(225,6,0,.28);
}

@media(max-width:767px){
  .bag-drawer--premium{
    left:10px;
    right:10px;
    top:84px;
    width:auto;
    max-height:calc(100svh - 104px);
    padding:12px;
    border-radius:24px 24px 26px 26px;
  }

  .bag-head--premium{
    padding:15px;
    border-radius:22px;
  }

  .bag-head__copy strong{
    font-size:25px;
  }

  .bag-head__copy span{
    font-size:12px;
  }

  .bag-summary-strip{
    overflow-x:auto;
    justify-content:flex-start;
  }

  .bag-items--premium{
    max-height:30svh;
  }

  .bag-item--premium-v2{
    grid-template-columns:82px 1fr 30px;
    gap:10px;
    padding:9px;
    border-radius:20px;
  }

  .bag-item-media{
    width:82px;
  }

  .bag-item--premium-v2 h4{
    font-size:13px;
  }

  .bag-item-variant{
    font-size:9px;
  }

  .bag-item--premium-v2 .bag-item-row{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .bag-item--premium-v2 .bag-remove{
    width:30px;
    height:30px;
  }

  .bag-checkout-form--premium{
    max-height:30svh;
    overflow:auto;
  }
}
