@font-face{
  font-family:"Nulshock";
  src:local("Nulshock"),local("Nulshock Bold"),url("/Nulshock-Bd.otf") format("opentype"),url("https://plasmart.cl/Nulshock-Bd.otf") format("opentype");
  font-weight:700;
  font-style:normal;
  font-display:block;
}

@font-face{
  font-family:"Cyber";
  src:url("https://assets.codepen.io/605876/Blender-Pro-Bold.otf") format("opentype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg:#13232c;
  --bg-deep:#0d1920;
  --panel:#1c303b;
  --panel-2:#162832;
  --panel-3:#101f27;
  --panel-hi:#2a3d48;
  --edge:#4b636f;
  --edge-hi:#70828b;
  --black:#020506;
  --cyan:#11ebf8;
  --cyan-core:#7affff;
  --pink: #ff00c4;
  --green: #1dff00;
  --white:#f4f6f7;
  --desktop-product-columns:3;
  --mobile-product-columns:2;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html {
    background-color: #122a35 !important;
}
html,body{margin:0;min-height:100%}
body{
  /* background:
    radial-gradient(ellipse at 50% -8%,rgba(87,112,129,.25),transparent 42%),
    linear-gradient(180deg,#263945 0%,#182b35 16%,#102029 100%); */
  color:var(--white);
  font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

button{font:inherit;color:inherit}
img{display:block}
.fa-solid,.fa-regular,.fa-brands{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
  transform:translateZ(0);
}
.site{
  width:min(1600px,100%);
  min-height:100vh;
  margin:0 auto;
  /* background:
    radial-gradient(ellipse at 55% 17%,rgba(27,87,114,.16),transparent 34%),
    linear-gradient(180deg,#1b2d37 0%,#13252e 100%); */
  /* box-shadow:0 0 60px rgba(0,0,0,.34); */
}
.nulshock{font-family:"Nulshock",Arial,sans-serif; letter-spacing:.02em}

.outline-icon{
  color:inherit !important;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1.35px currentColor;
  text-shadow:none;
  paint-order:stroke fill;
}
.cyan-stroke{color:var(--cyan) !important}
.white-stroke{color:#f8fbfc !important}
.pink-stroke{color:var(--pink) !important}

.cut-lg{
  clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);
}
.cut-md{
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
}
.hex{
  clip-path:polygon(18% 0,82% 0,100% 50%,82% 100%,18% 100%,0 50%);
}
.oct{
  clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%);
}

.frame-outer{
  position:relative;
  padding:2px;
  background:linear-gradient(180deg,#667b87 0%,#253a46 40%,#0b151b 100%);
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.25));
}
.frame-mid{
  height:100%;
  /* width: 100px; */
  padding:4px;
  background:linear-gradient(180deg,#09131a 0%,#172a34 52%,#08141a 100%);
}
.frame-inner{
  height:100%;
  position:relative;
  background:
    linear-gradient(180deg,rgba(255,255,255,.028),transparent 25%),
    linear-gradient(180deg,var(--panel-hi),var(--panel-2) 68%,var(--panel-3));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(0,0,0,.45);
}

.top-chassis{
  position:relative;
  padding:8px 18px 14px;
  background:linear-gradient(180deg,#344854 0%,#2a3d49 55%,#20333e 100%);
  border-bottom:1px solid #526875;
}
.top-chassis::before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:1px;height:8px;
  background:
    linear-gradient(90deg,
      transparent 0 1.5%,
      var(--cyan) 4% 21%,
      transparent 21.8% 36.2%,
      var(--cyan) 36.2% 60.8%,
      transparent 60.8% 76.4%,
      var(--cyan) 76.4% 96%,
      transparent 98%);
  clip-path:polygon(0 58%,20% 58%,21% 100%,36% 100%,37% 58%,59% 58%,60% 100%,76% 100%,77% 58%,100% 58%,100% 0,0 0);
  box-shadow:0 0 8px rgba(17,235,248,.85),0 0 18px rgba(17,235,248,.42);
}
.top-grid{
  display:grid;
  grid-template-columns: 106px minmax(250px,1fr) 340px minmax(300px,1fr) 106px;
  align-items:center;
  gap:16px;
}
.header-btn-wrap{
  position:relative;
  overflow:visible;
  z-index:3;
}
.header-btn-shape{
  height:80px;
  display:grid;
  place-items:center;
}
.header-btn-shape .frame-inner{
  display:grid;
  place-items:center;
}
.hamburger-btn{
  border:0;
  background:transparent;
  width:100%;
  height:100%;
  cursor:pointer;
}
.hamburger{
  width:34px;
  display:grid;
  gap:7px;
}
.hamburger span{
  height:4px;
  border-radius:99px;
  background:#ffffff;
  box-shadow:0 0 1px rgba(255,255,255,.9);
}
.basket-top{
  color:var(--cyan);
  font-size:33px;
  filter:drop-shadow(0 0 4px rgba(17,235,248,.32));
}
.badge{
  position:absolute;
  z-index:10;
  top:-8px;
  right:-7px;
  min-width:36px;
  height:36px;
  padding:0 8px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#ff2b31;
  color:white;
  font:700 16px Arial,sans-serif;
  box-shadow:0 0 0 3px #314651,0 3px 7px rgba(0,0,0,.28);
}

.contact-shell{
  height:72px;
  padding:5px 9px;
  position:relative;
  background:linear-gradient(180deg,#314550,#172a34);
}
.contact-shell::after{
  content:"";
  position:absolute;
  left:9%;right:9%;bottom:2px;height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  box-shadow:0 0 8px rgba(17,235,248,.75);
}
.contact-inner{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 32px;
  background:#020506;
  border:1px solid #163b46;
  position:relative;
  font-size: 16px;
  font-weight:700;
  white-space:nowrap;
}
.contact-inner span{font-family:"Nulshock",Arial,sans-serif}
.contact-inner::before,
.contact-inner::after{
  content:"";
  position:absolute;
  width:23px;
  height:1px;
  top:50%;
  /* background:#204a56; */
}
.contact-inner::before{left:14px}
.contact-inner::after{right:14px}
.contact-inner i{font-size:28px}
.wa .contact-inner{color:var(--green)}
.ig .contact-inner{color:var(--pink)}

.logo-shell{
  height:98px;
}
.logo-shell .frame-mid{padding:5px}
.logo-window{
  height:100%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#020506;
  box-shadow:
    inset 0 0 28px rgba(0,0,0,.88),
    inset 0 1px 0 rgba(255,255,255,.04);
}
.logo-window::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:3px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  box-shadow:0 0 8px rgba(17,235,248,.66);
  opacity:.55;
}
.logo-window img{
  width:92%;
  max-width:none;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 5px rgba(17,235,248,.08));
}

.desktop-layout{
  display:grid;
  grid-template-columns:270px 1fr;
  gap:14px;
  padding:0 16px 18px;
}
.sidebar{
  margin-top:12px;
  align-self:start;
}
.sidebar > .frame-mid{padding:5px}
.sidebar > .frame-mid > .frame-inner{padding:11px}
.sidebar-title{
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  letter-spacing:.01em;
  margin-bottom:10px;
}
.side-list{display:grid;gap:9px}
.side-item{
  min-height: 42px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:0 16px;
  font-size:13px;
  font-weight:700;
  position:relative;
  cursor:pointer;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 22%),
    linear-gradient(90deg,#1b3340 0%,#132731 55%,#10222b 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 -1px 0 rgba(0,0,0,.35),
    0 4px 10px rgba(0,0,0,.14);
}
.side-item::after{
  content:"";
  position:absolute;
  left:12px;right:12px;top:8px;height:1px;
  background:linear-gradient(90deg,transparent,#58707c,transparent);
  opacity:.38;
}
.side-item i{
  width:28px;
  text-align:center;
  font-size:24px;
  color:#fff;
}
.side-item.active{
  box-shadow:
    inset 5px 0 0 var(--pink),
    inset 0 0 26px rgba(255,85,216,.06),
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 -1px 0 rgba(0,0,0,.35),
    0 4px 12px rgba(0,0,0,.16);
}
.side-item.active i{
  color:var(--pink);
  filter:drop-shadow(0 0 7px rgba(255,85,216,.78));
}
.sidebar-accent{
  position:absolute;
  top:104px;bottom:18px;left:-1px;width:3px;
  background:linear-gradient(180deg,var(--cyan),transparent 14%,transparent 86%,var(--cyan));
  box-shadow:0 0 8px rgba(17,235,248,.45);
}

.right-column{
  min-width:0;
}
.business-info{
  height:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px 10px 2px;
}
.address{
  color:var(--cyan);
  font-size: 17px;
  font-weight:700;
  line-height:1.05;
  font-family: "Nulshock", Arial, sans-serif;
}
.hours{
  margin-top:7px;
  color:#f0f3f4;
  font-size:14px;
  line-height:1.2;
  font-family: monospace;
  letter-spacing: -1px;
  max-width: 750px;
}

.section-title-shell{
  height:86px;
  margin-bottom:12px;
}
.section-title-shell .frame-mid{padding:5px}
.section-title{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  letter-spacing:.02em;
}
.section-title::after{
  content:"";
  position:absolute;
  left:20px;right:20px;bottom:9px;height:1px;
  background:#2d4d59;
}
.title-lights{
  position:absolute;
  top:23px;
  display:flex;
  gap:6px;
  filter:drop-shadow(0 0 4px rgba(17,235,248,.92)) drop-shadow(0 0 10px rgba(17,235,248,.45));
}
.title-lights.left{left:34px}
.title-lights.right{right:34px}
.title-lights span{
  width:20px;
  height:12px;
  background:linear-gradient(180deg,#8dfcff 0%,#1debf6 42%,#00c8da 100%);
}
.title-lights.left span{
  clip-path:polygon(16% 0,100% 0,84% 100%,0 100%);
}
.title-lights.right{
  flex-direction:row-reverse;
}
.title-lights.right span{
  clip-path:polygon(0 0,84% 0,100% 100%,16% 100%);
}

.products{
  display:grid;
  grid-template-columns:repeat(var(--desktop-product-columns,3),minmax(0,1fr));
  gap:10px;
}
.product-frame{
  min-width:0;
}
.product-frame > .frame-mid{padding:4px}
.product-card{
  overflow:hidden;
}
.product-media{
  height:248px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 8px 0;
  background:
    radial-gradient(ellipse at 50% 26%,rgba(82,121,139,.22),transparent 56%),
    linear-gradient(180deg,#203540 0%,#172a34 100%);
}
.product-media img{
  width:104%;
  max-width:none;
  max-height:246px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.17));
}
.product-info{
  min-height:205px;
  padding:14px 17px 17px;
  background:linear-gradient(180deg,#263b47 0%,#1a2e38 100%);
  border-top:1px solid #506875;
}

.pieces-wrap{
  width:70%;
  margin:0 auto 13px;
  filter: drop-shadow(0 0 3px rgba(255,85,216,.95))
    drop-shadow(0 0 1px rgba(255,85,216,.45));
}
.pieces{
  height: 31px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  color:white;
  font-size: 17px;
  font-weight:700;
  font-family:"Nulshock",Arial,sans-serif;
  background: linear-gradient(180deg, #07033bcc 0%, #11161c 45%, #140e18 100%);
  border: 1px solid #ff61dfab;
  box-shadow: inset 0 0 16px rgb(255 0 196 / 18%), inset 0 1px 0 rgb(170 4 229 / 77%), 0 0 10px rgba(255, 85, 216, .32);
}
.pieces::before{
  content:"";
  position:absolute;
  inset:4px;
  /* border:1px solid rgba(255,255,255,.06); */
  background:
    linear-gradient(180deg,rgba(255,255,255,.09),transparent 38%),
    radial-gradient(ellipse at center,rgba(255,85,216,.12),transparent 72%);
}
.pieces.green{
  background:
    linear-gradient(180deg,#16241a 0%,#11161c 45%,#0f1710 100%);
  border-color:#84ff73;
  box-shadow:
    inset 0 0 16px rgba(120,255,103,.16),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 10px rgba(120,255,103,.30);
}
.pieces.green::before{
  background:
    linear-gradient(180deg,rgba(255,255,255,.09),transparent 38%),
    radial-gradient(ellipse at center,rgba(120,255,103,.10),transparent 72%);
}
.pieces-wrap.green{
  filter:
    drop-shadow(0 0 6px rgba(120,255,103,.92))
    drop-shadow(0 0 14px rgba(120,255,103,.42));
}
.product-title{
  text-align:center;
  font-size:20px;
  line-height:1.05;
  margin:0 0 15px;
}
.buy-row{
  display:grid;
  grid-template-columns:1fr 78px;
  gap:15px;
  align-items:center;
}
.price{
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#152731;
  border:1px solid #506875;
  color:#fff;
  font-size:20px;
  font-weight:700;
  font-family:"Nulshock",Arial,sans-serif;
  background: linear-gradient(180deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, .02) 18%, rgba(255, 255, 255, 0) 24%), linear-gradient(180deg, #1f3440 0%, #12232b 55%, #0b151b 100%) !important;
}
.basket-frame{
  height:58px;
  padding:2px;
  background:linear-gradient(180deg,#45f6ff,#00d8eb);
  filter:drop-shadow(0 0 3px rgba(17,235,248,.32));
  background: linear-gradient(180deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, .02) 18%, rgba(255, 255, 255, 0) 24%), linear-gradient(180deg, #1f3440 0%, #12232b 55%, #0b151b 100%) !important;
}
.basket-inner{
  height:100%;
  display:grid;
  place-items:center;
  background:#0d2028;
  color:var(--cyan);
  font-size:24px;
}
.bottom-metal{
  height:44px;
  margin-top:13px;
}

.mobile-fixed-nav{display:none}

.backdrop{
  position:fixed;inset:0;z-index:90;
  background:rgba(0,0,0,.58);
  opacity:0;visibility:hidden;
  transition:.2s ease;
}
.drawer{
  position:fixed;left:0;top:0;bottom:0;
  z-index:100;
  width:min(325px,88vw);
  transform:translateX(-105%);
  transition:.22s ease;
  padding:14px;
  background:linear-gradient(180deg,#203640,#13262f);
  border-right:1px solid #536a75;
  box-shadow:18px 0 32px rgba(0,0,0,.35);
}
.drawer.open{transform:translateX(0)}
.backdrop.show{opacity:1;visibility:visible}
.drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:13px;
  font-size:21px;
}
.drawer-close{
  width:42px;height:42px;
  border:1px solid #5a727d;
  background:#12242d;
  cursor:pointer;
}
.drawer .side-item{
  margin-bottom:8px;
  background:#182c35;
  border:1px solid #4d6672;
}

.mobile-contacts{display:none}

@media(max-width:980px){
  body{padding-bottom:100px}

  .top-chassis{
    padding:8px 8px 13px;
  }
  .top-grid{
    grid-template-columns:72px minmax(210px,42vw) 72px;
    grid-template-areas:
      "menu logo cart"
      "contacts contacts contacts";
    justify-content:space-between;
    gap:8px;
  }
  .menu-wrap{grid-area:menu}
  .logo-shell{grid-area:logo;height:72px}
  .cart-wrap{grid-area:cart}
  .desktop-wa,.desktop-ig{display:none}

  .mobile-contacts{
    display:grid;
    grid-area:contacts;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .mobile-contacts .contact-shell{
    height:58px;
    padding:4px 7px;
  }
  .mobile-contacts .contact-inner{
    padding:0 12px;
    font-size:13px;
    gap:8px;
  }
  .mobile-contacts .contact-inner i{font-size:21px}
  .mobile-contacts .contact-inner::before,
  .mobile-contacts .contact-inner::after{display:none}

  .header-btn-shape{height:64px}
  .hamburger{width:28px;gap:6px}
  .hamburger span{height:3px}
  .basket-top{font-size:27px}
  .badge{
    top:-7px;right:-7px;
    min-width:32px;height:32px;
    font-size:14px;
  }

  .desktop-layout{
    display:block;
    padding:0 6px 14px;
  }
  .sidebar{display:none}

  .business-info{
    height:70px;
    padding:8px 8px 3px;
  }
  .address{font-size:18px}
  .hours{font-size:11.5px;max-width:760px}

  .section-title-shell{
    height:74px;
    margin-bottom:10px;
  }
  .section-title{
    font-size:24px;
    padding:0 82px;
  }
  .title-lights{top:20px}
  .title-lights.left{left:18px}
  .title-lights.right{right:18px}
  .title-lights span{width:15px;height:10px}

  .products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    padding:0 8px;
  }
  .product-media{
    height:228px;
    padding:0 5px 0;
  }
  .product-media img{
    width:105%;
    max-height:220px;
  }
  .product-info{
    min-height:188px;
    padding:12px 12px 14px;
  }
  .pieces-wrap{width:78%;margin-bottom:11px}
  .pieces{height:48px;font-size:15px}
  .product-title{font-size:16px;margin-bottom:12px}
  .buy-row{grid-template-columns:1fr 62px;gap:10px}
  .price{height:48px;font-size:15px}
  .basket-frame{height:50px}
  .basket-inner{font-size:19px}

  .mobile-fixed-nav{
    display:block;
    position:fixed;
    z-index:80;
    left:0;right:0;bottom:0;
    padding:6px 7px calc(7px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,#1f343e,#12242c);
    border-top:1px solid #607580;
    box-shadow:0 -7px 20px rgba(0,0,0,.32);
  }
  .mobile-fixed-nav::before{
    content:"";
    position:absolute;
    left:0;right:0;top:-2px;height:2px;
    background:linear-gradient(90deg,transparent,var(--cyan),transparent);
    box-shadow:0 0 8px rgba(17,235,248,.85);
  }
  .nav-scroll{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .nav-scroll::-webkit-scrollbar{display:none}
  .mcat{
    flex:0 0 clamp(76px,14.285vw,106px);
    min-width:76px;
    height:80px;
    border:0;
    border-right:1px solid rgba(94,117,128,.62);
    background:transparent;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-size:9px;
    font-weight:700;
    cursor:pointer;
    scroll-snap-align:start;
    color:#fff;
  }
  .mcat i{font-size:21px}
  .mcat.active{
    box-shadow:
      inset 0 0 0 2px var(--pink),
      inset 0 0 18px rgba(255,85,216,.07);
  }
  .mcat.active i{
    color:var(--pink);
    filter:drop-shadow(0 0 6px rgba(255,85,216,.84));
  }
}

@media(max-width:620px){
  body{padding-bottom:97px}
  .top-grid{
    grid-template-columns:64px minmax(190px,44vw) 64px;
  }
  .logo-shell{height:64px}
  .header-btn-shape{height:58px}
  .mobile-contacts{gap:6px}
  .mobile-contacts .contact-shell{height:52px}
  .mobile-contacts .contact-inner{
    font-size:11px;
    gap:6px;
    padding:0 8px;
  }
  .mobile-contacts .contact-inner i{font-size:18px}

  .business-info{height:68px}
  .address{font-size:16px}
  .hours{font-size:9.8px;line-height:1.25}

  .section-title-shell{height:66px}
  .section-title{
    font-size:17px;
    padding:0 52px;
  }
  .section-title::after{left:10px;right:10px;bottom:7px}
  .title-lights{top:18px;gap:4px}
  .title-lights.left{left:14px}
  .title-lights.right{right:14px}
  .title-lights span{width:12px;height:8px}

  .products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:0 5px;
  }
  .product-media{
    height:182px;
    padding:0 3px 0;
  }
  .product-media img{
    width:108%;
    max-height:176px;
  }
  .product-info{
    min-height:162px;
    padding:9px 8px 10px;
  }
  .pieces-wrap{
    width:84%;
    margin-bottom:8px;
  }
  .pieces{height:40px;font-size: 15px;text-align: center;line-height: 14px;}
  .product-title{
    font-size:12px;
    margin-bottom:9px;
  }
  .buy-row{
    grid-template-columns:1fr 48px;
    gap:7px;
  }
  .price{
    height:40px;
    font-size:11px;
  }
  .basket-frame{height:42px}
  .basket-inner{font-size:16px}

  .mcat{
    flex-basis:76px;
    height:76px;
  }
}

@media(max-width:370px){
  .top-grid{
    grid-template-columns:58px minmax(170px,1fr) 58px;
  }
  .mobile-contacts .contact-inner{font-size:9.5px}
  .products{gap:5px;padding:0 3px}
  .product-media{height:170px}
  .product-media img{max-height:162px}
  .product-title{font-size:10.5px}
}

/* ===== v11 refinements ===== */

/* Restore header feel from v8 with SVG cyan rail */
.top-chassis{
  padding:8px 18px 17px !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 34%),
    linear-gradient(180deg,#334753 0%,#293c48 50%,#20333e 100%) !important;
  border-bottom:0 !important;
  overflow:visible !important;
}
.top-chassis::before{display:none !important}
.chassis-rail{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  pointer-events:none;
  overflow:visible;
}
.top-grid{position:relative;z-index:2}

/* slightly smaller logo like requested */
.logo-shell{height: 78px;width: 100%;max-width: 280px;margin: 10px auto -10px;}
.logo-window{padding:4px 10px}
.logo-window img{
  width:86% !important;
  height: 110%;
  max-width:100%;
  object-fit:contain;
  transform:none !important;
  filter:drop-shadow(0 0 4px rgba(17,235,248,.06)) !important;
}

/* Products: border only on description block, not around image block */
.product-frame{
  background:none !important;
  padding:0 !important;
  filter:none !important;
  transition: 2s!important;
}
.product-frame > .frame-mid{
  background:none !important;
  padding:0 !important;
}
.product-card{
  background:none !important;
  box-shadow:none !important;
  clip-path:none !important;
  overflow:visible !important;
}
.product-media{
  height: 208px !important;
  padding:0 8px 0 !important;
  background: radial-gradient(ellipse at 50% 110%, rgb(8 26 35), #00000000 68%), linear-gradient(180deg, #20354000 0%, #172a3400 100%) !important;
  /* background: transparent!important; */
  border:none !important;
  box-shadow:none !important;
  padding-bottom: 20px!important;
  transition: 0.5s!important;
}
.product-media img{
  width:104% !important;
  max-height:238px !important;
  object-position:center bottom !important;
}
.product-info{
  position:relative;
  min-height: 175px;
  padding:14px 17px 17px;
  background: linear-gradient(180deg, #314d5d 0%, #172b35 100%) !important;
  border:none !important;
  clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);
  box-shadow: inset 0 0 0 1px #243942, inset 0 0 0 4px #152730, 0 6px 22px black;
  background: linear-gradient(180deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, .02) 18%, rgba(255, 255, 255, 0) 24%), linear-gradient(180deg, #050f15 0%, #12232b 55%, #324551 100%) !important;
  margin-top: -17px;
}
.product-info::before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#647a86,transparent);
  opacity:.55;
}
/* hover pulse on quantity block */
.pieces:hover{
  animation:pulsePiece .95s ease-in-out infinite alternate;
}

/* Slightly more faithful hex button feel */
.basket-frame{
  background:linear-gradient(180deg,#4ff7ff,#08dff1) !important;
}
.basket-inner{
  background:#0c2028 !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, .02) 18%, rgba(255, 255, 255, 0) 24%), linear-gradient(180deg, #1f3440 0%, #12232b 55%, #0b151b 100%) !important;
}

/* mobile product image area */
@media(max-width:980px){
  .product-media{
    height:226px !important;
    padding:0 5px 0 !important;
  }
  .product-media img{
    width:106% !important;
    max-height:214px !important;
  }
}
@media(max-width:620px){
  .product-media{
    height:178px !important;
    padding:0 3px 0 !important;
  }
  .product-media img{
    width:109% !important;
    max-height:168px !important;
  }
}
@media(max-width:370px){
  .product-media{height:165px !important}
  .product-media img{max-height:154px !important}
}

@keyframes pulsePiece{
  0%{
    box-shadow:
      inset 0 0 16px rgba(255,85,216,.18),
      inset 0 1px 0 rgba(255,255,255,.08),
      0 0 10px rgba(255,85,216,.32);
    filter:none;
  }
  100%{
    box-shadow:
      inset 0 0 18px rgba(255,85,216,.24),
      inset 0 1px 0 rgba(255,255,255,.10),
      0 0 14px rgba(255,85,216,.52),
      0 0 22px rgba(255,85,216,.34);
    filter:brightness(1.06);
  }
}
.pieces.green:hover{
  animation:pulsePieceGreen .95s ease-in-out infinite alternate;
}
@keyframes pulsePieceGreen{
  0%{
    box-shadow:
      inset 0 0 16px rgba(120,255,103,.16),
      inset 0 1px 0 rgba(255,255,255,.08),
      0 0 10px rgba(120,255,103,.30);
    filter:none;
  }
  100%{
    box-shadow:
      inset 0 0 18px rgba(120,255,103,.22),
      inset 0 1px 0 rgba(255,255,255,.10),
      0 0 14px rgba(120,255,103,.50),
      0 0 22px rgba(120,255,103,.30);
    filter:brightness(1.06);
  }
}
.header-btn-shape.frame-outer.header-hex .frame-mid {
    width: 100%;
}

header .hamburger-btn i {
    font-size: 39px;
}

/* ===== v12 header/nav fidelity refinements ===== */

/* Real hexagonal top buttons (menu + cart), closer to the reference */
.header-hex{
  clip-path:polygon(28% 0,72% 0,100% 50%,72% 100%,28% 100%,0 50%) !important;
}
.header-btn-shape{
  height:80px;
  background:linear-gradient(180deg,#647985 0%,#344855 38%,#162831 100%) !important;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.24));
}
.header-btn-shape > .frame-mid{
  background:linear-gradient(180deg,#0f1e26 0%,#1e3340 34%,#0d1820 100%) !important;
}
.header-btn-shape .frame-inner{
  background:
    linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.02) 18%,rgba(255,255,255,0) 24%),
    linear-gradient(180deg,#1f3440 0%,#12232b 55%,#0b151b 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.48),
    inset 0 14px 18px rgba(255,255,255,.04) !important;
}

/* Sidebar title fixed/aligned like the reference */
.sidebar-title{
  height: 46px !important;
  margin-bottom:10px !important;
  font-size:22px !important;
}
.sidebar-title > .frame-mid{
  padding:4px !important;
}
.sidebar-title .frame-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 10px !important;
  letter-spacing:.01em !important;
  line-height:1 !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.01) 20%,rgba(255,255,255,0) 24%),
    linear-gradient(180deg,#243743 0%,#152730 60%,#10212a 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 -1px 0 rgba(0,0,0,.46),
    inset 0 10px 18px rgba(255,255,255,.03) !important;
}

/* Menu/cart button top highlight simpler and closer to original */
.hamburger-btn{
  background:transparent !important;
}
.hamburger span{
  background:#ffffff !important;
  box-shadow:0 0 1px rgba(255,255,255,.95) !important;
}
.basket-top{
  color:var(--cyan) !important;
}
.basket-top i{
  filter:drop-shadow(0 0 2px rgba(17,235,248,.28));
}

/* On smaller screens keep the same button treatment */
@media(max-width:980px){
  .header-btn-shape{height:64px !important;}
}
@media(max-width:620px){
  .header-btn-shape{height:58px !important;}
}


/* ===== v13 chassis rail from provided SVG ===== */
.top-chassis{
  padding:8px 18px 18px !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .02), transparent 34%), linear-gradient(180deg, #2f4756 0%, #2c404c 48%, #1a2c36 100%) !important;
  /* border-bottom:1px solid rgba(255,255,255,.04) !important; */
  margin-bottom: 0px;
}
.chassis-rail{
  position:absolute;
  left:0;
  right:0;
  bottom: 48px;
  width: 100%;
  height:76px;
  z-index:1;
  pointer-events:none;
  overflow:visible;
  top: 60px;
}
@media(max-width:980px){
  .top-chassis{
    padding:8px 8px 16px !important;
  }
  .chassis-rail{
    height:64px;
    bottom:-2px;
  }
}
@media(max-width:620px){
  .chassis-rail{
    height:56px;
  }
}

.pieces.cut-md span {

background: linear-gradient(to right, #ffffff 0%, #ffffff 25%, #ffffff 50%, #cccccc 75%, #ffffff 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: brilloDorado 20s linear infinite;
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);

    
}


/* 2. ANIMACIONES GENERALES OPTIMIZADAS */
    @keyframes brilloDorado {
        0% { background-position: -200% center; }
        100% { background-position: 200% center; }
    }

    @keyframes flotarElegante {
        0%, 100% {
            transform: translateY(0);
            text-shadow: 0 0 0 rgba(255, 255, 255, 0);
        }
        50% {
            transform: translateY(-3px);
            text-shadow: 0 3px 6px rgba(255, 255, 255, 0.25);
        }
    }


/* ===== Integración dinámica Demo6 v7 ===== */
:root{
  --danger:#ff2b31;
  --warning:#ffd400;
  --muted:#a9bbc4;
}
html{scroll-padding-top:18px;}
body.no-scroll{overflow:hidden}
a{color:inherit}
button{border:0}
.contact-inner{text-decoration:none}
.is-empty{opacity:.55}

/* Intro de bienvenida Área 51 */
.alien-intro{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.84);backdrop-filter:blur(8px);opacity:0;visibility:hidden;overflow:auto;transition:opacity .22s ease,visibility .22s ease,backdrop-filter .22s ease}
.alien-intro.is-open{opacity:1;visibility:visible}.alien-intro.is-closing{opacity:0;backdrop-filter:blur(0)}.alien-intro.oculto{display:none!important}
.area51-intro-modal{position:relative;width:min(940px,95vw);display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);align-items:center;filter:drop-shadow(0 0 24px rgba(0,234,255,.28));opacity:1}
.alien-intro.is-open .area51-intro-modal{animation:area51ModalIn .62s cubic-bezier(.2,.8,.2,1) forwards}.alien-intro.is-closing .area51-intro-modal{animation:area51ModalOut .32s steps(1,end) forwards}
.area51-intro-alien{position:relative;min-height:430px;display:flex;align-items:flex-end;justify-content:center;overflow:visible;padding:4px 0 0}.area51-intro-alien img{position:relative;z-index:2;display:block;width:100%;max-width:430px;max-height:570px;object-fit:contain;object-position:center bottom;user-select:none;pointer-events:none;-webkit-user-drag:none;filter:drop-shadow(0 0 18px rgba(0,234,255,.08));opacity:0}.alien-intro.is-open .area51-intro-alien img{animation:area51AlienReveal .65s .08s both,area51AlienFloat 5s 1.1s ease-in-out infinite}.alien-intro.is-closing .area51-intro-alien img{animation:area51AlienGlitchOut .3s steps(1,end) forwards}.area51-alien-glow{position:absolute;z-index:1;left:13%;right:13%;bottom:1%;height:55%;background:radial-gradient(ellipse at 50% 70%,rgba(0,234,255,.22),rgba(0,234,255,.05) 42%,transparent 72%);filter:blur(12px);opacity:.8}
.area51-intro-window{position:relative;align-self:center;min-height:330px;padding:54px 42px 32px;background:linear-gradient(145deg,rgba(10,28,39,.98),rgba(3,10,15,.99));border:1px solid rgba(0,234,255,.82);clip-path:polygon(28px 0,100% 0,100% calc(100% - 28px),calc(100% - 28px) 100%,0 100%,0 28px);box-shadow:inset 0 0 0 1px rgba(141,250,255,.13),inset 0 0 50px rgba(0,234,255,.045);overflow:hidden;opacity:0}.alien-intro.is-open .area51-intro-window{animation:area51PanelReveal .52s .13s both}.alien-intro.is-closing .area51-intro-window{animation:area51PanelGlitchOut .3s steps(1,end) forwards}.area51-intro-window::before{content:"";position:absolute;inset:10px;border:1px solid rgba(0,234,255,.18);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);pointer-events:none}.area51-intro-window::after{content:"";position:absolute;left:-35%;top:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,234,255,.11),transparent);transform:skewX(-14deg);animation:area51Sweep 4.5s 1.4s ease-in-out infinite;pointer-events:none}.area51-edge{position:absolute;left:0;top:0;width:4px;height:100%;background:var(--cyan);box-shadow:0 0 18px var(--cyan);opacity:.75;animation:area51Flicker 2.8s infinite}.area51-tech-mark{position:absolute;left:18px;top:18px;display:flex;gap:5px;z-index:4}.area51-tech-mark span{display:block;width:20px;height:3px;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.area51-scanline{position:absolute;z-index:1;left:10px;right:10px;height:36px;top:-50px;background:linear-gradient(180deg,transparent,rgba(0,234,255,.08),rgba(141,250,255,.18),transparent);mix-blend-mode:screen;pointer-events:none}.alien-intro.is-open .area51-scanline{animation:area51Scan 2.15s .35s linear infinite}
.area51-intro-close{position:absolute;top:14px;right:14px;z-index:9;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(0,234,255,.72);background:#08141c;color:var(--cyan);cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:.16s ease}.area51-intro-close:hover{background:var(--cyan);color:#031015;box-shadow:0 0 18px var(--cyan)}
.area51-intro-badge{position:relative;z-index:3;display:inline-flex;align-items:center;gap:8px;margin-bottom:11px;color:var(--green);font-family:"Cyber",Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.area51-intro-badge i{color:var(--cyan)}.area51-copy-wrap{position:relative;z-index:3}.area51-intro-title{position:relative;margin:0 0 12px;font:700 clamp(27px,3.8vw,43px)/.98 "Nulshock",Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em;color:#effcff;min-height:1.05em}.area51-intro-title .intro-cyan{color:var(--cyan);text-shadow:0 0 14px rgba(0,234,255,.45)}.intro-type-cursor{display:inline-block;width:2px;height:.9em;margin-left:4px;vertical-align:-.05em;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:area51Cursor .72s steps(1) infinite}.intro-type-cursor.is-finished{opacity:0!important;animation:none!important}.area51-intro-copy{position:relative;margin:0;color:#a9c3cc;font-family:"Cyber",Arial,sans-serif;font-size:clamp(17px,1.7vw,20px);line-height:1.35;max-width:520px;min-height:2.7em;letter-spacing:.015em}
.area51-glitch-layer{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;mix-blend-mode:screen;overflow:hidden}.area51-glitch-layer h2{margin:0 0 12px;font:700 clamp(27px,3.8vw,43px)/.98 "Nulshock",Arial,sans-serif;text-transform:uppercase;letter-spacing:.02em;color:#ff4f71;text-shadow:3px 0 var(--cyan),-3px 0 #ff335f}.area51-glitch-layer h2 span{color:var(--cyan)}.area51-glitch-layer p{margin:0;color:#9ff8ff;font-family:"Cyber",Arial,sans-serif;font-size:clamp(17px,1.7vw,20px);line-height:1.35}.area51-intro-window.glitching .area51-glitch-layer{opacity:.84;animation:area51GlitchSlices .48s steps(1,end)}.area51-intro-window.glitching{animation:area51PanelJolt .48s steps(1,end)}
.area51-intro-late{position:relative;z-index:3;opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease}.area51-intro-late.is-visible{opacity:1;transform:none}.area51-mini-flow{margin-top:16px;display:flex;gap:14px;flex-wrap:wrap;color:#dffcff;font-family:"Cyber",Arial,sans-serif;font-size:15px}.area51-mini-flow span{display:inline-flex;align-items:center;gap:7px}.area51-mini-flow i{color:var(--cyan)}.area51-intro-actions{margin-top:20px;display:flex;justify-content:flex-end}.area51-ok-btn{min-width:130px;height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--cyan);background:linear-gradient(180deg,#12313e,#07131b);color:#fff;font:700 13px "Nulshock",Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);box-shadow:0 0 18px rgba(0,234,255,.18),inset 0 0 16px rgba(0,234,255,.06);transition:.16s ease;position:relative;overflow:hidden;animation:area51ButtonPulse 2.2s 1.8s ease-in-out infinite}.area51-ok-btn::after{content:"";position:absolute;top:-30%;bottom:-30%;width:36px;left:-60px;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:area51BtnSweep 1.8s .5s ease-in-out infinite}.area51-ok-btn i{color:var(--cyan)}.area51-ok-btn:hover{background:var(--cyan);color:#031015;box-shadow:0 0 25px rgba(0,234,255,.8)}.area51-ok-btn:hover i{color:#031015}
@keyframes area51ModalIn{0%{opacity:0;transform:translateY(14px) scale(.985)}45%{opacity:1;transform:translateY(-2px) scale(1.003)}100%{opacity:1;transform:none}}@keyframes area51ModalOut{0%{opacity:1;transform:none}18%{transform:translateX(-3px)}33%{transform:translateX(4px);filter:brightness(1.3)}48%{transform:translateX(-2px)}68%{opacity:.7;clip-path:inset(38% 0 45% 0)}100%{opacity:0;clip-path:inset(50% 0 50% 0);transform:scale(.97)}}@keyframes area51AlienReveal{0%{opacity:0;transform:translateX(-28px);filter:blur(2px)}100%{opacity:1;transform:none;filter:none}}@keyframes area51AlienFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes area51AlienGlitchOut{0%{opacity:1;transform:none}20%{transform:translateX(-5px);filter:hue-rotate(35deg)}40%{transform:translateX(4px)}65%{opacity:.65;clip-path:inset(20% 0 45% 0)}100%{opacity:0;transform:translateX(-28px);clip-path:inset(50% 0 50% 0)}}@keyframes area51PanelReveal{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-18px)}55%{opacity:1}100%{opacity:1;clip-path:inset(0 0 0 0);transform:none}}@keyframes area51PanelGlitchOut{0%{opacity:1;transform:none}12%{transform:translateX(-3px)}25%{transform:translateX(4px)}42%{transform:translateX(-2px);filter:brightness(1.4)}58%{clip-path:polygon(0 0,100% 0,100% 36%,0 36%)}73%{clip-path:polygon(0 56%,100% 56%,100% 78%,0 78%);opacity:.75}100%{clip-path:polygon(0 49%,100% 49%,100% 51%,0 51%);opacity:0}}@keyframes area51Sweep{0%,18%{left:-38%;opacity:0}30%{opacity:1}55%{left:118%;opacity:.8}56%,100%{left:118%;opacity:0}}@keyframes area51Scan{0%{top:-50px;opacity:0}10%{opacity:1}85%{opacity:.75}100%{top:calc(100% + 30px);opacity:0}}@keyframes area51Flicker{0%,18%,22%,24%,55%,100%{opacity:.76}20%,23%,57%{opacity:.2}21%,56%{opacity:1}}@keyframes area51Cursor{0%,48%{opacity:1}49%,100%{opacity:0}}@keyframes area51ButtonPulse{0%,100%{box-shadow:0 0 15px rgba(0,234,255,.18)}50%{box-shadow:0 0 28px rgba(0,234,255,.58),0 0 8px rgba(0,234,255,.8) inset}}@keyframes area51BtnSweep{0%,45%{left:-60px}70%,100%{left:calc(100% + 60px)}}@keyframes area51PanelJolt{0%{transform:none}10%{transform:translateX(-2px)}20%{transform:translateX(3px)}35%{transform:translateX(-1px)}50%{transform:none}70%{filter:brightness(1.3)}100%{filter:none}}@keyframes area51GlitchSlices{0%{clip-path:polygon(0 2%,100% 2%,100% 13%,0 13%);transform:translate(-4px,0)}15%{clip-path:polygon(0 38%,100% 38%,100% 52%,0 52%);transform:translate(4px,0)}30%{clip-path:polygon(0 70%,100% 70%,100% 83%,0 83%);transform:translate(-3px,0)}45%{clip-path:polygon(0 18%,100% 18%,100% 31%,0 31%);transform:translate(2px,0)}60%{clip-path:polygon(0 55%,100% 55%,100% 66%,0 66%);transform:translate(-2px,0)}75%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translate(1px,0);opacity:.4}100%{clip-path:polygon(0 0,100% 0,100% 0,0 0);transform:none;opacity:0}}
@media(max-width:760px){.alien-intro{padding:10px;overflow:auto;align-items:start}.area51-intro-modal{width:min(560px,100%);grid-template-columns:1fr;margin:18px auto}.area51-intro-alien{min-height:235px;height:270px}.area51-intro-alien img{max-width:285px;max-height:295px}.area51-intro-window{min-height:0;padding:50px 22px 24px;margin-top:-10px}.area51-intro-title,.area51-glitch-layer h2{font-size:clamp(23px,7vw,33px)}.area51-intro-copy,.area51-glitch-layer p{font-size:16px;min-height:2.7em}.area51-mini-flow{font-size:14px;gap:10px}.area51-intro-actions{justify-content:stretch}.area51-ok-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.alien-intro,.area51-intro-modal,.area51-intro-alien img,.area51-intro-window,.area51-scanline,.area51-edge,.area51-ok-btn,.area51-ok-btn::after{animation:none!important;transition:none!important}.alien-intro.is-open{opacity:1}.alien-intro.is-open .area51-intro-modal,.alien-intro.is-open .area51-intro-alien img,.alien-intro.is-open .area51-intro-window{opacity:1;transform:none;filter:none;clip-path:none}}

/* El encabezado real usa botones para conservar toda la lógica del carrito */
.basket-top{border:0;width:100%;height:100%;cursor:pointer;background:transparent!important}
.header-btn-shape .frame-inner{width:100%}
.cart-wrap .badge{pointer-events:none}

/* Navegación lateral dinámica */
.side-item{width:100%;border:0;color:var(--white);font-family:Arial,Helvetica,sans-serif;text-align:left}
.side-item.active{color:#fff}
.side-item.active i{color:var(--pink)!important}
.drawer-backdrop{
  position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.62);
  opacity:0;visibility:hidden;transition:.2s ease;
}
.drawer-backdrop.open{opacity:1;visibility:visible}
.side-menu.drawer{transform:translateX(-105%)}
.side-menu.drawer.open{transform:translateX(0)}
.drawer-caption{margin:18px 0 9px;color:var(--cyan);font:700 11px "Nulshock",Arial,sans-serif;letter-spacing:.12em}
.drawer-link{
  min-height:48px;margin-bottom:8px;padding:0 15px;
  display:flex;align-items:center;gap:13px;
  text-decoration:none;color:#fff;border:1px solid #4d6672;
  background:#182c35;font-size:13px;font-weight:700;
}
.drawer-link i{width:25px;color:var(--cyan);text-align:center}

/* Secciones reales del catálogo */
.category-section{scroll-margin-top:18px;margin:0 0 22px}
.category-section + .category-section{padding-top:4px}
.product-grid{display:grid}
.product-card{cursor:pointer}
.product-card:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.product-card.in-cart .basket-frame{filter:drop-shadow(0 0 7px rgba(255,0,196,.7))}
.product-card.in-cart .basket-inner i{color:var(--pink)!important}

/* Acento por producto tomado del color configurado en el panel */
.pieces-wrap{
  filter:drop-shadow(0 0 4px var(--accent)) drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 45%,transparent));
}
.pieces{
  border-color:color-mix(in srgb,var(--accent) 72%,#fff 28%)!important;
  box-shadow:inset 0 0 16px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.08),0 0 10px color-mix(in srgb,var(--accent) 34%,transparent)!important;
}
.pieces::before{background:linear-gradient(180deg,rgba(255,255,255,.09),transparent 38%),radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 12%,transparent),transparent 72%)!important}
.product-cart-button{padding:2px;cursor:pointer;border:0}
.product-cart-button .basket-inner{width:100%}
.product-media.mode-cover img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important}
.product-media.mode-contain img{object-fit:contain!important}
.product-placeholder{width:100%;height:100%;display:grid;place-content:center;gap:8px;text-align:center;color:var(--cyan);font-size:34px}
.product-placeholder small{font:700 10px "Nulshock",Arial,sans-serif;letter-spacing:.18em;color:#dfe9ed}

/* Información, mapa y contacto */
.info-frame{padding:10px 0 4px;margin-top:28px}
.location-section iframe{width:100%;height:390px;border:1px solid #526a76;background:#0d1920;display:block;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px)}
.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:12px 8px 22px}
.cyber-action,.neon-button,.add-button,.button{
  min-height:48px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  text-decoration:none;border:1px solid var(--cyan);color:#fff;background:linear-gradient(180deg,#1d3440,#0d1c23);
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
  font:700 13px "Nulshock",Arial,sans-serif;cursor:pointer;box-shadow:inset 0 0 18px rgba(17,235,248,.08),0 0 10px rgba(17,235,248,.12)
}
.cyber-action.green,.neon-button.green{border-color:var(--green);color:#dffffa}
.cyber-action.pink,.neon-button.magenta{border-color:var(--pink)}

/* Modales del sistema, rediseñados dentro del lenguaje visual de la maqueta */
.modal-shell{
  position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;
  background:rgba(0,6,10,.82);opacity:0;visibility:hidden;transition:.18s ease;overflow:auto
}
.modal-shell.open{opacity:1;visibility:visible}
.modal-card-wrap{position:relative;width:min(80vw,940px);max-width:100%;padding-top:18px}
.modal-card{
  position:relative;
  width:100%;
  max-height:88vh;
  overflow-y:auto;
  overflow-x:hidden;
  min-width:0;
  color:#f5f8fa;
  background:linear-gradient(180deg,#233944,#101f27 72%,#0b171d);
  border:1px solid #5c7480;
  box-shadow:0 28px 90px rgba(0,0,0,.62),0 0 28px rgba(17,235,248,.09);
  scrollbar-width:thin;
  scrollbar-color:#607985 transparent
}
.modal-card::-webkit-scrollbar{width:7px}.modal-card::-webkit-scrollbar-track{background:transparent}.modal-card::-webkit-scrollbar-thumb{background:#607985;border-radius:10px}
.modal-card,.modal-card-wrap,#productModalBody,.modal-media,.modal-product-copy,.quantity-row,.modal-price-summary{min-width:0;max-width:100%}
#productModalBody>*{min-width:0;max-width:100%}
.modal-close{position:absolute;right:-14px;top:0;z-index:8;width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--cyan);background:#07161d;color:var(--cyan);cursor:pointer;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);box-shadow:inset 0 0 0 1px rgba(122,255,255,.28),0 0 0 1px rgba(17,235,248,.34),0 0 18px rgba(17,235,248,.18)}
.modal-close::before{content:"";position:absolute;inset:3px;border:1px solid rgba(122,255,255,.55);clip-path:inherit;pointer-events:none}.modal-close i{font-size:20px}
#productModalBody{display:grid;grid-template-columns:minmax(260px,.82fr) 1.18fr;min-height:500px}
.modal-media{min-width:0;background:#0a171d;display:grid;grid-template-rows:1fr auto}
.modal-product-image{height:360px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,rgba(26,95,121,.22),transparent 60%),#0c1b22}
.modal-product-image img{width:100%;height:100%;object-fit:cover}.modal-product-image.mode-contain img{object-fit:contain}.modal-product-image.mode-cover img{object-fit:cover}
.modal-product-image video,.modal-product-image iframe{width:100%;height:100%;border:0;background:#000;object-fit:contain}
.media-carousel{position:relative}.media-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(7,18,24,.82);display:grid;place-items:center;color:#fff;cursor:pointer}.media-nav.prev{left:12px}.media-nav.next{right:12px}.media-dots{display:flex;justify-content:center;gap:9px;padding:12px 14px;background:#09161c}.media-dot{width:10px;height:10px;border-radius:999px;border:1px solid #8ac7d0;background:#11232b;cursor:pointer;padding:0}.media-dot.active{background:var(--cyan);box-shadow:0 0 8px rgba(17,235,248,.65)}
.modal-product-copy{padding:26px 24px 22px}.modal-product-copy .eyebrow{margin:0 0 8px;color:var(--cyan);font:700 10px "Nulshock",Arial,sans-serif;letter-spacing:.16em}.modal-title-block{display:grid;gap:7px;margin:0 36px 10px 0}.modal-title-block h2{margin:0;padding:8px 11px;background:var(--product-title-bg,#ff00c4);color:#050708;font:700 15px "Nulshock",Arial,sans-serif}.modal-title-block>strong{color:var(--product-title-bg,#ff00c4);font:700 26px "Nulshock",Arial,sans-serif;line-height:1;text-transform:uppercase}
.description{font:600 13px/1.42 Arial,Helvetica,sans-serif;color:#eef5f7}.description-accent{font-weight:400}
.option-list{display:grid;gap:6px;margin:14px 0}.option-row{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid #49616d;background:#132832;cursor:pointer}.option-row:has(input:checked){border-color:var(--green);box-shadow:inset 3px 0 var(--green)}.option-row input{accent-color:var(--green)}.option-row b{color:var(--green);font-family:"Nulshock",Arial,sans-serif;font-size:13px}
.quantity-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #415864;font-weight:700}.quantity-stepper{display:grid;grid-template-columns:38px 50px 38px}.quantity-stepper button,.quantity-stepper input{height:38px;border:1px solid var(--cyan);background:#0b1c23;color:#fff;text-align:center;font-weight:800}.quantity-stepper button{cursor:pointer;color:var(--cyan)}.quantity-stepper input{width:50px;border-left:0;border-right:0;-moz-appearance:textfield}.quantity-stepper input::-webkit-outer-spin-button,.quantity-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sauce-picker{display:none!important}
.extras-picker{border-top:1px solid #415864;padding:12px 0 0}.extras-picker-title h3{margin:0;color:var(--cyan);font:700 14px "Nulshock",Arial,sans-serif}.extras-picker-title p{margin:5px 0 10px;color:#c6d3d8;font-size:11px;line-height:1.35}.extra-option-list{display:grid;gap:6px}.extra-option-row{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;border:1px solid #455e69;background:#11242d;padding:9px;cursor:pointer}.extra-option-row:has(input:checked){border-color:var(--pink);box-shadow:inset 3px 0 var(--pink)}.extra-option-row input{accent-color:var(--green)}.extra-option-row b{color:var(--green);font-size:12px}
.modal-action-row{
  display:grid;
  grid-template-columns:minmax(130px,180px) minmax(220px,1fr);
  gap:12px;
  align-items:stretch;
  margin-top:14px;
}
.modal-action-row .quantity-row{
  margin:0;
  padding:0;
  border-top:0;
  min-width:0;
}
.modal-action-row .quantity-row>strong{display:none}
.modal-action-row .quantity-stepper{
  width:100%;
  max-width:none;
  grid-template-columns:42px minmax(48px,1fr) 42px;
}
.modal-action-row .quantity-stepper button,
.modal-action-row .quantity-stepper input{
  height:48px;
}
.modal-action-row #confirmAddProduct{
  margin-top:0;
  min-height:48px;
  height:48px;
}

#confirmAddProduct{
  width:100%;
  margin-top:14px;
  border-color:var(--cyan);
  background:linear-gradient(180deg,#35f6ff 0%,#11ebf8 48%,#00c9db 100%)!important;
  color:#031014!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 0 16px rgba(17,235,248,.28)!important;
}
#confirmAddProduct i{color:#031014!important}
.upsell-modal{padding:24px}.upsell-head{display:grid;gap:8px;margin-right:34px}.upsell-head h2{margin:0;font:700 28px "Nulshock",Arial,sans-serif;color:var(--cyan)}.upsell-head p{margin:0;color:#d7e1e5}.upsell-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px}.upsell-item{border:1px solid #3e5b66;background:#0e2028;padding:12px;display:grid;gap:10px}.upsell-item-media{height:130px;display:grid;place-items:center;background:#08141a;overflow:hidden}.upsell-item-media img{width:100%;height:100%;object-fit:cover}.upsell-item-copy{display:grid;gap:4px}.upsell-item-copy strong{font-size:14px}.upsell-item-copy span{color:#b7c7cd;font-size:12px;line-height:1.35}.upsell-item-copy b{color:var(--green);font:700 18px "Nulshock",Arial,sans-serif}.upsell-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:18px}.upsell-dismiss{border-color:#657d88;color:#dce8ed;background:#10202a}

/* Carrito */
.cart-modal{width:100%;padding:34px 28px 28px}.cart-modal h2{margin:0 50px 20px 0;font-size:28px;color:#fff}
#cartItems{display:grid;gap:9px}.empty-cart{padding:28px 16px;text-align:center;border:1px solid #425a65;background:#10232b;display:grid;gap:8px}.empty-cart i{font-size:30px;color:var(--cyan)}
.cart-item{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #425b67;background:#11242d}.cart-thumb{width:78px;height:70px;display:grid;place-items:center;background:#071318;overflow:hidden}.cart-thumb img{width:100%;height:100%;object-fit:contain}.cart-item-copy{display:grid;gap:4px}.cart-item-copy b{font-size:13px}.cart-item-copy span,.cart-item-copy small{color:#bccbd2;font-size:11px;line-height:1.35}.cart-item-end{display:grid;justify-items:end;gap:8px}.cart-item-end b{color:var(--green);font-family:"Nulshock",Arial,sans-serif}.cart-item-end button{border:1px solid #6b4450;background:#24151b;color:#ff8fa3;padding:7px 9px;cursor:pointer}
.cart-total{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:15px 0;padding:14px 0;border-top:1px solid #526a75;border-bottom:1px solid #526a75}.cart-total strong{font:700 23px "Nulshock",Arial,sans-serif;color:var(--green)}
.checkout-form{display:grid;gap:13px}.checkout-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.checkout-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #516a75;background:#0d1d24;color:#fff;outline:0}.checkout-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(17,235,248,.08)}.checkout-form small{color:#a7b8c0;font-weight:400}.form-status{margin:0;font-size:12px}.toast{position:fixed;left:50%;bottom:112px;z-index:150;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:11px 16px;background:#08161c;color:#fff;border:1px solid var(--green);font-weight:700;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}

/* Páginas auxiliares que comparten app.css */
.site-header.simple-header{min-height:88px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#314651,#1b2e38);border-bottom:1px solid #526a75}.site-header.simple-header .brand img{max-width:250px;max-height:72px;object-fit:contain}
.branches-page,.order-page{width:min(1100px,calc(100% - 28px));margin:30px auto 70px}.hero.compact,.order-card{padding:32px;background:linear-gradient(180deg,#243945,#11242c);border:1px solid #526b76;clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px)}.hero.compact{text-align:center;margin-bottom:18px}.hero .eyebrow,.order-card .eyebrow{color:var(--cyan);font:700 11px "Nulshock",Arial,sans-serif;letter-spacing:.16em}.hero h1,.order-card h1{font-family:"Nulshock",Arial,sans-serif}.branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.branch-card{padding:22px;background:linear-gradient(180deg,#213640,#11232b);border:1px solid #4f6772;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}.branch-card h2{font-family:"Nulshock",Arial,sans-serif;margin:5px 0}.branch-card p{color:#c2d0d5}.branch-card .badge{position:static;display:inline-grid;width:auto;height:auto;padding:6px 9px;font-size:10px}.site-footer{min-height:100px;display:flex;justify-content:center;align-items:center;gap:16px;border-top:1px solid #405863;background:#0d1b22;color:#94a8b1;font-size:12px}.site-footer img{max-width:160px;max-height:62px;object-fit:contain}.order-items{display:grid;gap:8px;margin:20px 0}.order-items article{display:flex;justify-content:space-between;gap:15px;padding:13px;border:1px solid #415a66;background:#10232b}.order-items article>div{display:grid;gap:4px}.order-items span,.order-items small{color:#b5c5cc}

/* Scrollbars discretas */
*{scrollbar-width:thin;scrollbar-color:#526b76 transparent;}
*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#526b76;border-radius:8px}

@media(max-width:980px){
  .category-section{scroll-margin-top:8px}
  .info-frame{padding-left:7px;padding-right:7px}
  .location-section iframe{height:330px}
  .products{grid-template-columns:repeat(var(--mobile-product-columns,2),minmax(0,1fr))}
  #productModalBody{grid-template-columns:1fr}.modal-product-image{height:300px}.modal-product-copy{padding:20px 18px 18px}.modal-card-wrap{width:min(80vw,940px)}
  .branch-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .modal-shell{padding:8px;overflow-x:hidden}
  .modal-card-wrap{width:min(84vw,calc(100vw - 24px));max-width:calc(100vw - 24px);padding-top:16px}
  .modal-card{max-height:calc(100vh - 108px);overflow-y:auto!important;overflow-x:hidden!important}
  .modal-close{right:-6px;width:46px;height:46px}
  #productModalBody{width:100%;max-width:100%;overflow:hidden}
  .modal-product-image{height:190px}
  .modal-product-copy{width:100%;max-width:100%;padding:14px 12px 14px;overflow:hidden;display:grid;grid-template-columns:minmax(0,118px) minmax(0,1fr);gap:10px 12px;align-items:end}
  .modal-product-copy>.eyebrow,.modal-product-copy>.modal-title-block,.modal-product-copy>.description,.modal-product-copy>.option-list,.modal-product-copy>.sauce-picker,.modal-product-copy>.extras-picker,.modal-product-copy>.modal-price-summary{grid-column:1/-1}
  .modal-title-block{margin-right:18px;max-width:calc(100% - 18px)}
  .modal-title-block h2{padding:7px 9px;font-size:13px}
  .modal-title-block>strong{font-size:21px;overflow-wrap:anywhere}
  .description{font-size:11px;line-height:1.32;margin-bottom:0;overflow-wrap:anywhere}
  .option-row{grid-template-columns:16px minmax(0,1fr) auto;padding:8px 7px;font-size:11px}
  .option-row b{font-size:11px}
  .quantity-row{grid-column:1;display:block;padding:0;font-size:12px;min-width:0;width:100%;border-top:0;align-self:end}
  .quantity-row>strong{display:none}
  .quantity-stepper{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;max-width:none;width:100%;flex:0 0 auto}
  .quantity-stepper button,.quantity-stepper input{height:46px;min-width:0}
  .quantity-stepper input{width:100%}
  .modal-price-summary{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:2px}
  .modal-price-summary>span{min-width:0;padding:5px 8px}
  .modal-price-summary small{min-width:0;font-size:9px}
  .modal-price-summary b{font-size:15px}
  #confirmAddProduct{grid-column:2;margin-top:0;min-height:46px;height:46px;align-self:end}
  .media-nav{width:34px;height:34px}
  .media-dots{padding:9px 10px;margin-top:-30px;z-index:9;background-color:transparent!important}
  .extra-option-row{grid-template-columns:18px minmax(0,1fr) auto;padding:8px 7px;font-size:11px}
  .cart-modal{padding:28px 12px 18px}.cart-item{grid-template-columns:58px minmax(0,1fr);}.cart-thumb{width:58px;height:56px}.cart-item-end{grid-column:2;grid-template-columns:1fr auto;align-items:center;justify-items:end}.cart-item-end b{justify-self:start}
  .location-section iframe{height:270px}
  .branches-page,.order-page{width:min(100% - 14px,1100px);margin-top:14px}.hero.compact,.order-card{padding:22px 15px}
  .upsell-head h2{font-size:22px}.upsell-grid{grid-template-columns:1fr}.upsell-actions{grid-template-columns:1fr}
}
.hidden{display:none!important}
.no-category-nav .sidebar{display:none!important}
.hidden{display:none!important}
.cart-item>div:nth-child(2){display:grid;gap:4px;min-width:0}.cart-item>div:nth-child(2) span,.cart-item>div:nth-child(2) small{color:#bccbd2;font-size:11px;line-height:1.35}

/* Demo 6 v8: descripción opcional dentro del bloque de producto. */
.product-card-description{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.4;font-weight:600;color:#e8f4f8;max-height:78px;overflow:auto;padding:2px 4px 0}
.product-card-description .description-accent{font-weight:400}
@media(max-width:760px){.product-card-description{font-size:10px;max-height:58px}}
.cart-item-end button{background:#d92f46!important;border:1px solid #ff6579!important;color:#fff!important}.cart-item-end button i{color:#fff!important}.cart-item-end button:hover{background:#f0445b!important;color:#fff!important}


/* v11 correcciones */
.product-card{position:relative}
.product-whatsapp-button{position:absolute;top:10px;right:10px;width:42px;height:42px;border-radius:999px;border:2px solid #25d366;background:#08141b;display:grid;place-items:center;color:#25d366;z-index:4;box-shadow:0 0 10px rgba(37,211,102,.18);cursor:pointer}
.product-whatsapp-button i{font-size:22px}
.product-whatsapp-button:hover{background:#0f2118}
.product-card.in-cart .basket-frame{box-shadow:0 0 0 1px var(--pink),0 0 10px rgba(255,0,196,.32)}
.product-card.in-cart .basket-frame,.product-card.in-cart .basket-inner{border-color:var(--pink)!important}
.product-card.in-cart .basket-inner i{color:var(--pink)!important}
.contact-hours-block{margin-top:18px;padding:16px 18px;border:1px solid #3f5c69;background:linear-gradient(180deg,#172b34 0%,#0e1d24 100%);color:#eef5f8;text-align:center}
.contact-hours-block h3{margin:0 0 8px;font-family:'Nulshock',Arial,sans-serif;color:var(--cyan);font-size:17px}
.contact-hours-block p{margin:0;line-height:1.5}
@media(min-width:981px){
  body.catalog-body{padding-top:132px}
  .top-chassis{position:fixed;top:0;left:0;right:0;z-index:75}
  .desktop-layout{display:block;padding:0 16px 18px}
  .sidebar{position:fixed;top:148px;left:16px;width:270px;max-height:calc(100vh - 162px);overflow:auto;z-index:60}
  .right-column{margin-left:284px}
  body.no-category-nav .right-column{margin-left:0}
}
@media(max-width:980px){
  body.catalog-body{padding-top:154px}
  .top-chassis{position:fixed;top:0;left:0;right:0;z-index:75}
}


/* ===== v12: carrito, modal y movimiento ===== */
.product-frame,.product-card,.product-media,.product-media img{
  transform:none!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
.product-frame:hover,.product-card:hover,.product-media:hover,.product-frame:hover .product-media{
  transform:none!important;
  filter:none!important;
}
.product-frame:hover .product-info{
  box-shadow:inset 0 0 0 1px #243942,inset 0 0 0 4px #152730,0 6px 22px #000!important;
}
.modal-media{display:flex;flex-direction:column;min-width:0}
.modal-product-image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  min-height:0!important;
  background:#05090c!important;
}
.modal-product-image img,
.modal-product-image.mode-cover img,
.modal-product-image.mode-contain img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#05090c!important;
}
.modal-thumbs img{object-fit:contain!important;background:#05090c}
.modal-price-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0 2px}
.modal-price-summary>span{min-height: 38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding: 5px 12px;background:#0a1c24;border:1px solid #36535f}
.modal-price-summary small{display:flex;gap:6px;align-items:center;color:#b8c9d0;font: 700 10px Arial,sans-serif;letter-spacing:.08em}
.modal-price-summary em{font-style:normal;color:var(--cyan)}
.modal-price-summary b{color:var(--green);font:700 17px "Nulshock",Arial,sans-serif;white-space:nowrap}
.fly-to-cart-clone{box-shadow:0 12px 34px rgba(0,0,0,.55),0 0 20px rgba(17,235,248,.25);border:1px solid rgba(17,235,248,.72)}
#cartButton.cart-impact{animation:sa51CartImpact .5s ease}
@keyframes sa51CartImpact{0%{filter:brightness(1);transform:scale(1)}45%{filter:brightness(1.8);transform:scale(1.15)}100%{filter:brightness(1);transform:scale(1)}}
@media(max-width:980px){.modal-product-image{height:auto!important;aspect-ratio:1/1!important}}
@media(max-width:620px){.modal-product-image{height:auto!important;aspect-ratio:1/1!important}.modal-price-summary{/* grid-template-columns: 0fr; */}}

/* ===== v13: header responsivo, tarjetas, modal y carrito ===== */
/* Header: usa las tres imágenes suministradas desde /img-header/ */
.top-chassis{
  width:100vw!important;
  max-width:none!important;
  background-color:#122a35!important;
  background-image:url('/img-header/bg-sa51-01.png')!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:100% 100%!important;
}
.chassis-rail{display:none!important}
@media(max-width:1200px){
  .top-chassis{background-image:url('/img-header/bg-sa51-02.png')!important}
}
@media(max-width:620px){
  .top-chassis{background-image:url('/img-header/bg-sa51-03.png')!important}
}

/* Las imágenes de los bloques quedan cuadradas y sin zoom/flotación. */
.product-frame,.product-card,.product-media,.product-media img{
  transform:none!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
.product-frame:hover,.product-card:hover,.product-media:hover,.product-frame:hover .product-media,
article.product-frame:hover,article.product-frame:hover .product-media{
  transform:none!important;
  filter:none!important;
}
.product-media{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  padding:0!important;
  overflow:hidden!important;
}
.product-media img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-position:center center!important;
}
.product-media.mode-contain img{object-fit:contain!important}
.product-media.mode-cover img{object-fit:cover!important}

/* WhatsApp más discreto en la esquina superior derecha. */
.product-whatsapp-button{
  top:8px!important;
  right:8px!important;
  width:32px!important;
  height:32px!important;
  border-width:1.5px!important;
}
.product-whatsapp-button i{font-size:16px!important}

/* Producto agregado: borde exterior rosado y check sólido. */
.product-card.in-cart .basket-frame{
  background:var(--pink)!important;
  filter:drop-shadow(0 0 7px rgba(255,0,196,.65))!important;
}
.product-card.in-cart .basket-inner{
  background:#0c2028!important;
}
.product-card.in-cart .basket-inner i{
  color:var(--pink)!important;
  -webkit-text-fill-color:var(--pink)!important;
  -webkit-text-stroke:0!important;
  text-shadow:0 0 8px rgba(255,0,196,.35)!important;
}

/* Popup: la foto principal siempre es 1:1 y contain. */
.modal-product-image{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  min-height:0!important;
  background:#05090c!important;
}
.modal-product-image img,
.modal-product-image.mode-cover img,
.modal-product-image.mode-contain img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.option-list:empty{display:none!important}

/* Carrito: resumen y envío arriba, luego la lista. */
.cart-modal{width:min(820px,100%)!important}
.cart-summary-top{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);
  gap:14px;
  align-items:stretch;
  margin:0 0 18px;
  padding:0 0 16px;
  border-bottom:1px solid #526a75;
}
.cart-summary-top .cart-total{
  margin:0!important;
  min-height:62px;
  padding:12px 14px!important;
  border:1px solid #405b67!important;
  background:#0c2028;
}
.cart-summary-top .checkout-form{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  align-content:center;
}
.cart-summary-top .checkout-form .add-button{margin:0!important;min-height:54px}
.cart-summary-top .form-status{min-height:16px;color:#b9cad1}
#cartItems{display:grid;gap:9px}
.cart-item{
  grid-template-columns:78px minmax(0,1fr) auto!important;
  align-items:center!important;
}
.cart-item-copy{display:grid;gap:4px;min-width:0}
.cart-item-end{
  display:grid!important;
  grid-template-columns:auto auto;
  grid-template-areas:
    "subtotal subtotal"
    "qty remove";
  gap:8px!important;
  align-items:center;
  justify-content:end;
  min-width:190px;
}
.cart-item-end>b{grid-area:subtotal;justify-self:end}
.cart-quantity-stepper{
  grid-area:qty;
  display:grid;
  grid-template-columns:30px 38px 30px;
  align-items:center;
}
.cart-quantity-stepper button,.cart-quantity-stepper span{
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid var(--cyan);
  background:#091b22;
  color:#fff;
  font-weight:800;
}
.cart-quantity-stepper button{cursor:pointer;color:var(--cyan)}
.cart-quantity-stepper span{border-left:0;border-right:0;min-width:38px}
.cart-remove-button{grid-area:remove}
.cart-identity-note{
  margin:14px 0 0;
  padding-top:12px;
  border-top:1px solid #324b57;
  color:#91a8b2;
  font-size:11px;
  line-height:1.4;
}
.cart-identity-note i{color:var(--cyan);margin-right:6px}

@media(max-width:700px){
  .cart-summary-top{grid-template-columns:1fr;gap:8px}
  .cart-item{grid-template-columns:58px minmax(0,1fr)!important}
  .cart-thumb{width:58px!important;height:58px!important}
  .cart-item-end{
    grid-column:1/-1!important;
    grid-template-columns:1fr auto auto!important;
    grid-template-areas:"subtotal qty remove"!important;
    min-width:0;
  }
  .cart-item-end>b{justify-self:start}
  .cart-remove-button{padding:7px 8px!important;font-size:0!important}
  .cart-remove-button i{font-size:13px!important}
}


/* ===== Corrección móvil popup 2026-09-29 ===== */
@media(max-width:620px){
  #productModal.modal-shell{overflow-x:hidden!important}
  #productModal .modal-card-wrap{width:min(84vw,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}
  #productModal .modal-card{width:100%!important;max-width:100%!important;overflow-y:auto!important;overflow-x:hidden!important}
  #productModalBody,#productModalBody>*{width:100%;max-width:100%;min-width:0!important}
  #productModal .modal-product-copy{box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  #productModal .quantity-row{width:100%!important;max-width:100%!important;min-width:0!important;gap:8px}
  #productModal .modal-price-summary{width:100%!important;max-width:100%!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  #productModal .modal-price-summary>span{min-width:0!important;overflow:hidden}
  #productModal .modal-price-summary b{white-space:nowrap;font-size:15px}
  #productModal .description-accent{font-weight:400!important}
  #confirmAddProduct{background:linear-gradient(180deg,#35f6ff 0%,#11ebf8 48%,#00c9db 100%)!important;color:#031014!important}
}


/* ===== Ajustes carrito 2026-09-29 ===== */
/* El wrapper del carrito usa exactamente el ancho del cuadro para que la X quede en su esquina real. */
.cart-modal-wrap{
  width:min(80vw,820px)!important;
}
.cart-modal-wrap>.modal-close{
  right:-14px!important;
  top:0!important;
}

/* Botón principal de envío por WhatsApp: cyan sólido y legible. */
.cart-summary-top .checkout-form .add-button{
  background:linear-gradient(180deg,#59f7ff 0%,#11ebf8 52%,#00c9dc 100%)!important;
  border-color:#8dffff!important;
  color:#031116!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 18px rgba(17,235,248,.34)!important;
}
.cart-summary-top .checkout-form .add-button i{
  color:#031116!important;
  -webkit-text-fill-color:currentColor!important;
}
.cart-summary-top .checkout-form .add-button:hover{
  filter:brightness(1.06);
}

/* Controles + y - del canasto con fondo cyan. */
.cart-quantity-stepper button{
  background:var(--cyan)!important;
  border-color:var(--cyan-core)!important;
  color:#031116!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 0 8px rgba(17,235,248,.20);
}
.cart-quantity-stepper button i{
  color:#031116!important;
  -webkit-text-fill-color:currentColor!important;
}
.cart-quantity-stepper button:hover{
  background:var(--cyan-core)!important;
}

@media(max-width:700px){
  .cart-modal-wrap{width:80vw!important;max-width:820px!important}
  .cart-modal-wrap>.modal-close{right:-10px!important;top:0!important}
}

/* ===== v14.2: controles de cantidad del popup de producto ===== */
.quantity-stepper button{
  background:var(--cyan)!important;
  border-color:var(--cyan-core)!important;
  color:#031116!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 8px rgba(17,235,248,.2)!important;
}
.quantity-stepper button i{
  color:#031116!important;
  -webkit-text-fill-color:currentColor!important;
}
.quantity-stepper button:hover{
  background:var(--cyan-core)!important;
}


@media(max-width:620px){
  .modal-product-copy{
    display:block!important;
  }
  .modal-product-copy>.eyebrow,
  .modal-product-copy>.modal-title-block,
  .modal-product-copy>.description,
  .modal-product-copy>.option-list,
  .modal-product-copy>.sauce-picker,
  .modal-product-copy>.extras-picker,
  .modal-product-copy>.modal-price-summary{
    width:100%;
  }
  .modal-action-row{
    display:grid!important;
    grid-template-columns:110px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:stretch!important;
    width:100%!important;
    margin-top:12px!important;
  }
  .modal-action-row .quantity-row{
    display:block!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
  }
  .modal-action-row .quantity-row>strong{
    display:none!important;
  }
  .modal-action-row .quantity-stepper{
    display:grid!important;
    grid-template-columns:38px minmax(34px,1fr) 38px!important;
    width:100%!important;
    max-width:none!important;
  }
  .modal-action-row .quantity-stepper button,
  .modal-action-row .quantity-stepper input{
    height:46px!important;
    min-width:0!important;
  }
  .modal-action-row #confirmAddProduct{
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
  }
}



/* ===== v14.6: fila estructural cantidad + agregar ===== */
#productModal .modal-action-row{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:12px!important;
}
#productModal .modal-action-row .quantity-row{
  display:block!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#productModal .modal-action-row .quantity-row>strong{display:none!important}
#productModal .modal-action-row .quantity-stepper{
  display:grid!important;
  grid-template-columns:38px 36px 38px!important;
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
}
#productModal .modal-action-row .quantity-stepper button,
#productModal .modal-action-row .quantity-stepper input{
  width:auto!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
}
#productModal .modal-action-row .quantity-stepper input{
  width:36px!important;
}
#productModal .modal-action-row #confirmAddProduct{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  align-self:stretch!important;
}
@media(max-width:370px){
  #productModal .modal-action-row{
    grid-template-columns:104px minmax(0,1fr)!important;
    gap:8px!important;
  }
  #productModal .modal-action-row .quantity-row,
  #productModal .modal-action-row .quantity-stepper{
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
  }
  #productModal .modal-action-row .quantity-stepper{
    grid-template-columns:35px 34px 35px!important;
  }
  #productModal .modal-action-row .quantity-stepper input{width:34px!important}
}


/* ===== v14.7: ajuste fino popup producto ===== */

/* Escritorio: eliminar espacio inferior innecesario */
#productModalBody{
  min-height:0!important;
  align-items:start!important;
}
#productModal .modal-card{
  height:auto!important;
}
#productModal .modal-media{
  position:relative!important;
  display:block!important;
  align-self:start!important;
}

/* Indicadores del carrusel sobre la fotografía */
#productModal .media-dots{
  position:absolute!important;
  left:50%!important;
  bottom:14px!important;
  transform:translateX(-50%)!important;
  z-index:8!important;
  margin:0!important;
  padding:7px 10px!important;
  background:rgba(4,15,20,.30)!important;
  border-radius:999px!important;
  backdrop-filter:blur(2px);
}
#productModal .media-carousel{
  position:relative!important;
}
#productModal .modal-product-image{
  margin-bottom:0!important;
}

/* Más separación de seguridad entre + y AGREGAR */
#productModal .modal-action-row{
  grid-template-columns:112px minmax(180px,72%)!important;
  column-gap:22px!important;
  justify-content:start!important;
}
#productModal .modal-action-row #confirmAddProduct{
  width:100%!important;
  max-width:360px!important;
  justify-self:start!important;
}

/* Mantener proporción y separación en móvil */
@media(max-width:620px){
  #productModal .modal-action-row{
    grid-template-columns:112px minmax(0,1fr)!important;
    column-gap:18px!important;
  }
  #productModal .modal-action-row #confirmAddProduct{
    width:calc(100% - 6px)!important;
    max-width:none!important;
    margin-left:6px!important;
  }
  #productModal .media-dots{
    bottom:10px!important;
    margin:0!important;
  }
}

/* Pantallas muy angostas */
@media(max-width:370px){
  #productModal .modal-action-row{
    grid-template-columns:104px minmax(0,1fr)!important;
    column-gap:12px!important;
  }
  #productModal .modal-action-row #confirmAddProduct{
    margin-left:4px!important;
    width:calc(100% - 4px)!important;
  }
}


/* ===== v14.8: seguridad al editar cantidades del canasto ===== */
.cart-item-end{
  column-gap:18px!important;
}
.cart-remove-button{
  margin-left:10px!important;
}
@media(max-width:700px){
  .cart-item-end{
    grid-template-columns:1fr auto 18px auto!important;
    grid-template-areas:"subtotal qty . remove"!important;
    column-gap:10px!important;
  }
  .cart-remove-button{
    margin-left:0!important;
  }
}

/* Confirmación de eliminación */
.cart-remove-confirm{
  position:fixed;
  inset:0;
  z-index:1000000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.78);
}
.cart-remove-confirm-card{
  width:min(430px,calc(100vw - 32px));
  padding:22px;
  border:1px solid #58717c;
  background:linear-gradient(180deg,#213944,#10242c);
  color:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 22px rgba(17,235,248,.12);
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);
}
.cart-remove-confirm-card h3{
  margin:0 0 10px;
  color:var(--cyan);
  font:700 18px "Nulshock",Arial,sans-serif;
}
.cart-remove-confirm-card p{
  margin:0;
  line-height:1.45;
}
.cart-remove-confirm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.cart-remove-confirm-actions button{
  min-height:44px;
  cursor:pointer;
  font-weight:800;
  border:1px solid #607985;
}
.cart-remove-no{
  background:#132832;
  color:#fff;
}
.cart-remove-yes{
  background:#d92f46;
  border-color:#ff6579!important;
  color:#fff;
}


/* ===== v15.0: precios, CTA animado y página pública de pedido ===== */
#productModal .modal-price-summary #modalUnitPrice{
  font-size:13px!important;
  opacity:.92;
}
#productModal .modal-price-summary #modalQuantityTotal{
  font-size:22px!important;
  text-shadow:0 0 10px rgba(29,255,0,.18);
}
#modalQuantityTotal.value-flash{
  animation:sa51TotalFlash .48s ease-out;
}
@keyframes sa51TotalFlash{
  0%{transform:scale(1);filter:brightness(1);text-shadow:0 0 0 rgba(29,255,0,0)}
  35%{transform:scale(1.16);filter:brightness(1.8);text-shadow:0 0 16px rgba(29,255,0,.9),0 0 30px rgba(29,255,0,.5)}
  100%{transform:scale(1);filter:brightness(1);text-shadow:0 0 10px rgba(29,255,0,.18)}
}
#productModal #confirmAddProduct{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
  animation:sa51AddPulse 1.25s ease-in-out infinite!important;
}
#productModal #confirmAddProduct::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-35%;
  bottom:-35%;
  width:34%;
  left:-48%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),rgba(255,255,255,.9),rgba(255,255,255,.15),transparent);
  filter:blur(.2px);
  animation:sa51AddSweep 1s linear infinite;
}
@keyframes sa51AddPulse{
  0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 0 10px rgba(17,235,248,.28),0 0 0 rgba(17,235,248,0)!important}
  50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 0 22px rgba(17,235,248,.72),0 0 38px rgba(17,235,248,.32)!important}
}
@keyframes sa51AddSweep{0%{left:-48%}100%{left:118%}}

