/* TowaShop 3.3 — identidad visual "Neon Locker" */
:root{
  --bg:#0d1017;
  --bg2:#121722;
  --bg3:#1a202d;
  --card:#151b27;
  --border:rgba(176,190,226,.18);
  --accent:#6d7cff;
  --accent-violet:#9c5cff;
  --accent2:#ffe13b;
  --accent3:#45f3d1;
  --text:#f7f8ff;
  --muted:#98a3bf;
  --radius:20px;
  --radius-sm:12px;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;
}

body{
  background:#0d1017;
  color:var(--text);
  overflow-x:clip;
  background-image:
    radial-gradient(circle at calc(78% + var(--pointer-x,0px)) calc(12% + var(--pointer-y,0px)),rgba(109,124,255,.15),transparent 30rem),
    radial-gradient(circle at 14% 58%,rgba(69,243,209,.07),transparent 28rem);
}

body::before{
  content:"";
  position:fixed;
  inset:-20vh -10vw;
  z-index:-3;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 34%,rgba(109,124,255,.055) 34.2%,transparent 34.5%),
    linear-gradient(65deg,transparent 62%,rgba(255,225,59,.035) 62.2%,transparent 62.5%);
  transform:translate3d(0,calc(var(--scroll-shift,0px) * -.08),0);
}

