.promo-wrap{position:relative;margin-top:var(--space-lg)}.promo-swiper{padding:6px 4px 42px}.promo-pagination{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:7px}.promo-pagination .swiper-pagination-bullet{width:9px;height:9px;border-radius:50%;background:var(--color-light);opacity:1;transition:all .3s ease}.promo-pagination .swiper-pagination-bullet-active{background:var(--color-primary);width:26px;border-radius:6px}.promo-card{display:flex;flex-direction:column;height:100%;background:var(--color-bg);border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-light);box-shadow:var(--shadow-sm);transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .25s ease,box-shadow .3s ease;will-change:transform}.promo-card:hover{box-shadow:var(--shadow-lg)}.promo-media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#fdf3dc}.promo-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.promo-card:hover .promo-media img{transform:scale(1.06)}.promo-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.45) 50%,transparent 60%);background-size:250% 100%;background-position:120% 0;transition:background-position .7s ease}.promo-card:hover .promo-media:after{background-position:-20% 0}.promo-ph{width:100%;height:100%;display:grid;place-items:center;font-family:var(--font-script);font-size:2rem;color:var(--color-primary-hover);background:linear-gradient(135deg,#fdf3dc,#f7e4b0)}.promo-badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--color-primary);color:#3e2723;font-family:var(--font-body);font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:6px 12px;border-radius:50px;box-shadow:0 4px 14px #fdb91380;animation:promo-pop .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes promo-pop{0%{transform:scale(0) rotate(-8deg)}to{transform:scale(1) rotate(0)}}.promo-count-wrap{position:absolute;bottom:12px;left:12px;z-index:2}.promo-count{display:inline-block;background:#1e1614d1;color:#fff;font-family:var(--font-body);font-weight:700;font-size:.78rem;font-variant-numeric:tabular-nums;padding:6px 12px;border-radius:50px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.promo-count-done{background:var(--color-primary);color:#3e2723}.promo-body{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.promo-titulo{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--color-dark)}.promo-desc{color:var(--color-mid);font-size:.88rem;line-height:1.6}.promo-prices{display:flex;align-items:baseline;gap:10px}.promo-precio{font-family:var(--font-body);font-weight:800;font-size:1.3rem;color:var(--color-primary-hover)}.promo-precio-regular{color:var(--color-light);font-size:.95rem}.promo-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.1rem;border-radius:50px;background:var(--color-dark);color:#fff;font-family:var(--font-body);font-weight:700;font-size:.85rem;text-decoration:none;transition:background .25s ease,transform .2s ease}.promo-cta:hover{background:var(--color-primary);color:#3e2723;transform:translateY(-2px)}.promo-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.promo-confetti:before,.promo-confetti:after{content:"";position:absolute;border-radius:50%;background:var(--color-primary);opacity:.35}.promo-confetti:before{width:14px;height:14px;top:8%;left:6%;animation:promo-float 7s ease-in-out infinite}.promo-confetti:after{width:9px;height:9px;top:20%;right:8%;animation:promo-float 5.5s ease-in-out 1s infinite}@keyframes promo-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(20deg)}}.promo-card-skel{pointer-events:none}.promo-card-skel .sk-img{background:linear-gradient(90deg,#eee9df 25%,#f7f2e9 37%,#eee9df 63%);background-size:400% 100%;animation:promo-skel 1.4s ease infinite}@keyframes promo-skel{0%{background-position:100% 50%}to{background-position:0 50%}}@media(max-width:700px){.promo-media{aspect-ratio:4 / 3}}.promo-banner-wrap{margin:0 0 2.6rem}.promo-banner{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);height:310px;min-height:0;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:none;transition:opacity .22s ease,transform .22s ease}.promo-banner.is-closing{opacity:0;transform:translateY(-8px)}.promo-banner-media{position:relative;display:grid;place-items:center;height:100%;min-height:0;padding:0;overflow:hidden;background:#fdf3dc}.promo-banner-bg,.promo-modal-bg{position:absolute;inset:-12px;background-size:cover;background-position:center;filter:blur(18px) saturate(1.1);transform:scale(1.12);opacity:.45;pointer-events:none}.promo-banner-frame{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;padding:18px;overflow:hidden}.promo-banner-img{width:100%;height:100%;object-fit:contain}.promo-banner-ph,.promo-modal-ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#fdf3dc,#f7e4b0);color:var(--color-primary-hover);font-family:var(--font-script);font-size:clamp(3rem,7vw,5rem)}.promo-banner-badge{position:absolute;top:14px;left:14px;z-index:2;padding:.28rem .55rem;border-radius:3px;background:var(--color-primary);color:var(--color-dark);font-family:var(--font-body);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.promo-banner-count{position:absolute;bottom:16px;left:16px;z-index:2}.promo-banner-body{display:flex;flex-direction:column;gap:.55rem;padding:2rem 2.2rem 1.55rem}.promo-banner-label{font-family:var(--font-body);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-forest)}.promo-banner-body h2{margin:0;font-family:var(--font-heading);font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2;color:var(--color-dark)}.promo-banner-body p{max-width:48ch;margin:0;font-family:var(--font-body);font-size:.92rem;line-height:1.65;color:var(--color-mid)}.promo-banner-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:.7rem}.promo-banner-prices{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap}.promo-banner-price{font-family:var(--font-body);font-size:1.65rem;font-weight:800;color:var(--color-primary-hover)}.promo-banner-price-regular{font-family:var(--font-body);font-size:.95rem;color:var(--color-light)}.promo-banner-cta{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:.55rem 1rem;border:1px solid var(--color-dark);border-radius:4px;background:var(--color-dark);color:#fff;font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .22s ease,color .22s ease}.promo-banner-cta:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-dark)}.promo-banner-close{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#fffdf8db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-dark);cursor:pointer;transition:background .2s ease,transform .2s ease}.promo-banner-close:hover{background:#fff;transform:rotate(90deg)}.promo-banner-dots{display:flex;gap:6px;margin-top:.35rem}.promo-banner-dot{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:var(--color-light);cursor:pointer;transition:width .2s ease,background .2s ease}.promo-banner-dot.active{width:24px;background:var(--color-primary)}.promo-modal{width:min(920px,92vw);max-width:920px;max-height:92vh;margin:auto;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--color-text);overflow:visible}.promo-modal::backdrop{background:#1e16149e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.promo-modal-card{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);overflow:hidden;background:var(--color-bg);border-radius:24px;box-shadow:0 30px 80px #00000047}.promo-modal-media{position:relative;display:grid;place-items:center;height:100%;min-height:380px;padding:0;background:#fdf3dc}.promo-modal-frame{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;padding:22px;overflow:hidden}.promo-modal-img{width:100%;height:100%;object-fit:contain}.promo-modal-close{position:absolute;top:14px;right:14px;z-index:4;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#fffdf8e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-dark);cursor:pointer;transition:background .2s ease,transform .2s ease}.promo-modal-close:hover{background:#fff;transform:rotate(90deg)}.promo-modal-body{display:flex;flex-direction:column;gap:.7rem;padding:2.2rem 2.2rem 1.8rem}.promo-modal-body h2{margin:0;font-family:var(--font-heading);font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.2;color:var(--color-dark)}.promo-modal-body p{margin:0;font-family:var(--font-body);font-size:.94rem;line-height:1.7;color:var(--color-mid)}.promo-modal-body .promo-count{align-self:flex-start}.promo-modal-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:auto;padding-top:1rem}.promo-modal-actions .btn{border-radius:999px;padding:.62rem 1rem;font-size:.85rem;white-space:nowrap}.promo-modal--anuncio{width:min(480px,92vw);max-width:480px;max-height:92vh}.promo-modal--anuncio .promo-modal-card{display:flex;flex-direction:column;width:100%;overflow:hidden;background:var(--color-bg);border:1px solid rgba(255,255,255,.2);box-shadow:0 32px 90px #241d196b}.promo-modal--anuncio .promo-modal-media{position:relative;inset:auto;flex:none;width:100%;min-height:0;height:auto;aspect-ratio:4 / 5;background:#241d19}.promo-popup-bg{position:absolute;inset:-16px;background-position:center;background-size:cover;filter:blur(22px) saturate(1.15);opacity:.55;transform:scale(1.12);pointer-events:none}.promo-popup-frame{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.promo-popup-img{width:100%;height:100%;object-fit:cover}.promo-popup-ph{display:grid;place-items:center;width:100%;height:100%;background:#2a221d;color:var(--color-primary);font-family:var(--font-heading);font-size:clamp(3.5rem,10vw,7rem)}.promo-popup-badge{position:absolute;top:16px;right:16px;z-index:2;padding:.32rem .6rem;border-radius:3px;background:var(--color-primary);color:var(--color-dark);font-family:var(--font-body);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.promo-popup-count{position:absolute;right:18px;bottom:18px;z-index:2}.promo-popup-body{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;padding:.8rem 1rem .9rem;background:var(--color-bg)}.promo-popup-cta{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;max-width:320px;min-height:46px;padding:.68rem 1.5rem;border:1px solid var(--color-primary);border-radius:4px;background:var(--color-primary);color:var(--color-dark);font-family:var(--font-body);font-size:.9rem;font-weight:600;text-decoration:none;box-shadow:none;pointer-events:auto;transition:background .2s ease,border-color .2s ease}.promo-popup-cta:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-dark);transform:none}.promo-modal-close--anuncio{top:14px;right:auto;left:14px;width:38px;height:38px;border-color:#ffffffbf;background:#ffffffe6}@media(max-width:860px){.promo-banner{grid-template-columns:1fr;height:auto}.promo-banner-media{height:220px;min-height:0}.promo-banner-body{padding:1.6rem 1.6rem 1.4rem}.promo-modal-card{display:flex;flex-direction:column;max-height:88vh;overflow-y:auto}.promo-modal-media{flex:0 0 230px;height:230px;min-height:0}.promo-modal-body{flex:1}.promo-modal-body{padding:1.6rem}.promo-modal--anuncio .promo-modal-card{display:block;max-height:none;overflow:hidden}.promo-modal--anuncio .promo-modal-media{position:relative;inset:auto;flex:none;height:auto;min-height:0}.promo-modal--anuncio .promo-popup-img{object-fit:contain}.promo-modal--anuncio .promo-popup-body{padding:.75rem .9rem .85rem}}@media(max-width:560px){.promo-banner-wrap{margin-bottom:2rem}.promo-banner-media{min-height:190px}.promo-banner-body{padding:1.35rem}.promo-banner-bottom{align-items:flex-start;flex-direction:column}.promo-banner-cta{width:100%}.promo-modal{width:92vw;max-width:92vw;height:auto;max-height:90dvh;border-radius:24px}.promo-modal--anuncio{width:92vw;max-width:92vw;max-height:86vh}.promo-modal--anuncio .promo-modal-card{min-height:0}.promo-modal--anuncio .promo-popup-badge,.promo-modal--anuncio .promo-popup-count{right:12px}.promo-modal--anuncio .promo-popup-badge{top:12px}.promo-modal--anuncio .promo-popup-count{bottom:82px}.promo-popup-cta{width:min(100%,280px);min-width:0}.promo-modal-card{min-height:0;height:auto;border-radius:24px}.promo-modal-media{flex:0 0 200px;height:200px;min-height:0}.promo-modal-actions .btn{flex:1;justify-content:center}}@media(prefers-reduced-motion:reduce){.promo-banner,.promo-banner-cta,.promo-banner-close,.promo-modal-close,.promo-popup-cta{transition:none}}