/* Página de canasta con el mismo lenguaje visual del menú */
.order-public-body{padding-bottom:0!important}
.order-page-v15{width:min(1120px,calc(100% - 28px));margin:22px auto 70px}
.order-branch-hero{
  margin-bottom:16px;
  padding:24px 28px;
  text-align:center;
  border:1px solid #47636f;
  background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 22%),linear-gradient(180deg,#203641,#10232b);
  box-shadow:0 12px 36px rgba(0,0,0,.24),inset 0 0 22px rgba(17,235,248,.04);
}
.order-branch-kicker{display:block;color:var(--cyan);font:700 11px "Nulshock",Arial,sans-serif;letter-spacing:.18em}
.order-branch-hero h1{margin:8px 0 6px;color:#fff;font:700 clamp(30px,5vw,56px) "Nulshock",Arial,sans-serif;text-shadow:0 0 16px rgba(17,235,248,.18)}
.order-branch-hero p{margin:0;color:#bcd0d8}
.order-page-v15 .order-card{padding:26px 28px;background:linear-gradient(180deg,#203641,#10232b);border:1px solid #526b76}
.order-heading-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.order-heading-row h2{margin:5px 0 4px;font:700 28px "Nulshock",Arial,sans-serif}
.order-heading-row p{margin:0;color:#b9c9d0}.order-heading-row .eyebrow{color:var(--cyan)}
.order-status-badge{padding:8px 12px;border:1px solid var(--green);color:var(--green);font:700 10px "Nulshock",Arial,sans-serif}
.order-items-with-images{display:grid;gap:9px}
.order-item-card{display:grid!important;grid-template-columns:82px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;padding:10px!important}
.order-item-thumb{width:82px;height:72px;display:grid;place-items:center;overflow:hidden;background:#061318;border:1px solid #2e4b56;color:var(--cyan)}
.order-item-thumb img{width:100%;height:100%;object-fit:contain}.order-item-copy{display:grid;gap:4px;min-width:0}.order-item-copy strong{font-size:14px}.order-item-copy span,.order-item-copy small{color:#afc2ca;font-size:11px;line-height:1.35}.order-item-subtotal{color:var(--green);font:700 17px "Nulshock",Arial,sans-serif;white-space:nowrap}
.order-grand-total{margin-top:15px}.order-lock-note{display:flex;gap:12px;align-items:flex-start;margin:16px 0;padding:13px 14px;border:1px solid #4b6570;background:#0a1d25}.order-lock-note>i{color:var(--cyan);margin-top:2px}.order-lock-note div{display:grid;gap:4px}.order-lock-note span{color:#b8c9d0;font-size:12px;line-height:1.4}
.order-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:12px}.order-repeat-button,.order-whatsapp-button{width:100%;min-height:52px}.order-repeat-button{background:linear-gradient(180deg,#35f6ff,#00cbdc)!important;color:#031014!important}.order-whatsapp-button{border-color:#25d366!important;color:#fff;background:linear-gradient(180deg,#173d2a,#0b2618)!important}
.order-page-v15+.site-footer{margin-top:0}
@media(max-width:980px){.order-public-body{padding-top:154px!important}.order-page-v15{margin-top:10px}.order-branch-hero h1{font-size:34px}}
@media(max-width:620px){
  .order-public-body{padding-top:154px!important}
  .order-page-v15{width:min(100% - 14px,1120px);margin-bottom:30px}
  .order-branch-hero{padding:18px 14px}.order-branch-hero h1{font-size:28px}
  .order-page-v15 .order-card{padding:18px 12px}
  .order-heading-row{display:grid}.order-heading-row h2{font-size:20px}.order-status-badge{justify-self:start}
  .order-item-card{grid-template-columns:64px minmax(0,1fr)!important;gap:10px!important}.order-item-thumb{width:64px;height:58px}.order-item-subtotal{grid-column:2;font-size:15px}
  .order-actions{grid-template-columns:1fr}.order-repeat-button,.order-whatsapp-button{min-height:50px;font-size:11px}
  #productModal .modal-price-summary #modalUnitPrice{font-size:12px!important}
  #productModal .modal-price-summary #modalQuantityTotal{font-size:19px!important}
}


/* ===== v15.3: producto no disponible en el canasto ===== */
.cart-item.is-unavailable{
  border-color:#ff4058!important;
  background:
    linear-gradient(180deg,rgba(120,10,24,.34),rgba(42,8,14,.42)),
    #11242d!important;
  box-shadow:inset 4px 0 0 #ff4058,0 0 18px rgba(255,40,66,.12);
  opacity:.72;
}
.cart-item.is-unavailable .cart-thumb,
.cart-item.is-unavailable .cart-item-copy,
.cart-item.is-unavailable .cart-item-end>b{
  filter:grayscale(.72) saturate(.35);
}
.cart-item.is-unavailable .cart-remove-button{
  opacity:1!important;
  filter:none!important;
}
.cart-item.is-unavailable .cart-quantity-stepper{
  opacity:.45;
}
.cart-item.is-unavailable .cart-quantity-stepper button{
  cursor:not-allowed!important;
}
.cart-unavailable-badge{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:2px 0 1px;
  padding:4px 8px;
  border:1px solid #ff4058;
  background:rgba(255,30,55,.13);
  color:#ff8493!important;
  font-weight:800!important;
  font-size:10px!important;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.cart-unavailable-badge i{color:#ff4058}
.cart-item.is-unavailable .cart-item-end>b{
  color:#ff6679!important;
  font-size:11px!important;
}

/* La nueva intro usa una clave de sesión distinta para mostrarse una vez nuevamente. */


/* ===== v15.5 ajustes finales ===== */
.area51-intro-copy{min-height:1.5em!important}
.area51-mini-flow{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:15px!important;
  font-family:"Cyber",Arial,sans-serif!important;
}
.area51-mini-flow span{display:grid!important;grid-template-columns:26px 20px minmax(0,1fr);align-items:center;gap:8px!important}
.area51-mini-flow b{width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(0,234,255,.55);background:#07161d;color:var(--cyan);font-size:12px;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}

/* Más separación para evitar pulsaciones accidentales */
#productModal .modal-action-row{
  display:grid!important;
  grid-template-columns:128px minmax(180px,300px)!important;
  column-gap:28px!important;
  justify-content:start!important;
  align-items:stretch!important;
}
#productModal .modal-action-row .quantity-row,
#productModal .modal-action-row .quantity-stepper{
  width:128px!important;min-width:128px!important;max-width:128px!important;
}
#productModal .modal-action-row .quantity-stepper{grid-template-columns:40px 48px 40px!important}
#productModal .modal-action-row .quantity-stepper input{width:48px!important;font-size:18px!important;font-weight:900!important}
#productModal .modal-action-row #confirmAddProduct{width:100%!important;max-width:300px!important;margin:0!important;justify-self:start!important}
@media(max-width:620px){
  #productModal .modal-action-row{grid-template-columns:128px minmax(150px,220px)!important;column-gap:24px!important}
  #productModal .modal-action-row #confirmAddProduct{max-width:220px!important;margin:0!important;width:100%!important}
}
@media(max-width:390px){
  #productModal .modal-action-row{grid-template-columns:116px minmax(140px,1fr)!important;column-gap:18px!important}
  #productModal .modal-action-row .quantity-row,#productModal .modal-action-row .quantity-stepper{width:116px!important;min-width:116px!important;max-width:116px!important}
  #productModal .modal-action-row .quantity-stepper{grid-template-columns:36px 44px 36px!important}
  #productModal .modal-action-row .quantity-stepper input{width:44px!important;font-size:17px!important}
}

/* Popup de productos relacionados */
.upsell-modal-wrap{width:min(900px,88vw)!important}
.upsell-modal{padding:25px!important}
.upsell-head{margin-right:42px!important;text-align:center!important}
.upsell-head .eyebrow{color:var(--cyan);font-family:"Cyber",Arial,sans-serif!important}
.upsell-head h2{font-family:"Nulshock",Arial,sans-serif!important;color:#fff!important}
.upsell-head p{font-family:"Cyber",Arial,sans-serif!important;color:#a9c3cc!important}
.upsell-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:20px!important}
.upsell-item{display:grid!important;grid-template-columns:108px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:14px!important;row-gap:10px!important;padding:12px!important;border:1px solid #46636f!important;background:linear-gradient(180deg,#132832,#0b1c23)!important}
.upsell-item-media{grid-row:1/3;width:108px!important;height:108px!important;background:#050d11!important;overflow:hidden!important}
.upsell-item-media img{width:100%!important;height:100%!important;object-fit:contain!important}
.upsell-item-copy{align-self:center!important;display:grid!important;gap:6px!important}
.upsell-item-copy strong{font:700 14px "Nulshock",Arial,sans-serif!important;color:#fff!important;line-height:1.15!important}
.upsell-item-copy b{font:700 19px "Nulshock",Arial,sans-serif!important;color:var(--green)!important}
.upsell-buy-row{display:grid!important;grid-template-columns:116px minmax(120px,1fr)!important;gap:12px!important;align-items:center!important}
.upsell-stepper{display:grid!important;grid-template-columns:36px 44px 36px!important;width:116px!important}
.upsell-stepper button,.upsell-stepper input{height:40px!important;border:1px solid var(--cyan)!important;background:#091b23!important;color:#fff!important;text-align:center!important;font-weight:900!important;min-width:0!important}
.upsell-stepper button{background:var(--cyan)!important;color:#031015!important;cursor:pointer!important}
.upsell-stepper input{width:44px!important;font-size:16px!important;-moz-appearance:textfield}
.upsell-stepper input::-webkit-outer-spin-button,.upsell-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.upsell-add-button{height:40px!important;margin:0!important;padding:0 14px!important;background:linear-gradient(180deg,#35f6ff,#00c9db)!important;color:#031015!important;border-color:var(--cyan)!important;font:700 11px "Nulshock",Arial,sans-serif!important}
.upsell-add-button.is-added{background:var(--green)!important;border-color:var(--green)!important}
.upsell-actions{display:block!important;margin-top:18px!important;text-align:center!important}
.upsell-dismiss{width:min(320px,100%)!important;min-height:44px!important;border:1px solid #607985!important;background:#0b1c23!important;color:#fff!important;font:700 12px "Nulshock",Arial,sans-serif!important}
@media(max-width:760px){
  .upsell-modal-wrap{width:min(92vw,560px)!important}
  .upsell-modal{padding:20px 14px!important}
  .upsell-grid{grid-template-columns:1fr!important;gap:10px!important}
  .upsell-item{grid-template-columns:86px minmax(0,1fr)!important;column-gap:10px!important}
  .upsell-item-media{width:86px!important;height:86px!important}
  .upsell-buy-row{grid-template-columns:116px minmax(110px,1fr)!important;gap:10px!important}
  .upsell-add-button{padding:0 8px!important}
}


/* ===== v15.6: selector de sucursales estilo sci-fi ===== */
body.branch-selector-page{
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  color:#fff;
  background:#02070b;
}
.branch-selector-shell{
  position:relative;
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:clamp(110px,10vw,180px) 18px clamp(120px,12vw,210px);
  isolation:isolate;
  overflow:hidden;
  /* background:
    radial-gradient(circle at 8% 22%,rgba(0,229,255,.10) 0 1px,transparent 2px),
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.9) 0 1px,transparent 2px),
    radial-gradient(circle at 67% 63%,rgba(0,229,255,.45) 0 1px,transparent 2px),
    radial-gradient(circle at 21% 74%,rgba(255,255,255,.55) 0 1px,transparent 2px),
    radial-gradient(ellipse at 50% 36%,rgba(0,112,153,.18),transparent 42%),
    linear-gradient(180deg,#031019 0%,#01070b 58%,#02090e 100%); */
}
.branch-selector-shell::before,
.branch-selector-shell::after{
  content:"";
  position:absolute;
  left:0;
  width:100%;
  height:min(270px,24vw);
  background-image:var(--branch-frame);
  background-size:100% auto;
  background-repeat:no-repeat;
  background-position:top center;
  z-index:0;
  pointer-events:none;
  filter:drop-shadow(0 0 18px rgba(17,235,248,.55));
}
.branch-selector-shell::before{top:0}
.branch-selector-shell::after{
  bottom:0;
  transform:rotate(180deg);
  transform-origin:center;
}
.branch-space-field{
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.72;
  background-image:
    radial-gradient(circle at 12% 9%,#fff 0 1px,transparent 1.8px),
    radial-gradient(circle at 28% 31%,#22ddff 0 1px,transparent 2px),
    radial-gradient(circle at 54% 14%,#fff 0 1px,transparent 1.7px),
    radial-gradient(circle at 79% 37%,#00d8ff 0 1px,transparent 2px),
    radial-gradient(circle at 90% 73%,#fff 0 1px,transparent 1.7px),
    radial-gradient(circle at 35% 83%,#18dfff 0 1px,transparent 2px);
  background-size:190px 190px,260px 260px,310px 310px,220px 220px,280px 280px,340px 340px;
  animation:branchStars 14s linear infinite alternate;
}
.branch-selector-content{
  position:relative;
  z-index:2;
  width:min(760px,94vw);
  display:grid;
  gap:clamp(24px,3vw,38px);
  justify-items:center;
}
.branch-logo-wrap{
  width:min(520px,78vw);
  display:grid;
  place-items:center;
  margin-bottom:6px;
  filter:drop-shadow(0 0 24px rgba(17,235,248,.11));
}
.branch-main-logo{
  width:100%;
  max-height:190px;
  object-fit:contain;
}
.branch-buttons{
  width:100%;
  display:grid;
  gap:clamp(18px,2.3vw,28px);
}
.branch-neon-button,
.branch-instagram-button{
  position:relative;
  text-decoration:none;
  color:#fff;
  font-family:"Nulshock",Arial,sans-serif;
  letter-spacing:.025em;
}
.branch-neon-button{
  min-height:112px;
  display:grid;
  grid-template-columns:84px 1fr 84px;
  align-items:center;
  padding:10px 34px;
  border:2px solid #8aff9b;
  background:
    linear-gradient(180deg,rgba(43,255,73,.52),rgba(0,70,20,.62) 49%,rgba(0,29,9,.88) 100%);
  clip-path:polygon(8% 0,92% 0,100% 30%,100% 70%,92% 100%,8% 100%,0 70%,0 30%);
  box-shadow:
    inset 0 0 0 2px rgba(213,255,220,.44),
    inset 0 0 32px rgba(0,255,64,.46),
    0 0 10px #4cff63,
    0 0 28px rgba(0,255,64,.64),
    0 0 8px rgba(0,234,255,.75);
  text-shadow:0 2px 1px rgba(0,0,0,.78),0 0 7px rgba(255,255,255,.35);
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.branch-neon-button::before{
  content:"";
  position:absolute;
  inset:8px 14px;
  border:1px solid rgba(122,255,255,.62);
  clip-path:inherit;
  pointer-events:none;
}
.branch-neon-button::after{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  top:6px;
  height:3px;
  background:linear-gradient(90deg,transparent,#d9fff1 15%,#7dff92 50%,#d9fff1 85%,transparent);
  box-shadow:0 0 12px #44ff70;
}
.branch-neon-button:hover,
.branch-neon-button:focus-visible{
  transform:translateY(-3px) scale(1.012);
  filter:brightness(1.15);
  box-shadow:
    inset 0 0 0 2px rgba(213,255,220,.58),
    inset 0 0 38px rgba(0,255,64,.58),
    0 0 14px #58ff73,
    0 0 40px rgba(0,255,64,.76),
    0 0 12px rgba(0,234,255,.9);
  outline:none;
}
.branch-name{
  text-align:center;
  font-size:clamp(26px,4vw,46px);
  line-height:1;
}
.branch-tech{
  display:flex;
  justify-content:center;
  gap:5px;
  transform:skewX(-25deg);
}
.branch-tech i{
  display:block;
  width:9px;
  height:28px;
  background:#16efff;
  box-shadow:0 0 8px rgba(17,235,248,.9);
}
.branch-tech-right{transform:skewX(25deg)}
.branch-new-badge{
  position:absolute;
  right:-12px;
  top:-18px;
  min-width:116px;
  padding:11px 18px 9px;
  text-align:center;
  color:#fff;
  font-family:Cyber,Arial,sans-serif;
  font-size:22px;
  line-height:1;
  background:linear-gradient(180deg,#ff6d21,#e73616);
  border:2px solid #ffca32;
  border-radius:24px;
  box-shadow:0 0 10px #ff6b1f,0 0 22px rgba(255,85,24,.7);
  text-transform:capitalize;
}
.branch-instagram-button{
  width:min(650px,92%);
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:4px;
  padding:12px 28px;
  font-size:clamp(24px,3vw,38px);
  background:linear-gradient(180deg,rgba(255,0,202,.58),rgba(90,0,67,.74));
  border:2px solid #ff6be5;
  clip-path:polygon(8% 0,92% 0,100% 30%,100% 70%,92% 100%,8% 100%,0 70%,0 30%);
  box-shadow:inset 0 0 30px rgba(255,0,196,.44),0 0 12px #ff00c4,0 0 28px rgba(255,0,196,.48);
  transition:.16s ease;
}
.branch-instagram-button::before{
  content:"";
  position:absolute;
  inset:7px 13px;
  border:1px solid rgba(255,190,248,.55);
  clip-path:inherit;
}
.branch-instagram-button i{
  font-size:1.2em;
  color:#fff;
  text-shadow:0 0 11px rgba(255,255,255,.7);
}
.branch-instagram-button:hover,
.branch-instagram-button:focus-visible{
  transform:translateY(-2px);
  filter:brightness(1.14);
  outline:none;
}
@keyframes branchStars{
  from{transform:translate3d(0,0,0);opacity:.55}
  to{transform:translate3d(0,-12px,0);opacity:.9}
}
@media(max-width:700px){
  .branch-selector-shell{
    padding:96px 14px 116px;
  }
  .branch-selector-shell::before,
  .branch-selector-shell::after{
    height:130px;
    background-size: auto 138px;
  }
  .branch-selector-content{width:min(560px,96vw);gap:22px}
  .branch-logo-wrap{width:min(380px,78vw);margin-bottom:0}
  .branch-neon-button{
    min-height:82px;
    grid-template-columns:52px 1fr 52px;
    padding:8px 18px;
  }
  .branch-name{font-size:clamp(20px,7vw,32px)}
  .branch-tech i{width:6px;height:20px}
  .branch-new-badge{
    right:-5px;
    top:-14px;
    min-width:84px;
    padding:8px 12px 7px;
    font-size:16px;
  }
  .branch-instagram-button{
    min-height:70px;
    font-size:clamp(20px,6vw,29px);
    gap:12px;
  }
}
@media(max-width:390px){
  .branch-neon-button{
    grid-template-columns:42px 1fr 42px;
    min-height:74px;
  }
  .branch-tech i{width:5px;height:17px}
  .branch-new-badge{font-size:14px;min-width:72px}
}
@media(prefers-reduced-motion:reduce){
  .branch-space-field{animation:none!important}
  .branch-neon-button,.branch-instagram-button{transition:none!important}
}


/* ===== v15.7: selector de sucursales, logo + etiqueta + ancho ===== */
.branch-selector-content{
  width:100%!important;
  max-width:100%!important;
}
.branch-logo-wrap{
  width:min(420px,72vw)!important;
  margin-bottom:8px!important;
}
.branch-logo-shell{
  width:100%;
  height:112px;
  padding:2px;
  background:linear-gradient(180deg,#6d8491 0%,#263b47 44%,#0a151b 100%);
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.38)) drop-shadow(0 0 8px rgba(17,235,248,.22));
}
.branch-logo-shell .frame-mid{
  width:100%;
  height:100%;
  padding:5px;
}
.branch-logo-window{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#020506;
  box-shadow:
    inset 0 0 30px rgba(0,0,0,.9),
    inset 0 1px 0 rgba(255,255,255,.05);
}
.branch-logo-window::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:3px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  box-shadow:0 0 8px rgba(17,235,248,.66);
  opacity:.6;
}
.branch-main-logo{
  width:86%!important;
  height:86%!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 6px rgba(17,235,248,.08));
}

.branch-buttons{
  width:min(720px,80vw)!important;
  max-width:80vw!important;
  justify-items:stretch;
}
.branch-button-wrap{
  position:relative;
  width:100%;
  overflow:visible;
}
.branch-neon-button{
  width:100%;
  max-width:100%;
  min-height:96px!important;
  grid-template-columns:72px 1fr 72px!important;
}
.branch-name{
  font-size:clamp(22px,3.2vw,38px)!important;
}

.branch-new-badge{
  position:absolute!important;
  right:-20px!important;
  top:-14px!important;
  z-index:12!important;
  min-width:108px!important;
  padding:10px 18px 9px!important;
  border:1px solid #ff77ef!important;
  border-radius:0!important;
  background:
    linear-gradient(180deg,rgba(255,40,217,.96),rgba(104,0,84,.98))!important;
  color:#fff!important;
  font-family:"Nulshock",Arial,sans-serif!important;
  font-size:14px!important;
  letter-spacing:.06em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,188,246,.26),
    inset 0 0 18px rgba(255,0,196,.34),
    0 0 8px #ff00c4,
    0 0 18px rgba(255,0,196,.68)!important;
  overflow:visible!important;
  pointer-events:none;
}
.branch-new-badge::before,
.branch-new-badge::after{
  content:"";
  position:absolute;
  top:50%;
  width:12px;
  height:2px;
  background:#ff94ee;
  box-shadow:0 0 7px #ff00c4;
}
.branch-new-badge::before{left:5px}
.branch-new-badge::after{right:5px}

@media(max-width:700px){
  .branch-logo-wrap{width:min(330px,72vw)!important}
  .branch-logo-shell{height:88px}
  .branch-buttons{
    width:80vw!important;
    max-width:80vw!important;
  }
  .branch-neon-button{
    min-height:72px!important;
    grid-template-columns:44px 1fr 44px!important;
    padding:7px 12px!important;
  }
  .branch-name{
    font-size:clamp(18px,5.8vw,27px)!important;
  }
  .branch-new-badge{
    right:-12px!important;
    top:-11px!important;
    min-width:86px!important;
    padding:8px 12px 7px!important;
    font-size:11px!important;
  }
}
@media(max-width:390px){
  .branch-buttons{width:82vw!important;max-width:82vw!important}
  .branch-neon-button{grid-template-columns:38px 1fr 38px!important}
  .branch-name{font-size:clamp(17px,5.6vw,23px)!important}
}


/* ===== v15.8: sucursales más fieles al arte de referencia ===== */
.branch-selector-shell{
  padding-top:clamp(88px,8vw,132px)!important;
}
.branch-selector-shell::before{
  filter:drop-shadow(0 0 22px rgba(17,235,248,.72)) brightness(1.04)!important;
}
.branch-selector-content{
  gap:clamp(18px,2.2vw,28px)!important;
}
.branch-logo-wrap{
  width:min(480px,76vw)!important;
  margin-top:-26px!important;
  margin-bottom:18px!important;
}
.branch-logo-shell{
  height:106px!important;
  background:linear-gradient(180deg,#5f7480 0%,#253842 42%,#091218 100%)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.36),0 0 20px rgba(17,235,248,.18)!important;
}
.branch-logo-shell .frame-mid{padding:4px!important}
.branch-logo-window{
  background:
    linear-gradient(90deg,rgba(255,255,255,.03),transparent 22%,transparent 78%,rgba(255,255,255,.03)),
    linear-gradient(180deg,#05090c,#020405 62%,#050a0d)!important;
}
.branch-logo-window::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 0 10%,rgba(0,234,255,.08) 18%,transparent 28%),
    linear-gradient(90deg,transparent 72%,rgba(0,234,255,.08) 82%,transparent 92%);
  pointer-events:none;
}
.branch-logo-window::after{
  bottom:4px!important;
  left:16%!important;
  right:16%!important;
  height:2px!important;
  opacity:.85!important;
}
.branch-main-logo{
  width:82%!important;
  height:82%!important;
}

.branch-buttons{
  width:min(760px,80vw)!important;
  max-width:80vw!important;
  gap:22px!important;
}
.branch-button-wrap{overflow:visible!important}
.branch-neon-button,
.branch-instagram-button{
  overflow:visible;
}
.branch-neon-button{
  min-height:104px!important;
  padding:10px 28px!important;
  grid-template-columns:64px 1fr 64px!important;
  background:
    linear-gradient(180deg,rgba(147,255,173,.20) 0%,rgba(26,171,56,.30) 16%,rgba(0,47,17,.58) 45%,rgba(1,16,7,.88) 76%,rgba(0,12,5,.95) 100%)!important;
  border:2px solid rgba(119,255,136,.92)!important;
  box-shadow:
    inset 0 1px 0 rgba(226,255,230,.22),
    inset 0 0 0 2px rgba(206,255,213,.22),
    inset 0 0 42px rgba(0,255,89,.28),
    0 0 12px rgba(67,255,95,.72),
    0 0 30px rgba(30,255,91,.44),
    0 0 10px rgba(0,234,255,.54)!important;
}
.branch-neon-button::before{
  inset:7px 10px!important;
  border-color:rgba(193,255,204,.45)!important;
  background:
    linear-gradient(90deg,transparent 0 4%,rgba(0,234,255,.10) 11%,transparent 19%,transparent 81%,rgba(0,234,255,.10) 89%,transparent 96%);
}
.branch-neon-button::after{
  left:9%!important;
  right:9%!important;
  top:8px!important;
  height:2px!important;
  background:linear-gradient(90deg,transparent,rgba(236,255,241,.85) 10%,rgba(124,255,142,.95) 50%,rgba(236,255,241,.85) 90%,transparent)!important;
  box-shadow:0 0 10px rgba(68,255,112,.82)!important;
}
.branch-neon-button .branch-name{
  position:relative;
  font-size:clamp(20px,2.8vw,34px)!important;
  letter-spacing:.04em;
  text-shadow:0 2px 0 rgba(0,0,0,.72),0 0 10px rgba(255,255,255,.26);
}
.branch-neon-button .branch-name::before,
.branch-neon-button .branch-name::after{
  content:"";
  position:absolute;
  left:0;right:0;
  height:1px;
  opacity:.65;
  background:linear-gradient(90deg,transparent,rgba(185,255,197,.52),transparent);
}
.branch-neon-button .branch-name::before{top:-14px}
.branch-neon-button .branch-name::after{bottom:-14px}
.branch-tech{gap:4px!important}
.branch-tech i{
  width:8px!important;
  height:24px!important;
  border-radius:1px;
  background:linear-gradient(180deg,#5fffff,#00d2ff)!important;
  box-shadow:0 0 10px rgba(17,235,248,.86)!important;
}
.branch-tech-left{justify-content:flex-start!important;padding-left:2px}
.branch-tech-right{justify-content:flex-end!important;padding-right:2px}

.branch-instagram-button{
  width:min(760px,80vw)!important;
  max-width:80vw!important;
  min-height:98px!important;
  background:
    linear-gradient(180deg,rgba(255,72,222,.36),rgba(145,0,107,.58) 38%,rgba(62,0,44,.92) 100%)!important;
  border-color:#ff6be5!important;
  box-shadow:inset 0 0 34px rgba(255,0,196,.32),0 0 12px #ff00c4,0 0 30px rgba(255,0,196,.40)!important;
}
.branch-instagram-button::after{
  content:"";
  position:absolute;
  left:10%;right:10%;top:8px;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(255,225,250,.8),transparent);
  box-shadow:0 0 9px rgba(255,0,196,.62);
}

.branch-neon-button:hover,
.branch-neon-button:focus-visible,
.branch-instagram-button:hover,
.branch-instagram-button:focus-visible{
  animation:branchGlitch .32s steps(2,end) 1, branchGlowPulse .78s ease-out 1;
  filter:brightness(1.12) saturate(1.08)!important;
}
.branch-neon-button:hover .branch-name,
.branch-neon-button:focus-visible .branch-name,
.branch-instagram-button:hover span,
.branch-instagram-button:focus-visible span{
  animation:branchTextGlitch .32s steps(3,end) 1;
}
.branch-neon-button:hover::before,
.branch-neon-button:focus-visible::before,
.branch-instagram-button:hover::before,
.branch-instagram-button:focus-visible::before{
  animation:branchScanFlash .42s linear 1;
}

@keyframes branchGlitch{
  0%{transform:translate(0,0)}
  18%{transform:translate(-1px,1px)}
  34%{transform:translate(2px,-1px)}
  52%{transform:translate(-2px,0)}
  76%{transform:translate(1px,1px)}
  100%{transform:translateY(-3px) scale(1.01)}
}
@keyframes branchGlowPulse{
  0%{box-shadow:inset 0 0 0 2px rgba(206,255,213,.22),0 0 12px rgba(67,255,95,.72),0 0 30px rgba(30,255,91,.44),0 0 10px rgba(0,234,255,.54)}
  50%{box-shadow:inset 0 0 0 2px rgba(232,255,236,.30),0 0 18px rgba(103,255,126,.95),0 0 42px rgba(30,255,91,.62),0 0 18px rgba(0,234,255,.82)}
  100%{box-shadow:inset 0 0 0 2px rgba(206,255,213,.22),0 0 14px rgba(67,255,95,.78),0 0 32px rgba(30,255,91,.48),0 0 10px rgba(0,234,255,.58)}
}
@keyframes branchTextGlitch{
  0%,100%{transform:none;text-shadow:0 2px 0 rgba(0,0,0,.72),0 0 10px rgba(255,255,255,.26)}
  20%{transform:translateX(1px);text-shadow:-2px 0 #ff00c4,2px 0 #00eaff,0 2px 0 rgba(0,0,0,.72)}
  40%{transform:translateX(-2px);text-shadow:2px 0 #ff00c4,-2px 0 #00eaff,0 2px 0 rgba(0,0,0,.72)}
  60%{transform:translateY(1px);text-shadow:-1px 0 #00eaff,1px 0 #fff,0 2px 0 rgba(0,0,0,.72)}
}
@keyframes branchScanFlash{
  0%{opacity:.25;transform:translateX(-8px)}
  50%{opacity:.9;transform:translateX(8px)}
  100%{opacity:.35;transform:translateX(0)}
}

@media (max-width:700px){
  .branch-selector-shell{padding-top:78px!important}
  .branch-logo-wrap{
    width:min(350px,76vw)!important;
    /* margin-top: -156px!important; */
    margin-bottom:10px!important;
    /* position: fixed; */
    top: 40px;
  }
  .branch-logo-shell{height:82px!important}
  .branch-buttons,
  .branch-instagram-button{width:min(520px,80vw)!important;max-width:80vw!important}
  .branch-neon-button{
    min-height:78px!important;
    padding:8px 16px!important;
    grid-template-columns:46px 1fr 46px!important;
  }
  .branch-neon-button .branch-name{font-size:clamp(17px,5.2vw,25px)!important}
  .branch-tech i{width:6px!important;height:18px!important}
  .branch-instagram-button{min-height:74px!important;font-size:clamp(18px,5.8vw,27px)!important}
}
@media (max-width:390px){
  .branch-buttons,
  .branch-instagram-button{width:82vw!important;max-width:82vw!important}
  .branch-neon-button{grid-template-columns:40px 1fr 40px!important}
  .branch-neon-button .branch-name{font-size:clamp(16px,5.2vw,22px)!important}
}
@media (prefers-reduced-motion:reduce){
  .branch-neon-button:hover,
  .branch-neon-button:focus-visible,
  .branch-instagram-button:hover,
  .branch-instagram-button:focus-visible,
  .branch-neon-button:hover .branch-name,
  .branch-neon-button:focus-visible .branch-name,
  .branch-instagram-button:hover span,
  .branch-instagram-button:focus-visible span,
  .branch-neon-button:hover::before,
  .branch-neon-button:focus-visible::before,
  .branch-instagram-button:hover::before,
  .branch-instagram-button:focus-visible::before{animation:none!important}
}


/* ===== v15.9: ajustes sobre app(2).css del usuario ===== */

/* Refuerzo de Nulshock en móvil. El @font-face original se conserva. */
@media(max-width:980px){
  .nulshock,
  .section-title,
  .product-title,
  .pieces,
  .pieces span,
  .price,
  .contact-inner span,
  .mcat span,
  .modal-title-block h2,
  .modal-title-block>strong,
  #confirmAddProduct,
  .upsell-head h2,
  .upsell-item-copy strong,
  .upsell-item-copy b,
  .upsell-add-button,
  .upsell-actions button{
    font-family:"Nulshock",Arial,sans-serif!important;
    font-synthesis:none!important;
  }
}

/* Todos los productos de una misma fila tienen la misma altura. */
.products{align-items:stretch!important}
.product-frame{height:100%!important;align-self:stretch!important}
.product-frame>.frame-mid{height:100%!important}
.product-card{height:100%!important;display:grid!important;grid-template-rows:auto 1fr!important}
.product-info{height:100%!important;display:flex!important;flex-direction:column!important}
.product-info .buy-row{margin-top:auto!important}

/* Separación segura entre + y AGREGAR. */
#productModal .modal-action-row{
  display:grid!important;
  grid-template-columns:132px minmax(150px,245px)!important;
  column-gap:38px!important;
  justify-content:start!important;
  align-items:center!important;
}
#productModal .modal-action-row .quantity-row,
#productModal .modal-action-row .quantity-stepper{
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
}
#productModal .modal-action-row .quantity-stepper{
  grid-template-columns:40px 52px 40px!important;
}
#productModal .modal-action-row .quantity-stepper input{
  width:52px!important;
  font-size:20px!important;
  font-weight:900!important;
}
#productModal .modal-action-row #confirmAddProduct{
  width:100%!important;
  max-width:245px!important;
  min-width:0!important;
  margin:0!important;
  justify-self:start!important;
}
@media(max-width:620px){
  #productModal .modal-action-row{
    grid-template-columns:132px minmax(120px,205px)!important;
    column-gap:34px!important;
  }
  #productModal .modal-action-row #confirmAddProduct{max-width:205px!important}
}
@media(max-width:390px){
  #productModal .modal-action-row{
    grid-template-columns:122px minmax(110px,1fr)!important;
    column-gap:24px!important;
  }
  #productModal .modal-action-row .quantity-row,
  #productModal .modal-action-row .quantity-stepper{width:122px!important;min-width:122px!important;max-width:122px!important}
  #productModal .modal-action-row .quantity-stepper{grid-template-columns:38px 46px 38px!important}
  #productModal .modal-action-row .quantity-stepper input{width:46px!important;font-size:19px!important}
}

/* Recomendaciones después de agregar al canasto. */
#upsellModal{z-index:145!important}
.upsell-modal-wrap{width:min(920px,92vw)!important}
.upsell-modal{padding:26px!important;max-height:88vh!important;overflow:auto!important}
.upsell-head{text-align:center!important;margin:0 42px 18px!important}
.upsell-head .eyebrow{font-family:"Cyber",Arial,sans-serif!important;color:var(--cyan)!important}
.upsell-head h2{margin:5px 0 0!important;font:700 clamp(21px,3vw,32px)/1.05 "Nulshock",Arial,sans-serif!important;color:#fff!important}
.upsell-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.upsell-item{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:10px 14px!important;padding:12px!important;border:1px solid #46636f!important;background:linear-gradient(180deg,#142a35,#091820)!important}
.upsell-item-media{grid-row:1/3;width:104px!important;height:104px!important;background:#030a0e!important;overflow:hidden!important}
.upsell-item-media img{width:100%!important;height:100%!important;object-fit:contain!important}
.upsell-item-copy{display:grid!important;gap:5px!important;align-self:center!important}
.upsell-item-copy strong{font:700 13px/1.16 "Nulshock",Arial,sans-serif!important;color:#fff!important}
.upsell-item-copy b{font:700 18px "Nulshock",Arial,sans-serif!important;color:var(--green)!important}
.upsell-buy-row{display:grid!important;grid-template-columns:116px minmax(100px,1fr)!important;gap:16px!important;align-items:center!important}
.upsell-stepper{display:grid!important;grid-template-columns:36px 44px 36px!important;width:116px!important}
.upsell-stepper button,.upsell-stepper input{height:40px!important;border:1px solid var(--cyan)!important;text-align:center!important;font-weight:900!important;min-width:0!important}
.upsell-stepper button{background:var(--cyan)!important;color:#031015!important;cursor:pointer!important}
.upsell-stepper input{width:44px!important;background:#071820!important;color:#fff!important;font-size:17px!important;-moz-appearance:textfield}
.upsell-stepper input::-webkit-outer-spin-button,.upsell-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.upsell-add-button{height:40px!important;margin:0!important;padding:0 10px!important;background:linear-gradient(180deg,#3af8ff,#00cadc)!important;color:#031015!important;font:700 10px "Nulshock",Arial,sans-serif!important}
.upsell-add-button.is-added{background:var(--green)!important}
.upsell-actions{display:flex!important;justify-content:center!important;gap:14px!important;margin-top:20px!important}
.upsell-actions .button{min-width:170px!important;min-height:44px!important;font:700 11px "Nulshock",Arial,sans-serif!important}
.upsell-continue{background:linear-gradient(180deg,#35f6ff,#00c9db)!important;color:#031015!important;border:1px solid var(--cyan)!important}
.upsell-dismiss{background:#0a1b23!important;color:#fff!important;border:1px solid #607985!important}
@media(max-width:700px){
  .upsell-modal-wrap{width:92vw!important}
  .upsell-modal{padding:20px 12px!important}
  .upsell-grid{grid-template-columns:1fr!important;gap:10px!important}
  .upsell-item{grid-template-columns:82px minmax(0,1fr)!important;gap:8px 10px!important}
  .upsell-item-media{width:82px!important;height:82px!important}
  .upsell-buy-row{grid-template-columns:116px minmax(92px,1fr)!important;gap:12px!important}
  .upsell-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .upsell-actions .button{min-width:0!important;width:100%!important}
}


/* ===== v16.0: separación acciones producto + recomendaciones mejoradas ===== */
/* Escritorio: separación amplia entre + y AGREGAR como referencia. */
@media(min-width:621px){
  #productModal .modal-action-row{
    grid-template-columns:132px minmax(175px,215px)!important;
    column-gap:84px!important;
    justify-content:start!important;
  }
  #productModal .modal-action-row #confirmAddProduct{
    width:100%!important;
    max-width:215px!important;
  }
}
/* Móvil: separación visible, pero sin desperdiciar media pantalla. */
@media(max-width:620px){
  #productModal .modal-action-row{
    grid-template-columns:132px minmax(128px,190px)!important;
    column-gap:54px!important;
    justify-content:start!important;
  }
  #productModal .modal-action-row #confirmAddProduct{
    width:100%!important;
    max-width:190px!important;
  }
}
@media(max-width:390px){
  #productModal .modal-action-row{
    grid-template-columns:122px minmax(112px,1fr)!important;
    column-gap:38px!important;
  }
}

/* Popup de productos relacionados */
#upsellModal .modal-card-wrap{padding-bottom:0!important}
.upsell-modal{
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  max-height:88vh!important;
  overflow:hidden!important;
}
#upsellModalBody{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  max-height:88vh!important;
}
.upsell-head{
  flex:0 0 auto;
  padding:24px 26px 8px!important;
  margin:0 42px 8px!important;
}
.upsell-grid{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto!important;
  padding:8px 24px 18px!important;
  margin-top:0!important;
  scrollbar-width:thin;
  scrollbar-color:#607985 transparent;
}
.upsell-grid::-webkit-scrollbar{width:7px}
.upsell-grid::-webkit-scrollbar-thumb{background:#607985;border-radius:10px}
.upsell-item-copy{align-content:center!important}
.upsell-price-line,
.upsell-total-line{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.upsell-price-line span,
.upsell-total-line span{
  font:700 9px "Cyber",Arial,sans-serif!important;
  letter-spacing:.06em;
  color:#b9cbd2;
  white-space:nowrap;
}
.upsell-price-line b{
  font:700 14px "Nulshock",Arial,sans-serif!important;
  color:#dff5f8!important;
}
.upsell-total-line b{
  font:700 18px "Nulshock",Arial,sans-serif!important;
  color:var(--green)!important;
}
.upsell-add-button.is-disabled,
.upsell-add-button:disabled{
  background:linear-gradient(180deg,#5f7178,#39494f)!important;
  border-color:#77868b!important;
  color:#d4dcdf!important;
  opacity:.46!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
  filter:grayscale(.35)!important;
}
.upsell-add-button.is-added{
  background:linear-gradient(180deg,#38ff73,#10c94c)!important;
  border-color:#55ff84!important;
  color:#03150a!important;
  opacity:1!important;
}
.upsell-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:12!important;
  flex:0 0 auto!important;
  display:block!important;
  margin:0!important;
  padding:12px 24px calc(12px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(9,24,32,.90),#091820 34%,#07141b)!important;
  border-top:1px solid #45616c!important;
  box-shadow:0 -10px 24px rgba(0,0,0,.32)!important;
}
.upsell-continue{
  display:block!important;
  width:min(420px,100%)!important;
  min-height:48px!important;
  margin:0 auto!important;
  background:linear-gradient(180deg,#43f8ff,#00cadc)!important;
  border:1px solid var(--cyan)!important;
  color:#031015!important;
  font:700 12px "Nulshock",Arial,sans-serif!important;
  box-shadow:0 0 18px rgba(17,235,248,.20)!important;
}
@media(max-width:700px){
  .upsell-head{padding:20px 14px 6px!important;margin:0 32px 6px!important}
  .upsell-grid{padding:8px 12px 14px!important}
  .upsell-actions{padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}
  .upsell-item-copy strong{font-size:12px!important}
  .upsell-price-line span,.upsell-total-line span{font-size:8px!important}
  .upsell-price-line b{font-size:12px!important}
  .upsell-total-line b{font-size:16px!important}
}


/* ===== v16.1: flujo Canasta > Sugerencias > Revisión final ===== */
.cart-heading{
  margin:0 0 18px;
}
.cart-heading h2{
  margin:0!important;
}
.cart-heading p{
  margin:7px 0 0;
  color:#b7c8d0;
  font-family:"Cyber",Arial,sans-serif;
  font-size:14px;
  letter-spacing:.02em;
}
.cart-flow-actions{
  position:sticky;
  bottom:0;
  z-index:8;
  margin:14px -28px -28px;
  padding:12px 28px 14px;
  background:linear-gradient(180deg,rgba(10,26,34,.76),#0b1b23 36%,#08151c);
  border-top:1px solid #43616d;
}
.cart-continue-button{
  width:min(420px,100%)!important;
  min-height:48px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  background:linear-gradient(180deg,#42f8ff,#00c9dc)!important;
  color:#031015!important;
  font:700 12px "Nulshock",Arial,sans-serif!important;
}
#checkoutForm.hidden,
#cartReviewActions.hidden{display:none!important}

/* Los botones AGREGAR de sugerencias vuelven a cyan */
.upsell-add-button{
  background:linear-gradient(180deg,#42f8ff,#00c9dc)!important;
  border-color:var(--cyan)!important;
  color:#031015!important;
  opacity:1!important;
}
.upsell-add-button:disabled{
  background:linear-gradient(180deg,#42f8ff,#00c9dc)!important;
  border-color:var(--cyan)!important;
  color:#031015!important;
  opacity:.52!important;
  cursor:not-allowed!important;
}
.upsell-add-button.is-added{
  background:linear-gradient(180deg,#24ff78,#00d957)!important;
  border-color:#38ff7f!important;
  color:#03150a!important;
  opacity:1!important;
}

/* Barra inferior fija de sugerencias */
#upsellModal .upsell-actions{
  position:sticky!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:12!important;
  display:grid!important;
  grid-template-columns:minmax(130px,190px) minmax(190px,420px)!important;
  justify-content:center!important;
  gap:16px!important;
  margin:0!important;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(10,25,33,.80),#0a1b23 35%,#07141b)!important;
  border-top:1px solid #4a6874!important;
}
#upsellModal .upsell-actions .button{
  min-height:46px!important;
  margin:0!important;
}
#upsellModal .upsell-back{
  background:#11252e!important;
  color:#e8f4f7!important;
  border:1px solid #607985!important;
}
#upsellModal .upsell-continue{
  background:linear-gradient(180deg,#42f8ff,#00c9dc)!important;
  color:#031015!important;
  border:1px solid var(--cyan)!important;
}

/* En el carrito, la cantidad nunca baja de 1 */
.cart-quantity-stepper span{
  min-width:38px;
  text-align:center;
  font-weight:900;
}

@media(max-width:620px){
  .cart-heading p{font-size:12px}
  .cart-flow-actions{
    margin:12px -12px -18px!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
  }
  #upsellModal .upsell-actions{
    grid-template-columns:120px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
  }
  #upsellModal .upsell-back,
  #upsellModal .upsell-continue{
    min-width:0!important;
    width:100%!important;
  }
}


/* ===== v16.2: flujo 1-2-3 y revisión final tipo tabla ===== */
.cart-heading{display:grid;gap:7px;margin-bottom:16px}
.cart-heading h2{margin-bottom:0!important}
.cart-heading>p{margin:0;color:#b7c9d0;font-family:"Cyber",Arial,sans-serif;font-size:12px;letter-spacing:.06em}
.cart-order-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:3px;color:#b7c9d0;font:700 11px "Cyber",Arial,sans-serif}
.cart-order-meta span{display:inline-flex;align-items:center;gap:6px}.cart-order-meta i{color:var(--cyan)}.cart-order-meta b{color:#e7f5f8;font-weight:700}
.cart-progress{display:flex;align-items:center;justify-content:center;width:min(520px,100%);margin:10px auto 0}
.cart-progress-step{display:grid;justify-items:center;gap:5px;min-width:62px;color:#78909a;font:700 9px "Cyber",Arial,sans-serif;letter-spacing:.05em}
.cart-progress-step>b{width:31px;height:31px;display:grid;place-items:center;border:1px solid #526d78;background:#0a1b22;color:#9fb2ba;font:700 13px "Nulshock",Arial,sans-serif;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px)}
.cart-progress-step.active>b{border-color:var(--cyan);color:#031116;background:var(--cyan);box-shadow:0 0 12px rgba(17,235,248,.4)}
.cart-progress-step.active small{color:#dffbff}.cart-progress-step.done>b{border-color:var(--green);background:rgba(29,255,0,.14);color:var(--green);box-shadow:0 0 10px rgba(29,255,0,.22)}.cart-progress-step.done small{color:#9be99a}
.cart-progress-line{height:2px;flex:1;max-width:100px;background:linear-gradient(90deg,#506a75,#17323d);margin:0 2px 18px}
.upsell-progress{margin:0 auto 14px}

.cart-final-table{display:grid;border:1px solid #49636e;background:#0a1b22;overflow:hidden}
.cart-final-head,.cart-final-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 90px 140px 140px;align-items:center}
.cart-final-head{min-height:42px;background:#142b35;border-bottom:1px solid #4c6671;color:var(--cyan);font:700 10px "Nulshock",Arial,sans-serif;letter-spacing:.06em}
.cart-final-head span{padding:10px 12px;border-right:1px solid #334d58}.cart-final-head span:last-child{border-right:0;text-align:right}
.cart-final-row{min-height:62px;border-bottom:1px solid #304a55;color:#ecf7fa}.cart-final-row:last-child{border-bottom:0}.cart-final-row>div{padding:10px 12px;border-right:1px solid #263f49}.cart-final-row>div:last-child{border-right:0}
.cart-final-product{display:grid;gap:3px}.cart-final-product strong{font-family:"Nulshock",Arial,sans-serif;font-size:12px}.cart-final-product span{color:#9fb2ba;font-size:10px}.cart-final-product em{color:#ff7080;font-style:normal;font-size:9px;font-weight:800}
.cart-final-qty{text-align:center;font:700 15px "Nulshock",Arial,sans-serif}.cart-final-unit,.cart-final-subtotal{text-align:right;font:700 14px "Nulshock",Arial,sans-serif}.cart-final-subtotal{color:var(--green);font-size:16px}
.cart-final-row.is-unavailable{background:rgba(150,15,31,.15);opacity:.7}
.cart-final-actions{display:grid;grid-template-columns:180px minmax(300px,1fr);gap:14px;align-items:start;margin-top:16px;padding-top:15px;border-top:1px solid #45616c}
.cart-final-actions .checkout-form{display:grid;gap:6px}.cart-final-actions .checkout-form .add-button{min-height:50px;background:linear-gradient(180deg,#59f7ff 0%,#11ebf8 52%,#00c9dc 100%)!important;color:#031116!important}
.cart-final-back{min-height:50px;border:1px solid #526b76!important;background:#112832!important;color:#fff!important;cursor:pointer}.cart-final-back i{color:var(--cyan)}

@media(max-width:700px){
  .cart-order-meta{display:grid;gap:5px}
  .cart-progress-step{min-width:50px;font-size:7px}.cart-progress-step>b{width:28px;height:28px;font-size:11px}.cart-progress-line{margin-bottom:16px}
  .cart-final-head{display:none}
  .cart-final-row{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:10px 0;min-height:0}
  .cart-final-row>div{border-right:0!important;padding:6px 10px}
  .cart-final-product{grid-column:1/-1;padding-bottom:10px!important;border-bottom:1px solid #263f49!important}
  .cart-final-qty,.cart-final-unit,.cart-final-subtotal{position:relative;padding-top:20px!important;text-align:left}
  .cart-final-subtotal{text-align:right}
  .cart-final-qty::before,.cart-final-unit::before,.cart-final-subtotal::before{content:attr(data-label);position:absolute;top:4px;left:10px;color:#78909a;font:700 7px "Cyber",Arial,sans-serif;letter-spacing:.08em}
  .cart-final-subtotal::before{left:auto;right:10px}
  .cart-final-actions{grid-template-columns:1fr;gap:9px}.cart-final-back{order:2}.cart-final-actions .checkout-form{order:1}
}


/* ===== v16.3: navegación superior uniforme y revisión con imágenes ===== */
.cart-stage-top-actions{
  display:grid;
  grid-template-columns:minmax(130px,180px) minmax(300px,1fr);
  align-items:start;
  gap:16px;
  margin:4px 0 14px;
}
.cart-stage-top-actions>.cart-stage-back{
  justify-self:start;
  width:170px;
  min-height:44px;
  border:1px solid #607985!important;
  background:#10242d!important;
  color:#f4fbfd!important;
  font:700 11px "Nulshock",Arial,sans-serif!important;
}
.cart-stage-top-actions>.cart-stage-back i{color:var(--cyan)}
.cart-stage-top-actions .checkout-form{
  justify-self:end;
  width:min(520px,100%);
  display:grid;
  gap:5px;
}
.cart-stage-top-actions .checkout-form.hidden{display:none!important}
.cart-stage-top-actions .checkout-form .add-button{
  width:100%;
  min-height:46px;
  margin:0!important;
  background:linear-gradient(180deg,#59f7ff 0%,#11ebf8 52%,#00c9dc 100%)!important;
  color:#031116!important;
}

/* Sugerencias: volver en el mismo lugar superior; continuar queda abajo */
#upsellModal .upsell-top-actions{
  display:flex!important;
  justify-content:flex-start!important;
  margin:2px 0 12px!important;
}
#upsellModal .upsell-top-actions .upsell-back{
  width:170px!important;
  min-height:44px!important;
  border:1px solid #607985!important;
  background:#10242d!important;
  color:#f4fbfd!important;
  font:700 11px "Nulshock",Arial,sans-serif!important;
}
#upsellModal .upsell-actions{
  grid-template-columns:minmax(220px,420px)!important;
}

/* Pantalla 2: cantidad siempre parte en 1 y visualmente no baja */
.upsell-stepper input{font-size:18px!important;font-weight:900!important}

/* Pantalla 3: imagen + nombre, sin repetir opción/precio bajo el nombre */
.cart-final-product{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
}
.cart-final-thumb{
  width:58px;
  height:50px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #36515d;
  background:#02080b;
}
.cart-final-thumb img{width:100%;height:100%;object-fit:contain}
.cart-final-thumb i{color:#6f8791}
.cart-final-product-copy{display:grid;gap:4px;min-width:0}
.cart-final-product-copy strong{font-family:"Nulshock",Arial,sans-serif;font-size:12px;line-height:1.16}
.cart-final-product-copy em{color:#ff7080;font-style:normal;font-size:9px;font-weight:800}

/* la antigua barra inferior de acciones finales queda fuera del flujo */
.cart-final-actions{display:none!important}

@media(max-width:700px){
  .cart-stage-top-actions{
    grid-template-columns:118px minmax(0,1fr);
    gap:10px;
    margin:2px 0 12px;
  }
  .cart-stage-top-actions>.cart-stage-back,
  #upsellModal .upsell-top-actions .upsell-back{
    width:118px!important;
    min-height:40px!important;
    font-size:9px!important;
  }
  .cart-stage-top-actions .checkout-form .add-button{min-height:42px;font-size:9px!important}
  #upsellModal .upsell-top-actions{margin:0 0 10px!important}
  .cart-final-product{grid-template-columns:52px minmax(0,1fr)!important}
  .cart-final-thumb{width:52px;height:46px}
}


/* ===== v16.4: botón VOLVER gemelo del botón cerrar ===== */
.modal-back{
  position:absolute!important;
  left:-14px!important;
  top:0!important;
  z-index:12!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--cyan)!important;
  background:#07161d!important;
  color:var(--cyan)!important;
  cursor:pointer!important;
  clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)!important;
  box-shadow:
    inset 0 0 0 1px rgba(122,255,255,.28),
    0 0 0 1px rgba(17,235,248,.34),
    0 0 18px rgba(17,235,248,.18)!important;
  font-size:0!important;
}
.modal-back::before{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid rgba(122,255,255,.55);
  clip-path:inherit;
  pointer-events:none;
}
.modal-back i{
  position:relative;
  z-index:2;
  font-size:20px!important;
  line-height:1;
}
.modal-back:hover,
.modal-back:focus-visible{
  background:var(--cyan)!important;
  color:#031015!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.42),
    0 0 0 1px rgba(17,235,248,.55),
    0 0 24px rgba(17,235,248,.68)!important;
  outline:none;
}

/* Quita el espacio que antes reservaba el botón VOLVER con texto */
#upsellModal .upsell-top-actions,
#cartModal .cart-stage-top-actions{
  position:static!important;
  min-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}

/* Mismo eje vertical: volver izquierda / cerrar derecha */
#upsellModal .upsell-modal,
#cartModal .cart-modal{
  position:relative!important;
}

/* En móvil se reducen exactamente igual que la X */
@media(max-width:620px){
  .modal-back{
    left:-10px!important;
    top:0!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
  .modal-back i{font-size:18px!important}
}


/* ===== v16.5: revisión final, volver visible y acordeones ===== */

/* VOLVER y CERRAR quedan totalmente visibles y a la misma altura */
.cart-modal-wrap,
.upsell-modal-wrap{
  padding-top:22px!important;
}
.modal-back-fixed{
  left:-14px!important;
  top:0!important;
}
.cart-modal-wrap>.modal-close,
.upsell-modal-wrap>.modal-close{
  right:-14px!important;
  top:0!important;
}

/* El botón de WhatsApp ya no se monta sobre el total */
.cart-stage-top-actions{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  margin:12px 0 14px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.cart-stage-top-actions .checkout-form{
  position:static!important;
  width:min(430px,100%)!important;
  margin:0!important;
  padding:0!important;
}
.cart-stage-top-actions .checkout-form.hidden{display:none!important}
.cart-stage-top-actions .checkout-form .add-button{
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
  padding:8px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}

/* Acordeón de descripción por producto */
.cart-final-product{
  grid-template-columns:58px minmax(0,1fr) 38px!important;
  align-items:center!important;
}
.cart-final-toggle{
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #42606c!important;
  background:#10252e!important;
  color:var(--cyan)!important;
  cursor:pointer!important;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)!important;
  transition:.18s ease!important;
}
.cart-final-toggle:hover,
.cart-final-toggle:focus-visible{
  border-color:var(--cyan)!important;
  box-shadow:0 0 12px rgba(17,235,248,.3)!important;
  outline:none!important;
}
.cart-final-toggle i{transition:transform .2s ease}
.cart-final-toggle.is-open i{transform:rotate(180deg)}
.cart-final-detail{
  grid-column:1/-1!important;
  padding:12px 16px 14px!important;
  border-top:1px solid #294651!important;
  background:rgba(7,20,27,.72)!important;
  color:#c8d8de!important;
  font-family:"Cyber",Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.cart-final-detail[hidden]{display:none!important}
.cart-final-detail p{margin:4px 0!important}
.cart-final-detail strong{color:var(--cyan)!important}
.cart-final-description{margin:5px 0 7px!important;color:#e4eef1!important}

/* En móvil los botones superiores no se recortan */
@media(max-width:620px){
  .cart-modal-wrap,
  .upsell-modal-wrap{
    padding-top:20px!important;
  }
  .modal-back-fixed{
    left:-10px!important;
    top:0!important;
  }
  .cart-modal-wrap>.modal-close,
  .upsell-modal-wrap>.modal-close{
    right:-10px!important;
    top:0!important;
  }
  .cart-stage-top-actions{
    justify-content:stretch!important;
    margin:10px 0 12px!important;
  }
  .cart-stage-top-actions .checkout-form{
    width:100%!important;
  }
  .cart-stage-top-actions .checkout-form .add-button{
    width:100%!important;
    min-height:48px!important;
    font-size:9px!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
  .cart-final-product{
    grid-template-columns:52px minmax(0,1fr) 34px!important;
  }
  .cart-final-toggle{
    width:32px!important;
    height:32px!important;
  }
  .cart-final-detail{
    padding:10px!important;
    font-size:11px!important;
  }
}


/* ===== v16.6: revisión móvil + alineación total/WhatsApp + feedback botones ===== */

/* Total y botón de envío pertenecen al mismo bloque y quedan alineados */
#cartModal .cart-summary-top{
  display:grid!important;
  grid-template-columns:minmax(250px,.72fr) minmax(360px,1.28fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  margin:10px 0 16px!important;
}
#cartModal .cart-summary-top .cart-total{
  margin:0!important;
  min-height:58px!important;
  height:100%!important;
  padding:10px 14px!important;
  border:1px solid #4d6672!important;
  background:#10242c!important;
}
#cartModal .cart-summary-top .checkout-form{
  position:static!important;
  display:grid!important;
  grid-template-rows:minmax(58px,auto) auto!important;
  gap:4px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
#cartModal .cart-summary-top .checkout-form.hidden{
  display:none!important;
}
#cartModal .cart-summary-top .checkout-form .add-button{
  width:100%!important;
  height:100%!important;
  min-height:58px!important;
  margin:0!important;
  padding:8px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  white-space:nowrap!important;
}
#cartModal .cart-summary-top .form-status{
  min-height:0!important;
  margin:0!important;
  padding:0 2px!important;
}

/* El contenedor antiguo ya no debe reservar espacio */
#cartModal .cart-stage-top-actions{
  display:none!important;
}

/* Feedback visual consistente para botones y acciones */
button:not(:disabled),
.button,
.add-button,
.cyber-action,
.branch-neon-button,
.branch-instagram-button{
  transition:
    filter .14s ease,
    box-shadow .14s ease,
    background-color .14s ease,
    border-color .14s ease,
    color .14s ease!important;
  -webkit-tap-highlight-color:transparent;
}
button:not(:disabled):hover,
.button:hover,
.add-button:hover,
.cyber-action:hover,
.branch-neon-button:hover,
.branch-instagram-button:hover{
  filter:brightness(1.16) saturate(1.12)!important;
}
button:not(:disabled):active,
.button:active,
.add-button:active,
.cyber-action:active,
.branch-neon-button:active,
.branch-instagram-button:active{
  filter:brightness(.80) saturate(1.28)!important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.24),
    inset 0 0 16px rgba(0,0,0,.22)!important;
}
button:disabled{
  cursor:not-allowed!important;
}

/* Revisión móvil: una ficha compacta por producto */
@media(max-width:620px){
  #cartModal .cart-modal{
    padding:24px 12px 16px!important;
  }

  #cartModal .cart-heading{
    padding:0 2px!important;
  }

  #cartModal .cart-summary-top{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    gap:8px!important;
    align-items:stretch!important;
    margin:8px 0 12px!important;
  }
  #cartModal .cart-summary-top .cart-total{
    min-height:52px!important;
    padding:7px 9px!important;
    gap:6px!important;
  }
  #cartModal .cart-summary-top .cart-total span{
    font-size:11px!important;
    line-height:1.05!important;
  }
  #cartModal .cart-summary-top .cart-total strong{
    font-size:17px!important;
    white-space:nowrap!important;
  }
  #cartModal .cart-summary-top .checkout-form{
    grid-template-rows:52px auto!important;
  }
  #cartModal .cart-summary-top .checkout-form .add-button{
    min-height:52px!important;
    padding:5px 7px!important;
    gap:5px!important;
    font-size:7.8px!important;
    line-height:1.05!important;
    white-space:normal!important;
    text-align:center!important;
  }
  #cartModal .cart-summary-top .checkout-form .add-button i{
    font-size:11px!important;
    flex:0 0 auto!important;
  }
  #cartModal .cart-summary-top .form-status{
    font-size:8px!important;
    line-height:1.1!important;
  }

  #cartModal .cart-final-table{
    border:0!important;
    background:transparent!important;
    display:grid!important;
    gap:8px!important;
    overflow:visible!important;
  }
  #cartModal .cart-final-head{
    display:none!important;
  }
  #cartModal .cart-final-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    min-height:0!important;
    padding:0!important;
    border:1px solid #34515d!important;
    background:#0b2028!important;
  }
  #cartModal .cart-final-row>div{
    padding:7px 8px!important;
    border-right:1px solid #263f49!important;
  }
  #cartModal .cart-final-product{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) 34px!important;
    gap:8px!important;
    align-items:center!important;
    min-height:58px!important;
    border-right:0!important;
    border-bottom:1px solid #294650!important;
    padding:6px 8px!important;
  }
  #cartModal .cart-final-thumb{
    width:48px!important;
    height:46px!important;
  }
  #cartModal .cart-final-product-copy strong{
    font-size:10px!important;
    line-height:1.15!important;
  }
  #cartModal .cart-final-toggle{
    width:30px!important;
    height:30px!important;
  }

  #cartModal .cart-final-qty,
  #cartModal .cart-final-unit,
  #cartModal .cart-final-subtotal{
    position:relative!important;
    min-height:48px!important;
    padding:20px 7px 6px!important;
    text-align:center!important;
    border-bottom:0!important;
  }
  #cartModal .cart-final-subtotal{
    border-right:0!important;
  }
  #cartModal .cart-final-qty::before,
  #cartModal .cart-final-unit::before,
  #cartModal .cart-final-subtotal::before{
    content:attr(data-label)!important;
    position:absolute!important;
    top:5px!important;
    left:0!important;
    right:0!important;
    color:#78909a!important;
    font:700 6.5px "Cyber",Arial,sans-serif!important;
    letter-spacing:.06em!important;
    text-align:center!important;
  }
  #cartModal .cart-final-qty{
    font-size:13px!important;
  }
  #cartModal .cart-final-unit{
    font-size:11px!important;
  }
  #cartModal .cart-final-subtotal{
    font-size:13px!important;
  }

  #cartModal .cart-final-detail{
    grid-column:1/-1!important;
    border-right:0!important;
    border-top:1px solid #294651!important;
    padding:9px!important;
    font-size:10px!important;
  }
}

/* En teléfonos especialmente angostos mantenemos total y WhatsApp alineados */
@media(max-width:390px){
  #cartModal .cart-summary-top{
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
    gap:6px!important;
  }
  #cartModal .cart-summary-top .cart-total strong{
    font-size:15px!important;
  }
  #cartModal .cart-summary-top .checkout-form .add-button{
    font-size:7px!important;
    padding:4px!important;
  }
}


/* ===== v16.7: nombre cliente + confirmación de cierre ===== */
.checkout-name-field{
  display:grid;
  grid-template-columns:auto minmax(180px,1fr);
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:6px 10px;
  border:1px solid #41606c;
  background:#0b2028;
}
.checkout-name-field>span{
  color:var(--cyan);
  font:700 9px "Cyber",Arial,sans-serif;
  letter-spacing:.08em;
  white-space:nowrap;
}
.checkout-name-field input{
  width:100%;
  min-width:0;
  height:32px;
  border:1px solid #385561;
  background:#07171e;
  color:#fff;
  padding:0 10px;
  outline:none;
  font:700 12px "Cyber",Arial,sans-serif;
}
.checkout-name-field input:focus{
  border-color:var(--cyan);
  box-shadow:0 0 12px rgba(17,235,248,.22);
}
#cartModal .cart-summary-top .checkout-form{
  grid-template-rows:auto minmax(58px,auto) auto!important;
}
.order-close-confirm{
  position:fixed;
  inset:0;
  z-index:1000005;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.82);
  backdrop-filter:blur(6px);
}
.order-close-confirm-card{
  width:min(520px,calc(100vw - 30px));
  padding:26px;
  border:1px solid var(--cyan);
  background:linear-gradient(180deg,#203a47,#0c1d25 72%,#08151b);
  color:#fff;
  box-shadow:0 0 30px rgba(17,235,248,.24),0 30px 80px rgba(0,0,0,.55);
  clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px);
}
.order-close-confirm-icon{
  width:48px;height:48px;display:grid;place-items:center;margin:0 auto 12px;
  color:var(--cyan);border:1px solid var(--cyan);font-size:20px;
  clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);
  box-shadow:0 0 15px rgba(17,235,248,.22);
}
.order-close-confirm-card h3{margin:0 0 12px;text-align:center;color:#fff;font:700 19px "Nulshock",Arial,sans-serif}
.order-close-confirm-card p{margin:7px 0;color:#d7e4e9;font: 700 15px/1.45 "Cyber",Arial,sans-serif;}
.order-close-confirm-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:20px}
.order-close-confirm-actions button{min-height:46px;border:1px solid #4e6874;cursor:pointer;font:700 11px "Nulshock",Arial,sans-serif}
.order-close-cancel{background:#122832;color:#fff}
.order-close-send{background:var(--cyan);color:#031015;border-color:var(--cyan)!important}
.order-close-send i{margin-right:7px}
@media(max-width:620px){
  .checkout-name-field{grid-template-columns:1fr;gap:5px;padding:7px 8px}
  .checkout-name-field>span{font-size:7px}
  .checkout-name-field input{height:30px;font-size:10px}
  #cartModal .cart-summary-top .checkout-form{grid-template-rows:auto 52px auto!important}
  .order-close-confirm-card{padding:20px 16px}
  .order-close-confirm-card h3{font-size:16px}
  .order-close-confirm-card p{font-size: 15px;}
  .order-close-confirm-actions{grid-template-columns:1fr}
}


/* ===== v16.9: nombre terrícola + cierre final + abducción ===== */
.earthling-name-modal,
.order-close-confirm{
  position:fixed;
  inset:0;
  z-index:1000005;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.84);
  backdrop-filter:blur(7px);
}
.earthling-name-card,
.order-close-confirm-card{
  position:relative;
  width:min(560px,calc(100vw - 30px));
  padding:34px 28px 28px;
  border:1px solid var(--cyan);
  background:linear-gradient(180deg,#213d49,#0c1f27 72%,#07151b);
  color:#fff;
  box-shadow:0 0 32px rgba(17,235,248,.24),0 30px 80px rgba(0,0,0,.6);
  clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px);
  animation:orderPopupIn .28s ease-out both;
}
.earthling-name-modal.is-closing .earthling-name-card,
.order-close-confirm.is-closing .order-close-confirm-card{
  animation:orderPopupOut .2s ease-in both;
}
.earthling-name-back,
.order-close-back{
  left:-14px!important;
  top:0!important;
}
.earthling-name-icon,
.order-close-confirm-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin:0 auto 14px;
  color:var(--cyan);
  border:1px solid var(--cyan);
  font-size:21px;
  clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);
  box-shadow:0 0 18px rgba(17,235,248,.25);
}
.earthling-name-card .eyebrow,
.order-close-confirm-card .eyebrow{
  margin:0 0 7px;
  text-align:center;
  color:var(--cyan);
  font:700 10px "Cyber",Arial,sans-serif;
  letter-spacing:.14em;
}
.earthling-name-card h3,
.order-close-confirm-card h3{
  margin:0 0 18px;
  text-align:center;
  font:700 22px "Nulshock",Arial,sans-serif;
}
.earthling-name-input{
  width:100%;
  height:64px;
  padding:0 18px;
  border:1px solid #4e6d78;
  background:#06171e;
  color:#fff;
  outline:none;
  text-align:center;
  font:700 22px "Cyber",Arial,sans-serif;
  letter-spacing:.02em;
  box-shadow:inset 0 0 18px rgba(0,0,0,.28);
}
.earthling-name-input:focus{
  border-color:var(--cyan);
  box-shadow:0 0 18px rgba(17,235,248,.28),inset 0 0 18px rgba(0,0,0,.28);
}
.earthling-name-help{
  margin:9px 0 16px;
  text-align:center;
  color:#a9bdc5;
  font:700 11px/1.4 "Cyber",Arial,sans-serif;
}
.earthling-name-next{
  width:100%;
  min-height:50px;
  border:1px solid var(--cyan);
  background:var(--cyan);
  color:#031015;
  cursor:pointer;
  font:700 12px "Nulshock",Arial,sans-serif;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
}
.earthling-name-modal.has-error .earthling-name-input{
  border-color:#ff3856;
  animation:nameErrorJolt .35s steps(2,end);
  box-shadow:0 0 18px rgba(255,56,86,.42);
}

.order-close-summary{
  display:grid;
  grid-template-columns:1.5fr .7fr 1fr;
  gap:8px;
  margin:4px 0 14px;
}
.order-close-summary span{
  min-width:0;
  padding:10px;
  border:1px solid #41606c;
  background:#092029;
  display:grid;
  gap:4px;
}
.order-close-summary small{
  color:#7fb1bd;
  font:700 8px "Cyber",Arial,sans-serif;
  letter-spacing:.1em;
}
.order-close-summary strong{
  overflow:hidden;
  text-overflow:ellipsis;
  color:#fff;
  font:700 14px "Nulshock",Arial,sans-serif;
}
.order-close-summary span:last-child strong{
  color:#6dff1d;
  font-size:18px;
}
.order-close-warning{
  margin:10px 0 17px!important;
  color:#d5e3e8!important;
  text-align:center;
  font: 700 15px/1.45 "Cyber",Arial,sans-serif!important;
}
.order-close-send{
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:54px;
  border:1px solid #aaff35!important;
  background:linear-gradient(180deg,#baff3b,#67ef00)!important;
  color:#071105!important;
  cursor:pointer;
  font:700 13px "Nulshock",Arial,sans-serif!important;
  clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px);
  animation:limeSendPulse .72s ease-in-out infinite alternate;
}
.order-close-send::after{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  left:-70px;
  width:42px;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
  animation:limeSendSweep 1.05s linear infinite;
}
.order-close-send i{margin:0 8px}

/* legacy beam styles kept below, enhanced override appended later */
.order-abduction-beam{
  position:fixed;
  z-index:1000007;
  left:50%;
  top:-12vh;
  width:min(460px,80vw);
  height:120vh;
  transform:translateX(-50%);
  pointer-events:none;
  opacity:0;
  clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,rgba(180,255,230,.9),rgba(80,255,190,.42) 45%,rgba(17,235,248,.06));
  filter:blur(1px) drop-shadow(0 0 26px rgba(110,255,190,.9));
  animation:abductionBeam .9s ease-in both;
}
.order-abduction-beam span{
  position:absolute;
  left:50%;
  width:3px;
  height:100%;
  background:rgba(255,255,255,.85);
  box-shadow:0 0 16px #8dffd7;
  animation:abductionLines .25s linear infinite;
}
.order-abduction-beam span:nth-child(2){left:42%;opacity:.55}
.order-abduction-beam span:nth-child(3){left:58%;opacity:.55}
.order-close-confirm.is-abducting .order-close-confirm-card{
  animation:abductOrderCard .9s cubic-bezier(.45,0,.4,1) both!important;
}
.order-close-confirm.is-abducting{
  animation:abductBackdrop .9s ease both;
}

@keyframes orderPopupIn{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:none}
}
@keyframes orderPopupOut{
  to{opacity:0;transform:scale(.97);filter:blur(3px)}
}
@keyframes nameErrorJolt{
  0%,100%{transform:none}
  30%{transform:translateX(-5px)}
  60%{transform:translateX(5px)}
}
@keyframes limeSendPulse{
  from{box-shadow:0 0 10px rgba(122,255,26,.38);filter:brightness(1)}
  to{box-shadow:0 0 28px rgba(122,255,26,.88),0 0 9px rgba(255,255,255,.42) inset;filter:brightness(1.15)}
}
@keyframes limeSendSweep{
  from{left:-70px}
  to{left:calc(100% + 70px)}
}
@keyframes abductionBeam{
  0%{opacity:0;transform:translateX(-50%) scaleX(.15)}
  25%{opacity:.95;transform:translateX(-50%) scaleX(.55)}
  70%{opacity:1;transform:translateX(-50%) scaleX(1)}
  100%{opacity:0;transform:translateX(-50%) scaleX(.7)}
}
@keyframes abductOrderCard{
  0%{transform:none;opacity:1}
  35%{transform:translateY(-10px) scale(.99);filter:brightness(1.3)}
  70%{transform:translateY(-80px) scale(.72);opacity:.78;filter:brightness(1.8) blur(1px)}
  100%{transform:translateY(-420px) scale(.16);opacity:0;filter:brightness(2.4) blur(5px)}
}
@keyframes abductBackdrop{
  0%,65%{background:rgba(0,0,0,.84)}
  100%{background:rgba(0,0,0,0)}
}

@media(max-width:620px){
  .earthling-name-card,
  .order-close-confirm-card{
    width:min(92vw,520px);
    padding:28px 15px 18px;
  }
  .earthling-name-back,
  .order-close-back{
    left:-10px!important;
  }
  .earthling-name-card h3,
  .order-close-confirm-card h3{font-size:17px}
  .earthling-name-input{height:58px;font-size:19px}
  .order-close-summary{
    grid-template-columns:1fr 1fr;
  }
  .order-close-summary span:first-child{
    grid-column:1/-1;
  }
}

#cartModal .cart-summary-top .checkout-form{
  grid-template-rows:minmax(58px,auto) auto!important;
}
@media(max-width:620px){
  #cartModal .cart-summary-top .checkout-form{
    grid-template-rows:52px auto!important;
  }
}

/* ===== v17.0: imágenes progresivas + carrusel arrastrable + reflejo canasta ===== */
.product-progressive-image{
  transition:filter .22s ease,opacity .22s ease!important;
  will-change:filter;
}
.product-progressive-image:not(.is-upgraded){
  filter:blur(.35px) saturate(.96);
}
.product-progressive-image.is-upgrading{opacity:.96}
.product-progressive-image.is-upgraded{filter:none}

#modalMediaStage{
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  touch-action:pan-y;
  will-change:transform;
}
#modalMediaStage.is-dragging{
  cursor:grabbing;
  transition:none!important;
}
#modalMediaStage img{
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

.product-cart-button{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
}
.product-cart-button::after{
  content:"";
  position:absolute;
  z-index:5;
  top:-40%;
  bottom:-40%;
  left:-70%;
  width:36%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),rgba(210,255,255,.82),rgba(255,255,255,.08),transparent);
  filter:blur(.15px);
  pointer-events:none;
  animation:productCartMetalShine 2s ease-in-out infinite;
}
.product-cart-button .basket-inner{
  position:relative;
  z-index:2;
}
@keyframes productCartMetalShine{
  0%,46%{left:-70%;opacity:0}
  52%{opacity:.95}
  72%{left:135%;opacity:.72}
  73%,100%{left:135%;opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .product-cart-button::after{animation:none!important}
  .product-progressive-image{transition:none!important}
}


/* ===== v17.2: revisión final compacta en móvil ===== */
@media(max-width:620px){
  /* Mantener la imagen/título tal como están y compactar sólo los valores inferiores */
  #cartModal .cart-final-row{
    grid-template-columns:minmax(0,1.05fr) minmax(54px,.55fr) minmax(0,1fr)!important;
  }

  /* Orden solicitado: valor unitario | x cantidad | total */
  #cartModal .cart-final-unit{
    grid-column:1!important;
    grid-row:2!important;
  }
  #cartModal .cart-final-qty{
    grid-column:2!important;
    grid-row:2!important;
  }
  #cartModal .cart-final-subtotal{
    grid-column:3!important;
    grid-row:2!important;
  }

  #cartModal .cart-final-unit,
  #cartModal .cart-final-qty,
  #cartModal .cart-final-subtotal{
    min-height:35px!important;
    height:35px!important;
    padding:14px 4px 3px!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }

  #cartModal .cart-final-unit::before,
  #cartModal .cart-final-qty::before,
  #cartModal .cart-final-subtotal::before{
    top:4px!important;
    left:2px!important;
    right:2px!important;
    font-size:5.8px!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #cartModal .cart-final-unit{
    font-size:8.5px!important;
    font-weight:600!important;
    color:#d7e3e7!important;
  }
  #cartModal .cart-final-qty{
    font-size:12px!important;
    font-weight:700!important;
    color:#f3fbfd!important;
  }
  #cartModal .cart-final-subtotal{
    font-size:12px!important;
    font-weight:700!important;
    color:var(--green)!important;
    border-right:0!important;
  }

  /* Reducir altura general sin tocar la miniatura del producto */
  #cartModal .cart-final-table{
    gap:5px!important;
  }
  #cartModal .cart-final-product{
    min-height:54px!important;
    padding:4px 7px!important;
  }
  #cartModal .cart-final-row>div{
    padding-left:5px!important;
    padding-right:5px!important;
  }
  #cartModal .cart-final-detail{
    padding:7px 8px!important;
    font-size: 14px!important;
    line-height:1.3!important;
  }
}

