html:has(body.t3d),body.t3d{height:100%;overflow:hidden;overscroll-behavior:none}body.t3d{margin:0;min-height:0;background:var(--bg-primary);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.t3d-stage{position:fixed;inset:0}.t3d-stage canvas{display:block;width:100%;height:100%;touch-action:none}.t3d-hud{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));z-index:2100;display:flex;justify-content:space-between;pointer-events:none}.t3d-hud>*{pointer-events:auto}.t3d-exit{padding:10px 18px;background:var(--bg-glass);box-shadow:var(--shadow-md)}.t3d-hud-acciones{display:flex;gap:8px}.t3d-ayuda,.t3d-lista{display:none;justify-content:center;height:44px;color:var(--text-primary);background:var(--bg-glass);box-shadow:var(--shadow-md)}.t3d-ayuda{width:44px;padding:0;font-size:1.1rem;font-weight:700}.t3d-lista{gap:8px;padding:0 16px}.t3d-listo .t3d-ayuda,.t3d-listo .t3d-lista{display:inline-flex}.t3d-en-pausa .t3d-hud-acciones{visibility:hidden}.t3d-hud-acciones .btn{transition:all var(--transition-normal),visibility 0s}@media(max-width:420px){.t3d-lista{width:44px;padding:0}.t3d-lista-texto{display:none}}.t3d-cesta{display:none;position:relative;gap:8px;height:44px;padding:0 14px 0 12px;color:var(--text-primary);background:var(--bg-glass);box-shadow:var(--shadow-md);font-weight:700;font-variant-numeric:tabular-nums}.t3d-listo.t3d-con-cesta .t3d-cesta{display:inline-flex}.t3d-cesta-cuenta{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--gradient-primary);color:#fff;font-size:.8rem;line-height:1}.t3d-cesta.is-bote{animation:t3d-bote .45s ease-out}@keyframes t3d-bote{0%{transform:scale(1)}35%{transform:scale(1.14)}to{transform:scale(1)}}.t3d-cesta-aviso{position:fixed;top:calc(max(12px,env(safe-area-inset-top)) + 54px);right:max(12px,env(safe-area-inset-right));z-index:4;max-width:min(320px,calc(100vw - 24px));margin:0;padding:10px 14px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-glass);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:.9rem;opacity:0;transform:translateY(-6px);transition:opacity var(--transition-fast),transform var(--transition-fast);pointer-events:none}.t3d-cesta-aviso.is-visible{opacity:1;transform:none}.t3d-en-pausa .t3d-cesta-aviso{visibility:hidden}@media(max-width:420px){.t3d-cesta{padding:0 10px}.t3d-cesta-total{display:none}.t3d-con-cesta .t3d-exit{padding:10px 14px}.t3d-con-cesta .t3d-exit-extra{display:none}}.t3d-guia-recordar input:focus-visible,.t3d-exit:focus-visible,.t3d-ayuda:focus-visible,.t3d-lista:focus-visible,.t3d-cesta:focus-visible,.t3d-guia .btn:focus-visible{outline:2px solid var(--accent-tertiary);outline-offset:3px}kbd{display:inline-block;min-width:1.7em;padding:1px 6px;border:1px solid var(--border-light);border-bottom-width:2px;border-radius:6px;background:var(--bg-glass-light);font-family:inherit;font-size:.85em;font-weight:600;line-height:1.5;text-align:center;color:var(--text-primary)}.t3d-mira,.t3d-aviso{display:none;position:fixed;z-index:4;pointer-events:none}.t3d-mira{top:50%;left:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 0 2px #00000059}.t3d-aviso{left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;padding:10px 18px;border-radius:var(--radius-xl);background:var(--bg-glass);box-shadow:var(--shadow-md);color:var(--text-secondary);font-size:.9rem;text-align:center}.t3d-escritorio.t3d-listo.t3d-raton-bloqueado .t3d-mira,.t3d-escritorio.t3d-listo:not(.t3d-raton-bloqueado):not(.t3d-en-pausa) .t3d-aviso{display:block}.t3d-joystick{display:none;position:fixed;z-index:4;left:max(24px,env(safe-area-inset-left));bottom:max(32px,env(safe-area-inset-bottom));width:120px;height:120px;border-radius:50%;border:2px solid rgba(255,255,255,.18);background:#241f29f0;touch-action:none}.t3d-joystick-mando{position:absolute;top:50%;left:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--gradient-primary);box-shadow:var(--shadow-glow);pointer-events:none}.t3d-tactil.t3d-listo:not(.t3d-en-pausa) .t3d-joystick{display:block}.t3d-guia{position:fixed;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:calc(max(12px,env(safe-area-inset-top)) + 56px) 16px 16px;background:#0a0a0fe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.t3d-guia[hidden]{display:none}.t3d-guia-tarjeta{width:min(860px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:26px 24px 20px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-lg),var(--shadow-glow);animation:t3d-guia-entra .4s cubic-bezier(.2,.9,.3,1.15);touch-action:pan-y}@keyframes t3d-guia-entra{0%{opacity:0;transform:translateY(14px) scale(.98)}}.t3d-guia-antetitulo{margin:0 0 2px;color:var(--accent-tertiary);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-align:center;text-transform:uppercase}.t3d-guia-titulo{margin:0 0 18px;font-family:var(--font-display);font-size:1.6rem;color:var(--text-primary);text-align:center}.t3d-guia-pasos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px;padding:0;list-style:none;counter-reset:t3d-paso}.t3d-guia-paso{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-glass-light);counter-increment:t3d-paso;animation:t3d-guia-paso .45s ease-out both}.t3d-guia-paso:nth-child(2){animation-delay:.05s}.t3d-guia-paso:nth-child(3){animation-delay:.1s}.t3d-guia-paso:nth-child(4){animation-delay:.15s}.t3d-guia-paso:nth-child(5){animation-delay:.2s}.t3d-guia-paso:nth-child(6){animation-delay:.25s}.t3d-guia-paso:nth-child(7){animation-delay:.3s}@keyframes t3d-guia-paso{0%{opacity:0;transform:translateY(10px)}}.t3d-guia-foto{position:relative;flex:0 0 132px;width:132px;aspect-ratio:4 / 3;overflow:hidden;border-radius:12px;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%) -150% 0 / 200% 100% no-repeat,linear-gradient(160deg,#2c2540,#15121d);box-shadow:inset 0 0 0 1px #ffffff0f;animation:t3d-guia-brillo 1.3s linear infinite}.t3d-guia-foto.is-lista{animation:none;background:linear-gradient(160deg,#2c2540,#15121d)}@keyframes t3d-guia-brillo{to{background-position:150% 0,0 0}}.t3d-guia-foto:after{content:counter(t3d-paso);position:absolute;top:6px;left:6px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gradient-primary);color:#fff;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px #0006}.t3d-guia-foto img{display:block;width:100%;height:100%;object-fit:cover;animation:t3d-guia-foto .5s ease-out}@keyframes t3d-guia-foto{0%{opacity:0;transform:scale(1.06)}}.t3d-guia-foto-mover,.t3d-guia-foto-hud{display:grid;place-items:center}.t3d-guia-teclas{display:grid;grid-template-columns:repeat(3,auto);gap:4px}.t3d-guia-teclas kbd:first-child{grid-column:2}.t3d-guia-teclas kbd:not(:first-child){grid-row:2}.t3d-guia-joystick{position:relative;width:64px;height:64px;border:2px solid rgba(255,255,255,.2);border-radius:50%;background:#241f29e6}.t3d-guia-joystick span{position:absolute;top:50%;left:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--gradient-primary);box-shadow:var(--shadow-glow);animation:t3d-guia-joystick 2.4s ease-in-out infinite}@keyframes t3d-guia-joystick{0%,to{transform:translate(0)}25%{transform:translateY(-12px)}50%{transform:translate(12px)}75%{transform:translate(-10px,6px)}}.t3d-guia-hud{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border-light);border-radius:12px;background:var(--bg-glass);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:.78rem;font-weight:700;animation:t3d-bote 1.8s ease-in-out infinite}.t3d-guia-hud b{display:grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:var(--gradient-primary);color:#fff;font-size:.7rem}.t3d-guia-texto{min-width:0;text-align:left}.t3d-guia-texto h3{margin:0 0 3px;color:var(--text-primary);font-size:1rem}.t3d-guia-texto p{margin:0;color:var(--text-secondary);font-size:.86rem;line-height:1.45}.t3d-guia-texto kbd{font-size:.75em}.t3d-guia-pie{position:sticky;bottom:-20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 -24px -20px;padding:14px 24px 20px;background:linear-gradient(to bottom,transparent,var(--bg-card) 30%)}.t3d-guia-recordar{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.85rem;cursor:pointer}.t3d-guia-recordar input{width:18px;height:18px;accent-color:var(--accent-primary)}@media(max-width:720px){.t3d-guia-pasos{grid-template-columns:1fr}}@media(max-width:420px){.t3d-guia-tarjeta{padding:22px 16px 16px}.t3d-guia-foto{flex-basis:104px;width:104px}.t3d-guia-pie{margin:0 -16px -16px;padding:12px 16px 16px;bottom:-16px}.t3d-guia-pie .btn{flex:1 1 100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.t3d-guia-tarjeta,.t3d-guia-paso,.t3d-guia-foto,.t3d-guia-foto img,.t3d-guia-joystick span,.t3d-guia-hud{animation:none}}.t3d-teclas kbd+kbd{margin-left:3px}.t3d-escritorio .t3d-solo-tactil,.t3d-tactil .t3d-solo-escritorio{display:none}.t3d-loader{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;background:var(--bg-primary);transition:opacity var(--transition-slow),visibility var(--transition-slow)}.t3d-loader.is-hidden{opacity:0;visibility:hidden}.t3d-loader-logo{width:96px;height:96px;border-radius:50%;box-shadow:var(--shadow-glow);animation:t3d-latido 1.6s ease-in-out infinite}.t3d-loader-title{margin:0;font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text-primary)}.t3d-progress{width:min(320px,72vw);height:6px;border-radius:999px;background:var(--bg-glass-light);overflow:hidden}.t3d-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--gradient-primary);transition:width .25s ease}.t3d-loader-text{margin:0;min-height:1.6em;color:var(--text-secondary);font-size:.95rem}.t3d-loader-text a{color:var(--accent-tertiary);text-decoration:underline}.t3d-loader-actions{display:none;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}.t3d-loader.is-error .t3d-loader-actions{display:flex}.t3d-loader-actions [hidden],.t3d-loader.is-error .t3d-progress{display:none}.t3d-loader.is-error .t3d-loader-logo{animation:none}@keyframes t3d-latido{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.t3d-objetivo{display:none;position:fixed;z-index:4;top:calc(50% + 22px);left:50%;transform:translate(-50%);width:max-content;max-width:min(360px,calc(100vw - 32px));margin:0;padding:8px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-glass);box-shadow:var(--shadow-md);text-align:center;pointer-events:none}.t3d-listo.t3d-con-objetivo:not(.t3d-en-pausa) .t3d-objetivo{display:block}.t3d-objetivo-nombre{display:block;color:var(--text-primary);font-weight:600;font-size:.95rem}.t3d-objetivo-accion{display:block;color:var(--accent-tertiary);font-size:.8rem}.t3d-modal .modal-content{max-width:760px}.t3d-modal.show{transition-property:opacity}.t3d-modal.show *{transition:all var(--transition-normal),visibility 0s}.t3d-ficha{display:grid;gap:24px;padding:28px}.t3d-ficha-producto{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:start}.t3d-ficha-imagen img,.t3d-ficha-sin-imagen{display:block;width:100%;aspect-ratio:1;border-radius:var(--radius-md);object-fit:contain;background:#fff}.t3d-ficha-sin-imagen{background:linear-gradient(160deg,var(--t3d-color),var(--bg-secondary))}.t3d-ficha-info{min-width:0}.t3d-ficha-antetitulo{margin:0 0 4px;color:var(--accent-tertiary);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.t3d-ficha-titulo{margin:0 40px 10px 0;font-family:var(--font-display);font-size:1.45rem;line-height:1.25;color:var(--text-primary)}.t3d-ficha-precio{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1.4rem;font-weight:700;color:var(--text-primary)}.t3d-etiqueta-agotado{padding:2px 10px;border-radius:999px;background:#ef444426;color:var(--accent-red);font-size:.8rem;font-weight:600}.t3d-ficha-texto{margin:0 0 18px;color:var(--text-secondary);white-space:pre-line}.t3d-ficha-nota{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--accent-primary);border-radius:var(--radius-sm);background:var(--bg-glass-light);color:var(--text-secondary);font-size:.9rem}.t3d-caja-lista{display:grid;gap:6px;max-height:min(30vh,240px);margin:0 0 14px;padding:0 4px 0 0;overflow-y:auto;list-style:none;color:var(--text-secondary)}.t3d-caja-lista li{display:flex;justify-content:space-between;gap:12px}.t3d-caja-lista li span:last-child{color:var(--text-primary);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.t3d-ficha-separador{margin-top:22px;padding-top:16px;border-top:1px solid var(--border-light)}.t3d-ficha-subtitulo{margin:0 0 8px;font-family:var(--font-display);font-size:1.15rem;color:var(--text-primary)}.t3d-ficha-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.t3d-tarjetas{display:grid;gap:10px;margin:0 0 18px;padding:0;list-style:none}.t3d-tarjeta{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-glass-light);transition:border-color var(--transition-fast),background var(--transition-fast)}.t3d-tarjeta:hover,.t3d-tarjeta:focus-visible{border-color:var(--accent-primary);background:#9c32c61f}.t3d-evento-fecha{display:grid;flex:0 0 52px;place-items:center;padding:6px 0;border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;line-height:1.1}.t3d-evento-fecha strong{font-size:1.3rem}.t3d-evento-fecha span{font-size:.75rem;text-transform:uppercase}.t3d-tarjeta-info{display:grid;min-width:0}.t3d-tarjeta-titulo{color:var(--text-primary);font-weight:600}.t3d-tarjeta-detalles{color:var(--text-secondary);font-size:.85rem}.t3d-tarjeta-miniatura{flex:0 0 52px;width:52px;height:52px;border-radius:var(--radius-sm);background:var(--t3d-color, #ffffff) center / contain no-repeat;object-fit:contain}.t3d-tarjeta .t3d-etiqueta-agotado{justify-self:start;margin-top:4px}.t3d-cesta-lista{max-height:min(45vh,380px);overflow-y:auto;padding-right:4px}.t3d-cesta-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-glass-light)}.t3d-cesta-item .t3d-tarjeta-info{flex:1 1 auto}.t3d-cesta-cantidad{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);font-weight:700;font-variant-numeric:tabular-nums}.t3d-cesta-cantidad>span{min-width:1.4em;text-align:center}.t3d-cesta-boton{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--border-light);border-radius:50%;background:transparent;color:var(--text-primary);font:inherit;font-size:1.1rem;line-height:1;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.t3d-cesta-boton:hover,.t3d-cesta-boton:focus-visible{border-color:var(--accent-primary);background:#9c32c626}.t3d-cesta-boton:focus-visible{outline:2px solid var(--accent-tertiary);outline-offset:2px}.t3d-cesta-resumen{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 12px;color:var(--text-secondary)}.t3d-cesta-resumen strong{color:var(--text-primary);font-size:1.4rem}.t3d-cesta-resumen[hidden],.t3d-ficha-nota[hidden],.t3d-ficha-acciones .btn[hidden]{display:none}.t3d-lista-productos{max-height:min(50vh,420px);overflow-y:auto;padding-right:4px}@media(max-width:640px){.t3d-ficha{padding:22px 18px}.t3d-ficha-producto{grid-template-columns:1fr}.t3d-ficha-imagen{max-width:240px}.t3d-ficha-acciones .btn{flex:1 1 auto;justify-content:center}}@media(max-width:420px){.t3d-cesta-item{flex-wrap:wrap}.t3d-cesta-item .t3d-tarjeta-info{flex-basis:calc(100% - 64px)}.t3d-cesta-cantidad{margin-left:64px}.t3d-cesta-item>.t3d-cesta-boton{margin-left:auto}}@media(prefers-reduced-motion:reduce){.t3d-loader-logo,.t3d-cesta.is-bote{animation:none}.t3d-loader,.t3d-progress span{transition:none}}
