/* ===== Diseño "Tienda Genesis": negro, dorado y azul eléctrico, formas inclinadas ===== */
:root{--bg:#050505;--surface:#0f0f12;--surface2:#16161b;--text:#f4f4f2;--muted:#9a9aa3;--gold:#f5b83a;--blue:#2b9dff;--line:rgba(255,255,255,.14);--serif:'Exo 2',system-ui,sans-serif}
body{position:relative;overflow-x:clip}
body::before{content:"";position:absolute;top:0;left:0;right:0;height:980px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 10% 4%,rgba(245,184,58,.3),transparent 70%),radial-gradient(ellipse 50% 40% at 96% 32%,rgba(43,157,255,.22),transparent 70%)}
.hero h1,.section-top h2,.wholesale h2,.story h2,.contact h2,.drawer-header h2,.detail-info h2,.product-title{font-family:var(--serif);font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;line-height:1.04}
.hero h1{font-size:clamp(38px,5.2vw,80px)}.section-top h2{font-size:clamp(32px,3.8vw,58px)}.wholesale h2{font-size:clamp(36px,4.4vw,68px)}.story h2{font-size:clamp(36px,4.2vw,62px)}.contact h2{font-size:clamp(34px,4.4vw,64px)}
.hero h1 em,.section-top h2 em,.wholesale h2 em,.story h2 em,.contact h2 em,.drawer-header h2 em{font-style:inherit;font-weight:800;background:linear-gradient(90deg,var(--gold),#ffe29a);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.08em .05em;margin:-.08em -.05em}
.product-title{font-size:16px}.detail-info h2{font-size:30px}.drawer-header h2{font-size:28px}
.section-kicker{color:var(--blue);font-style:italic}.rule,.gold-line{background:var(--blue)}.small-overline{font-style:italic}

/* encabezado */
.site-header{background:rgba(5,5,5,.78);border-bottom:1px solid rgba(245,184,58,.28);transition:background .3s}
.header-inner{transition:height .3s}.site-header.scrolled{background:rgba(5,5,5,.94)}.site-header.scrolled .header-inner{height:64px}
.desktop-nav a{color:var(--text);font-weight:600}
.cart-top{background:linear-gradient(90deg,var(--gold),#ffd777);color:#120d02;border:0;border-radius:99px;font-weight:800}
.cart-counter{background:#120d02;color:var(--gold)}
.cart-counter.bump{animation:bump .45s ease}@keyframes bump{40%{transform:scale(1.55)}}

/* botones inclinados con brillo */
.btn-primary,.btn-primary.inverse{background:linear-gradient(90deg,var(--gold),#ffd777);border:0;color:#120d02;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);padding:0 34px;font-style:italic;position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg);transition:left .6s;pointer-events:none}
.btn-primary:hover:not(:disabled)::after{left:130%}
.btn-primary:hover:not(:disabled),.btn-primary:focus-visible,.btn-primary.inverse:hover{background:#fff;border:0;transform:none}

/* portada */
.hero{position:relative}
.hero::before,.hero::after{content:"";position:absolute;left:-12%;right:-12%;height:3px;transform:rotate(-7deg);pointer-events:none}
.hero::before{top:30%;background:linear-gradient(90deg,transparent,var(--gold) 45%,transparent);box-shadow:0 0 24px var(--gold);opacity:.75}
.hero::after{bottom:12%;background:linear-gradient(90deg,transparent,var(--blue) 55%,transparent);box-shadow:0 0 24px var(--blue);opacity:.75}
.hero-arch{border-radius:0;clip-path:polygon(0 0,100% 0,100% 88%,84% 100%,0 100%);background:linear-gradient(160deg,#10161f,#0a3a66 55%,#a8741c);transform:translateY(var(--py,0px))}
.hero-mini{transform:translateY(calc(var(--py,0px)*-.6));border-color:var(--bg)}
.hero-visual:before{border-color:rgba(43,157,255,.5)}
.hero-caption{background:rgba(15,15,18,.92);border:1px solid rgba(43,157,255,.4)}.circle-star{border-color:var(--blue);color:var(--blue)}.hero-vertical{color:var(--gold)}.hero-metrics b{font-style:italic}
.ticker{background:#0b0b10;color:var(--text);border-color:rgba(245,184,58,.3)}
.ticker-track{font-family:var(--serif);font-style:italic;font-weight:800;font-size:15px}.ticker span{color:var(--blue)}

/* colección */
.filter-group button{border-radius:99px;border-color:var(--line);color:var(--muted)}
.filter-group button.selected,.filter-group button:hover{background:linear-gradient(90deg,var(--gold),#ffd777);color:#120d02;border-color:transparent}
.product-card{background:linear-gradient(180deg,#14141a,#0b0b0e);border:1px solid var(--line);border-radius:18px;padding:10px;transition:border-color .25s,box-shadow .25s}
.product-card:hover,.product-card:focus-visible{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 12px 40px rgba(43,157,255,.18)}
.product-photo{border-radius:12px}
.product-photo img.alt{position:absolute;inset:0;opacity:0;transition:opacity .45s}.product-card:hover .product-photo img.alt{opacity:1}
.product-tag{background:var(--blue);color:#fff;font-style:italic;border-radius:99px}.product-tag.ask{background:var(--gold);color:#120d02}
.product-hover{background:linear-gradient(90deg,var(--gold),#ffd777);border-radius:50%}
.product-type{color:var(--blue);font-style:italic}.product-price{font-family:var(--serif);font-style:italic}
.sw{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;border:1px solid var(--line)}

/* mayoreo */
.wholesale{background:linear-gradient(180deg,#0b1018,#050505);color:var(--text);border-block:1px solid rgba(245,184,58,.25)}
.wholesale-head>p:not(.section-kicker){color:#b4b2a9}
.price-board{background:#0f0f12;border:1px solid rgba(43,157,255,.4);box-shadow:25px 25px 0 rgba(43,157,255,.07),0 0 60px rgba(43,157,255,.08)}
.board-top,.board-col{border-color:var(--line)}.board-top small{color:var(--text)}.board-top b{color:var(--gold)}.board-label{color:var(--text)}.board-label span,.tier-row{color:#a9a9b2}
.tier-row strong{color:var(--text);font-style:italic}.wholesale-col strong{color:var(--gold)}.board-note{color:#86868f}
.story-images{background:linear-gradient(160deg,#10161f,#0a3a66 55%,#a8741c)}.story-images:before{border-color:rgba(245,184,58,.5)}

/* ventana, carrito y carga */
.product-dialog{background:#0f0f12;border-color:rgba(245,184,58,.35)}
.cart-drawer{background:#0c0c0f;border-left-color:rgba(245,184,58,.35)}
[data-size].active,[data-size][aria-pressed=true]{background:linear-gradient(90deg,var(--gold),#ffd777);color:#120d02;border-color:transparent}
.page-loader-line i{background:linear-gradient(90deg,var(--gold),var(--blue))}.page-loader img{filter:drop-shadow(0 0 28px rgba(43,157,255,.25))}

/* barras de mayoreo del carrito */
.wh-meters{display:grid;gap:10px;margin:0 0 12px}.wh-row{display:grid;gap:5px;font-size:11px;letter-spacing:.06em;font-weight:700}
.wh-row span{display:flex;justify-content:space-between;color:var(--muted)}.wh-bar{height:6px;background:rgba(255,255,255,.1);border-radius:9px;overflow:hidden}
.wh-bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--gold),var(--blue));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.wh-row.done span b{color:var(--gold)}.wh-row.done .wh-bar i{background:linear-gradient(90deg,var(--gold),#ffe29a);box-shadow:0 0 14px var(--gold);animation:whPulse 1.2s ease 2}@keyframes whPulse{50%{filter:brightness(1.6)}}

/* aparición al hacer scroll */
html.js-reveal .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
html.js-reveal .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.btn-primary::after{display:none}.cart-counter.bump,.wh-row.done .wh-bar i{animation:none}.hero-arch,.hero-mini{transform:none}}
.product-photo{background:#0b0b0e}.cart-foot{background:#101014;border-top-color:rgba(245,184,58,.25)}
.product-photo img{object-fit:cover;object-position:50% 25%}.product-photo img.alt.zoom{transform:scale(1.4);transform-origin:50% 28%}

/* Ajuste puntual Android/Chrome: impedir desbordamiento horizontal del viewport tras cerrar overlays. */
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%}

/* Corrección móvil puntual: el decorado inclinado de la portada puede exceder
   el ancho del documento. Se recorta únicamente fuera del viewport, sin mover
   ni cambiar los elementos visibles de la tienda. */
@media (max-width: 800px) {
  main { overflow-x: clip; }
  html { overflow-x: hidden; overscroll-behavior-x: none; }
  body { overflow-x: clip; }
}

/* Corrección específica de zoom accidental en navegadores táctiles.
   Conserva desplazamiento vertical y zoom por pellizco; elimina el zoom por doble toque. */
@media (pointer: coarse) {
  html, body, a, button { touch-action: manipulation; }
}