@media(max-width:390px){
  #cartModal .cart-final-row{
    grid-template-columns:minmax(0,1.1fr) minmax(48px,.5fr) minmax(0,1fr)!important;
  }
  #cartModal .cart-final-unit{
    font-size:8px!important;
  }
  #cartModal .cart-final-qty,
  #cartModal .cart-final-subtotal{
    font-size:11px!important;
  }
}


/* ===== v17.3: ajustes solicitados 01-10 ===== */
.branch-tagline{margin:-4px 0 8px;color:#fff;text-align:center;font:700 clamp(22px,3vw,38px)/1 "Nulshock",Arial,sans-serif;letter-spacing:.035em;text-shadow:0 0 14px rgba(17,235,248,.22);display: inline-block!important;}
.product-extra-warning,.order-extra-warning{margin:12px 0 0;color:#c7d7dd;font-family:"Cyber",Arial,sans-serif;font-size:11px;line-height:1.4;text-align:center}
.order-extra-warning{margin:0 0 14px!important;color:#d7e4e8!important}
.cart-item.is-removing{animation:cartItemVanish .32s ease-in both;pointer-events:none}
@keyframes cartItemVanish{0%{opacity:1;transform:none;filter:none}45%{opacity:.7;transform:translateX(-8px);filter:saturate(.3) brightness(1.25)}100%{opacity:0;transform:translateX(45px) scale(.94);filter:blur(3px) saturate(0)}}

/* Pasos más grandes, juntos y sin texto inferior */
.cart-progress{gap:0!important;justify-content:center!important;margin:10px auto 14px!important;max-width:340px!important}
.cart-progress-step>b{width:38px!important;height:38px!important;font-size: 20px!important;}
.cart-progress-step small{display:none!important}
.cart-progress-line{width:70px!important;max-width:18vw!important;margin:0 8px!important}

/* Botones volver fuera del recorte angular en los popups dinámicos */
.earthling-name-wrap,.order-close-confirm-wrap{position:relative;width:min(560px,calc(100vw - 30px));overflow:visible}
.earthling-name-card,.order-close-confirm-card{width:100%!important}
.earthling-name-back,.order-close-back{left:-15px!important;top:-15px!important;z-index:30!important}
.earthling-name-help{display:none!important}

/* Refuerzo Nulshock para móviles y equipos que insistían en usar fallback */
.nulshock,h1,h2,.product-card h3,.product-title,.product-badge,.modal-title-block h2,.modal-title-block>strong,.cart-item-copy>strong,.cart-final-product-copy>strong,.category-title,.section-title,.add-button,.button,.cart-progress-step>b,.branch-name,.branch-tagline,.order-close-confirm-card h3,.earthling-name-card h3{font-family:"Nulshock",Arial,sans-serif!important;font-weight:700!important}
@media(max-width:700px){.branch-tagline{font-size:clamp(18px,5.7vw,28px);margin:0 0 7px}.cart-progress-step>b{width:36px!important;height:36px!important}.cart-progress-line{width:52px!important;margin:0 5px!important}.earthling-name-wrap,.order-close-confirm-wrap{width:min(92vw,520px)}.earthling-name-back,.order-close-back{left:-9px!important;top:-9px!important}}


/* ===== v17.4: catálogo global + nombre sucursal + horario ===== */
.branch-title-info{display:grid!important;justify-items:center;gap:7px!important;padding:12px 10px 8px!important}
.branch-public-name{font-size:clamp(23px,2.4vw,36px)!important;color:#fff!important;letter-spacing:.045em!important;text-align:center;text-shadow:0 0 12px rgba(17,235,248,.22)}
.branch-open-status{display:inline-flex;align-items:center;gap:8px;border:1px solid #42616d;background:#0b1d25;color:#fff;padding:6px 12px;cursor:pointer;font-family:"Cyber",Arial,sans-serif}
.branch-open-status span{font-family:"Nulshock",Arial,sans-serif;font-size:10px}.branch-open-status small{font-size:9px;color:#a9bdc5}
.branch-open-status.status-open{border-color:#37ff69;color:#57ff79;box-shadow:0 0 12px rgba(55,255,105,.18)}
.branch-open-status.status-closing{border-color:#ffe43d;color:#ffe43d}.branch-open-status.status-opening{border-color:var(--cyan);color:var(--cyan)}
.branch-open-status.status-closed{border-color:#ff4058;color:#ff7182}
.side-branch-actions{display:grid;gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid #34515d}
.side-utility{min-height:44px;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #34515d;background:#102731;color:#ddecf1;text-decoration:none;cursor:pointer;font-family:"Nulshock",Arial,sans-serif;font-size:10px}
.side-utility i{width:20px;color:var(--cyan);font-size:16px}.side-utility:hover{border-color:var(--cyan);color:#fff;box-shadow:0 0 12px rgba(17,235,248,.18)}
.drawer button.drawer-link{width:100%;text-align:left;font:inherit}
.hours-modal{width:min(620px,92vw)!important;padding:28px!important}.hours-modal .eyebrow{text-align:center}.hours-modal h2{text-align:center;margin:5px 0 15px}
.hours-status-card{display:grid;gap:3px;justify-items:center;padding:12px;border:1px solid #48636e;background:#0b2028;margin-bottom:12px}.hours-status-card strong{font-family:"Nulshock",Arial,sans-serif;font-size:18px}.hours-status-card span{font-family:"Cyber",Arial,sans-serif;font-size:11px}
.hours-status-card.status-open strong{color:#58ff79}.hours-status-card.status-closing strong{color:#ffe43d}.hours-status-card.status-opening strong{color:var(--cyan)}.hours-status-card.status-closed strong{color:#ff6074}
.public-hours-table{display:grid;border:1px solid #36515c;margin-bottom:14px}.public-hours-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:9px 12px;border-bottom:1px solid #2a424c}.public-hours-row:last-child{border-bottom:0}.public-hours-row b{font:700 10px "Nulshock",Arial,sans-serif}.public-hours-row span{text-align:right;font:700 11px "Cyber",Arial,sans-serif;color:#d9e7eb}
@media(max-width:620px){.branch-public-name{font-size:21px!important}.branch-open-status small{display:none}.hours-modal{padding:24px 14px!important}.public-hours-row{padding:8px}.side-branch-actions{display:none}}

@media(max-width:900px){.nulshock,.product-title,.section-title,.branch-public-name,.side-utility,.modal-card h1,.modal-card h2,.modal-card h3,button,.button{font-family:"Nulshock",Arial,sans-serif!important}}


/* ===== v17.5: horario de hoy, mapa y horario semanal ===== */
html{scroll-behavior:smooth}
#mapa{scroll-margin-top:120px}
.branch-open-status small{white-space:normal;text-align:center}
.full-week-hours{width:min(560px,100%)}
.footer-hours-status{display:flex;gap:10px;align-items:center;margin:0 0 12px;font-family:"Cyber",Arial,sans-serif}
.footer-hours-status strong{font-family:"Nulshock",Arial,sans-serif}
.weekly-hours-list{display:grid;width:100%;border-top:1px solid rgba(255,255,255,.22)}
.weekly-hours-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.22);font-family:"Cyber",Arial,sans-serif}
.weekly-hours-row strong{font-family:"Nulshock",Arial,sans-serif;font-size:12px}
.weekly-hours-row span{text-align:right}
.weekly-hours-row.is-today{color:var(--cyan);background:rgba(17,235,248,.06)}
@media(max-width:620px){
  .branch-open-status{max-width:94vw;margin-inline:auto}
  .branch-open-status span{font-size:10px!important}
  .branch-open-status small{font-size:7px!important;line-height:1.2}
  .weekly-hours-row{padding:7px 3px;gap:12px;font-size:11px}
  .weekly-hours-row strong{font-size:10px}
}


/* ===== v17.6: horario público + SVG de categorías ===== */
.branch-title-info{
  margin-bottom:24px!important;
}
.branch-open-status{
  text-decoration:none!important;
  min-height:48px!important;
  padding:9px 18px!important;
  gap:14px!important;
  justify-content:center!important;
}
.branch-open-status span{
  font-size:clamp(13px,1.25vw,18px)!important;
  line-height:1!important;
}
.branch-open-status small{
  display:inline-block!important;
  font-size:clamp(11px,.95vw,14px)!important;
  line-height:1.15!important;
  color:#c6d5db!important;
  letter-spacing:.035em!important;
}
#horario-semanal{
  scroll-margin-top:150px;
  margin:22px auto 0!important;
  width:min(620px,100%)!important;
  text-align:center!important;
}
#horario-semanal h3{text-align:center!important}
.footer-hours-status{
  justify-content:center!important;
  flex-wrap:wrap!important;
  text-align:center!important;
}
.footer-hours-status strong{font-size:16px!important}
.footer-hours-status span{font-size:12px!important;color:#c8d8de!important}
.weekly-hours-list{margin-inline:auto!important}
.weekly-hours-row.is-today{
  color:var(--cyan)!important;
  background:rgba(17,235,248,.10)!important;
  box-shadow:inset 3px 0 0 var(--cyan),inset -3px 0 0 var(--cyan)!important;
}
.weekly-hours-row.is-today strong,
.weekly-hours-row.is-today span{color:var(--cyan)!important}

.category-svg-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  color:#fff;
  transition:color .16s ease,filter .16s ease,transform .16s ease;
}
.category-svg-icon svg{width:100%;height:100%;display:block;overflow:visible}
.side-item:hover .category-svg-icon,
.side-item.active .category-svg-icon,
.drawer .side-item:hover .category-svg-icon,
.drawer .side-item.active .category-svg-icon{
  color:var(--pink)!important;
  filter:drop-shadow(0 0 7px rgba(255,85,216,.78));
}
.mcat .category-svg-icon{width:22px;height:22px;flex-basis:22px}
.mcat:hover .category-svg-icon,.mcat.active .category-svg-icon{
  color:var(--pink)!important;
  filter:drop-shadow(0 0 6px rgba(255,85,216,.84));
}
@media(max-width:620px){
  .branch-title-info{margin-bottom:18px!important}
  .branch-open-status{min-height:44px!important;padding:8px 10px!important;gap:8px!important;max-width:96vw!important}
  .branch-open-status span{font-size:12px!important}
  .branch-open-status small{font-size:9px!important}
  #horario-semanal{scroll-margin-top:110px;margin-top:18px!important}
  .footer-hours-status strong{font-size:13px!important}
}


/* ===== v17.7: carga progresiva real + horario visual + utilidades laterales ===== */

/* Tarjeta: la miniatura 60px queda debajo y la versión 350px aparece encima */
.product-media{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background-color:#03080b!important;
}
.product-image-progressive-bg{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  background-image:
    linear-gradient(rgba(0,0,0,.02),rgba(0,0,0,.02)),
    var(--product-thumb);
  background-position:center bottom;
  background-repeat:no-repeat;
  background-size:contain;
  filter:blur(.7px) saturate(.96);
  transform:scale(1.008);
  opacity:1;
  transition:opacity .25s ease;
}
.product-progressive-image{
  position:relative!important;
  z-index:1!important;
  opacity:0!important;
  filter:none!important;
  transition:opacity .25s ease!important;
}
.product-progressive-image.is-upgraded{
  opacity:1!important;
}
.product-progressive-image.is-load-error{
  display:none!important;
}
.product-media.has-hires-image .product-image-progressive-bg{
  opacity:0!important;
}
.product-whatsapp-button{
  z-index:4!important;
}

/* Encabezado de la sucursal / estado de hoy */
.branch-title-info{
  padding:15px 12px 18px!important;
  margin-bottom:26px!important;
  gap:10px!important;
}
.branch-open-status{
  display:grid!important;
  grid-template-columns:auto auto!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:16px!important;
  row-gap:2px!important;
  min-width:min(560px,92vw)!important;
  min-height:54px!important;
  padding:10px 18px!important;
  text-decoration:none!important;
  border-width:1px!important;
  background:
    linear-gradient(180deg,rgba(32,58,69,.95),rgba(7,23,30,.98))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 7px 18px rgba(0,0,0,.24)!important;
}
.branch-open-status span{
  font-size:clamp(16px,1.4vw,21px)!important;
  white-space:nowrap!important;
}
.branch-open-status small{
  display:block!important;
  font-size:clamp(11px,1vw,14px)!important;
  white-space:nowrap!important;
  color:#cfe0e6!important;
}
.branch-open-status.status-opening{border-color:var(--cyan)!important}
.branch-open-status.status-open{border-color:#43ff78!important}
.branch-open-status.status-closing{border-color:#ffe53d!important}
.branch-open-status.status-closed{border-color:#ff4860!important}

/* Los botones del menú lateral vuelven a ser botones reales, no texto pegado */
.side-branch-actions{
  display:grid!important;
  gap:8px!important;
  width:100%!important;
  margin:12px 0 0!important;
  padding:12px 0 0!important;
  overflow:visible!important;
}
.side-utility{
  width:100%!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  padding:9px 13px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  border:1px solid #365560!important;
  background:linear-gradient(180deg,#132b35,#0b2028)!important;
  color:#eef8fb!important;
  font:700 10px "Nulshock",Arial,sans-serif!important;
  box-sizing:border-box!important;
}
.side-utility i{
  flex:0 0 20px!important;
  width:20px!important;
  text-align:center!important;
  color:var(--cyan)!important;
}
.side-utility:hover{
  border-color:var(--cyan)!important;
  background:linear-gradient(180deg,#173641,#0c2731)!important;
  box-shadow:0 0 14px rgba(17,235,248,.22)!important;
}

/* Mapa: siempre ocupa el ancho disponible y mantiene estética oscura */
.location-section iframe{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:420px!important;
  border:1px solid #45616d!important;
  background:#071318!important;
}

/* Horario semanal: tarjeta centrada y legible */
#horario-semanal{
  width:min(720px,100%)!important;
  margin:34px auto 18px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #45616d!important;
  background:
    linear-gradient(180deg,rgba(22,47,58,.98),rgba(7,23,30,.98))!important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.weekly-hours-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  padding:18px 20px 14px!important;
  border-bottom:1px solid #35505b!important;
  text-align:left!important;
}
.weekly-hours-heading>i{
  color:var(--cyan)!important;
  font-size:25px!important;
  filter:drop-shadow(0 0 6px rgba(17,235,248,.5));
}
.weekly-hours-heading h3{
  margin:0!important;
  color:var(--cyan)!important;
  font:700 20px "Nulshock",Arial,sans-serif!important;
  text-align:left!important;
}
.weekly-hours-heading p{
  margin:3px 0 0!important;
  color:#8faab4!important;
  font:700 9px "Cyber",Arial,sans-serif!important;
}
.footer-hours-status{
  display:grid!important;
  grid-template-columns:auto auto!important;
  justify-content:center!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  padding:12px 18px!important;
  background:#0a1c23!important;
  border-bottom:1px solid #35505b!important;
}
.footer-hours-status strong{
  font:700 15px "Nulshock",Arial,sans-serif!important;
}
.footer-hours-status span{
  color:#d0dee3!important;
  font:700 11px "Cyber",Arial,sans-serif!important;
}
.footer-hours-status.status-opening strong{color:var(--cyan)!important}
.footer-hours-status.status-open strong{color:#5cff7d!important}
.footer-hours-status.status-closing strong{color:#ffe33d!important}
.footer-hours-status.status-closed strong{color:#ff6378!important}

.weekly-hours-list{
  width:100%!important;
  display:grid!important;
  border:0!important;
}
.weekly-hours-row{
  display:grid!important;
  grid-template-columns:minmax(160px,1fr) minmax(150px,.8fr)!important;
  align-items:center!important;
  gap:24px!important;
  min-height:48px!important;
  padding:10px 22px!important;
  border-bottom:1px solid rgba(102,135,148,.27)!important;
  background:rgba(2,11,15,.13)!important;
}
.weekly-hours-row:last-child{border-bottom:0!important}
.weekly-hours-row:nth-child(even){
  background:rgba(255,255,255,.018)!important;
}
.weekly-hours-row strong{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  color:#f4fbfd!important;
  font:700 12px "Nulshock",Arial,sans-serif!important;
}
.weekly-hours-row strong em{
  padding:4px 7px!important;
  color:#001015!important;
  background:var(--cyan)!important;
  font:700 7px "Cyber",Arial,sans-serif!important;
  font-style:normal!important;
  letter-spacing:.08em!important;
}
.weekly-hours-row span{
  text-align:right!important;
  color:#d5e4e9!important;
  font:700 13px "Cyber",Arial,sans-serif!important;
}
.weekly-hours-row.is-today{
  color:var(--cyan)!important;
  background:
    linear-gradient(90deg,rgba(17,235,248,.14),rgba(17,235,248,.035))!important;
  box-shadow:
    inset 4px 0 0 var(--cyan),
    inset -1px 0 0 rgba(17,235,248,.35)!important;
}
.weekly-hours-row.is-today strong,
.weekly-hours-row.is-today span{
  color:var(--cyan)!important;
}

/* Mantener la tabla cómoda en móvil */
@media(max-width:620px){
  .branch-title-info{margin-bottom:20px!important;padding-bottom:12px!important}
  .branch-open-status{
    min-width:0!important;
    width:min(94vw,480px)!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    min-height:54px!important;
  }
  .branch-open-status span{font-size:15px!important}
  .branch-open-status small{font-size:10px!important}
  #horario-semanal{
    width:94%!important;
    margin:26px auto 14px!important;
  }
  .weekly-hours-heading{
    padding:15px 14px 12px!important;
  }
  .weekly-hours-heading h3{font-size:16px!important}
  .footer-hours-status{
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .weekly-hours-row{
    grid-template-columns:1fr auto!important;
    min-height:44px!important;
    padding:9px 13px!important;
    gap:10px!important;
  }
  .weekly-hours-row strong{font-size:10px!important}
  .weekly-hours-row span{font-size:11px!important}
  .location-section iframe{min-height:330px!important}
}


/* ===== v17.8: nave alien + abducción mejorada ===== */
.order-close-confirm{overflow:hidden}
.order-close-confirm.is-abducting-active .order-close-confirm-card{pointer-events:none}
.order-abduction-ship{
  position:fixed;
  left:50%;
  top:-260px;
  width:min(540px,74vw);
  transform:translateX(-50%);
  z-index:1000008;
  pointer-events:none;
  opacity:0;
  filter:drop-shadow(0 0 26px rgba(17,235,248,.46));
  animation:alienShipDrop 1.55s cubic-bezier(.2,.9,.18,1) forwards;
}
.order-abduction-ship::before,
.order-abduction-ship::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  mix-blend-mode:screen;
  opacity:0;
}
.order-abduction-ship::before{
  transform:translate(5px,0);
  filter:hue-rotate(130deg) saturate(1.2);
  animation:alienShipGhostA .24s steps(2,end) 5;
}
.order-abduction-ship::after{
  transform:translate(-6px,0);
  filter:hue-rotate(-80deg) saturate(1.3);
  animation:alienShipGhostB .19s steps(2,end) 6;
}
.order-abduction-ship img{display:block;width:100%;height:auto}
.order-abduction-beam{
  position:fixed;
  z-index:1000007;
  left:50%;
  top:110px;
  width:min(430px,52vw);
  height:100vh;
  transform:translateX(-50%) scaleY(.75);
  transform-origin:top center;
  pointer-events:none;
  opacity:0;
  clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,rgba(170,255,227,.95) 0%,rgba(100,255,195,.55) 32%,rgba(17,235,248,.18) 72%,rgba(17,235,248,0) 100%);
  filter:blur(.5px) drop-shadow(0 0 28px rgba(110,255,190,.88));
  animation:abductionBeamEnhanced 1.55s ease-in-out forwards;
}
.order-abduction-beam span{
  position:absolute;
  top:0;
  bottom:0;
  width:3px;
  background:rgba(255,255,255,.82);
  box-shadow:0 0 18px #a3ffe0;
  animation:abductionLinesEnhanced .22s linear infinite;
}
.order-abduction-beam span:nth-child(1){left:46%}
.order-abduction-beam span:nth-child(2){left:50%;opacity:.9}
.order-abduction-beam span:nth-child(3){left:54%;opacity:.68}
.order-abduction-flash{
  position:fixed;
  inset:0;
  z-index:1000006;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.9),rgba(121,255,221,.34) 18%,rgba(17,235,248,.08) 38%,rgba(0,0,0,0) 62%);
  animation:abductionFlash 1.55s ease-out forwards;
}
.order-abduction-glitch{
  position:fixed;
  inset:0;
  z-index:1000009;
  pointer-events:none;
  opacity:0;
  mix-blend-mode:screen;
  animation:abductionGlitchWrap 1.55s steps(2,end) forwards;
}
.order-abduction-glitch span{
  position:absolute;
  left:0; right:0;
  height:clamp(10px,1.9vw,18px);
  background:linear-gradient(90deg,transparent,rgba(17,235,248,.65),rgba(255,255,255,.92),rgba(153,255,48,.62),transparent);
  box-shadow:0 0 16px rgba(17,235,248,.26);
  transform:translateX(-100%);
}
.order-abduction-glitch span:nth-child(1){top:19%;animation:glitchScan 1.1s linear .08s forwards}
.order-abduction-glitch span:nth-child(2){top:44%;animation:glitchScan 1.2s linear .18s forwards}
.order-abduction-glitch span:nth-child(3){top:68%;animation:glitchScan 1s linear .34s forwards}
.order-close-confirm.is-abducting .order-close-confirm-card{
  animation:abductOrderCardEnhanced 1.55s cubic-bezier(.45,0,.4,1) both!important;
}
.order-close-confirm.is-abducting{animation:abductBackdropEnhanced 1.55s ease both}

@keyframes alienShipDrop{
  0%{opacity:0;transform:translateX(-50%) translateY(-140px) scale(.68)}
  18%{opacity:1}
  55%{transform:translateX(-50%) translateY(108px) scale(1)}
  72%{transform:translateX(-50%) translateY(88px) scale(1.01)}
  100%{opacity:1;transform:translateX(-50%) translateY(96px) scale(1)}
}
@keyframes alienShipGhostA{0%,100%{opacity:0}50%{opacity:.26}}
@keyframes alienShipGhostB{0%,100%{opacity:0}50%{opacity:.18}}
@keyframes abductionBeamEnhanced{
  0%{opacity:0;transform:translateX(-50%) scaleX(.18) scaleY(.3)}
  20%{opacity:.92;transform:translateX(-50%) scaleX(.42) scaleY(.8)}
  55%{opacity:1;transform:translateX(-50%) scaleX(1) scaleY(1)}
  86%{opacity:.96;transform:translateX(-50%) scaleX(.96) scaleY(1.02)}
  100%{opacity:0;transform:translateX(-50%) scaleX(.82) scaleY(1.03)}
}
@keyframes abductionLinesEnhanced{
  0%{transform:translateY(-10px);opacity:.25}
  50%{opacity:.92}
  100%{transform:translateY(18px);opacity:.15}
}
@keyframes abductionFlash{
  0%,16%{opacity:0}
  26%{opacity:.25}
  42%{opacity:.7}
  58%{opacity:.38}
  100%{opacity:0}
}
@keyframes abductionGlitchWrap{
  0%,12%{opacity:0}
  18%,60%{opacity:1}
  100%{opacity:0}
}
@keyframes glitchScan{
  0%{transform:translateX(-110%) skewX(-18deg)}
  100%{transform:translateX(110%) skewX(-18deg)}
}
@keyframes abductOrderCardEnhanced{
  0%{transform:none;opacity:1;filter:none}
  18%{transform:translateY(-6px) scale(.995);filter:brightness(1.22)}
  38%{transform:translateY(-26px) scale(.95);filter:brightness(1.55) contrast(1.06)}
  60%{transform:translateY(-110px) scale(.72);opacity:.84;filter:brightness(1.92) blur(1px)}
  82%{transform:translateY(-280px) scale(.32);opacity:.4;filter:brightness(2.3) blur(4px)}
  100%{transform:translateY(-510px) scale(.08);opacity:0;filter:brightness(2.5) blur(7px)}
}
@keyframes abductBackdropEnhanced{
  0%,50%{background:rgba(0,0,0,.84)}
  70%{background:rgba(0,0,0,.55)}
  100%{background:rgba(0,0,0,0)}
}
@media(max-width:700px){
  .order-abduction-ship{width:min(88vw,420px)}
  .order-abduction-beam{width:min(70vw,320px);top:90px}
}


/* ===== v18.0: flujo de canasta corregido ===== */
#cartModal .modal-back-fixed,
#upsellModal .modal-back-fixed{display:none!important}

#cartModal .cart-modal,
#upsellModal .upsell-modal{
  padding-bottom:0!important;
}

/* Títulos y subtítulos */
#cartModal #cartSubtitle.hidden{display:none!important}

/* Total ocupa todo el ancho y tiene mayor jerarquía */
#cartModal .cart-summary-top{
  display:block!important;
  width:100%!important;
  margin:16px 0!important;
}
#cartModal .cart-total{
  width:100%!important;
  max-width:none!important;
  min-height:72px!important;
  margin:0!important;
  padding:14px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  box-sizing:border-box!important;
}
#cartModal .cart-total span{
  font-size:17px!important;
  line-height:1.1!important;
}
#cartModal .cart-total strong{
  font-size:32px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
#cartModal .checkout-form{display:none!important}

/* Barra inferior: 40% + 40%, con 5% de margen lateral */
#cartModal .cart-flow-actions,
#upsellModal .upsell-actions{
  position:sticky!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:80!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:auto!important;
  margin:14px -28px -28px!important;
  padding:12px 5% calc(14px + env(safe-area-inset-bottom))!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg,rgba(8,22,29,.90),#091921 28%,#061219 100%)!important;
  border-top:1px solid #496874!important;
  box-shadow:0 -12px 28px rgba(0,0,0,.38)!important;
}
#upsellModal .upsell-actions{margin:0!important}

#cartModal .cart-flow-actions>button,
#upsellModal .upsell-actions>button{
  flex:0 0 40%!important;
  width:40%!important;
  min-width:0!important;
  max-width:40%!important;
  min-height:50px!important;
  margin:0!important;
  padding:10px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border-radius:0!important;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)!important;
  font:700 11px "Nulshock",Arial,sans-serif!important;
  text-decoration:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Volver siempre oscuro, jamás blanco por estilos heredados */
#cartModal .cart-flow-back,
#upsellModal .upsell-back{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid #4b6975!important;
  background:linear-gradient(180deg,#142a34,#081921)!important;
  color:#e8f4f7!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
}
#cartModal .cart-flow-back i,
#upsellModal .upsell-back i{color:var(--cyan)!important}
#cartModal .cart-flow-back:hover,
#upsellModal .upsell-back:hover{
  border-color:var(--cyan)!important;
  color:var(--cyan)!important;
  filter:brightness(1.13)!important;
}

#cartModal .cart-continue-button,
#upsellModal .upsell-continue{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid var(--cyan)!important;
  background:linear-gradient(180deg,#49f8ff,#00c9dc)!important;
  color:#021015!important;
  box-shadow:0 0 18px rgba(17,235,248,.2)!important;
}
#cartModal .cart-continue-button:hover,
#upsellModal .upsell-continue:hover{
  filter:brightness(1.12) saturate(1.08)!important;
  box-shadow:0 0 24px rgba(17,235,248,.42)!important;
}

#cartModal .cart-flow-status{
  position:absolute!important;
  left:5%!important;
  right:5%!important;
  bottom:calc(100% + 4px)!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}
#cartModal .cart-flow-status:empty{display:none!important}

/* El aviso de identidad fue eliminado del HTML */
#cartModal .cart-identity-note{display:none!important}

#upsellModalBody{max-height:88vh!important}
#upsellModal .upsell-grid{padding-bottom:18px!important}
.upsell-empty{
  min-height:160px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:8px!important;
  text-align:center!important;
  color:#a8bdc5!important;
  border:1px solid #35505b!important;
  background:#0a1c24!important;
  padding:20px!important;
}
.upsell-empty i{font-size:30px!important;color:var(--cyan)!important}
.upsell-empty strong{color:#fff!important;font:700 15px "Nulshock",Arial,sans-serif!important}
.upsell-empty span{font:700 11px "Cyber",Arial,sans-serif!important}

@media(max-width:620px){
  #cartModal .cart-summary-top{margin:12px 0!important}
  #cartModal .cart-total{
    min-height:62px!important;
    padding:10px 12px!important;
  }
  #cartModal .cart-total span{font-size:12px!important}
  #cartModal .cart-total strong{font-size:24px!important}

  #cartModal .cart-flow-actions,
  #upsellModal .upsell-actions{
    margin:10px -12px -18px!important;
    padding:9px 5% calc(10px + env(safe-area-inset-bottom))!important;
  }
  #upsellModal .upsell-actions{margin:0!important}
  #cartModal .cart-flow-actions>button,
  #upsellModal .upsell-actions>button{
    flex-basis:40%!important;
    width:40%!important;
    max-width:40%!important;
    min-height:47px!important;
    padding:8px 6px!important;
    font-size:9px!important;
  }
  #cartModal .cart-heading h2{font-size:20px!important}
  #upsellModal .upsell-head h2{font-size:18px!important}
}


/* ===== v18.1: sugerencias full width + modales móviles más altos ===== */
#upsellModal .upsell-grid{
  grid-template-columns:1fr!important;
  width:100%!important;
}
#upsellModal .upsell-item,
#upsellModal .upsell-empty{
  width:100%!important;
  max-width:none!important;
  grid-column:1/-1!important;
  box-sizing:border-box!important;
}

@media(max-width:620px){
  #cartModal .cart-modal,
  #upsellModal .upsell-modal{
    min-height:78dvh!important;
    max-height:88dvh!important;
  }
  #cartModal .cart-modal{
    display:flex!important;
    flex-direction:column!important;
  }
  #cartModal #cartItems{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
  }
  #cartModal .cart-flow-actions{
    margin-top:auto!important;
  }
  #upsellModal .upsell-modal{
    display:flex!important;
    flex-direction:column!important;
  }
  #upsellModalBody{
    min-height:0!important;
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
  }
  #upsellModal .upsell-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
  }
  #upsellModal .upsell-actions{
    margin-top:auto!important;
  }
}


