.promo-section{scroll-margin-top:calc(var(--header-height) + var(--space-4));position:relative;overflow:hidden}.promo-glow{background:radial-gradient(42rem 26rem at 100% 0%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 62%), linear-gradient(color-mix(in srgb, var(--hero-text) 3.5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--hero-text) 3.5%, transparent) 1px, transparent 1px);pointer-events:none;background-size:auto,5rem 5rem,5rem 5rem;position:absolute;inset:0}.promo-section .container--wide{position:relative}.promo-count{margin-bottom:var(--space-4);color:var(--color-text-invert-muted);font-size:var(--text-sm)}.promo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.75rem,2vw,1.25rem);display:grid}.promo-card{border:1px solid var(--hero-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:left;transition:transform var(--dur-slow) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);transition-delay:calc(var(--i,0) * 35ms);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden;transform:translateY(10px)}.promo-grid.is-ready .promo-card{transform:translateY(0)}.promo-card:hover{border-color:var(--color-gold);box-shadow:var(--shadow-gold)}.promo-card:focus-within{border-color:var(--accent)}.promo-media-btn{text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.promo-media-btn:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.promo-media{aspect-ratio:4/3;background:var(--color-paper-deep);display:block;position:relative;overflow:hidden}.promo-media img{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out)}.promo-card:hover .promo-media img{transform:scale(1.04)}.promo-card.image-error .promo-media img{display:none}.promo-media:after{content:"Sin imagen";color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;place-items:center;display:none;position:absolute;inset:0}.promo-card.image-error .promo-media:after{display:grid}.promo-badge{top:var(--space-2);right:var(--space-2);border-radius:var(--radius-xs);background:var(--color-gold);color:var(--color-ink);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;padding:.35rem .55rem;position:absolute}.promo-body{gap:var(--space-3);padding:var(--space-4);flex-direction:column;flex:1;display:flex}.promo-name{color:var(--color-text);font-family:var(--font-display);font-size:1.35rem;font-weight:var(--weight-medium);line-height:1.1;display:block}.promo-prices{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.promo-old{color:var(--color-ink-soft);font-size:var(--text-sm);text-decoration:line-through}.promo-new{color:var(--color-gold-deep);font-size:var(--text-xl);font-weight:var(--weight-bold)}.promo-wa{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-3);border-radius:var(--radius-sm);background:var(--whatsapp);color:var(--whatsapp-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);padding:.6rem .9rem;text-decoration:none;display:inline-flex}.promo-wa svg{flex:none;width:1rem;height:1rem}.promo-wa:hover{background:var(--whatsapp-hover);transform:translateY(-1px)}.promo-state{margin-top:var(--space-6)}.promo-state-card{justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);border:1px dashed var(--hero-border);border-radius:var(--radius-md);color:var(--color-text-invert-muted);text-align:center;display:grid}.promo-state-card .btn{margin-top:var(--space-2)}.promo-spinner{border:2px solid color-mix(in srgb, var(--hero-text) 20%, transparent);border-top-color:var(--accent);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite promo-spin}@keyframes promo-spin{to{transform:rotate(360deg)}}.promo-lightbox{border:1px solid var(--color-gold-line);border-radius:var(--radius-lg);background:var(--color-surface);width:min(94vw,62rem);max-width:none;max-height:92vh;color:var(--color-text);margin:auto;padding:0;overflow:hidden}.promo-lightbox::backdrop{backdrop-filter:blur(6px);background:#0a0a0aeb}.promo-lightbox-panel{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);max-height:92vh;display:grid;position:relative;overflow:auto}.promo-lightbox-media{background:var(--color-ink);place-items:center;min-height:18rem;display:grid;position:relative}.promo-lightbox-media img{object-fit:contain;width:100%;height:100%;max-height:82vh}.promo-lightbox-media .promo-badge{top:var(--space-4);right:var(--space-4)}.promo-lightbox-info{align-items:flex-start;gap:var(--space-3);flex-direction:column;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.promo-lightbox-info h2{font-size:var(--text-3xl)}.promo-lightbox-info>p{color:var(--color-text-muted)}.promo-lightbox-info .btn{margin-top:var(--space-4)}.promo-lightbox-close{top:var(--space-3);right:var(--space-3);z-index:2;border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hero-bg) 62%, transparent);width:2.5rem;height:2.5rem;color:var(--hero-text);place-items:center;display:grid;position:absolute}.promo-lightbox-close:hover{border-color:var(--accent);color:var(--accent-soft)}.promo-lightbox-nav{z-index:2;border:1px solid var(--accent-line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--hero-bg) 58%, transparent);width:2.75rem;height:2.75rem;color:var(--hero-text);place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.promo-lightbox-nav:hover{border-color:var(--accent);color:var(--accent-soft)}.promo-lightbox-prev{left:var(--space-3)}.promo-lightbox-next{right:var(--space-3)}@media (width>=640px){.promo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.promo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.promo-lightbox-panel{grid-template-columns:1fr}.promo-lightbox-media img{max-height:52vh}.promo-lightbox-nav{top:auto;bottom:calc(48% + var(--space-3));transform:none}}
