body[data-page="tienda"] { --store-primary:#8247ff; --store-secondary:#27d8ff; --store-blur:10px; --store-darkness:.42; position:relative; min-height:100%; background:#07080d; }
body[data-page="tienda"] > header, body[data-page="tienda"] > main, body[data-page="tienda"] > footer, body[data-page="tienda"] > .toast, body[data-page="tienda"] > .modal-backdrop { position:relative; z-index:2; }
.store-atmosphere { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.store-theme-backdrop { position:absolute; inset:calc(var(--store-blur) * -2); background:radial-gradient(circle at 28% 12%,color-mix(in srgb,var(--store-primary),transparent 46%),transparent 34rem),radial-gradient(circle at 84% 22%,color-mix(in srgb,var(--store-secondary),transparent 52%),transparent 30rem),linear-gradient(rgba(7,8,13,var(--store-darkness)),rgba(7,8,13,var(--store-darkness))),linear-gradient(125deg,color-mix(in srgb,var(--store-primary),#07080d 48%),#07080d 44%,color-mix(in srgb,var(--store-secondary),#07080d 56%)); background-position:center; background-size:cover; filter:blur(var(--store-blur)); transform:scale(1.04); }
.atmosphere-custom .store-theme-backdrop { background-image:linear-gradient(rgba(7,8,13,var(--store-darkness)),rgba(7,8,13,var(--store-darkness))),var(--store-custom-image),linear-gradient(125deg,color-mix(in srgb,var(--store-primary),#07080d 62%),color-mix(in srgb,var(--store-secondary),#07080d 72%)); }
.atmosphere-christmas .store-theme-backdrop { background:linear-gradient(rgba(3,12,9,var(--store-darkness)),rgba(3,12,9,var(--store-darkness))),repeating-linear-gradient(135deg,rgba(18,112,68,.52) 0 80px,rgba(128,16,33,.48) 80px 160px),#06150f; }
.atmosphere-halloween .store-theme-backdrop { background:linear-gradient(rgba(10,5,13,var(--store-darkness)),rgba(10,5,13,var(--store-darkness))),repeating-linear-gradient(112deg,rgba(255,111,24,.2) 0 2px,transparent 2px 110px),linear-gradient(135deg,#291039,#08070c 48%,#391706); }
.store-particles { position:absolute; inset:0; }
.store-particles i { position:absolute; left:calc(var(--particle-x) * 1%); animation-delay:calc(var(--particle-index) * -.37s); }
.atmosphere-normal .store-particles i,.atmosphere-custom .store-particles i { top:12%; width:2px; height:70px; opacity:.2; background:linear-gradient(transparent,color-mix(in srgb,var(--store-secondary),transparent 20%),transparent); transform:rotate(24deg); }
.atmosphere-christmas .store-particles i { top:-20px; width:6px; height:6px; background:#fff; border-radius:50%; box-shadow:0 0 8px rgba(255,255,255,.7); animation:storeSnowFall calc(7s + (var(--particle-index) * .11s)) linear infinite; }
.atmosphere-halloween::before,.atmosphere-halloween::after { position:absolute; top:-70px; width:280px; height:280px; content:""; opacity:.28; background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.7) 0 1deg,transparent 1deg 18deg); border-radius:50%; mask-image:radial-gradient(circle,transparent 0 16%,#000 17% 65%,transparent 66%); }
.atmosphere-halloween::before { left:-80px; }.atmosphere-halloween::after { right:-80px; }
.atmosphere-halloween .store-particles i { top:calc(12% + (var(--particle-index) % 8) * 10%); width:5px; height:5px; background:#ff7a20; opacity:.35; transform:rotate(45deg); animation:storeEmberFloat calc(4s + (var(--particle-index) * .08s)) ease-in-out infinite alternate; }
@keyframes storeSnowFall { to { transform:translate(35px,110vh) rotate(360deg); } }
@keyframes storeEmberFloat { to { transform:translateY(-32px) rotate(135deg); opacity:.75; } }

.store-section { max-width:1680px; }
.store-section > .section-heading { max-width:none; margin-bottom:1.4rem; }
.store-section > .section-heading h1 { font-size:clamp(2.4rem,5.2vw,5rem); font-style:italic; line-height:.92; letter-spacing:0; text-transform:uppercase; text-shadow:0 0 30px rgba(130,71,255,.18); }
.store-section > .section-heading p:not(.eyebrow) { max-width:680px; }
.store-feed-layout { position:relative; grid-template-columns:210px minmax(0,1fr) 300px; gap:1.2rem; }
.store-jump { background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.032)); border:1px solid rgba(255,255,255,.16); border-radius:20px; box-shadow:0 24px 76px rgba(0,0,0,.3),0 0 34px color-mix(in srgb,var(--store-primary),transparent 84%); backdrop-filter:blur(18px); }
.store-jump::before { display:block; padding:.75rem .85rem .3rem; color:var(--muted); content:"CATEGORIAS"; font-size:.68rem; font-weight:900; letter-spacing:.12em; }
.store-jump-link { border-radius:12px; }
.store-jump [data-jump].is-active { border-left-color:var(--store-secondary); background:linear-gradient(90deg,color-mix(in srgb,var(--store-secondary),transparent 82%),rgba(255,255,255,.08)); box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 22px color-mix(in srgb,var(--store-secondary),transparent 84%); }
.store-cat-title { font-style:italic; letter-spacing:0; text-transform:uppercase; }
.store-cat-title::before { background:linear-gradient(var(--store-primary),var(--store-secondary)); }
.store-cat { position:relative; padding:1rem; overflow-x:auto; border:1px solid rgba(255,255,255,.1); border-radius:24px; background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.018)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 70px rgba(0,0,0,.22); }
.store-cat::before { position:absolute; inset:0; pointer-events:none; content:""; background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--category-color),transparent 78%),transparent 34%); opacity:.9; }
.store-cat > * { position:relative; }
.store-cat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(184px,1fr)); grid-auto-rows:0; grid-auto-flow:dense; width:100%; min-width:880px; min-height:392px; max-height:456px; gap:.9rem; padding:.85rem; overflow:hidden; background:linear-gradient(145deg,rgba(5,7,12,.32),rgba(255,255,255,.035)); border:1px solid rgba(255,255,255,.08); border-radius:20px; backdrop-filter:blur(10px); }
.catalog-product { border-radius:20px; border-color:color-mix(in srgb,var(--product-color),white 34%); background:radial-gradient(circle at 50% 8%,color-mix(in srgb,var(--product-color),white 16%),transparent 52%),linear-gradient(145deg,color-mix(in srgb,var(--product-color),#111827 28%),#090b12 80%); box-shadow:inset 0 0 78px color-mix(in srgb,var(--product-color),transparent 72%),0 20px 42px rgba(0,0,0,.24); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.catalog-product::before { position:absolute; inset:0; z-index:1; pointer-events:none; content:""; background:linear-gradient(120deg,rgba(255,255,255,.16),transparent 22%,transparent 70%,rgba(255,255,255,.08)); opacity:.7; }
.catalog-product:hover,.catalog-product:focus-within { transform:translateY(-3px); border-color:color-mix(in srgb,var(--product-color),white 72%); box-shadow:0 22px 58px color-mix(in srgb,var(--product-color),transparent 68%),inset 0 0 86px color-mix(in srgb,var(--product-color),transparent 68%); }
.catalog-product-media img { padding:.65rem !important; object-fit:contain !important; object-position:center !important; opacity:0 !important; transform:scale(.98); animation:none !important; transition:opacity .5s ease,transform .7s ease; }
.catalog-product-media img.is-active,.catalog-product-media .catalog-fallback-image { opacity:1 !important; transform:scale(1); }
.catalog-product:hover .catalog-product-media img.is-active { transform:scale(1.025); }
.catalog-product-shade { background:linear-gradient(180deg,transparent 24%,rgba(5,7,12,.16) 46%,rgba(5,7,12,.92) 100%); }
.catalog-product-copy { padding:.95rem; text-shadow:0 2px 14px rgba(0,0,0,.45); }
.catalog-product-action button { border-radius:999px; box-shadow:0 0 22px rgba(255,255,255,.16); }
.store-cat-pages { display:flex; justify-content:center; gap:.45rem; padding:.9rem 0 .1rem; }
.store-cat-pages .catalog-dot { width:9px; height:9px; min-width:9px; background:rgba(255,255,255,.32); border-radius:999px; box-shadow:0 0 12px rgba(255,255,255,.12); }
.store-cat-pages .catalog-dot.is-active { width:28px; background:linear-gradient(90deg,var(--category-color),#fff); }
.cart-panel { background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.028)); border-radius:22px; backdrop-filter:blur(18px); box-shadow:0 26px 78px rgba(0,0,0,.34),0 0 34px color-mix(in srgb,var(--store-secondary),transparent 86%); }

.theme-editor-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.7fr); gap:1rem; align-items:start; }
.upload-field { padding:.75rem; border:1px dashed var(--line-strong); border-radius:5px; background:rgba(255,255,255,.025); }
.upload-field small { color:var(--muted); }
.theme-preview { position:sticky; top:96px; display:grid; align-content:end; min-height:310px; padding:1.2rem; overflow:hidden; isolation:isolate; color:#fff; border:1px solid var(--line-strong); border-radius:6px; background:linear-gradient(135deg,var(--store-primary),#090b11 55%,var(--store-secondary)); }
.theme-preview::before { position:absolute; inset:-20px; z-index:-2; content:""; background:var(--store-custom-image),linear-gradient(135deg,var(--store-primary),#090b11 55%,var(--store-secondary)); background-position:center; background-size:cover; filter:blur(var(--store-blur)); }
.theme-preview::after { position:absolute; inset:0; z-index:-1; content:""; background:rgba(5,7,12,var(--store-darkness)); }
.theme-preview.theme-christmas { --store-primary:#146b3a; --store-secondary:#bb2528; }.theme-preview.theme-halloween { --store-primary:#f37021; --store-secondary:#5b247a; }
.theme-preview strong { font-size:1.6rem; }.theme-preview span,.theme-preview small { color:rgba(255,255,255,.72); }
@media (max-width:1500px) { .store-feed-layout { grid-template-columns:180px minmax(0,1fr); }.store-feed-layout .cart-panel { grid-column:1 / -1; } }
@media (max-width:1100px) { .store-section { padding-right:0; padding-left:0; }.store-section > .section-heading { padding-right:16px; padding-left:16px; }.store-feed-layout { grid-template-columns:1fr; }.store-jump { position:static; grid-auto-flow:column; grid-auto-columns:max-content; overflow-x:auto; align-content:stretch; }.store-jump::before { display:none; } }
@media (max-width:760px) { .store-section { padding-right:16px; padding-left:16px; }.store-section > .section-heading { padding-right:0; padding-left:0; }.store-cat-grid { min-width:760px; }.theme-editor-layout { grid-template-columns:1fr; }.theme-preview { position:relative; top:auto; min-height:230px; } }
@media (prefers-reduced-motion:reduce) { .store-particles i { animation:none !important; }.catalog-product-media img { transition:none; } }