/* ===== v18.2: acciones inferiores en identificación/cierre + nave completa ===== */

.earthling-name-wrap,
.order-close-confirm-wrap{
  width:min(620px,calc(100vw - 32px))!important;
}

.earthling-name-card,
.order-close-confirm-card{
  width:100%!important;
  padding-bottom:22px!important;
}

/* Botones inferiores: 40% + 40%, con 5% de margen a cada lado */
.checkout-popup-actions{
  width:100%!important;
  display:grid!important;
  grid-template-columns:40% 40%!important;
  column-gap:10%!important;
  align-items:stretch!important;
  margin:22px 0 0!important;
  padding:0 5%!important;
  box-sizing:border-box!important;
}

.checkout-popup-actions button{
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  cursor:pointer!important;
  font:700 11px "Nulshock",Arial,sans-serif!important;
  letter-spacing:.02em!important;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)!important;
  transition:filter .15s ease,box-shadow .15s ease,transform .12s ease!important;
}

.checkout-popup-back{
  border:1px solid #4a6874!important;
  background:linear-gradient(180deg,#16303a,#081b22)!important;
  color:#f0fbfe!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
}

.checkout-popup-next{
  border:1px solid var(--cyan)!important;
  background:linear-gradient(180deg,#43f2ff,#09cce2)!important;
  color:#031015!important;
  box-shadow:0 0 18px rgba(17,235,248,.18)!important;
}

.checkout-popup-send{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid #aaff35!important;
  background:linear-gradient(180deg,#c2ff42,#70f400)!important;
  color:#071105!important;
  box-shadow:0 0 18px rgba(121,255,35,.34)!important;
  animation:limeSendPulse .72s ease-in-out infinite alternate!important;
}

.checkout-popup-send::after{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  left:-80px;
  width:46px;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
  animation:limeSendSweep 1.05s linear infinite;
  pointer-events:none;
}

.checkout-popup-actions button:hover{
  filter:brightness(1.14) saturate(1.1)!important;
}

.checkout-popup-actions button:active{
  filter:brightness(.82) saturate(1.22)!important;
  transform:translateY(1px)!important;
}

/* Anular estilos antiguos de botones superiores */
.earthling-name-back,
.order-close-back{
  position:static!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:52px!important;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)!important;
}

.earthling-name-next,
.order-close-send{
  width:100%!important;
  min-height:52px!important;
  margin:0!important;
}

/* La nave no se recorta */
.order-close-confirm{
  overflow:visible!important;
}

.order-abduction-ship{
  top:12px!important;
  width:min(560px,76vw)!important;
  max-height:220px!important;
  opacity:0;
  z-index:1000012!important;
}

.order-abduction-ship img{
  display:block!important;
  width:100%!important;
  max-height:220px!important;
  object-fit:contain!important;
}

.order-abduction-beam{
  top:150px!important;
  z-index:1000010!important;
}

.order-abduction-flash{z-index:1000009!important}
.order-abduction-glitch{z-index:1000013!important}

@keyframes alienShipDrop{
  0%{
    opacity:0;
    transform:translateX(-50%) translateY(-170px) scale(.72);
  }
  18%{opacity:1}
  56%{
    opacity:1;
    transform:translateX(-50%) translateY(0) scale(1);
  }
  72%{
    transform:translateX(-50%) translateY(-7px) scale(1.015);
  }
  100%{
    opacity:1;
    transform:translateX(-50%) translateY(0) scale(1);
  }
}

@media(max-width:700px){
  .earthling-name-wrap,
  .order-close-confirm-wrap{
    width:min(94vw,560px)!important;
  }

  .earthling-name-card,
  .order-close-confirm-card{
    padding:24px 14px 16px!important;
  }

  .checkout-popup-actions{
    grid-template-columns:40% 40%!important;
    column-gap:10%!important;
    padding:0 5%!important;
    margin-top:18px!important;
  }

  .checkout-popup-actions button{
    min-height:48px!important;
    font-size: 14px!important;
    gap:6px!important;
  }

  .order-abduction-ship{
    top:8px!important;
    width:min(92vw,430px)!important;
    max-height:175px!important;
  }

  .order-abduction-ship img{
    max-height:175px!important;
  }

  .order-abduction-beam{
    top:118px!important;
    width:min(74vw,330px)!important;
  }
}

/* ===== v18.3: sugerencias por categoría ===== */
#upsellModal .upsell-category-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  margin:20px 0 0!important;
  padding:0 0 18px!important;
  box-sizing:border-box!important;
  overflow:auto!important;
}
#upsellModal .upsell-category-card{
  position:relative!important;
  width:100%!important;
  min-height:230px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #46636f!important;
  background:#07151b!important;
  color:#fff!important;
  cursor:pointer!important;
  text-align:left!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
  transition:transform .16s ease,filter .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
#upsellModal .upsell-category-card:hover{
  transform:translateY(-3px)!important;
  filter:brightness(1.08)!important;
  border-color:var(--cyan)!important;
  box-shadow:0 0 22px rgba(17,235,248,.24),inset 0 0 0 1px rgba(255,255,255,.04)!important;
}
#upsellModal .upsell-category-card:active{transform:translateY(0) scale(.985)!important}
#upsellModal .upsell-category-media{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  background:#02070a!important;
}
#upsellModal .upsell-category-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
#upsellModal .upsell-category-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.03) 25%,rgba(0,10,14,.42) 62%,rgba(0,10,14,.97) 100%);
}
#upsellModal .upsell-category-overlay{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:2!important;
  display:grid!important;
  gap:5px!important;
  padding:18px!important;
}
#upsellModal .upsell-category-overlay strong{
  font:700 20px/1.05 "Nulshock",Arial,sans-serif!important;
  color:#fff!important;
}
#upsellModal .upsell-category-overlay small{
  color:#b8ccd3!important;
  font:700 9px "Cyber",Arial,sans-serif!important;
}
#upsellModal .upsell-category-overlay em{
  margin-top:5px!important;
  color:var(--cyan)!important;
  font:700 9px "Nulshock",Arial,sans-serif!important;
  font-style:normal!important;
}
#upsellModal .upsell-product-grid{
  width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#upsellModal .upsell-product-grid .upsell-item{width:100%!important;max-width:none!important}

