/* Tienda recuperada de MDPWEB-R12; estilos comerciales consolidados. */
.wire-page--tienda { --store-dark: #21182f; --store-warm: #f5bd70; --store-gutter: max(var(--page-gutter),calc((100% - 1280px)/2)); display: flow-root; background: #f5f0e8; }
.wire-page--tienda .mdp-hero { min-height: min(760px,calc(100svh - 76px)); }
.wire-page--tienda .mdp-hero__image { object-position: center 50%; }
.wire-page--tienda .mdp-hero__content { width: min(calc(100% - var(--page-gutter)*2),1280px); margin-inline: auto; }
.wire-page--tienda .mdp-hero__content::before { content: ""; display: block; width: 44px; height: 3px; margin-bottom: 18px; border-radius: 999px; background: var(--store-warm); }
.wire-page--tienda .mdp-hero h1 { max-width: min(50%,660px); font-size: clamp(2.8rem,4.25vw,4rem); line-height: 1.04; letter-spacing: -.055em; }
.wire-page--tienda .mdp-hero h1 span { display: block; white-space: nowrap; }
.wire-page--tienda .mdp-hero__lead { max-width: 48ch; }
.wf-label { margin-bottom: 14px; color: var(--store-warm); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.wf-btn { min-height: 50px; display: inline-flex; align-items: center; gap: 12px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; background: #fffdf9; color: var(--store-dark); font-size: .72rem; font-weight: 800; transition: transform 180ms var(--ease-out), background-color 180ms ease; }
.wf-btn:hover { background: var(--store-warm); transform: translateY(-2px); }
.wf-btn-arrow { margin-left: auto; }

/* Catálogo y herramientas */
.wf-catalog { padding: 94px var(--store-gutter) 104px; background: radial-gradient(circle at 84% 0,rgba(245,189,112,.08),transparent 22%),linear-gradient(#21182f,#332843); color: #fffdf9; }
.wf-catalog-top { margin-bottom: 44px; }
.wf-catalog-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: end; }
.wf-catalog-intro h2 { max-width: 720px; margin: 0 0 18px; font-size: clamp(2rem,3.05vw,2.75rem); line-height: 1.15; color: #fffdf9; }
.wf-catalog-intro > p { max-width: 620px; margin: 0; color: rgba(255,253,249,.66); font-size: .92rem; line-height: 1.85; }
.wf-catalog-summary { padding-bottom: 5px; color: var(--store-warm); font-size: .68rem; font-weight: 800; }
.wf-store-toolbar { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 24px; align-items: end; margin-top: 36px; }
.wf-store-toolbar-label { display: block; margin-bottom: 11px; color: rgba(255,253,249,.65); font-size: .59rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.wf-categories { display: flex; flex-wrap: wrap; gap: 8px; }
.wf-category { min-height: 68px; display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(255,255,255,.06); color: #fffdf9; text-align: left; cursor: pointer; transition: background-color 180ms ease,color 180ms ease; }
.wf-category-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px; background: rgba(245,189,112,.08); color: var(--store-warm); font-size: 1rem; }
.wf-category-copy { display: grid; gap: 3px; }
.wf-category-copy strong { font-size: .67rem; }
.wf-category-copy small { color: inherit; opacity: .62; font-size: .54rem; }
.wf-category-arrow { color: var(--store-warm); font-size: .75rem; }
.wf-category:hover { background: rgba(255,255,255,.13); }
.wf-category.wf-active { border-color: #fffdf9; background: #fffdf9; color: var(--store-dark); box-shadow: 0 5px 15px rgba(0,0,0,.1); }
.wf-category.wf-active .wf-category-icon { background: #f5e6d0; color: #ad5c10; }
.wf-category.wf-active .wf-category-arrow { color: #ad5c10; }
.wf-store-search { min-height: 68px; display: flex; align-items: center; gap: 10px; padding: 0 16px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.08); }
.wf-store-search-icon { color: rgba(255,253,249,.72); }
.wf-search-store { width: 100%; min-width: 0; min-height: 48px; border: 0; outline: 0; background: transparent; color: #fffdf9; font-size: .75rem; }
.wf-search-store:focus-visible { outline: none; }
.wf-search-store::placeholder { color: rgba(255,253,249,.58); }
.wf-store-search:focus-within { border-color: var(--store-warm); box-shadow: 0 0 0 1px rgba(245,189,112,.18); }

/* Tarjetas comerciales, con las vistas del producto siempre contenidas. */
.wf-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px 24px; }
.wf-product-card { position: relative; min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 26px; background: #fffdf9; color: var(--store-dark); box-shadow: 0 14px 32px rgba(12,7,20,.08); transition: border-color 260ms ease,box-shadow 260ms ease; }
.wf-product-card[hidden], [data-product-empty][hidden] { display: none; }
.product-photos { position: relative; height: 420px; margin: 0; overflow: hidden; background: linear-gradient(145deg,#eef0f4,#d9dde4); }
.product-photos::after { content: ""; position: absolute; inset: auto 0 0; z-index: 1; height: 23%; background: linear-gradient(transparent,rgba(255,253,249,.3)); pointer-events: none; }
.product-photos figure { position: absolute; inset: 0; margin: 0; opacity: 0; pointer-events: none; will-change: opacity,transform; }
.product-photos figure:first-of-type { opacity: 1; }
.product-photos.is-flipped figure:first-of-type { opacity: 0; }
.product-photos.is-flipped figure:nth-of-type(2) { opacity: 1; }
.product-photos img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 520ms var(--ease-out),filter 320ms ease; }
.wf-product-card[data-product-category="CAMISETAS"] .product-photos img { object-position: center 20%; }
.wf-product-card[data-product-category="COLECCIONABLES"] .product-photos,
.wf-product-card[data-product-category="MERCHANDISING"] .product-photos { height: auto; aspect-ratio: 1122 / 1402; }
.wf-product-card[data-product-category="COLECCIONABLES"] .product-photos img,
.wf-product-card[data-product-category="MERCHANDISING"] .product-photos img { padding: 0; object-fit: cover; }
.product-photos--allstars img { padding: 0; }
.product-photos--allstars figure:nth-of-type(2) img { transform: translateY(8px) scale(1.1); }
.product-view-switch { position: absolute; bottom: 17px; left: 50%; z-index: 3; display: flex; gap: 3px; padding: 5px; border: 1px solid rgba(255,255,255,.65); border-radius: 999px; background: rgba(255,253,249,.9); box-shadow: 0 10px 28px rgba(33,24,47,.16); backdrop-filter: blur(9px); transform: translateX(-50%); }
.product-view-btn { min-width: 86px; min-height: 32px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: var(--color-muted); font-size: .62rem; font-weight: 800; cursor: pointer; transition: background-color 220ms ease,color 220ms ease,transform 220ms var(--ease-out); }
.product-view-btn.is-active { background: var(--store-dark); color: #fffdf9; }
.product-view-btn:hover { transform: translateY(-1px); }
.wf-product-body { position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; padding: 23px 22px 22px; border-top: 1px solid rgba(33,24,47,.06); background: #fffdf9; }
.wf-product-topline { min-height: 26px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wf-product-type { color: #ad5c10; font-size: .59rem; font-weight: 800; letter-spacing: .1em; }
.wf-card-badge { padding: 5px 9px; border-radius: 999px; background: #ffefd5; color: #965009; font-size: .55rem; font-weight: 800; }
.wf-product-heading { margin: 10px 0 22px; }
.wf-product-body h3 { margin: 0 0 5px; font-size: 1.25rem; line-height: 1.3; }
.wf-product-body > h3 { margin: 10px 0 22px; }
.wf-product-team { margin: 0; font-size: .72rem; line-height: 1.6; }
.wf-product-meta { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(33,24,47,.08); }
.wf-product-price-wrap > span { display: block; margin-bottom: 3px; color: var(--color-muted); font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wf-price { font-size: 1.24rem; font-weight: 800; letter-spacing: -.04em; }
.wf-stock { padding: 5px 9px; border-radius: 999px; background: #eaf3ed; color: #426f51; font-size: .59rem; font-weight: 700; }
.wf-product-action { width: 100%; min-height: 54px; display: grid; grid-template-columns: 32px minmax(0,1fr) 36px; align-items: center; gap: 10px; margin-top: 18px; padding: 8px 9px; border: 0; border-radius: 16px; background: linear-gradient(105deg,#443253 0 48%,#21182f 48% 100%); background-size: 215% 100%; background-position: 100% 0; color: #fffdf9; text-align: left; font-size: .7rem; font-weight: 800; cursor: pointer; transition: background-position 340ms var(--ease-out),transform 240ms var(--ease-out); }
.wf-product-action > i { display: grid; place-items: center; color: var(--store-warm); }
.wf-product-action-icon { height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--store-warm); color: var(--store-dark); font-size: 1rem; transition: transform 260ms var(--ease-out),background-color 220ms ease; }
.wf-product-action:hover { background-position: 0 0; transform: translateY(-1px); }
.wf-product-action:hover .wf-product-action-icon { background: #f29a1a; transform: translate(2px,-1px); }
[data-product-empty]:not([hidden]) { padding: 56px 24px; color: #fffdf9; text-align: center; }

/* Recorrido de compra recuperado. */
.wf-how-buy { margin: 82px var(--store-gutter) 0; color: #fffdf9; }
.wf-how-shell { padding: 60px; border-radius: 32px; background: radial-gradient(circle at 92% 6%,rgba(245,189,112,.16),transparent 24%),linear-gradient(145deg,#21182f,#2d203e 58%,#21172f); box-shadow: 0 26px 58px rgba(33,24,47,.13); }
.wf-how-head { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(290px,.8fr); gap: 64px; align-items: end; margin-bottom: 38px; }
.wf-how-head h2 { max-width: 600px; margin: 0; color: #fffdf9; font-size: clamp(1.9rem,2.6vw,2.35rem); line-height: 1.16; }
.wf-how-head p { margin: 16px 0 0; color: rgba(255,253,249,.65); font-size: .88rem; line-height: 1.8; }
.wf-how-trust { display: grid; gap: 9px; }
.wf-how-trust > span { display: flex; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.045); color: rgba(255,253,249,.8); font-size: .71rem; }
.wf-how-trust i { color: var(--store-warm); }
.wf-buy-journey { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 30px; border: 1px solid rgba(255,255,255,.08); border-radius: 26px; background: rgba(255,255,255,.045); }
.wf-buy-journey::before { content: ""; position: absolute; top: 64px; left: 64px; right: 64px; height: 1px; background: linear-gradient(90deg,rgba(245,189,112,.25),var(--store-warm),rgba(245,189,112,.25)); opacity: .8; z-index: -1; }
.wf-buy-step { position: relative; min-width: 0; padding-right: 28px; transition: transform 260ms var(--ease-out); }
.wf-buy-step + .wf-buy-step { padding-left: 28px; }
.wf-buy-step:last-child { padding-right: 0; }
.wf-buy-step-node { display: flex; align-items: center; margin-bottom: 24px; }
.wf-buy-step-medallion { width: 70px; height: 70px; display: grid; place-items: center; border: 1px solid rgba(245,189,112,.45); border-radius: 50%; background: radial-gradient(circle at 35% 25%,rgba(245,189,112,.13),transparent 48%),#31243f; color: var(--store-warm); box-shadow: 0 0 0 8px rgba(49,36,63,.94); font-size: 1.45rem; transition: border-color 220ms ease,background-color 220ms ease,box-shadow 220ms ease,transform 260ms var(--ease-out); }
.wf-buy-step-medallion i { transition: transform 260ms var(--ease-out); }
.wf-buy-step-copy h3 { margin: 0 0 10px; font-size: 1.26rem; color: #fffdf9; }
.wf-buy-step-copy p { margin: 0; color: rgba(255,253,249,.65); font-size: .8rem; line-height: 1.75; }
.wf-buy-step-detail { display: block; margin-top: 14px; color: var(--store-warm); font-size: .64rem; line-height: 1.7; }
.wf-buy-journey-footer { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin-top: 28px; }
.wf-buy-journey-note { display: flex; align-items: center; gap: 9px; color: rgba(255,253,249,.65); font-size: .73rem; }
.wf-buy-journey-note i { color: var(--store-warm); }
.wf-buy-journey-cta { display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 999px; background: #fffdf9; color: var(--store-dark); font-size: .68rem; font-weight: 800; }

/* Identidad y contacto: composición de la versión comercial. */
.wf-store-story { position: relative; display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); align-items: center; gap: 30px; margin: 42px var(--store-gutter) 0; padding: 68px; overflow: hidden; border-radius: 32px; background: radial-gradient(circle at 85% 18%,rgba(242,148,20,.22),transparent 25%),linear-gradient(135deg,#1d152a,#2a1f3d 52%,#17111f); color: #fffdf9; }
.wf-store-story-copy h2 { max-width: 490px; margin: 0; font-size: clamp(1.9rem,2.7vw,2.5rem); line-height: 1.15; color: #fffdf9; }
.wf-store-story-copy > p { max-width: 490px; margin: 20px 0; color: rgba(255,253,249,.65); font-size: .88rem; line-height: 1.85; }
.wf-story-link { display: inline-flex; align-items: center; gap: 16px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,253,249,.35); font-size: .72rem; font-weight: 800; transition: gap 260ms var(--ease-out),border-color 220ms ease,color 220ms ease; }
.wf-store-story-visual { position: relative; height: 420px; overflow: visible; isolation: isolate; }
.wf-story-disc { position: absolute; top: 50%; left: 54%; width: min(82%,410px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 34% 28%,#ffba4e,#f08b12 52%,#c75e08); box-shadow: 0 28px 80px rgba(242,148,20,.2); transform: translate(-50%,-50%); transition: transform 520ms var(--ease-out),filter 320ms ease; }
.wf-story-product { position: absolute; margin: 0; overflow: visible; background: transparent; filter: drop-shadow(0 24px 22px rgba(0,0,0,.3)); transition: transform 520ms var(--ease-out),filter 320ms ease; }
.wf-story-product--shirt { top: -1%; left: -2%; z-index: 1; width: 68%; height: 108%; transform: rotate(-4deg); }
.wf-story-product--collectible { top: 9%; right: -3%; z-index: 2; width: 48%; height: 92%; clip-path: inset(2.5% 7% 2.5% 7% round 9%); transform: rotate(5deg); }
.wf-story-product img { width: 100%; height: 100%; object-fit: cover; }
.wf-story-product--shirt img { object-fit: contain; }
.wf-story-mark { position: absolute; right: 0; bottom: -24px; color: rgba(255,253,249,.48); font-size: .53rem; font-weight: 800; letter-spacing: .12em; }
.wf-order-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 44px; align-items: center; margin: 42px var(--store-gutter) 98px; padding: 60px 68px; border-radius: 30px; background: radial-gradient(circle at 88% 20%,rgba(242,148,20,.18),transparent 25%),linear-gradient(135deg,#21172f,#17101f); color: #fffdf9; }
.wf-order-cta-copy h2 { max-width: 720px; margin: 0; color: #fffdf9; font-size: clamp(1.9rem,2.8vw,2.6rem); line-height: 1.16; }
.wf-order-cta-copy p { max-width: 580px; margin: 17px 0 0; color: rgba(255,253,249,.65); font-size: .87rem; }

/* Detalle de producto */
#product-dialog { width: min(1180px,calc(100% - 40px)); max-width: none; max-height: calc(100dvh - 40px); padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.48); border-radius: 28px; background: #fffdf9; color: var(--store-dark); box-shadow: 0 32px 100px rgba(12,7,18,.38); }
#product-dialog::backdrop { background: rgba(25,18,37,.68); backdrop-filter: blur(7px); }
.product-dialog-close { position: absolute; top: 15px; right: 15px; z-index: 5; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(33,24,47,.12); border-radius: 50%; background: rgba(255,253,249,.9); box-shadow: 0 8px 20px rgba(33,24,47,.12); backdrop-filter: blur(8px); font-size: 1.35rem; cursor: pointer; transition: transform 220ms var(--ease-out),background-color 220ms ease; }
.product-dialog-close:hover { background: var(--store-warm); transform: rotate(6deg); }
.product-dialog-layout { display: grid; grid-template-columns: minmax(0,1.14fr) minmax(400px,.86fr); height: min(710px,calc(100dvh - 40px)); }
.product-dialog-gallery { min-width: 0; min-height: 0; padding: 0; overflow: hidden; border-right: 1px solid rgba(33,24,47,.08); background: linear-gradient(145deg,#eff1f4,#d9dde4); }
.product-dialog-stage { position: relative; height: 100%; }
.product-dialog-viewport { position: absolute; inset: 0; min-height: 0; overflow: hidden; background: radial-gradient(circle at 22% 17%,rgba(255,255,255,.75),transparent 36%),linear-gradient(145deg,#eef0f4,#d9dde4); }
.product-dialog-frame { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; pointer-events: none; }
.product-dialog-frame.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.product-dialog-image-wrap { position: absolute; inset: 0; background-position: center; background-repeat: no-repeat; background-size: cover; }
.product-dialog-view-nav { position: absolute; bottom: 22px; left: 50%; z-index: 3; display: flex; gap: 8px; padding: 5px; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; background: rgba(255,253,249,.9); box-shadow: 0 12px 30px rgba(33,24,47,.17); backdrop-filter: blur(9px); transform: translateX(-50%); }
.product-dialog-view-nav[hidden] { display: none; }
.product-dialog-view-btn { min-width: 108px; min-height: 38px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: var(--color-muted); font-size: .69rem; font-weight: 800; cursor: pointer; transition: background-color 220ms ease,color 220ms ease,transform 220ms var(--ease-out); }
.product-dialog-view-btn.is-active { background: var(--store-dark); color: #fffdf9; }
.product-dialog-view-btn:hover { transform: translateY(-1px); }
.product-dialog-copy { display: flex; flex-direction: column; gap: 16px; overflow-y: auto; padding: 52px 42px 40px; background: radial-gradient(circle at 100% 0,rgba(245,189,112,.14),transparent 26%),#fffdf9; }
.product-dialog-kicker { display: flex; align-items: center; gap: 12px; color: #ad5c10; font-size: .6rem; font-weight: 800; letter-spacing: .1em; }
.product-dialog-kicker i { width: 30px; height: 1px; background: var(--color-brand); }
.product-dialog-head { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: start; }
.product-dialog-type { margin: 0 0 8px; color: #ad5c10; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.product-dialog-head h2 { margin: 0; font-size: 2.25rem; line-height: 1.16; letter-spacing: -.04em; }
#product-dialog.is-title-long h2 { font-size: 2rem; }
#product-dialog.is-title-xlong h2 { font-size: 1.8rem; }
.product-dialog-team { margin: 10px 0 0; font-size: .72rem; }
.product-dialog-seal { width: 60px; height: 60px; padding: 8px; border: 1px solid var(--color-line); border-radius: 16px; }
.product-dialog-seal img { width: 100%; height: 100%; object-fit: contain; }
.product-dialog-commerce { display: flex; justify-content: space-between; align-items: end; gap: 16px; padding: 18px 0; border-top: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); }
.product-dialog-price-label { color: var(--color-muted); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.product-dialog-price-block p { margin: 3px 0 0; color: var(--store-dark); font-size: 1.5rem; font-weight: 800; }
.product-dialog-status { margin: 0; color: #426f51; font-size: .7rem; font-weight: 800; }
.product-dialog-note { margin: 0; font-size: .78rem; line-height: 1.8; }
.product-dialog-specs-title { margin: 0; color: var(--store-dark); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.product-dialog-specs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.product-dialog-spec { display: grid; gap: 6px; padding: 12px 9px; border: 1px solid var(--color-line); border-radius: 12px; }
.product-dialog-spec-label { color: var(--color-muted); font-size: .56rem; font-weight: 800; text-transform: uppercase; }
.product-dialog-spec strong { font-size: .68rem; }
.product-dialog-actions { margin-top: auto; }
.product-dialog-actions .wf-btn { width: 100%; background: var(--store-dark); color: #fffdf9; font-size: .68rem; }

@media (hover: hover) {
  .wf-product-card:hover { border-color: rgba(245,189,112,.72); box-shadow: 0 24px 48px rgba(12,7,20,.18); }
  .wf-product-card:hover .product-photos img { transform: scale(1.025) translateY(-3px); filter: saturate(1.04) contrast(1.02); }
  .wf-product-card:hover .product-photos--allstars figure:nth-of-type(2) img { transform: translateY(5px) scale(1.125); }
  .wf-buy-step:hover .wf-buy-step-medallion { border-color: var(--store-warm); background-color: #3a294a; box-shadow: 0 0 0 8px rgba(49,36,63,.94),0 0 28px rgba(245,189,112,.16); transform: scale(1.04); }
  .wf-buy-step:hover .wf-buy-step-medallion i { transform: translateY(-2px) scale(1.06); }
  .wf-store-story:hover .wf-story-disc { filter: saturate(1.08); transform: translate(-50%,-50%) scale(1.025); }
  .wf-store-story:hover .wf-story-product--shirt { transform: translate(-8px,-5px) rotate(-5.5deg); }
  .wf-store-story:hover .wf-story-product--collectible { transform: translate(9px,6px) rotate(6.5deg); }
  .wf-story-link:hover { gap: 22px; border-color: var(--store-warm); color: var(--store-warm); }
}
.js .wf-how-buy:not(.is-how-visible) .wf-buy-step { opacity: 0; transform: translateY(18px); }
.js .wf-how-buy.is-how-visible .wf-buy-step { animation: wf-step-in 520ms var(--ease-out) both; }
.js .wf-how-buy.is-how-visible .wf-buy-step:nth-child(2) { animation-delay: 90ms; }
.js .wf-how-buy.is-how-visible .wf-buy-step:nth-child(3) { animation-delay: 180ms; }
@keyframes wf-step-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1120px) {
  .wf-store-toolbar { grid-template-columns: 1fr; }
  .wf-store-search { max-width: 460px; }
  .wf-how-shell, .wf-store-story, .wf-order-cta { padding: 40px; }
  .wf-how-head { gap: 30px; }
  .wf-story-disc { width: 320px; }
}
@media (max-width: 980px) {
  .wf-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wf-how-head, .wf-store-story { grid-template-columns: 1fr; }
  .wf-store-story-visual { width: min(100%,600px); justify-self: center; }
  .product-dialog-layout { grid-template-columns: 1fr; height: auto; }
  #product-dialog { overflow-y: auto; }
  .product-dialog-gallery { height: 420px; }
  .product-dialog-image-wrap { background-size: contain; }
  .product-dialog-copy { overflow: visible; }
}
@media (max-width: 720px) {
  .wire-page--tienda .mdp-hero { min-height: 650px; }
  .wire-page--tienda .mdp-hero__image { object-position: 62% center; }
  .wire-page--tienda .mdp-hero h1 { max-width: 100%; font-size: clamp(2rem,9.4vw,2.65rem); line-height: 1.06; }
  .wf-catalog { padding-block: 64px; }
  .wf-catalog-head, .wf-order-cta { grid-template-columns: 1fr; gap: 28px; }
  .wf-product-grid { grid-template-columns: 1fr; }
  .wf-how-buy { margin-top: 56px; }
  .wf-how-shell, .wf-store-story, .wf-order-cta { padding: 30px 24px; border-radius: 24px; }
  .wf-categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wf-category-copy strong { font-size: .62rem; }
  .wf-buy-journey { grid-template-columns: 1fr; gap: 30px; padding: 24px; }
  .wf-buy-journey::before { display: none; }
  .wf-buy-step, .wf-buy-step + .wf-buy-step { padding: 0; }
  .wf-buy-step-node { margin-bottom: 16px; }
  .wf-buy-journey-footer { align-items: flex-start; flex-direction: column; gap: 22px; }
  .wf-store-story-visual { height: 290px; margin-top: 15px; }
  .wf-story-disc { width: 270px; }
  .wf-order-cta { margin-bottom: 64px; }
  .product-dialog-copy { padding: 34px 22px; }
  .product-dialog-specs { grid-template-columns: 1fr; }
  .product-dialog-spec { grid-template-columns: 64px 1fr; }
  .product-dialog-gallery { height: 380px; padding: 0; }
  .product-dialog-image-wrap { inset: 0; }
  #product-dialog { width: calc(100% - 14px); max-height: calc(100dvh - 14px); }
}
@media (prefers-reduced-motion: reduce) {
  .wf-product-card, .wf-btn, .mdp-cta, .mdp-cta::after, .product-photos img, .wf-product-action, .wf-product-action-icon, .wf-buy-step, .wf-buy-step-medallion, .wf-buy-step-medallion i, .wf-story-disc, .wf-story-product, .wf-story-link { transition: none; }
  .js .wf-how-buy:not(.is-how-visible) .wf-buy-step, .js .wf-how-buy.is-how-visible .wf-buy-step { opacity: 1; animation: none; transform: none; }
}

