/* ============================================================================
   CAMPAÑA HALLOWEEN — "Los precios más bajos del año"
   Solo se carga mientras la campaña está activa (partials/campana.php).
   ============================================================================ */
:root{--hw-purple:#2a0a4a;--hw-purple-2:#4b1a7a;--hw-night:#140826;--hw-pumpkin:#ff6a00;--hw-glow:#ffc83c}

/* ===== Barra superior ===== */
.topbar.hw{background:linear-gradient(90deg,var(--hw-purple),var(--hw-purple-2) 50%,var(--hw-purple));color:#fff;border-bottom:1px solid rgba(255,106,0,.55)}
.topbar.hw a{display:block;text-align:center;color:#fff;transition:.2s}
.topbar.hw a:hover{color:var(--hw-glow)}
.topbar.hw b{color:var(--hw-pumpkin)}

/* ===== Menú ===== */
.nav-halloween{color:var(--hw-pumpkin)!important}

/* ===== Ventana emergente ===== */
.promo-modal.hw{background:rgba(8,2,18,.86)}
.promo-modal.hw .pm-inner{background:var(--hw-night);border:1px solid rgba(255,106,0,.45);box-shadow:0 30px 80px rgba(120,40,200,.35),0 0 0 1px rgba(255,255,255,.04)}
.promo-modal.hw .pm-eyebrow{color:var(--hw-pumpkin)}
.promo-modal.hw .pm-title{color:#fff;font-size:2.1rem}
.promo-modal.hw .pm-title em{color:var(--hw-pumpkin)}
.promo-modal.hw .pm-text{color:#cfc3e6}
.promo-modal.hw .pm-list li{background:rgba(255,106,0,.09);border:1px solid rgba(255,106,0,.35);color:#f1e9ff}
.promo-modal.hw .pm-cd-label{color:#bfb2da}
.promo-modal.hw .pm-cd-timer{color:var(--hw-glow)}
.promo-modal.hw .pm-fine{color:#8c80a8}
.promo-modal.hw .pm-img{background:#0b0614}
.promo-modal.hw .pm-close{background:#2a0a4a;color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.promo-modal.hw .pm-close:hover{background:var(--hw-pumpkin);color:#000}
.promo-modal.hw .pm-img img{object-position:center 50%}
@media (max-width:680px){.promo-modal.hw .pm-img{height:245px}.promo-modal.hw .pm-img img{object-position:center 47%}}
.hw-wa{display:inline-flex;align-items:center;gap:10px}
.hw-wa svg{width:20px;height:20px;fill:currentColor;flex:none}

/* ===== Banner del inicio ===== */
.hw-banner{position:relative;overflow:hidden;background:radial-gradient(120% 160% at 15% 0%,var(--hw-purple-2),var(--hw-purple) 55%,#0b0614);border-top:2px solid var(--hw-pumpkin);border-bottom:2px solid var(--hw-pumpkin);padding:34px 0}
.hw-inner{position:relative;z-index:1;display:flex;align-items:center;gap:28px}
.hw-pumpkin{font-size:5rem;line-height:1;filter:drop-shadow(0 0 22px rgba(255,140,20,.7));flex:none}
.hw-txt{flex:1;min-width:0}
.hw-eyebrow{display:block;font-family:var(--display);font-size:.74rem;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--hw-pumpkin);margin-bottom:6px}
.hw-banner h2{font-family:var(--display);font-style:italic;font-weight:900;font-size:clamp(1.6rem,4.2vw,2.8rem);line-height:1;text-transform:uppercase;color:#fff;letter-spacing:-.5px;margin-bottom:8px}
.hw-banner h2 em{color:var(--hw-pumpkin)}
.hw-banner p{color:#d6ccea;max-width:560px}
.hw-cta{flex:none}
.hw-bat{position:absolute;font-size:1.6rem;opacity:.55;pointer-events:none;animation:hw-vuelo 14s linear infinite}
.hw-b1{top:14%;left:-5%}
.hw-b2{top:62%;left:-5%;animation-delay:-5s;font-size:1.1rem}
.hw-b3{top:30%;left:-5%;animation-delay:-9s;font-size:1.3rem}
@keyframes hw-vuelo{0%{transform:translateX(0) translateY(0)}25%{transform:translateX(30vw) translateY(-10px)}50%{transform:translateX(60vw) translateY(6px)}75%{transform:translateX(90vw) translateY(-8px)}100%{transform:translateX(112vw) translateY(0)}}
@media (prefers-reduced-motion:reduce){.hw-bat{animation:none;left:8%}.hw-b2{left:46%}.hw-b3{left:80%}}
@media (max-width:760px){
  .hw-inner{flex-direction:column;text-align:center;gap:14px}
  .hw-pumpkin{font-size:3.6rem}
  .hw-banner p{margin:0 auto}
}

/* ===== Página de promos en Halloween ===== */
.hw-page{background:radial-gradient(110% 80% at 80% 0%,rgba(75,26,122,.55),transparent 60%)}
.hw-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.hw-hero h1{font-family:var(--display);font-style:italic;font-weight:900;font-size:clamp(2.2rem,6vw,4.4rem);line-height:.95;text-transform:uppercase;letter-spacing:-1.5px;margin-bottom:18px}
.hw-hero h1 em{color:var(--hw-pumpkin)}
.hw-hero .lead{margin-bottom:22px}
.hw-pasos{list-style:none;display:grid;gap:10px;margin:0 0 26px;padding:0;max-width:520px}
.hw-pasos li{background:rgba(255,106,0,.08);border:1px solid rgba(255,106,0,.35);border-radius:8px;padding:12px 16px;color:#f1e9ff}
.hw-pasos b{color:var(--hw-pumpkin);font-family:var(--display);margin-right:8px}
.hw-hero .pm-countdown{margin-bottom:22px}
.hw-hero .pm-cd-label{color:#bfb2da}
.hw-hero .pm-cd-timer{color:var(--hw-glow);font-size:1.15rem}
.hw-art{border-radius:16px;overflow:hidden;border:1px solid rgba(255,106,0,.45);box-shadow:0 24px 60px rgba(120,40,200,.35)}
.hw-art img{display:block;width:100%;height:auto}
.hw-fine{color:#8c80a8;font-size:.8rem;font-style:italic;margin-top:16px}
@media (max-width:860px){.hw-hero{grid-template-columns:1fr;gap:28px}.hw-art{max-width:420px;margin:0 auto}}