@media(max-width:900px){
  #upsellModal .upsell-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  #upsellModal .upsell-category-grid{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    padding:0 10px 14px!important;
    flex:1 1 auto!important;
    min-height:0!important;
  }
  #upsellModal .upsell-category-card{min-height:170px!important}
  #upsellModal .upsell-category-overlay{padding:12px!important}
  #upsellModal .upsell-category-overlay strong{font-size:14px!important}
  #upsellModal .upsell-category-overlay small{font-size:7px!important}
  #upsellModal .upsell-category-overlay em{font-size:7px!important}
  #upsellModal .upsell-product-grid{grid-template-columns:1fr!important}
}


/* ===== v18.4: sugerencias solo en paso 2 + categorías cuadradas + productos ordenados ===== */

/* Nunca dejar el modal de sugerencias mezclado con la ficha de producto */
#upsellModal:not(.open){
  pointer-events:none!important;
}

/* Vista general de categorías */
#upsellModal .upsell-category-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start!important;
  justify-items:stretch!important;
  margin:20px 0 0!important;
  padding:0 0 20px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}

#upsellModal .upsell-category-card{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:start!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #46636f!important;
  background:linear-gradient(180deg,#0c2028,#07151b)!important;
  color:#fff!important;
  cursor:pointer!important;
  text-align:center!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)!important;
}