.bg-fx{
  background:
    radial-gradient(ellipse 70% 48% at 74% 4%,rgba(94,77,255,.16),transparent 72%),
    radial-gradient(ellipse 48% 40% at 8% 72%,rgba(22,195,255,.065),transparent 75%),
    linear-gradient(180deg,#0d1017 0%,#111621 55%,#0d1017 100%);
}

.bg-grid{
  inset:-30%;
  opacity:.9;
  background-image:
    linear-gradient(rgba(125,147,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,147,255,.055) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent 0,#000 20%,#000 70%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 20%,#000 70%,transparent 100%);
  transform:perspective(650px) rotateX(58deg) translate3d(0,calc(var(--scroll-shift,0px) * .12),-110px);
  transform-origin:50% 20%;
  animation:gridDrift 18s linear infinite;
}

.bg-glow{opacity:.32;filter:blur(105px);animation-duration:24s}
.bg-glow-1{background:#304fff}
.bg-glow-2{background:#7b28ef}
.bg-glow-3{background:#00a9c7}

@keyframes gridDrift{
  from{background-position:0 0,0 0}
  to{background-position:0 144px,144px 0}
}

/* Franja superior continua, sin saltos visibles */
.topbar{
  height:31px;
  display:flex;
  align-items:center;
  padding:0;
  text-align:left;
  background:linear-gradient(90deg,#4f62ff,#8b5dff 50%,#4f62ff);
  background-size:200% 100%;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.topbar::after{display:none!important}
.topbar-track{
  display:flex;
  width:max-content;
  min-width:max-content;
  animation:towaTicker 16s linear infinite!important;
  will-change:transform;
}
.topbar-track span{
  flex:none;
  padding-right:3rem;
  font:800 11px/1 var(--display);
  letter-spacing:.075em;
  color:#fff;
  white-space:nowrap;
}
@keyframes towaTicker{to{transform:translateX(-50%)}}

nav{
  top:0;
  background:rgba(6,8,22,.72);
  border-bottom:1px solid rgba(154,170,255,.12);
  backdrop-filter:blur(22px) saturate(140%);
}
nav.scrolled{background:rgba(6,8,22,.92);box-shadow:0 18px 48px rgba(0,0,0,.26)}
.nav-inner{max-width:1460px;height:74px;padding:0 34px;gap:10px}
.towa-logo-lockup{width:82px;height:58px;margin-right:26px}
.towa-logo-lockup>img{
  width:76px;
  height:58px;
  object-fit:contain;
  transform:none!important;
  filter:drop-shadow(0 7px 20px rgba(70,91,255,.28));
}
.nav-links{gap:1px}
.nav-link{
  padding:10px 11px;
  border-radius:10px;
  color:#9ba7c4;
  font:700 14px/1 var(--display);
  letter-spacing:.025em;
  text-transform:uppercase;
}
.nav-link::after{height:3px;background:linear-gradient(90deg,var(--accent3),var(--accent));bottom:-1px}
.nav-link:hover,.nav-link.active{color:#fff;background:rgba(119,136,255,.08)}
.cart-btn{
  min-height:40px;
  padding:9px 14px;
  color:#fff;
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.1);
  font:700 13px/1 var(--display);
  text-transform:uppercase;
}
.cart-btn::before{display:none!important}
.cart-btn-mark{width:15px;height:15px;border:2px solid currentColor;border-top:0;transform:skew(-7deg);position:relative}
.cart-btn-mark::before{content:"";position:absolute;width:6px;height:4px;border:2px solid currentColor;border-bottom:0;border-radius:5px 5px 0 0;left:2px;top:-5px}
.btn{
  min-height:42px;
  border-radius:11px;
  font:800 14px/1 var(--display);
  letter-spacing:.035em;
  text-transform:uppercase;
}
.btn-yellow{
  color:#080a13;
  background:linear-gradient(135deg,#fff16e,#ffd51f);
  box-shadow:0 12px 32px rgba(255,218,39,.2);
}
.btn-primary{background:linear-gradient(135deg,#536dff,#8d59f5)}

/* Hero / escaparate */
.towa-hero{
  min-height:calc(100vh - 105px);
  max-height:940px;
  padding:72px 34px 82px;
  align-items:center;
}
.towa-hero .hero-inner{
  width:100%;
  max-width:1460px;
  grid-template-columns:minmax(390px,.78fr) minmax(620px,1.22fr);
  gap:64px;
}
.towa-hero .hero-bg{
  background:
    radial-gradient(circle at 72% 38%,rgba(102,80,255,.22),transparent 34%),
    linear-gradient(115deg,rgba(6,8,22,.6),rgba(6,8,22,.08) 55%,rgba(6,8,22,.55));
}
.towa-hero .hero-bg::before{
  width:780px;
  height:780px;
  right:-50px;
  border-color:rgba(122,144,255,.17);
  background:repeating-radial-gradient(circle,transparent 0 54px,rgba(130,148,255,.055) 55px 56px);
}
.towa-hero .hero-copy{position:relative;z-index:3}
.hero-badge{
  margin-bottom:25px;
  padding:8px 14px;
  border-radius:8px;
  color:#b9c6ff;
  background:rgba(101,119,255,.095);
  border-color:rgba(117,136,255,.28);
  font:800 12px/1 var(--display);
  letter-spacing:.13em;
}
.towa-hero h1{
  max-width:650px;
  margin-bottom:26px;
  color:#fff;
  font-family:var(--display);
  font-size:clamp(66px,6.2vw,108px);
  font-weight:900;
  font-style:italic;
  line-height:.79;
  letter-spacing:-.045em;
  text-transform:uppercase;
  text-wrap:balance;
}
.towa-hero h1 .hl{
  color:#8aa0ff;
  -webkit-text-stroke:0;
  text-shadow:0 0 42px rgba(95,114,255,.4);
}
.towa-hero h1 .hl2{
  display:inline-block;
  padding-right:.09em;
  color:var(--accent2);
  text-shadow:0 0 38px rgba(255,225,59,.23);
}
.towa-hero .hero-copy>p{
  max-width:540px;
  margin-bottom:30px;
  color:#aeb8d2;
  font-size:16px;
  line-height:1.75;
}
.hero-trust{gap:9px;margin-top:24px}
.hero-trust span{
  padding:7px 10px;
  border:1px solid rgba(127,148,255,.12);
  border-radius:8px;
  background:rgba(9,13,31,.54);
  color:#aeb8d0;
  font-size:10px;
  letter-spacing:.02em;
}

.drop-console{
  min-height:570px;
  padding:22px;
  border-radius:34px 10px 34px 10px;
  background:linear-gradient(155deg,rgba(17,23,49,.89),rgba(6,9,24,.96));
  border-color:rgba(134,151,255,.25);
  box-shadow:0 55px 130px rgba(0,0,0,.48),0 0 80px rgba(76,90,255,.09);
}
.console-cut{display:none!important}
.console-head{
  min-height:88px;
  gap:18px;
  margin-bottom:18px;
  padding:10px 250px 22px 10px;
}
.console-head img{
  width:60px;
  height:44px;
  object-fit:contain;
  transform:none!important;
  animation:none!important;
}
.console-head span,.console-countdown small{font:800 10px/1.2 var(--display);letter-spacing:.16em}
.console-head strong{font:800 18px/1.15 var(--display);letter-spacing:.06em}
.console-countdown{
  position:absolute;
  z-index:5;
  right:34px;
  top:32px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:9px;
  padding:0;
  border:0;
  text-align:right;
}
.console-countdown strong{font:800 28px/1 var(--display);letter-spacing:.04em}
.readiness-capacity{
  display:grid;
  gap:8px;
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(112,132,255,.2);
  border-radius:12px;
  background:rgba(6,10,27,.52);
  color:#9da9c8;
  font-size:11px;
}
.readiness-capacity>div,.readiness-capacity>span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.readiness-capacity>div{padding-bottom:8px;border-bottom:1px solid rgba(112,132,255,.14)}
.readiness-capacity b{color:#eef2ff;letter-spacing:.07em}
.readiness-capacity strong{color:#6cf0ab}
.hero-drop-spotlight{
  position:relative;
  min-height:405px;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(190px,.88fr);
  align-items:end;
  padding:20px 24px 28px;
  overflow:hidden;
  isolation:isolate;
  border-radius:24px 7px 24px 7px;
  border-color:rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 24% 32%,rgba(122,142,255,.34),transparent 43%),
    linear-gradient(145deg,#182450,#0a1028 64%,#090c1d);
  transition:background .5s ease;
}
.hero-drop-spotlight::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--showcase-bg);
  background-size:cover;
  background-position:center;
  filter:blur(34px) saturate(145%);
  opacity:.2;
  transform:scale(1.16);
}
.hero-drop-spotlight::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,transparent 0,rgba(8,11,29,.08) 44%,rgba(8,11,29,.9) 73%),
    linear-gradient(to top,rgba(7,10,25,.88),transparent 45%);
}
.hero-showcase-media{
  height:350px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-width:0;
}
.hero-showcase-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 30px 32px rgba(0,0,0,.55));
  animation:showcaseEnter .55s cubic-bezier(.16,1,.3,1) both,spotlightFloat 5s .55s ease-in-out infinite!important;
}
.hero-showcase-copy{
  position:relative;
  z-index:3;
  align-self:center;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:38px 0 22px;
  animation:showcaseCopy .45s .08s cubic-bezier(.16,1,.3,1) both;
}
.hero-showcase-copy small{
  padding:5px 8px;
  border-radius:6px;
  color:#d8ddff;
  background:rgba(104,122,255,.22);
  font:800 10px/1 var(--display);
  letter-spacing:.15em;
}
.hero-showcase-copy strong{
  max-width:260px;
  color:#fff;
  font:900 clamp(31px,3.1vw,49px)/.88 var(--display);
  font-style:italic;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.hero-showcase-price{display:grid;gap:1px}
.hero-showcase-price b{color:var(--accent2);font:900 24px/1 var(--display)}
.hero-showcase-price span{color:#aeb9d3;font-size:11px}
.hero-showcase-copy button{
  margin-top:7px;
  padding:11px 14px;
  color:#090b16;
  background:var(--accent2);
  border:0;
  border-radius:8px;
  font:800 12px/1 var(--display);
  text-transform:uppercase;
  cursor:pointer;
}
.hero-showcase-controls{
  display:grid;
  grid-template-columns:38px 1fr 38px;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.hero-showcase-controls>button{
  width:38px;
  height:34px;
  border:1px solid rgba(139,157,255,.2);
  border-radius:9px;
  color:#fff;
  background:rgba(255,255,255,.04);
  cursor:pointer;
  transition:.25s ease;
}
.hero-showcase-controls>button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
.hero-showcase-dots{display:flex;justify-content:center;gap:7px}
.hero-showcase-dots button{
  width:25px;
  height:4px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:4px;
  background:rgba(255,255,255,.14);
  cursor:pointer;
}
.hero-showcase-dots button.active{background:var(--accent2);box-shadow:0 0 15px rgba(255,225,59,.45)}
.console-route{display:none}
@keyframes showcaseEnter{from{opacity:0;transform:translate3d(-26px,15px,0) scale(.93)}}
@keyframes showcaseCopy{from{opacity:0;transform:translateX(25px)}}

/* Jerarquía editorial y secciones sin emojis decorativos */
.section{max-width:1460px;padding:90px 34px}
.section-kicker{
  color:#aebdff;
  font:800 11px/1 var(--display);
  letter-spacing:.18em;
}
.sec-title{
  font:900 clamp(42px,4.2vw,66px)/.9 var(--display);
  font-style:italic;
  letter-spacing:-.03em;
  text-transform:uppercase;
}
.sec-title .acc{color:var(--accent2)}
.sec-sub{font-size:14px;line-height:1.7}
.drop-board{position:relative}
.drop-board::before{
  content:"";
  position:absolute;
  width:550px;
  height:550px;
  right:-280px;
  top:40px;
  border-radius:50%;
  background:rgba(87,102,255,.12);
  filter:blur(100px);
  pointer-events:none;
}
.drop-lanes{grid-template-columns:1.1fr .95fr .95fr;gap:18px}
.drop-lane{
  padding:20px;
  border-radius:25px 7px 25px 7px;
  border-color:rgba(133,150,255,.14);
  background:linear-gradient(150deg,rgba(17,24,50,.94),rgba(7,10,26,.96));
}
.drop-lane:first-child{transform:translateY(-12px)}
.drop-lane-head strong{font:900 25px/.9 var(--display);font-style:italic;text-transform:uppercase}
.drop-lane-head button{font:800 12px/1 var(--display);text-transform:uppercase}
.drop-mini-card{
  aspect-ratio:.76;
  border-radius:17px 5px 17px 5px;
  background:linear-gradient(155deg,#263d85,#11182f);
}
.drop-mini-card img{height:76%;object-position:center bottom}
.drop-mini-card div{left:11px;right:11px;bottom:10px}
.drop-mini-card strong{font:800 14px/1 var(--display);text-transform:uppercase}
.drop-mini-card span{font-size:10px;color:#ffe13b}
.locker-strip{border-radius:20px 6px 20px 6px}
.locker-icon,.gift-step-icon,.svc-icon,.bot-step-icon,.coin-icon-big{display:none!important}
.gift-route{counter-reset:towa-step}
.gift-step{counter-increment:towa-step;border-radius:22px 6px 22px 6px}
.gift-step::before{
  content:"0" counter(towa-step);
  display:block;
  margin-bottom:28px;
  color:rgba(148,166,255,.35);
  font:900 58px/.7 var(--display);
  font-style:italic;
}
.gift-step>span{display:none}
.gift-step strong,.svc-title,.bot-step-title{font-family:var(--display);font-weight:900;text-transform:uppercase}

/* Tienda: producto grande a la izquierda, navegación a la derecha */
#page-shop>.section{max-width:1480px;padding:58px 34px 100px}
.shop-search-wrap{max-width:none}
.shop-search{
  min-height:56px;
  padding-left:22px;
  border-radius:16px;
  background:rgba(11,16,36,.78);
  font-size:15px;
}
.shop-search-icon{display:none}
.smart-filters{gap:8px;margin:14px 0 28px}
.smart-filters button{
  min-height:39px;
  padding:8px 15px;
  border-radius:10px;
  font:800 12px/1 var(--display);
  text-transform:uppercase;
  letter-spacing:.035em;
}
.shop-layout{
  grid-template-columns:minmax(0,1fr) 225px;
  gap:28px;
}
#shopContent{grid-column:1;grid-row:1;min-width:0}
.shop-sidebar{
  grid-column:2;
  grid-row:1;
  top:96px;
  height:auto;
  max-height:calc(100vh - 120px);
  padding:18px;
  border-radius:21px 6px 21px 6px;
  background:linear-gradient(160deg,rgba(17,23,48,.96),rgba(8,11,27,.98));
}
.sidebar-title{font:800 12px/1 var(--display);letter-spacing:.12em}
.sidebar-link{
  padding:11px 12px;
  border-radius:9px;
  font:700 13px/1.1 var(--display);
  letter-spacing:.02em;
  text-transform:uppercase;
}
.sidebar-link.active{
  color:#08101e;
  background:linear-gradient(90deg,var(--accent2),#fff075);
}
.shop-section{margin-bottom:86px}
.shop-sec-title{
  margin:0 0 18px;
  padding:0 0 11px;
  color:#fff;
  border:0;
  border-bottom:1px solid rgba(133,151,255,.13);
  font:900 32px/1 var(--display);
  font-style:italic;
  letter-spacing:-.015em;
  text-transform:uppercase;
}
.shop-grid{
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:18px;
}
.item-card{
  position:relative;
  border-radius:25px 7px 25px 7px;
  border-color:rgba(143,160,255,.15);
  background:linear-gradient(160deg,rgba(18,25,52,.98),rgba(7,10,25,.98));
  box-shadow:0 16px 44px rgba(0,0,0,.18);
}
.item-card:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 68px rgba(0,0,0,.42),0 0 0 1px rgba(124,143,255,.42);
}
.item-thumb{aspect-ratio:.9;isolation:isolate}
.item-thumb::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  z-index:-1;
  height:55%;
  background:linear-gradient(to top,rgba(2,5,15,.44),transparent);
}
.item-thumb img{padding:4px 8px 0;object-position:center bottom;filter:drop-shadow(0 22px 24px rgba(0,0,0,.34))}
.item-thumb img.item-fallback-logo{max-width:72%;max-height:72%;margin:auto;object-fit:contain;padding:0;opacity:.82}
.item-card:hover .item-thumb img{transform:scale(1.07) translateY(-4px)}
.bg-epic{background:radial-gradient(circle at 50% 15%,#8055cb,#291553 74%)}
.bg-rare{background:radial-gradient(circle at 50% 15%,#2c88d9,#092852 74%)}
.bg-uncommon{background:radial-gradient(circle at 50% 15%,#39a861,#0a4523 74%)}
.bg-legendary{background:radial-gradient(circle at 50% 15%,#e38b28,#5a2607 74%)}
.bg-default{background:radial-gradient(circle at 50% 15%,#536796,#17213d 74%)}
.item-info{padding:17px 17px 18px}
.item-name{
  color:#fff;
  font:900 18px/1 var(--display);
  letter-spacing:-.01em;
  text-transform:uppercase;
}
.item-price{font-family:var(--display);font-size:18px;font-weight:900}
.item-price-gs{color:#aeb9d0}
.item-add-btn,.item-view-btn{border-radius:10px}
.item-rarity,.ends-today-badge,.item-new{
  font-family:var(--display);
  font-weight:800;
  letter-spacing:.05em;
}
.fav-btn{
  border-radius:9px;
  background:rgba(5,8,20,.58);
  font-size:0;
}
.fav-btn::before{content:"+";font:800 18px/1 var(--display);transform:rotate(0)}
.fav-btn.faved::before{content:"×";color:var(--accent2)}
.bundle-row{gap:18px}
.bundle-card{
  border-radius:27px 7px 27px 7px;
  border-color:rgba(143,160,255,.16);
  overflow:hidden;
}
.bundle-card-name{font:900 24px/1 var(--display);font-style:italic;text-transform:uppercase}

/* Segunda iteración: lotes protagonistas y ritmo más espacioso */
.bundle-showcase-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  margin-bottom:30px;
}
.bundle-showcase-grid .bundle-card{
  min-height:510px;
  display:grid;
  grid-template-rows:minmax(390px,1fr) auto;
  margin:0;
  background:
    radial-gradient(circle at var(--mx,50%) var(--my,35%),rgba(121,140,255,.16),transparent 36%),
    linear-gradient(155deg,rgba(20,26,55,.98),rgba(7,10,25,.99));
  box-shadow:0 24px 64px rgba(0,0,0,.3);
}
.bundle-showcase-grid .bundle-card:first-child{
  grid-column:1/-1;
  min-height:500px;
  grid-template-columns:minmax(0,1.38fr) minmax(300px,.62fr);
  grid-template-rows:1fr;
}
.bundle-showcase-grid .bundle-card-img{
  width:100%;
  height:100%;
  min-height:390px;
  isolation:isolate;
}
.bundle-showcase-grid .bundle-card-img::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(120deg,rgba(255,255,255,.06),transparent 32%),
    repeating-linear-gradient(110deg,transparent 0 44px,rgba(255,255,255,.022) 45px 46px);
  pointer-events:none;
}
.bundle-showcase-grid .bslides{z-index:1}
.bundle-showcase-grid .bslide{padding:30px 28px 52px}
.bundle-showcase-grid .bslide img{
  max-height:315px;
  max-width:88%;
  filter:drop-shadow(0 30px 35px rgba(0,0,0,.58));
}
.bundle-showcase-grid .bundle-card:first-child .bslide img{max-height:420px;max-width:92%}
.bundle-showcase-grid .bslide-label{
  margin-top:14px;
  font:800 17px/1 var(--display);
  text-transform:uppercase;
}
.bundle-showcase-grid .bundle-card-info{
  position:relative;
  z-index:2;
  min-width:0;
  padding:24px 25px 26px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:linear-gradient(180deg,rgba(8,12,29,.86),rgba(7,10,25,.98));
  border-top:1px solid rgba(143,160,255,.12);
}
.bundle-showcase-grid .bundle-card:first-child .bundle-card-info{
  padding:38px;
  border-top:0;
  border-left:1px solid rgba(143,160,255,.12);
}
.bundle-showcase-grid .bundle-card-name{
  margin-bottom:20px;
  white-space:normal;
  font-size:34px;
  line-height:.92;
}
.bundle-showcase-grid .bundle-card:first-child .bundle-card-name{font-size:47px}
.bundle-showcase-grid .bundle-discount{top:18px;left:18px}
.bundle-showcase-grid .bslide-dots{bottom:20px}
.bundle-showcase-grid .bsdot{width:22px;height:4px;border-radius:4px}

.item-card,.bundle-card{
  --mx:50%;
  --my:35%;
  --tilt-x:0deg;
  --tilt-y:0deg;
}
.item-card:hover{transform:perspective(1000px) translateY(-9px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
.bundle-card:hover{transform:perspective(1100px) translateY(-7px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
.item-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  border-radius:inherit;
  background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.13),transparent 28%);
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
}
.item-card:hover::before,.bundle-card:hover::before{opacity:1}
.shop-section .shop-grid{margin-top:25px}
.shop-sec-title{margin-bottom:26px;padding-bottom:16px}

/* Vista rápida: grande en producto, compacta en información */
.locker-lab-modal{
  width:min(1040px,calc(100vw - 48px))!important;
  max-width:1040px!important;
  min-height:540px;
  grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr)!important;
  border-radius:30px 9px 30px 9px!important;
  background:rgba(7,10,25,.97)!important;
  border-color:rgba(135,153,255,.24)!important;
  box-shadow:0 60px 150px rgba(0,0,0,.72),0 0 80px rgba(75,91,255,.12)!important;
  animation:lockerOpen .5s cubic-bezier(.16,1,.3,1) both;
}
.locker-stage{
  min-height:540px;
  background:
    radial-gradient(circle at 50% 36%,rgba(93,113,255,.34),transparent 38%),
    linear-gradient(145deg,#111b3b,#080c1d);
}
.locker-stage::after{
  content:"";
  position:absolute;
  inset:auto 8% 9% 8%;
  height:42px;
  border-radius:50%;
  background:rgba(0,0,0,.5);
  filter:blur(16px);
}
.locker-stage .modal-img{height:490px;position:relative;z-index:2}
.locker-stage .modal-img img{filter:drop-shadow(0 28px 28px rgba(0,0,0,.5));animation:lockerItemIn .55s .08s cubic-bezier(.16,1,.3,1) both}
.locker-info{padding:42px 38px!important}
.locker-info .modal-name{
  max-width:340px;
  margin:11px 0 6px;
  font:900 clamp(32px,3.1vw,43px)/.88 var(--display);
  font-style:italic;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.locker-info .modal-type{color:#aebaff;font:800 12px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}
.locker-facts{margin:22px 0}
.modal-price-row{margin-bottom:22px}
.locker-actions{grid-template-columns:1fr;gap:10px}
@keyframes lockerOpen{from{opacity:0;transform:translateY(24px) scale(.96)}}
@keyframes lockerItemIn{from{opacity:0;transform:translateY(24px) scale(.9)}}

.bundle-detail-modal{
  width:min(900px,calc(100vw - 48px))!important;
  max-width:900px!important;
  border-radius:28px 8px 28px 8px!important;
  background:
    radial-gradient(circle at 14% 8%,rgba(111,128,255,.18),transparent 35%),
    rgba(7,10,25,.98)!important;
  border-color:rgba(135,153,255,.24)!important;
  box-shadow:0 55px 140px rgba(0,0,0,.7)!important;
  animation:lockerOpen .5s cubic-bezier(.16,1,.3,1) both;
}
.bundle-detail-modal .modal-body{padding:38px!important}
.bundle-detail-modal .modal-name{
  padding-right:40px;
  font:900 46px/.9 var(--display);
  font-style:italic;
  text-transform:uppercase;
}
.bundle-detail-modal .modal-type{color:#aab7d5;font:800 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}
#bundleModalItems{
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;
  gap:16px!important;
  max-height:430px!important;
  padding:4px 4px 12px;
}
#bundleModalItems button>div:first-child{border-radius:17px 5px 17px 5px!important;border:1px solid rgba(255,255,255,.08)}
#bundleModalItems button>div:last-child{padding-top:7px;font:700 12px/1 var(--display)!important;text-transform:uppercase}

@media(min-width:1260px){
  .shop-grid .item-card{min-height:390px}
}

@media(max-width:1180px){
  .nav-inner{padding:0 20px}
  .nav-link{padding:9px 8px;font-size:12px}
  .towa-hero .hero-inner{grid-template-columns:1fr;gap:42px}
  .towa-hero{max-height:none}
  .towa-hero .hero-copy{text-align:center}
  .towa-hero h1,.towa-hero .hero-copy>p{margin-left:auto;margin-right:auto}
  .hero-btns,.hero-trust{justify-content:center}
  .drop-console{max-width:850px}
  .drop-lanes{grid-template-columns:1fr}
  .drop-lane:first-child{transform:none}
  .drop-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:900px){
  .nav-inner{height:66px}
  .towa-logo-lockup{margin-right:auto}
  .towa-hero{padding:52px 20px 65px}
  .towa-hero h1{font-size:68px}
  .hero-drop-spotlight{grid-template-columns:1.05fr .95fr}
  .shop-layout{display:block}
  .shop-sidebar{
    display:block;
    position:sticky;
    top:66px;
    z-index:90;
    max-height:none;
    margin:0 0 24px;
    padding:10px;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .sidebar-title{display:none}
  #sidebarLinks{display:flex;gap:7px}
  .sidebar-link{width:auto;white-space:nowrap}
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bundle-showcase-grid{grid-template-columns:1fr}
  .bundle-showcase-grid .bundle-card:first-child{
    grid-column:auto;
    min-height:520px;
    grid-template-columns:1fr;
    grid-template-rows:minmax(390px,1fr) auto;
  }
  .bundle-showcase-grid .bundle-card:first-child .bundle-card-info{padding:26px;border-left:0;border-top:1px solid rgba(143,160,255,.12)}
  .bundle-showcase-grid .bundle-card:first-child .bundle-card-name{font-size:35px}
}

@media(max-width:620px){
  .topbar{height:28px}
  .topbar-track span{font-size:10px}
  .towa-logo-lockup{width:62px;height:48px}
  .towa-logo-lockup>img{width:58px;height:46px}
  .nav-right .btn{display:none}
  .cart-btn{padding:8px 10px;font-size:0}
  .cart-btn-mark{font-size:initial}
  .towa-hero{padding:38px 16px 52px}
  .towa-hero h1{font-size:54px;line-height:.82}
  .hero-badge{font-size:10px}
  .hero-trust{display:none}
  .drop-console{padding:14px;min-height:auto;border-radius:25px 7px}
  .console-head{min-height:72px;gap:11px;margin-bottom:14px;padding:6px 126px 16px 4px}
  .console-head img{width:48px;height:38px}
  .console-head strong{font-size:15px}
  .console-countdown{right:19px;top:27px;gap:5px}
  .console-countdown small{display:none}
  .console-countdown strong{font-size:19px}
  .hero-drop-spotlight{
    min-height:455px;
    grid-template-columns:1fr;
    align-content:end;
    padding:10px 16px 22px;
  }
  .hero-drop-spotlight::after{background:linear-gradient(to top,rgba(7,10,25,.96) 0,rgba(7,10,25,.25) 62%,transparent)}
  .hero-showcase-media{height:285px}
  .hero-showcase-copy{margin-top:-30px;padding:0;gap:7px}
  .hero-showcase-copy strong{font-size:35px}
  .hero-showcase-price b{font-size:21px}
  .section{padding:68px 16px}
  .sec-title{font-size:44px}
  .section-intro{gap:18px}
  .drop-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #page-shop>.section{padding-top:38px}
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .item-card{border-radius:17px 5px}
  .item-info{padding:11px}
  .item-name{font-size:16px}
  .item-price{font-size:15px}
  .item-price-gs{font-size:9px}
  .item-btns{gap:4px}
  .item-add-btn,.item-view-btn{width:31px;height:31px}
  .smart-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}
  .smart-filters button{white-space:nowrap}
  .bundle-showcase-grid{gap:16px}
  .bundle-showcase-grid .bundle-card,.bundle-showcase-grid .bundle-card:first-child{
    min-height:440px;
    grid-template-rows:minmax(305px,1fr) auto;
  }
  .bundle-showcase-grid .bundle-card-img{min-height:305px}
  .bundle-showcase-grid .bslide img,.bundle-showcase-grid .bundle-card:first-child .bslide img{max-height:250px}
  .bundle-showcase-grid .bundle-card-info,.bundle-showcase-grid .bundle-card:first-child .bundle-card-info{padding:20px}
  .bundle-showcase-grid .bundle-card-name,.bundle-showcase-grid .bundle-card:first-child .bundle-card-name{font-size:28px}
  .locker-lab-modal{
    width:calc(100vw - 20px)!important;
    max-height:92vh!important;
    min-height:0;
    grid-template-columns:1fr!important;
    overflow:auto!important;
  }
  .locker-stage{min-height:390px}
  .locker-stage .modal-img{height:360px}
  .locker-info{padding:28px 23px 25px!important}
  .locker-info .modal-name{font-size:35px}
}

@media(prefers-reduced-motion:reduce){
  .bg-grid,.hero-showcase-media img{animation:none!important}
  body::before,.bg-grid{transform:none!important}
}
