[hidden]{display:none !important}   /* lo que se oculta se oculta, aunque su clase diga display:flex */
/* ---------- Tienda: configurador y carrito ---------- */
.pl-head{display:flex;justify-content:space-between;align-items:baseline;font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pl-head small{color:#9fcfff;letter-spacing:.08em}
/* jugadoras: cuadrícula con todas a la vista (sin scroll propio, que atrapaba la rueda del mouse) */
.players{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;margin:8px 0 2px;padding:0}
.players li{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:rgba(6,12,24,.45);overflow:hidden;transition:background .2s,border-color .2s,box-shadow .2s}
.players li:hover{border-color:rgba(159,207,255,.4)}
.players li.on{background:rgba(35,131,214,.24);border-color:var(--blue);box-shadow:0 0 0 1px rgba(35,131,214,.35)}
.players li.vista{box-shadow:0 0 0 1px rgba(159,207,255,.7)}
.pl-pick{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;min-width:0;padding:8px 9px 8px;border:0;background:none;color:#cfe3f8;text-align:left;cursor:pointer}
.pl-pick b{min-width:26px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:6px;background:rgba(255,255,255,.1);font:700 12px var(--mono);color:#fff}
.players li.on .pl-pick b{background:var(--blue)}
.pl-pick span{width:100%;font-weight:700;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.players li .qty.sm{display:none}
.players li.on .qty.sm{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(159,207,255,.25);padding:2px 4px;margin:0;width:auto;border-radius:0;background:rgba(6,12,24,.35)}
.players li:not(.on) .qty b{color:var(--mute)}
.pl-sum{font:500 11.5px/1.5 var(--mono);color:#cfe3f8}
.pl-sum b{color:#fff}
.pl-sum i{font-style:normal;color:#9fcfff}
.qty-row[hidden]{display:none}
.lines b.who{display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.03em}
.lines b.who em{font-style:normal;min-width:26px;height:22px;padding:0 5px;display:grid;place-items:center;border-radius:6px;background:var(--blue);font:700 11px var(--mono)}
.top-right{justify-self:end;display:flex;align-items:center;gap:8px;pointer-events:auto;min-width:0}
.top-right .filters{max-width:min(46vw,520px)}
@media (max-width:440px){ .top-right{grid-column:1;grid-row:2;justify-self:center;max-width:calc(100vw - 32px)} }
.cart-btn{position:relative;flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(10,20,36,.7);color:var(--white);backdrop-filter:blur(8px);transition:.2s;cursor:pointer;justify-self:end}
.cart-btn:hover{background:var(--blue);border-color:var(--blue)}
.cart-btn span{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--blue);color:#fff;font:700 10px/18px var(--mono);text-align:center;box-shadow:0 0 0 2px var(--navy)}
.cart-btn.bump{animation:bump .5s cubic-bezier(.2,.8,.2,1)}
@keyframes bump{30%{transform:scale(1.25)}}
.buy{height:40px;width:100%;margin:0;border-radius:999px;background:var(--blue);color:#fff;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 8px 24px rgba(35,131,214,.45);transition:.2s;cursor:pointer;border:0}
.buy:hover{filter:brightness(1.12)}

.shop{position:fixed;inset:0;z-index:60;display:grid;grid-template-columns:1fr minmax(320px,420px);gap:3vw;align-items:center;padding:24px max(24px,5vw);
  background:radial-gradient(60% 70% at 35% 50%,rgba(35,131,214,.22),rgba(6,12,24,.94) 70%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  opacity:0;pointer-events:none;transition:opacity .4s}
.shop.show{opacity:1;pointer-events:auto}
.shop-stage{position:relative;height:min(78vh,720px);cursor:grab;touch-action:none}
.shop-stage:active{cursor:grabbing}
.shop-3d{position:absolute;inset:0}
.shop-turn{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(10,20,36,.7)}
.shop-turn button{font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);padding:7px 14px;border-radius:999px;border:0;background:none;cursor:pointer}
.shop-turn button:hover{color:#fff;background:rgba(35,131,214,.35)}
.shop-card{display:flex;flex-direction:column;max-height:calc(100vh - 48px);background:linear-gradient(180deg,rgba(35,131,214,.24),rgba(12,22,40,.92));border:1px solid rgba(255,255,255,.16);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.55);overflow:hidden;transform:translateX(24px);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.shop.show .shop-card{transform:none}
.shop-card header,.cart header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font:600 10px var(--mono);letter-spacing:.18em;color:var(--mute)}
.x{border:0;background:none;color:#fff;font-size:15px;cursor:pointer;padding:2px 6px}
.shop-body{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:14px}
.shop-body h2{font-weight:900;font-stretch:115%;font-size:22px;line-height:1.05}
.shop-price{display:flex;align-items:baseline;gap:10px;margin-top:-6px}
.shop-price b{font:700 20px var(--mono)}
.shop-price small,.note{font:500 10px var(--mono);letter-spacing:.08em;color:#9fcfff;text-transform:uppercase}
fieldset{border:0;display:flex;flex-direction:column;gap:7px}
legend{font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:7px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button,.modes button{border:1px solid var(--line);background:rgba(10,20,36,.5);color:#cfe3f8;border-radius:10px;cursor:pointer;transition:.18s}
.seg button{flex:1;min-width:44px;height:38px;font:700 12px var(--mono);letter-spacing:.06em}
.sizes button{flex:0 0 auto;min-width:48px}
.modes{display:flex;flex-direction:column;gap:6px}
.modes button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;text-align:left}
.modes button b{font-weight:700;font-size:13px}
.modes button small{font:600 10px var(--mono);color:var(--mute);white-space:nowrap}
.seg button:hover,.modes button:hover{border-color:rgba(159,207,255,.5)}
.seg button[aria-pressed="true"],.modes button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 0 18px rgba(35,131,214,.45)}
.modes button[aria-pressed="true"] small{color:#e6f2ff}
.pers{display:flex;flex-direction:column;gap:6px}
.pers[hidden],.two[hidden]{display:none !important}
.pers.two,.two{display:grid;grid-template-columns:1fr 90px;gap:8px}
.shop label,#coForm label{display:flex;flex-direction:column;gap:5px;font:600 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.shop input,.shop select,#coForm input:not([type=radio]){height:40px;border-radius:10px;border:1px solid var(--line);background:rgba(6,12,24,.6);color:#fff;padding:0 12px;font:700 14px var(--sans);letter-spacing:.06em;outline:none;transition:.18s}
.shop input:focus,.shop select:focus,#coForm input:not([type=radio]):focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(35,131,214,.25)}
.shop select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9fcfff 50%),linear-gradient(135deg,#9fcfff 50%,transparent 50%);background-position:calc(100% - 18px) 17px,calc(100% - 13px) 17px;background-size:5px 5px;background-repeat:no-repeat}
#inNumero{text-align:center;font-family:var(--mono)}
.err{min-height:0;font:600 11px var(--mono);color:#ff9d9d}
.err:empty{display:none}
.qty-row{display:flex;justify-content:space-between;align-items:center;font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.qty{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(10,20,36,.5)}
.qty button{width:30px;height:30px;border-radius:50%;border:0;background:none;color:#fff;font-size:16px;cursor:pointer}
.qty button:hover{background:rgba(35,131,214,.4)}
.qty b{min-width:24px;text-align:center;font:700 13px var(--mono);color:#fff}
.qty.sm button{width:24px;height:24px;font-size:14px}
.shop-card footer{padding:14px 16px;border-top:1px solid var(--line)}
.t-primary{width:100%;height:46px;border-radius:999px;border:0;background:var(--blue);color:#fff;font:700 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 28px rgba(35,131,214,.45);transition:.2s}
.t-primary:hover{filter:brightness(1.12)}
.t-primary:disabled{opacity:.5;cursor:not-allowed}
.t-primary.mp{background:linear-gradient(180deg,#2f9bff,#0a72d6)}

.cart{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(420px,100vw);display:flex;flex-direction:column;background:linear-gradient(180deg,#13264a,#0b1628);border-left:1px solid var(--line);box-shadow:-30px 0 80px rgba(0,0,0,.5);transform:translateX(105%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.cart.show{transform:none}
.cart-scrim{position:fixed;inset:0;z-index:65;background:rgba(4,8,16,.55);opacity:0;pointer-events:none;transition:opacity .35s}
.cart-scrim.show{opacity:1;pointer-events:auto}
.cart-view{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.cart-view[hidden]{display:none}
.cart-empty{margin:auto;text-align:center;color:var(--mute)}
.cart-empty p{font-weight:800;color:#fff;font-size:16px;margin-bottom:6px}
.cart-empty small{font:500 11px var(--mono)}
.lines{list-style:none;display:flex;flex-direction:column;gap:10px}
.lines li{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(6,12,24,.4)}
.lines img{width:64px;height:76px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5))}
.lines li > div{display:flex;flex-direction:column;gap:3px;min-width:0}
.lines b{font-size:13px}
.lines small{font:500 10.5px var(--mono);color:var(--mute);letter-spacing:.04em}
.lines .qty{align-self:flex-start;margin-top:4px}
.lines .r{align-items:flex-end;text-align:right}
.lines .r b{font:700 13px var(--mono)}
.rm{border:0;background:none;color:#9fcfff;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:4px 0}
.sum{display:flex;justify-content:space-between;font:600 12px var(--mono);color:#cfe3f8;padding-top:4px}
.sum b{color:#fff}
.sum.total{border-top:1px solid var(--line);padding-top:10px;font-size:14px}
.sum.total b{font-size:18px}
.t-back{align-self:flex-start;border:0;background:none;color:#9fcfff;font:600 11px var(--mono);letter-spacing:.1em;cursor:pointer;padding:0}
#coForm{display:flex;flex-direction:column;gap:10px}
#coForm h3{font:700 10px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#9fcfff;margin-top:6px}
#addr{display:flex;flex-direction:column;gap:10px}
#addr[hidden]{display:none}
.radio{flex-direction:row !important;align-items:center;gap:10px !important;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(10,20,36,.5);cursor:pointer;letter-spacing:0 !important;text-transform:none !important}
.radio input{width:16px;height:16px;accent-color:#2383d6;padding:0}
.radio span{flex:1;display:flex;justify-content:space-between;gap:10px}
.radio b{font:700 13px var(--sans);color:#fff}
.radio small{font:600 10px var(--mono);color:var(--mute)}
.radio:has(input:checked){border-color:var(--blue);background:rgba(35,131,214,.2)}
.done{margin:auto;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.done .ok{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--blue);font-size:30px;font-weight:900;box-shadow:0 0 40px rgba(35,131,214,.6)}
.done h3{font-weight:900;font-size:22px}
.done p{font:500 12px var(--mono);color:#cfe3f8}
.done .t-primary{margin-top:8px}

@media (max-width:820px){
  .shop input,.shop select,#coForm input:not([type=radio]){font-size:16px;height:44px}   /* evita el zoom automático de iPhone */
  .seg button{height:42px}
  .pl-pick{height:42px}
  .shop{grid-template-columns:1fr;grid-template-rows:38vh 1fr;gap:10px;padding:12px 12px 0;align-items:stretch}
  .shop-stage{height:auto}
  .shop-card{max-height:none;border-radius:16px 16px 0 0;min-height:0}
}

.no-pers{margin:2px 0 4px;padding:10px 12px;border:1px dashed rgba(159,207,255,.35);border-radius:10px;font-size:12px;color:#b9d6f3;background:rgba(35,131,214,.08)}
#fsModo[hidden],.no-pers[hidden]{display:none !important}

/* vista plana: espalda y frente que se voltean */
.shop-flat{position:absolute;inset:0;display:grid;place-items:center;perspective:1400px}
.shop-flat[hidden]{display:none}
.shop-flat .card{position:relative;height:min(78%,560px);aspect-ratio:4/5;transform-style:preserve-3d}
.shop-flat img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;backface-visibility:hidden;-webkit-backface-visibility:hidden;filter:drop-shadow(0 24px 30px rgba(0,0,0,.5))}
.shop-flat img.f{transform:rotateY(180deg)}

/* tallas agotadas (existencias en 0 en la base) */
.seg button:disabled{opacity:.32;cursor:not-allowed;text-decoration:line-through;border-style:dashed}

/* pago dentro de la tienda (Payment Brick) */
.pay-card{border:1px solid rgba(124,192,255,.22);border-radius:14px;padding:14px 16px;background:linear-gradient(160deg,rgba(35,131,214,.22),rgba(10,20,38,.55));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.pay-card .k{display:flex;justify-content:space-between;align-items:center;font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#9fcfff}
.pay-card .k b{color:#fff;letter-spacing:.08em}
.pay-card .tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px}
.pay-card .tot span{font-weight:800;font-size:15px}
.pay-card .tot b{font:800 26px var(--mono);letter-spacing:-.01em;text-shadow:0 0 22px rgba(35,131,214,.55)}
.pay-card .items{margin-top:6px;font-size:12px;color:#b9cfe8;line-height:1.45}
.pay-label{font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-top:4px}
.mp-brick{min-height:140px}
.mp-brick .note{padding:24px 0;text-align:center}
.pay-safe{display:flex;align-items:center;justify-content:center;gap:6px;font:500 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#7f98b8;text-align:center}
.pay-safe svg{flex:none;opacity:.8}
.done a.t-primary{text-decoration:none;display:inline-block}

/* ---------- celular: dedos, no puntero ---------- */
.t-ghost{height:44px;border-radius:999px;border:1px solid var(--line);background:rgba(10,20,36,.5);color:#cfe3f8;font:700 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;width:100%}
.t-ghost:hover{border-color:var(--blue);color:#fff}
.cart-empty .t-ghost{margin-top:14px;width:auto;padding:0 20px}
#coForm input.bad{border-color:#ff6b7a !important;box-shadow:0 0 0 3px rgba(255,107,122,.2) !important}
.done .next{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(35,131,214,.1);text-align:left;font-size:13px;line-height:1.45;color:#cfe3f8;max-width:320px}
.done .next b{font-size:13px;color:#fff}
@media (max-width:820px){
  .shop{grid-template-rows:34vh 1fr}
  .shop-turn button{padding:11px 18px}
  .shop-card header .x,.cart header .x{min-width:44px;min-height:44px;display:grid;place-items:center;margin:-12px -12px -12px 0}
  .qty.sm button{width:34px;height:34px;font-size:16px}
}

fieldset[hidden]{display:none !important}

/* ---------- leyenda de entrega (bajo pedido) ---------- */
.shop-aviso{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin:-2px 0 2px;padding:7px 12px;border-radius:999px;
  font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ffd99a;background:rgba(255,190,90,.1);border:1px solid rgba(255,190,90,.35)}
.shop-aviso::before{content:"";width:7px;height:7px;border-radius:50%;background:#ffc05a;box-shadow:0 0 8px #ffc05a}
.lines small.aviso,.note.aviso,.next .aviso{color:#ffd99a}
/* entrega con una sola opción: se muestra como dato, sin botón de elegir */
.modes.solo .radio input{display:none}
.modes.solo .radio{pointer-events:none}

/* ---------- código de descuento ---------- */
.cupon{display:flex;gap:8px}
.cupon input{flex:1;min-width:0;text-transform:uppercase}
.cupon input:disabled{color:#9ff0c4;border-color:rgba(80,220,150,.45);background:rgba(40,160,100,.12)}
.cupon .t-ghost{width:auto;flex:0 0 auto;padding:0 18px}
.cu-msg{min-height:1.3em;margin:-2px 0 2px;font:600 11px var(--mono);letter-spacing:.04em;color:var(--mute)}
.cu-msg.ok{color:#7fe3ae} .cu-msg.bad{color:#ff9d9d}
.sum.desc b{color:#7fe3ae}

/* ---------- últimas piezas (menos de 10) ---------- */
.ultimas{margin:8px 0 0;font:600 11px var(--mono);letter-spacing:.06em;color:#ffb36b}
.seg.sizes button.pocas{position:relative}
.seg.sizes button.pocas::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:#ff9a3d;box-shadow:0 0 6px #ff9a3d}

.tienda-off{position:fixed;left:50%;bottom:calc(70px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:80;max-width:calc(100vw - 32px);
  padding:12px 18px;border-radius:14px;background:rgba(8,16,30,.92);border:1px solid rgba(255,157,157,.4);color:#ffd0d0;font:600 12px var(--mono);text-align:center}
.shop-aviso[hidden],.ultimas[hidden]{display:none}

/* ---------- ficha de confirmación ---------- */
.ficha{position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#10203b,#0a1426);border:1px solid rgba(159,207,255,.28);
  box-shadow:0 18px 40px rgba(0,0,0,.45);padding:18px 18px 16px;text-align:left}
.ficha::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--blue)}
.ficha header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ficha header img{width:42px;height:42px;object-fit:contain}
.ficha header small{display:block;font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#9fcfff}
.ficha header b{display:block;font:800 18px var(--sans);color:#fff}
.ficha .sello{margin-left:auto;padding:6px 10px;border-radius:999px;font:700 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7fe3ae;border:1px solid rgba(127,227,174,.5);background:rgba(40,160,100,.12)}
.f-id{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:rgba(6,12,24,.55);border:1px dashed rgba(159,207,255,.3)}
.f-id span{font:600 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.f-id b{font:800 24px var(--mono);letter-spacing:.04em;color:#fff}
.f-id small{font:500 11px var(--mono);color:#9fcfff}
.f-hola{margin:14px 0 4px;font:800 17px var(--sans);color:#fff}
.f-grupo{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(6,12,24,.35)}
.f-grupo h4{margin:0 0 8px;font:700 10px var(--mono);letter-spacing:.16em;text-transform:uppercase}
.f-grupo.inm h4,.f-grupo.inm .f-msg{color:#7fe3ae} .f-grupo.inm{border-color:rgba(127,227,174,.35)}
.f-grupo.ped h4,.f-grupo.ped .f-msg{color:#ffd99a} .f-grupo.ped{border-color:rgba(255,190,90,.35)}
.f-grupo ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.f-grupo li{display:flex;gap:10px;align-items:flex-start}
.f-grupo .q{font:700 13px var(--mono);color:#cfe3f8;min-width:26px}
.f-grupo li b{display:block;font:700 14px var(--sans);color:#fff;line-height:1.25}
.f-grupo li small{display:block;font:500 11px var(--mono);color:var(--mute);margin-top:2px}
.f-msg{margin:10px 0 0;font:600 13px var(--sans);line-height:1.4}
.f-msg em{font-style:normal;opacity:.8}
.f-tot{margin-top:14px;display:grid;gap:4px}
.f-tot div{display:flex;justify-content:space-between;font:500 12px var(--mono);color:var(--mute)}
.f-tot div b{color:#cfe3f8}
.f-tot .t{margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}
.f-tot .t span{color:#fff;font-weight:700} .f-tot .t b{font:800 18px var(--mono);color:#fff}
.f-pie{margin:12px 0 0;font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#9fcfff;text-align:center}
.f-acc{display:grid;gap:8px;margin-top:14px}
.ficha,.f-acc{flex:none}