#upsellModal .upsell-category-media{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#02070a!important;
}

#upsellModal .upsell-category-media::after{
  display:none!important;
}

#upsellModal .upsell-category-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .2s ease,filter .2s ease!important;
}

#upsellModal .upsell-category-card:hover .upsell-category-media img{
  transform:scale(1.035)!important;
  filter:brightness(1.08)!important;
}

#upsellModal .upsell-category-caption{
  position:relative!important;
  inset:auto!important;
  min-height:68px!important;
  display:grid!important;
  place-content:center!important;
  gap:5px!important;
  padding:11px 10px 12px!important;
  background:linear-gradient(180deg,#102730,#091b22)!important;
  border-top:1px solid #35545f!important;
}

#upsellModal .upsell-category-caption strong{
  font:700 14px/1.08 "Nulshock",Arial,sans-serif!important;
  color:#fff!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}

#upsellModal .upsell-category-caption small{
  color:#8ca7b1!important;
  font:700 8px "Cyber",Arial,sans-serif!important;
  text-align:center!important;
}

/* Anular el overlay antiguo si quedara HTML cacheado */
#upsellModal .upsell-category-overlay{
  position:static!important;
  display:none!important;
}

/* Interior de una categoría: una lista clara a todo el ancho */
#upsellModal .upsell-product-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  align-items:stretch!important;
  margin:18px 0 0!important;
  padding:0 0 18px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

#upsellModal .upsell-product-grid .upsell-item{
  width:100%!important;
  max-width:none!important;
  min-height:138px!important;
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr) auto!important;
  grid-template-rows:1fr!important;
  gap:14px!important;
  align-items:center!important;
  padding:12px!important;
  box-sizing:border-box!important;
  border:1px solid #45636e!important;
  background:linear-gradient(180deg,#132a34,#091b22)!important;
}

#upsellModal .upsell-product-grid .upsell-item-media{
  grid-column:1!important;
  grid-row:1!important;
  width:118px!important;
  height:118px!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  background:#030a0e!important;
}

#upsellModal .upsell-product-grid .upsell-item-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

#upsellModal .upsell-product-grid .upsell-item-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  align-self:center!important;
  display:grid!important;
  gap:7px!important;
}

#upsellModal .upsell-product-grid .upsell-item-copy strong{
  font:700 14px/1.15 "Nulshock",Arial,sans-serif!important;
  overflow-wrap:anywhere!important;
}

#upsellModal .upsell-product-grid .upsell-price-line,
#upsellModal .upsell-product-grid .upsell-total-line{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:10px!important;
  align-items:center!important;
}

#upsellModal .upsell-product-grid .upsell-price-line b,
#upsellModal .upsell-product-grid .upsell-total-line b{
  justify-self:end!important;
}

#upsellModal .upsell-product-grid .upsell-buy-row{
  grid-column:3!important;
  grid-row:1!important;
  width:230px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-content:center!important;
}

#upsellModal .upsell-product-grid .upsell-stepper,
#upsellModal .upsell-product-grid .upsell-add-button{
  width:100%!important;
}

/* Acción inferior estable */
#upsellModal .upsell-actions{
  width:100%!important;
  grid-template-columns:40% 40%!important;
  column-gap:10%!important;
  padding:10px 5%!important;
  box-sizing:border-box!important;
}

/* Tablet */
@media(max-width:980px){
  #upsellModal .upsell-category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }

  #upsellModal .upsell-product-grid .upsell-item{
    grid-template-columns:100px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
  }

  #upsellModal .upsell-product-grid .upsell-item-media{
    width:100px!important;
    height:100px!important;
  }

  #upsellModal .upsell-product-grid .upsell-buy-row{
    grid-column:1/3!important;
    grid-row:2!important;
    width:100%!important;
    grid-template-columns:180px minmax(180px,1fr)!important;
  }
}

/* Móvil */
@media(max-width:620px){
  #upsellModal .upsell-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:0 12px 14px!important;
  }

  #upsellModal .upsell-category-card{
    min-height:0!important;
  }

  #upsellModal .upsell-category-caption{
    min-height:54px!important;
    padding:9px 7px!important;
  }

  #upsellModal .upsell-category-caption strong{
    font-size:10px!important;
  }

  #upsellModal .upsell-category-caption small{
    font-size:6.5px!important;
  }

  #upsellModal .upsell-product-grid{
    gap:9px!important;
    padding:0 12px 14px!important;
  }

  #upsellModal .upsell-product-grid .upsell-item{
    min-height:0!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:8px 10px!important;
    padding:9px!important;
  }

  #upsellModal .upsell-product-grid .upsell-item-media{
    width:82px!important;
    height:82px!important;
  }

  #upsellModal .upsell-product-grid .upsell-item-copy{
    grid-column:2!important;
    grid-row:1!important;
    gap:4px!important;
  }

  #upsellModal .upsell-product-grid .upsell-item-copy strong{
    font-size:10px!important;
  }

  #upsellModal .upsell-product-grid .upsell-price-line span,
  #upsellModal .upsell-product-grid .upsell-total-line span{
    font-size:6.5px!important;
  }

  #upsellModal .upsell-product-grid .upsell-price-line b,
  #upsellModal .upsell-product-grid .upsell-total-line b{
    font-size:12px!important;
  }

  #upsellModal .upsell-product-grid .upsell-buy-row{
    grid-column:1/3!important;
    grid-row:2!important;
    width:100%!important;
    grid-template-columns:42% 58%!important;
    gap:9px!important;
  }

  #upsellModal .upsell-product-grid .upsell-stepper{
    min-width:0!important;
  }

  #upsellModal .upsell-product-grid .upsell-add-button{
    min-width:0!important;
    font-size:8px!important;
  }

  #upsellModal .upsell-actions{
    grid-template-columns:40% 40%!important;
    column-gap:10%!important;
    padding:9px 5%!important;
  }
}


/* ===== v18.5: sugerencias simples, solo productos no agregados ===== */
#upsellModal .simple-upsell-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  padding:0 0 18px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}

#upsellModal .simple-upsell-item{
  width:100%!important;
  min-width:0!important;
  min-height:190px!important;
  display:grid!important;
  grid-template-columns:132px minmax(0,1fr)!important;
  grid-template-rows:1fr auto!important;
  gap:10px 14px!important;
  padding:12px!important;
  box-sizing:border-box!important;
  border:1px solid #45636e!important;
  background:linear-gradient(180deg,#132a34,#091b22)!important;
  transition:opacity .22s ease,transform .22s ease,filter .22s ease!important;
}

#upsellModal .simple-upsell-item.is-being-added{
  opacity:0!important;
  transform:scale(.96)!important;
  filter:saturate(.3)!important;
}

#upsellModal .simple-upsell-item .upsell-item-media{
  grid-column:1!important;
  grid-row:1!important;
  width:132px!important;
  height:132px!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  background:#03090c!important;
}

#upsellModal .simple-upsell-item .upsell-item-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}

#upsellModal .simple-upsell-item .upsell-item-copy{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  display:grid!important;
  align-content:center!important;
  gap:6px!important;
}

#upsellModal .simple-upsell-item .upsell-product-category{
  width:max-content!important;
  max-width:100%!important;
  padding:3px 6px!important;
  border:1px solid rgba(17,235,248,.35)!important;
  color:var(--cyan)!important;
  font:700 7px "Cyber",Arial,sans-serif!important;
  letter-spacing:.08em!important;
}

#upsellModal .simple-upsell-item .upsell-item-copy>strong{
  font:700 12px/1.15 "Nulshock",Arial,sans-serif!important;
  color:#fff!important;
  overflow-wrap:anywhere!important;
}

#upsellModal .simple-upsell-item .upsell-buy-row{
  grid-column:1/3!important;
  grid-row:2!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:42% 58%!important;
  gap:12px!important;
  align-items:center!important;
}

#upsellModal .simple-upsell-item .upsell-stepper,
#upsellModal .simple-upsell-item .upsell-add-button{
  width:100%!important;
  min-width:0!important;
}

@media(max-width:900px){
  #upsellModal .simple-upsell-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:620px){
  #upsellModal .simple-upsell-grid{
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:0 12px 14px!important;
  }

  #upsellModal .simple-upsell-item{
    min-height:0!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px 10px!important;
    padding:9px!important;
  }

  #upsellModal .simple-upsell-item .upsell-item-media{
    width:82px!important;
    height:82px!important;
  }

  #upsellModal .simple-upsell-item .upsell-item-copy>strong{
    font-size:9px!important;
  }

  #upsellModal .simple-upsell-item .upsell-product-category{
    font-size:6px!important;
  }

  #upsellModal .simple-upsell-item .upsell-buy-row{
    grid-template-columns:42% 58%!important;
    gap:8px!important;
  }

  #upsellModal .simple-upsell-item .upsell-add-button{
    font-size:8px!important;
  }
}


/* ===== v18.6: flujo de sugerencias por categorías faltantes ===== */
#upsellModal .upsell-category-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:start!important;
  padding:4px 0 18px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

#upsellModal .upsell-category-card{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #46636f!important;
  background:linear-gradient(180deg,#0d222b,#07161c)!important;
  color:#fff!important;
  cursor:pointer!important;
  text-align:center!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}

#upsellModal .upsell-category-card:hover{
  transform:translateY(-2px)!important;
  border-color:var(--cyan)!important;
  box-shadow:0 0 18px rgba(17,235,248,.15)!important;
}

#upsellModal .upsell-category-media{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#02080b!important;
}

#upsellModal .upsell-category-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}

#upsellModal .upsell-category-caption{
  min-height:68px!important;
  display:grid!important;
  place-content:center!important;
  gap:5px!important;
  padding:10px!important;
  border-top:1px solid #36535e!important;
  background:linear-gradient(180deg,#112a34,#091b22)!important;
}

#upsellModal .upsell-category-caption strong{
  color:#fff!important;
  font:700 13px/1.1 "Nulshock",Arial,sans-serif!important;
  overflow-wrap:anywhere!important;
}

#upsellModal .upsell-category-caption small{
  color:#91aab4!important;
  font:700 7px "Cyber",Arial,sans-serif!important;
}

#upsellModal .upsell-category-products-title{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  margin:4px 0 12px!important;
  color:#91aab4!important;
  font:700 8px "Cyber",Arial,sans-serif!important;
}

#upsellModal .upsell-category-products-title strong{
  color:var(--cyan)!important;
  font:700 11px "Nulshock",Arial,sans-serif!important;
}

#upsellModal .category-product-grid{
  width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:11px!important;
  padding:0 0 18px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}

#upsellModal .category-product-item{
  width:100%!important;
  min-width:0!important;
  min-height:136px!important;
  display:grid!important;
  grid-template-columns:116px minmax(0,1fr) 230px!important;
  gap:14px!important;
  align-items:center!important;
  padding:11px!important;
  box-sizing:border-box!important;
  border:1px solid #45636e!important;
  background:linear-gradient(180deg,#132a34,#091b22)!important;
  transition:opacity .2s ease,transform .2s ease!important;
}

#upsellModal .category-product-item.is-being-added{
  opacity:0!important;
  transform:scale(.97)!important;
}

#upsellModal .category-product-item .upsell-item-media{
  width:116px!important;
  height:116px!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  background:#02080b!important;
}

#upsellModal .category-product-item .upsell-item-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

#upsellModal .category-product-item .upsell-item-copy{
  min-width:0!important;
  display:grid!important;
  gap:7px!important;
  align-content:center!important;
}

#upsellModal .category-product-item .upsell-item-copy>strong{
  font:700 13px/1.15 "Nulshock",Arial,sans-serif!important;
  overflow-wrap:anywhere!important;
}

#upsellModal .category-product-item .upsell-buy-row{
  width:100%!important;
  display:grid!important;
  gap:9px!important;
  align-content:center!important;
}

#upsellModal .category-product-item .upsell-stepper,
#upsellModal .category-product-item .upsell-add-button{
  width:100%!important;
  min-width:0!important;
}

/* El bloque de botones del paso 2 se mantiene fijo y consistente */
#upsellModal .upsell-actions{
  width:100%!important;
  grid-template-columns:40% 40%!important;
  column-gap:10%!important;
  padding:10px 5%!important;
  box-sizing:border-box!important;
}

@media(max-width:980px){
  #upsellModal .upsell-category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  #upsellModal .category-product-item{
    grid-template-columns:100px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
  }

  #upsellModal .category-product-item .upsell-item-media{
    width:100px!important;
    height:100px!important;
  }

  #upsellModal .category-product-item .upsell-buy-row{
    grid-column:1/3!important;
    grid-row:2!important;
    grid-template-columns:180px minmax(180px,1fr)!important;
  }
}

@media(max-width:620px){
  #upsellModal .upsell-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:0 12px 14px!important;
  }

  #upsellModal .upsell-category-caption{
    min-height:54px!important;
    padding:8px 6px!important;
  }

  #upsellModal .upsell-category-caption strong{
    font-size:9px!important;
  }

  #upsellModal .upsell-category-caption small{
    font-size:6px!important;
  }

  #upsellModal .category-product-grid{
    gap:9px!important;
    padding:0 12px 14px!important;
  }

  #upsellModal .category-product-item{
    min-height:0!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:8px 10px!important;
    padding:9px!important;
  }

  #upsellModal .category-product-item .upsell-item-media{
    width:82px!important;
    height:82px!important;
  }

  #upsellModal .category-product-item .upsell-item-copy{
    gap:4px!important;
  }

  #upsellModal .category-product-item .upsell-item-copy>strong{
    font-size:9px!important;
  }

  #upsellModal .category-product-item .upsell-buy-row{
    grid-column:1/3!important;
    grid-row:2!important;
    width:100%!important;
    grid-template-columns:42% 58%!important;
    gap:8px!important;
  }

  #upsellModal .category-product-item .upsell-add-button{
    font-size:8px!important;
  }
}


/* ===== v18.8: corrección definitiva de bloques de categorías sugeridas ===== */

/*
 * Las reglas antiguas de sugerencias dejaron algunos elementos con
 * posicionamiento/alturas heredadas. Se fuerza una estructura simple:
 * TARJETA = IMAGEN CUADRADA + PIE DE TEXTO.
 * Así cada tarjeta ocupa su propia altura y nunca invade la fila siguiente.
 */
#upsellModal .upsell-category-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-auto-rows:max-content!important;
  align-items:start!important;
  align-content:start!important;
  justify-items:stretch!important;
  gap:16px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

#upsellModal .upsell-category-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  align-self:start!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:1px solid #46636f!important;
  background:#07151b!important;
}

#upsellModal .upsell-category-media{
  position:relative!important;
  inset:auto!important;
  flex:0 0 auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  overflow:hidden!important;
  background:#02080b!important;
  z-index:1!important;
}

#upsellModal .upsell-category-media img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  object-position:center center!important;
  z-index:1!important;
}

#upsellModal .upsell-category-media::before,
#upsellModal .upsell-category-media::after{
  display:none!important;
  content:none!important;
}

#upsellModal .upsell-category-caption{
  position:relative!important;
  inset:auto!important;
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:auto!important;
  min-height:66px!important;
  margin:0!important;
  padding:10px 8px 11px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  z-index:3!important;
  border-top:1px solid #36535e!important;
  background:linear-gradient(180deg,#112a34,#091b22)!important;
}

#upsellModal .upsell-category-caption strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#fff!important;
  font:700 13px/1.15 "Nulshock",Arial,sans-serif!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}

#upsellModal .upsell-category-caption small{
  display:block!important;
  width:100%!important;
  margin-top:5px!important;
  color:#91aab4!important;
  font:700 7px/1.2 "Cyber",Arial,sans-serif!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
}

/* Si quedara HTML antiguo en caché, impedir que el overlay se superponga. */
#upsellModal .upsell-category-overlay{
  display:none!important;
  position:static!important;
}

/* Tablet */
@media(max-width:980px){
  #upsellModal .upsell-category-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:13px!important;
  }
}

/* Móvil: 2 tarjetas por fila, cada una conserva imagen cuadrada + texto debajo */
@media(max-width:620px){
  #upsellModal .upsell-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:max-content!important;
    gap:10px!important;
    padding:0 12px 16px!important;
  }

  #upsellModal .upsell-category-card{
    height:auto!important;
    min-height:0!important;
  }

  #upsellModal .upsell-category-media{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
  }

  #upsellModal .upsell-category-caption{
    min-height:54px!important;
    padding:8px 5px 9px!important;
  }

  #upsellModal .upsell-category-caption strong{
    font-size:9px!important;
    line-height:1.15!important;
  }

  #upsellModal .upsell-category-caption small{
    margin-top:3px!important;
    font-size:6px!important;
    line-height:1.15!important;
  }
}


/* ===== v18.9: fondo exclusivo del menú de sucursales ===== */

/*
 * FONDO ORIGINAL CONSERVADO PARA VOLVER ATRÁS SI SE NECESITA.
 * Antes el sitio usaba este fondo general:
 *
 * html {
 *   background-color: #122a35 !important;
 * }
 *
 * .site {
 *   background:
 *     radial-gradient(ellipse at 55% 17%,rgba(27,87,114,.16),transparent 34%),
 *     linear-gradient(180deg,#1b2d37 0%,#13252e 100%);
 * }
 */

/* Solo páginas públicas del menú de cada sucursal. */
html:has(body.catalog-body) {
    background: url(/images/bg-menu.png);
    background-attachment: fixed;
    background-size: 100% 100%;
    background-position: center;
    width: 100%;
}

body.catalog-body {
    background: transparent!important;
    padding-top: 100px;
}

body.catalog-body .site {
    /* background: #152c37a3 !important; */
}

body.catalog-body header#inicio {
    /* background: transparent!important; */
}

body.catalog-body a.branch-open-status.status-open {
    background: transparent!important;
    border: none!important;
    /* height: 30px!important; */
    min-height: 30px!important;
    position: relative!important;
    box-shadow: none!important;
    padding: 0!important;
}

body.catalog-body .business-info.branch-title-info {
    height: auto!important;
    min-height: 86px!important;
    margin: 24px 0 -10px!important;
    padding-top: 10px!important;
    padding-bottom: 10px!important;
    position: relative!important;
    z-index: 2!important;
    overflow: visible!important;
}

body.catalog-body a.branch-open-status.status-open small {
    font-size: 20px!important;
}

/* El título de sucursal y su horario siempre quedan por debajo del chasis fijo. */
body.catalog-body .business-info.branch-title-info .address,
body.catalog-body .business-info.branch-title-info .hours,
body.catalog-body .business-info.branch-title-info .branch-open-status {
    position: relative!important;
    z-index: 3!important;
}

/* Menú hamburguesa y canasta un poco más hacia el interior. */
body.catalog-body .menu-wrap {
    transform: translateX(12px)!important;
}

body.catalog-body .cart-wrap {
    transform: translateX(-12px)!important;
}

@media (min-width: 981px) {
    body.catalog-body {
        padding-top: 100px!important;
    }

    body.catalog-body .business-info.branch-title-info {
        margin-top: 42px!important;
    }
}

@media (max-width: 980px) {
    body.catalog-body {
        padding-top: 150px!important;
    }

    body.catalog-body .business-info.branch-title-info {
        min-height: 92px!important;
        /* margin-top: 38px!important; */
        margin-bottom: 4px!important;
        padding-top: 10px!important;
    }

    body.catalog-body .menu-wrap {
        transform: translateX(10px)!important;
    }

    body.catalog-body .cart-wrap {
        transform: translateX(-10px)!important;
    }
}

@media (max-width: 620px) {
    body.catalog-body {
        padding-top: 150px!important;
    }

    body.catalog-body .business-info.branch-title-info {
        min-height: 108px!important;
        /* margin-top: 48px!important; */
        margin-bottom: 4px!important;
        padding: 8px 10px 10px!important;
    }

    body.catalog-body .business-info.branch-title-info .address {
        margin-bottom: 4px!important;
    }

    body.catalog-body a.branch-open-status.status-open small {
        font-size: 16px!important;
    }

    body.catalog-body .menu-wrap {
        transform: translateX(8px)!important;
    }

    body.catalog-body .cart-wrap {
        transform: translateX(-8px)!important;
    }
}


/* ===== v18.10: controles grandes y visibles en productos sugeridos ===== */

#upsellModal .category-product-item{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}

#upsellModal .category-product-item .upsell-buy-row{
  position:static!important;
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}

/* Controles más grandes en escritorio/tablet */
#upsellModal .category-product-item .upsell-stepper{
  display:grid!important;
  grid-template-columns:48px 56px 48px!important;
  width:152px!important;
  min-width:152px!important;
}

#upsellModal .category-product-item .upsell-stepper button,
#upsellModal .category-product-item .upsell-stepper input{
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  font-size:18px!important;
}

#upsellModal .category-product-item .upsell-stepper input{
  width:56px!important;
  font-size:19px!important;
  font-weight:900!important;
}

#upsellModal .category-product-item .upsell-add-button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  height:48px!important;
  padding:0 18px!important;
  font-size:11px!important;
}

/* VOLVER / CONTINUAR más grandes */
#upsellModal .upsell-actions{
  min-height:74px!important;
  align-items:center!important;
}

#upsellModal .upsell-actions .button{
  min-height:56px!important;
  height:56px!important;
  font-size:11px!important;
}

#upsellModal .category-product-item .upsell-stepper button:hover,
#upsellModal .category-product-item .upsell-add-button:hover,
#upsellModal .upsell-actions .button:hover{
  filter:brightness(1.14) saturate(1.1)!important;
}

#upsellModal .category-product-item .upsell-stepper button:active,
#upsellModal .category-product-item .upsell-add-button:active,
#upsellModal .upsell-actions .button:active{
  transform:translateY(1px)!important;
  filter:brightness(.86)!important;
}

/* Móvil: los controles quedan siempre visibles debajo del producto */
@media(max-width:620px){
  #upsellModal .category-product-grid{
    overflow-x:hidden!important;
  }

  #upsellModal .category-product-item{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    height:auto!important;
    min-height:170px!important;
    max-height:none!important;
    overflow:visible!important;
    padding:10px!important;
    gap:9px 10px!important;
  }

  #upsellModal .category-product-item .upsell-item-media{
    grid-column:1!important;
    grid-row:1!important;
    width:92px!important;
    height:92px!important;
  }

  #upsellModal .category-product-item .upsell-item-copy{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
  }

  #upsellModal .category-product-item .upsell-buy-row{
    grid-column:1 / 3!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:44% 56%!important;
    width:100%!important;
    min-height:50px!important;
    gap:9px!important;
    margin-top:2px!important;
    position:static!important;
    visibility:visible!important;
    opacity:1!important;
  }

  #upsellModal .category-product-item .upsell-stepper{
    display:grid!important;
    grid-template-columns:44px minmax(46px,1fr) 44px!important;
    width:100%!important;
    min-width:0!important;
    height:50px!important;
  }

  #upsellModal .category-product-item .upsell-stepper button,
  #upsellModal .category-product-item .upsell-stepper input{
    height:50px!important;
    min-height:50px!important;
    font-size:18px!important;
  }

  #upsellModal .category-product-item .upsell-stepper input{
    width:100%!important;
    font-size:20px!important;
  }

  #upsellModal .category-product-item .upsell-add-button{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 8px!important;
    font-size:9px!important;
  }

  #upsellModal .upsell-actions{
    min-height:72px!important;
    padding:9px 5%!important;
  }

  #upsellModal .upsell-actions .button{
    min-height:54px!important;
    height:54px!important;
    font-size: 12px!important;
  }
}


/* ===== v18.11: estados de agregado, sugerencias responsive y checkout ===== */

/* Botón del bloque de producto: verde + ticket cuando ya está en la canasta */
.product-card.in-cart .product-cart-button,
.product-cart-button.is-added-to-cart{
  background:linear-gradient(180deg,#b7ff35 0%,#76ff00 48%,#35d600 100%)!important;
  border-color:#b8ff54!important;
  filter:drop-shadow(0 0 5px rgba(95,255,0,.45))!important;
}
.product-card.in-cart .product-cart-button .basket-inner,
.product-cart-button.is-added-to-cart .basket-inner{
  background:linear-gradient(180deg,#173717,#0b2310)!important;
  color:#8cff1a!important;
  box-shadow:inset 0 0 16px rgba(110,255,20,.18)!important;
}
.product-card.in-cart .product-cart-button i,
.product-cart-button.is-added-to-cart i{
  color:#8cff1a!important;
  -webkit-text-fill-color:currentColor!important;
  -webkit-text-stroke:0!important;
  text-shadow:0 0 9px rgba(112,255,20,.6)!important;
}

/* Ventana de producto: al estar agregado, stepper y CTA pasan a verde */
#productModal .quantity-stepper.is-cart-state button,
#productModal .quantity-stepper.is-cart-state input{
  background:linear-gradient(180deg,#b8ff3d,#62ee00)!important;
  border-color:#c6ff68!important;
  color:#071408!important;
  box-shadow:0 0 11px rgba(105,255,10,.28)!important;
}
#productModal .quantity-stepper.is-cart-state input{
  background:#07190c!important;
  color:#a6ff35!important;
}
#productModal #confirmAddProduct.is-cart-state{
  background:linear-gradient(180deg,#baff3e 0%,#72f400 52%,#39cf00 100%)!important;
  color:#071307!important;
  border-color:#c9ff73!important;
  animation:sa51AddedPulse 1.35s ease-in-out infinite!important;
}
#productModal #confirmAddProduct.is-cart-state i{
  color:#071307!important;
}
@keyframes sa51AddedPulse{
  0%,100%{box-shadow:0 0 10px rgba(118,255,0,.30),inset 0 1px 0 rgba(255,255,255,.72)}
  50%{box-shadow:0 0 26px rgba(118,255,0,.68),0 0 40px rgba(118,255,0,.25),inset 0 1px 0 rgba(255,255,255,.84)}
}

/* Resumen de precio: más espacio para TOTAL y menos para valor unitario */
#productModal .modal-price-summary{
  grid-template-columns:minmax(0,38%) minmax(0,62%)!important;
}
#productModal .modal-price-summary>span:first-child{
  padding-left:9px!important;
  padding-right:9px!important;
}
#productModal .modal-price-summary>span:last-child{
  padding-left:10px!important;
  padding-right:12px!important;
}
#productModal #modalQuantityLabel{
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}
#productModal #modalQuantityTotal{
  min-width:0!important;
  font-size:22px!important;
}

/* Sugerencias: después de agregar, la tarjeta permanece y sus controles se vuelven verdes */
#upsellModal .category-product-item.is-added{
  border-color:#62ef24!important;
  box-shadow:inset 3px 0 0 #65ff20,0 0 15px rgba(95,255,20,.08)!important;
}
#upsellModal .category-product-item .upsell-stepper.is-cart-state button,
#upsellModal .category-product-item .upsell-stepper.is-cart-state input,
#upsellModal .category-product-item.is-added .upsell-stepper button,
#upsellModal .category-product-item.is-added .upsell-stepper input{
  border-color:#a7ff49!important;
  background:linear-gradient(180deg,#afff32,#58e400)!important;
  color:#071407!important;
}
#upsellModal .category-product-item .upsell-stepper.is-cart-state input,
#upsellModal .category-product-item.is-added .upsell-stepper input{
  background:#07190c!important;
  color:#a8ff37!important;
}
#upsellModal .upsell-add-button.is-cart-state,
#upsellModal .category-product-item.is-added .upsell-add-button{
  background:linear-gradient(180deg,#b8ff3a,#62ed00)!important;
  border-color:#c4ff67!important;
  color:#071407!important;
  box-shadow:0 0 14px rgba(104,255,0,.28)!important;
}
#upsellModal .category-product-item.is-added-pulse{
  animation:upsellAddedPulse .58s ease-out!important;
}
@keyframes upsellAddedPulse{
  0%{transform:scale(1);filter:brightness(1)}
  35%{transform:scale(.985);filter:brightness(1.38);box-shadow:0 0 24px rgba(105,255,15,.52)}
  100%{transform:scale(1);filter:brightness(1)}
}

/* Evitar que reglas antiguas recorten los controles */
#upsellModal .upsell-product-grid .category-product-item{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
#upsellModal .upsell-product-grid .category-product-item .upsell-buy-row{
  position:static!important;
  inset:auto!important;
  height:auto!important;
  min-height:50px!important;
  max-height:none!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
}
#upsellModal .upsell-product-grid .category-product-item .upsell-stepper,
#upsellModal .upsell-product-grid .category-product-item .upsell-add-button{
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
}

/* Pantallas intermedias y tablet: controles en una segunda fila completa */
@media(max-width:980px){
  #upsellModal .category-product-grid{
    width:100%!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:max-content!important;
    overflow-x:hidden!important;
  }
  #upsellModal .upsell-product-grid .category-product-item{
    display:grid!important;
    grid-template-columns:106px minmax(0,1fr)!important;
    grid-template-rows:auto 54px!important;
    gap:10px 12px!important;
    width:100%!important;
    min-height:178px!important;
    padding:10px!important;
  }
  #upsellModal .category-product-item .upsell-item-media{
    grid-column:1!important;
    grid-row:1!important;
    width:106px!important;
    height:106px!important;
  }
  #upsellModal .category-product-item .upsell-item-copy{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    align-self:center!important;
  }
  #upsellModal .category-product-item .upsell-buy-row{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(150px,38%) minmax(190px,1fr)!important;
    gap:14px!important;
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    align-items:stretch!important;
  }
  #upsellModal .category-product-item .upsell-stepper{
    display:grid!important;
    grid-template-columns:48px minmax(52px,1fr) 48px!important;
    width:100%!important;
    min-width:0!important;
    height:54px!important;
  }
  #upsellModal .category-product-item .upsell-stepper button,
  #upsellModal .category-product-item .upsell-stepper input,
  #upsellModal .category-product-item .upsell-add-button{
    height:54px!important;
    min-height:54px!important;
  }
  #upsellModal .category-product-item .upsell-add-button{
    width:100%!important;
    min-width:0!important;
  }
}

/* Teléfono: imagen/texto arriba, controles grandes abajo, siempre presionables */
@media(max-width:620px){
  #upsellModal .upsell-product-grid .category-product-item{
    grid-template-columns:86px minmax(0,1fr)!important;
    grid-template-rows:auto 52px!important;
    min-height:160px!important;
    gap:8px 10px!important;
    padding:9px!important;
  }
  #upsellModal .category-product-item .upsell-item-media{
    width:86px!important;
    height:86px!important;
  }
  #upsellModal .category-product-item .upsell-item-copy>strong{
    font-size:9px!important;
  }
  #upsellModal .category-product-item .upsell-price-line span,
  #upsellModal .category-product-item .upsell-total-line span{
    font-size:6px!important;
  }
  #upsellModal .category-product-item .upsell-price-line b,
  #upsellModal .category-product-item .upsell-total-line b{
    font-size:12px!important;
  }
  #upsellModal .category-product-item .upsell-buy-row{
    grid-template-columns:minmax(126px,44%) minmax(0,56%)!important;
    gap:9px!important;
    height:52px!important;
    min-height:52px!important;
  }
  #upsellModal .category-product-item .upsell-stepper{
    grid-template-columns:42px minmax(42px,1fr) 42px!important;
    height:52px!important;
  }
  #upsellModal .category-product-item .upsell-stepper button,
  #upsellModal .category-product-item .upsell-stepper input,
  #upsellModal .category-product-item .upsell-add-button{
    height:52px!important;
    min-height:52px!important;
  }
  #upsellModal .category-product-item .upsell-stepper input{
    font-size:19px!important;
  }
  #upsellModal .category-product-item .upsell-add-button{
    font-size:8px!important;
    padding:0 5px!important;
  }

  /* Precio del popup: 34% unitario / 66% total para que x11, x12, etc. no choquen */
  #productModal .modal-price-summary{
    grid-template-columns:minmax(0,34%) minmax(0,66%)!important;
    gap:7px!important;
  }
  #productModal .modal-price-summary>span{
    gap:4px!important;
    padding:5px 7px!important;
  }
  #productModal .modal-price-summary small{
    font-size:7px!important;
    letter-spacing:.04em!important;
  }
  #productModal #modalUnitPrice{
    font-size:10px!important;
  }
  #productModal #modalQuantityLabel{
    font-size:12px!important;
  }
  #productModal #modalQuantityTotal{
    font-size:19px!important;
  }
}

/* Revisión final: dar un poco más de presencia al xN */
#cartModal .cart-final-qty{
  font-size:18px!important;
  font-weight:900!important;
}

/* Nombre del terrícola: el JS permite un solo nombre y lo normaliza; esto lo refleja visualmente */
.earthling-name-input{
  text-transform:capitalize!important;
}


/* ===== v18.12: fondo responsive del menú de sucursales =====
   Escritorio : /images/bg-escritorio.jpg
   Tablet     : /images/bg-tablet.jpg
   Móvil      : /images/bg-movil.jpg
*/

/* Fondo por defecto: escritorio */
body.catalog-body{
  background-image:url("/images/bg-escritorio.jpg") !important;
  background-repeat:no-repeat !important;
  background-position:center top !important;
  background-size:cover !important;
  background-attachment:fixed !important;
}

/* La capa del sitio queda semitransparente para dejar ver el fondo */
body.catalog-body .site{
  /* background:rgba(21,44,55,.64) !important; */
}

/* Tablet */
@media (min-width:621px) and (max-width:1100px){
  body.catalog-body{
    background-image:url("/images/bg-tablet.jpg") !important;
    background-position:center top !important;
    background-size:cover !important;
  }
}

/* Móvil */
@media (max-width:620px){
  body.catalog-body{
    background-image:url("/images/bg-movil.jpg") !important;
    background-position:center top !important;
    background-size:cover !important;
    background-attachment:scroll !important;
  }

  body.catalog-body .site{
    background:rgba(21,44,55,.58) !important;
  }
}

/* Fondo anterior, conservado por si se quiere volver:
html {
    background-color: #122a35 !important;
}
body.catalog-body {
    background: transparent !important;
}
.site {
    background: #152c37a3 !important;
}
*/


/* ===== v18.13: fondo responsive REAL según ancho de viewport ===== */
html:has(body.catalog-body){
  background-image:url("/images/bg-escritorio.jpg") !important;
  background-repeat:no-repeat !important;
  background-color:#06111a !important;
  background-position: center top !important;
  background-size: 100% 100% !important;
  background-attachment: fixed !important;
}
@media (min-width:621px) and (max-width:1100px){
  html:has(body.catalog-body){
    background-image:url("/images/bg-tablet.jpg") !important;
    background-position: center top !important;
    background-size: 100% 100% !important;
    background-attachment: fixed !important;
  }
}
@media (max-width:620px){
  html:has(body.catalog-body){
    background-image:url("/images/bg-movil.jpg") !important;
    background-position:center top !important;
    background-size: 100% 100% !important;
    background-attachment: fixed !important;
  }
}
body.catalog-body{
  background:transparent !important;
}
body.catalog-body .branch-open-status{
  clip-path:polygon(
    14px 0,
    calc(100% - 14px) 0,
    100% 14px,
    100% calc(100% - 14px),
    calc(100% - 14px) 100%,
    14px 100%,
    0 calc(100% - 14px),
    0 14px
  ) !important;
  border:1px solid var(--cyan-core,#00eaff) !important;
  background:rgba(4,20,28,.56) !important;
  box-shadow:inset 0 0 18px rgba(0,229,255,.06),0 0 10px rgba(0,229,255,.06) !important;
  overflow:hidden !important;
}
body.catalog-body .branch-open-status small{
  white-space:nowrap !important;
}
/* Fondo anterior por si se quiere volver:
html:has(body.catalog-body){
  background:url("/images/bg-menu.png") center / 100% 100% fixed no-repeat;
}
*/


/* ===== v18.17: ordenar cantidades y precios en REVISAR Y ENVIAR CANASTA ===== */

/* Escritorio: conservar tabla limpia y alineada */
@media (min-width:621px){
  #cartModal .cart-final-row{
    align-items:center!important;
  }

  #cartModal .cart-final-qty{
    font-size:16px!important;
    line-height:1!important;
    text-align:center!important;
  }

  #cartModal .cart-final-unit{
    font-size:13px!important;
    line-height:1!important;
    text-align:right!important;
    white-space:nowrap!important;
  }

  #cartModal .cart-final-subtotal{
    font-size:17px!important;
    line-height:1!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
}

/* Móvil: PRODUCTO arriba y una sola fila compacta de datos debajo */
@media (max-width:620px){
  #cartModal .cart-final-row{
    display:grid!important;
    grid-template-columns:minmax(0,32%) minmax(58px,18%) minmax(0,50%)!important;
    grid-template-rows:auto 48px auto!important;
    gap:0!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  #cartModal .cart-final-product{
    grid-column:1 / -1!important;
    grid-row:1!important;
    min-height:58px!important;
    padding:7px 8px!important;
    border-bottom:1px solid #2d4853!important;
  }

  /* Orden visual: VALOR UNITARIO | CANTIDAD | TOTAL */
  #cartModal .cart-final-unit{
    grid-column:1!important;
    grid-row:2!important;
  }

  #cartModal .cart-final-qty{
    grid-column:2!important;
    grid-row:2!important;
  }

  #cartModal .cart-final-subtotal{
    grid-column:3!important;
    grid-row:2!important;
  }

  #cartModal .cart-final-unit,
  #cartModal .cart-final-qty,
  #cartModal .cart-final-subtotal{
    position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:18px 5px 5px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    line-height:1!important;
    border-right:1px solid #29444e!important;
    text-align:center!important;
  }

  #cartModal .cart-final-subtotal{
    border-right:0!important;
  }

  #cartModal .cart-final-unit::before,
  #cartModal .cart-final-qty::before,
  #cartModal .cart-final-subtotal::before{
    content:attr(data-label)!important;
    position:absolute!important;
    top:5px!important;
    left:4px!important;
    right:4px!important;
    width:auto!important;
    color:#78909a!important;
    font:700 5.5px/1 "Cyber",Arial,sans-serif!important;
    letter-spacing:.055em!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size: 9px!important;
  }

  /* El precio unitario es información secundaria */
  #cartModal .cart-final-unit{
    color:#d5e2e6!important;
    font-size: 13px!important;
    font-weight:600!important;
  }

  /* x1, x2, x10... legible pero sin robar espacio al total */
  #cartModal .cart-final-qty{
    color:#f7fdff!important;
    font-family:"Nulshock",Arial,sans-serif!important;
    font-size:15px!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
  }

  /* El total de cada producto es lo más importante */
  #cartModal .cart-final-subtotal{
    color:var(--green)!important;
    font-family:"Nulshock",Arial,sans-serif!important;
    font-size:15px!important;
    font-weight:900!important;
  }

  #cartModal .cart-final-detail{
    grid-column:1 / -1!important;
    grid-row:3!important;
  }
}

/* Teléfonos angostos: reservar todavía más espacio al total */
@media (max-width:390px){
  #cartModal .cart-final-row{
    grid-template-columns:minmax(0,31%) minmax(54px,18%) minmax(0,51%)!important;
  }

  #cartModal .cart-final-unit{
    font-size:8px!important;
  }

  #cartModal .cart-final-qty{
    font-size:14px!important;
  }

  #cartModal .cart-final-subtotal{
    font-size:14px!important;
  }

  #cartModal .cart-final-unit::before,
  #cartModal .cart-final-qty::before,
  #cartModal .cart-final-subtotal::before{
    font-size:5px!important;
  }
}


/* ===== v18.18: restaurar botón cerrar en popups finales ===== */
.earthling-name-wrap,
.order-close-confirm-wrap{
  position:relative!important;
  overflow:visible!important;
}

.checkout-popup-close{
  position:absolute!important;
  top:-18px!important;
  right:-18px!important;
  left:auto!important;
  z-index:100!important;
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  border:1px solid var(--cyan)!important;
  background:#07161d!important;
  color:var(--cyan)!important;
  clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)!important;
  box-shadow:
    inset 0 0 0 1px rgba(122,255,255,.28),
    0 0 0 1px rgba(17,235,248,.34),
    0 0 18px rgba(17,235,248,.22)!important;
  cursor:pointer!important;
}

.checkout-popup-close::before{
  content:""!important;
  position:absolute!important;
  inset:3px!important;
  border:1px solid rgba(122,255,255,.55)!important;
  clip-path:inherit!important;
  pointer-events:none!important;
}

.checkout-popup-close i{
  position:relative!important;
  z-index:2!important;
  font-size:21px!important;
  line-height:1!important;
}

.checkout-popup-close:hover{
  background:var(--cyan)!important;
  color:#031015!important;
  box-shadow:0 0 22px rgba(17,235,248,.55)!important;
}

.checkout-popup-close:active{
  transform:scale(.94)!important;
}

@media(max-width:620px){
  .checkout-popup-close{
    top:-14px!important;
    right:-10px!important;
    width:46px!important;
    height:46px!important;
  }
  .checkout-popup-close i{
    font-size:19px!important;
  }
}


/* ===== v18.43: botón WhatsApp de producto +20% sobre tamaño actual ===== */
.product-whatsapp-button{
  width:47px!important;
  height:47px!important;
}
.product-whatsapp-button i{
  font-size:23px!important;
}
@media(max-width:620px){
  .product-whatsapp-button{
    width:47px!important;
    height:47px!important;
    top:8px!important;
    right:8px!important;
  }
}


/* ===== v18.21 Nombre del terrícola: cierre visible y validación obligatoria ===== */
.earthling-name-card{position:relative!important}
.earthling-name-close{
  position:absolute;
  top:-22px;
  right:-22px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid #12e9f6;
  background:#071820;
  color:#12e9f6;
  clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%);
  font-size:22px;
  cursor:pointer;
  z-index:60;
  box-shadow:0 0 16px rgba(18,233,246,.2);
}
.earthling-name-close:hover:not(:disabled){background:#103241;box-shadow:0 0 20px rgba(18,233,246,.42)}
.earthling-name-close:disabled,
.earthling-name-actions button:disabled{
  opacity:.28!important;
  filter:grayscale(1)!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}
.earthling-name-input:placeholder-shown ~ .earthling-name-actions{opacity:.6}
@media(max-width:620px){
  .earthling-name-close{top:-17px;right:-10px;width:48px;height:48px}
}


/* ===== v18.22 Nombre del terrícola ===== */
.earthling-name-card{position:relative!important}
.earthling-name-card > .modal-close.earthling-name-close{
  right:-14px!important;
  top:0!important;
}
.earthling-name-card > .modal-close.earthling-name-close:disabled,
.earthling-name-actions button:disabled{
  opacity:.30!important;
  filter:grayscale(1)!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}
@media(max-width:620px){
  .earthling-name-card > .modal-close.earthling-name-close{
    right:-6px!important;
    top:0!important;
  }
}


/* ===== v18.24 cierres consistentes en popups finales ===== */
.earthling-name-card > .modal-close.earthling-name-close,
.order-close-confirm-card > .modal-close.order-close-x{
  top:-18px!important;
  right:-18px!important;
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--cyan)!important;
  background:#07161d!important;
  color:var(--cyan)!important;
  clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)!important;
  box-shadow:inset 0 0 0 1px rgba(122,255,255,.28),0 0 0 1px rgba(17,235,248,.34),0 0 18px rgba(17,235,248,.18)!important;
  z-index:80!important;
}
.earthling-name-card > .modal-close.earthling-name-close::before,
.order-close-confirm-card > .modal-close.order-close-x::before{
  content:""!important;
  position:absolute!important;
  inset:3px!important;
  border:1px solid rgba(122,255,255,.55)!important;
  clip-path:inherit!important;
  pointer-events:none!important;
}
@media(max-width:620px){
  .earthling-name-card > .modal-close.earthling-name-close,
  .order-close-confirm-card > .modal-close.order-close-x{
    top:-14px!important;
    right:-10px!important;
    width:48px!important;
    height:48px!important;
  }
}

/* ===== v18.30 · modalidad de entrega y cierre seguro ===== */
.cart-fulfillment{
  margin:0 0 16px;
  padding:13px;
  border:1px solid #31515c;
  background:linear-gradient(180deg,#0b2029,#07171e);
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);
  transition:.18s ease;
}
.cart-fulfillment.needs-choice{
  border-color:#ff4b5f;
  box-shadow:0 0 0 2px rgba(255,75,95,.12),0 0 18px rgba(255,75,95,.22);
  animation:fulfillmentWarn .38s ease;
}
.cart-fulfillment-title{
  display:block;
  margin:0 0 10px;
  color:#8deff7;
  font:700 10px "Cyber",Arial,sans-serif;
  letter-spacing:.12em;
  text-align:center;
}
.cart-fulfillment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cart-fulfillment-button{
  min-height:50px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid #355764!important;
  background:linear-gradient(180deg,#17313b,#0a1a21)!important;
  color:#eefcff!important;
  cursor:pointer;
  font:700 12px "Nulshock",Arial,sans-serif!important;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  transition:.16s ease;
}
.cart-fulfillment-button i{color:var(--cyan);font-size:18px}
.cart-fulfillment-button:hover{border-color:var(--cyan)!important;box-shadow:0 0 14px rgba(17,235,248,.22)}
.cart-fulfillment-button.is-selected{
  border-color:#7dff29!important;
  background:linear-gradient(180deg,#9aff24,#42d900)!important;
  color:#051004!important;
  box-shadow:0 0 20px rgba(110,255,30,.3);
}
.cart-fulfillment-button.is-selected i{color:#051004}
.cart-fulfillment-hint{display:block;margin-top:8px;text-align:center;color:#7e9da5;font:700 8px "Cyber",Arial,sans-serif}
.order-close-summary{grid-template-columns:1.35fr .6fr .85fr 1fr!important}
.order-close-summary span:last-child strong{color:#7affff!important;font-size:13px!important}
.order-close-summary span:nth-child(3) strong{color:#6dff1d;font-size:18px}
@keyframes fulfillmentWarn{0%,100%{transform:none}35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
@media(max-width:720px){
  .cart-fulfillment{padding:10px;margin-bottom:12px}
  .cart-fulfillment-options{grid-template-columns:1fr 1fr;gap:7px}
  .cart-fulfillment-button{min-height:46px;font-size:10px!important;gap:6px}
  .cart-fulfillment-button i{font-size:15px}
  .order-close-summary{grid-template-columns:1fr 1fr!important}
  .order-close-summary span:first-child{grid-column:1/-1}
}


/* ===== v18.47 · flujo canasta, sugerencias y popups finales ===== */
/* Botón VOLVER a la izquierda y CONTINUAR a la derecha en pasos 1 y 3. */
#cartModal .cart-flow-actions{
  justify-content:space-between!important;
}
#cartModal .cart-flow-actions > .cart-flow-back{
  order:1!important;
  margin-right:auto!important;
}
#cartModal .cart-flow-actions > .cart-continue-button{
  order:2!important;
  margin-left:auto!important;
}
#upsellModal .upsell-actions > .upsell-back{
  order:1!important;
  margin-right:auto!important;
}
#upsellModal .upsell-actions > .upsell-continue{
  order:2!important;
  margin-left:auto!important;
}

/* El X debe quedar completo dentro de la esquina del popup, sin ser recortado por clip-path. */
.earthling-name-card > .modal-close.earthling-name-close,
.order-close-confirm-card > .modal-close.order-close-x{
  top:10px!important;
  right:10px!important;
  width:48px!important;
  height:48px!important;
  transform:none!important;
}
.earthling-name-card,
.order-close-confirm-card{
  padding-top:42px!important;
  overflow:visible!important;
}
.earthling-name-close:disabled{
  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}

/* Resumen final: cantidad y total legibles, sin cortar el precio. */
.order-close-confirm-wrap{
  width:min(720px,calc(100vw - 32px))!important;
}
.order-close-summary{
  grid-template-columns:1.25fr .72fr 1.2fr 1fr!important;
  gap:10px!important;
}
.order-close-summary span:nth-child(2) strong{
  font-size:24px!important;
  line-height:1!important;
  color:#fff!important;
  white-space:nowrap!important;
}
.order-close-summary span:nth-child(3) strong{
  font-size:25px!important;
  line-height:1!important;
  color:#6dff1d!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.order-close-summary strong{
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Categorías sugeridas: tarjetas visibles y consistentes. */
#upsellModal .upsell-category-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:16px 0!important;
}
#upsellModal .upsell-category-card{
  border:1px solid #355764!important;
  background:linear-gradient(180deg,#132d37,#081b23)!important;
  color:#fff!important;
  min-height:120px!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:92px 1fr!important;
  gap:12px!important;
  align-items:center!important;
  text-align:left!important;
  cursor:pointer!important;
}
#upsellModal .upsell-category-media{
  width:92px!important;
  height:92px!important;
  overflow:hidden!important;
  background:#061217!important;
  display:grid!important;
  place-items:center!important;
}
#upsellModal .upsell-category-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
#upsellModal .upsell-category-caption{
  display:grid!important;
  gap:6px!important;
}
#upsellModal .upsell-category-caption strong{
  color:#fff!important;
  font: 704 22px "Nulshock",Arial,sans-serif!important;
}
#upsellModal .upsell-category-caption small{
  color:#8deff7!important;
  font: 700 22px "Cyber",Arial,sans-serif!important;
}
#upsellModal .upsell-category-card:hover{
  border-color:var(--cyan)!important;
  box-shadow:0 0 18px rgba(17,235,248,.2)!important;
}

@media(max-width:620px){
  .earthling-name-card > .modal-close.earthling-name-close,
  .order-close-confirm-card > .modal-close.order-close-x{
    top:8px!important;
    right:8px!important;
    width:44px!important;
    height:44px!important;
  }
  .earthling-name-card,
  .order-close-confirm-card{
    padding-top:38px!important;
  }
  .order-close-summary{
    grid-template-columns:1fr 1fr!important;
  }
  .order-close-summary span:first-child{
    grid-column:1/-1!important;
  }
  .order-close-summary span:nth-child(2) strong,
  .order-close-summary span:nth-child(3) strong{
    font-size:20px!important;
  }
  #upsellModal .upsell-category-grid{
    grid-template-columns:1fr!important;
  }
}


/* ===== v18.48: sugerencias completas + alineación del canasto ===== */
/* Mantener precio y botón de canasto sobre una misma línea base en cada fila. */
.product-info .buy-row{
  margin-top:auto!important;
  min-height:58px!important;
  align-items:end!important;
}
.product-info .product-cart-button{
  box-sizing:border-box!important;
  height:58px!important;
  max-height:58px!important;
  align-self:end!important;
  margin:0!important;
}
@media(max-width:980px){
  .product-info .buy-row{min-height:50px!important}
  .product-info .product-cart-button{height:50px!important;max-height:50px!important}
}
@media(max-width:620px){
  .product-info .buy-row{min-height:42px!important}
  .product-info .product-cart-button{height:42px!important;max-height:42px!important}
}


/* v18.50 · modalidad de entrega separada y dirección pública */
.fulfillment-choice-modal{z-index:4200}
.fulfillment-choice-card{padding-top:34px!important}
.fulfillment-choice-progress{display:flex;align-items:center;justify-content:center;margin:0 0 18px}
.fulfillment-choice-card .eyebrow{text-align:center;margin:0 0 8px}
.fulfillment-choice-card h3{text-align:center!important;margin:0 0 8px!important}
.fulfillment-choice-subtitle{margin:0 0 22px!important;text-align:center;color:#b7ced7!important;font:700 11px/1.45 "Cyber",Arial,sans-serif!important}
.fulfillment-choice-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 12px}
.fulfillment-choice-option{min-height:122px;border:1px solid #526a76;background:#0d1920;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.18s ease;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.fulfillment-choice-option i{font-size:25px;color:var(--cyan)}
.fulfillment-choice-option strong{font:700 14px "Nulshock",Arial,sans-serif}
.fulfillment-choice-option span{font:700 9px "Cyber",Arial,sans-serif;color:#9cb8c2}
.fulfillment-choice-option:hover{border-color:var(--cyan);box-shadow:0 0 16px rgba(17,235,248,.18)}
.fulfillment-choice-option.is-selected{border-color:#77ff00;box-shadow:0 0 0 2px rgba(119,255,0,.14),0 0 18px rgba(119,255,0,.18)}
.fulfillment-choice-option.is-selected i{color:#77ff00}
.fulfillment-choice-status{min-height:18px;margin:0 0 12px!important;text-align:center;color:#9cb8c2!important;font:700 9px "Cyber",Arial,sans-serif!important}
.fulfillment-choice-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.fulfillment-choice-actions .checkout-popup-back{justify-self:stretch!important}
.fulfillment-choice-actions .checkout-popup-next{justify-self:stretch!important}
.location-address{display:flex;align-items:center;justify-content:center;gap:12px;margin:14px 0 18px;padding:14px 18px;border:1px solid #526a76;background:rgba(9,25,33,.82);color:#fff;text-align:center;font-size:clamp(19px,2.1vw,30px)!important;line-height:1.15;letter-spacing:.02em}
.location-address i{color:var(--cyan);font-size:.9em}
@media(max-width:700px){.fulfillment-choice-options{grid-template-columns:1fr}.fulfillment-choice-option{min-height:92px}.fulfillment-choice-actions{grid-template-columns:1fr 1fr!important}.location-address{font-size:18px!important;padding:12px 10px}}
