/* Azuanet Campañas de temporada */
:root{--azs-top:0px;--azs-corner-bottom:14px}

/* ---------- Banner ---------- */
.azs-banner{background:var(--azs-bg,#1d1230);color:var(--azs-color,#ffb347);font-size:15px;line-height:1.3;position:relative;z-index:1001;font-family:inherit}
.azs-banner-bottom{position:fixed;left:0;right:0;bottom:0;box-shadow:0 -2px 10px rgba(0,0,0,.2)}
.azs-banner-inner{max-width:1200px;margin:0 auto;padding:9px 44px 9px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 22px;text-align:center}
.azs-size-small .azs-banner-inner{padding-top:5px;padding-bottom:5px;font-size:13px}
.azs-size-big .azs-banner-inner{padding-top:14px;padding-bottom:14px;font-size:18px}
.azs-banner-text{color:inherit;font-weight:600;text-decoration:none}
a.azs-banner-text:hover{text-decoration:underline;color:inherit}
.azs-countdown{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.azs-cd-label{opacity:.8;margin-right:3px;font-size:.9em}
.azs-cd-box{display:inline-flex;align-items:baseline;gap:2px}
.azs-cd-num{font-weight:700;background:rgba(255,255,255,.14);border-radius:4px;padding:1px 6px;min-width:1.7em;text-align:center}
.azs-cd-unit{opacity:.8;font-size:.78em}
.azs-banner-close{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:inherit;font-size:22px;line-height:1;opacity:.7;cursor:pointer;padding:4px 10px}
.azs-banner-close:hover{opacity:1}
.azs-banner-hidden{display:none!important}
body.azs-banner-bottom-on{padding-bottom:50px}
body.azs-banner-bottom-on{--azs-corner-bottom:64px}

/* ---------- Etiqueta de producto ---------- */
.azs-flag{background:var(--azs-flag-bg,#ff7a00)!important;color:var(--azs-flag-color,#1d1230)!important;font-weight:700;font-size:12px;line-height:1.2;max-width:calc(100% - 64px);white-space:normal;text-align:left}
.azs-flag .azs-flag-pct{opacity:.85;font-weight:600;margin-left:4px}

/* ---------- Bloque de oferta en la ficha ---------- */
.azs-box{background:var(--azs-bg,#1d1230);color:#fff;border-radius:12px;padding:14px 18px;margin:14px 0 18px;max-width:460px;box-shadow:0 4px 18px rgba(0,0,0,.18);line-height:1.35;font-size:15px}
.azs-box-head{color:var(--azs-color,#ffb347);font-weight:700;font-size:15px;letter-spacing:.2px;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.azs-box-icon{font-size:20px;line-height:1}
.azs-box-prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.azs-box-old{opacity:.7;font-size:17px}
.azs-box-arrow{opacity:.6}
.azs-box-new{color:var(--azs-color,#ffb347);font-weight:800;font-size:28px;line-height:1}
.azs-box-pct{background:var(--azs-flag-bg,#ff7a00);color:var(--azs-flag-color,#1d1230);font-weight:700;border-radius:6px;padding:2px 8px;font-size:14px}
.azs-box-unit{margin-top:6px;font-size:15px}
.azs-box-unit strong{color:var(--azs-color,#ffb347);font-size:17px}
.azs-box-unit-old{opacity:.75;font-size:13px}
.azs-box-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.15);font-size:14px}
.azs-box-saving strong{color:var(--azs-color,#ffb347)}
.azs-box .azs-countdown{color:#fff}
.azs-box .azs-cd-num{background:rgba(255,255,255,.16)}

/* ---------- Aviso al añadir al carrito ---------- */
.azs-toast{position:fixed;left:50%;top:calc(var(--azs-top) + 12px);transform:translateX(-50%) translateY(-16px);background:var(--azs-bg,#1d1230);color:var(--azs-color,#ffb347);padding:11px 20px;border-radius:999px;font-weight:600;font-size:16px;box-shadow:0 6px 24px rgba(0,0,0,.28);z-index:10000;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;display:flex;align-items:center;gap:10px;max-width:92vw;white-space:nowrap}
.azs-toast.azs-show{opacity:1;transform:translateX(-50%) translateY(0)}
.azs-toast .azs-toast-icon{font-size:26px;line-height:1;display:inline-block;animation:azs-bounce .7s ease}
@keyframes azs-bounce{0%{transform:scale(.4) rotate(-20deg)}50%{transform:scale(1.3) rotate(10deg)}100%{transform:scale(1) rotate(0)}}

/* ---------- Decoración (nunca recibe clics) ---------- */
.azs-decor{position:fixed;inset:0;pointer-events:none;z-index:1000;overflow:hidden}

/* Telaraña: cuelga bajo la cabecera, en el lado contrario a la calabaza */
.azs-web{position:absolute;top:var(--azs-top);left:0;color:#3f3254;opacity:.85;transition:top .3s}
.azs-decor[data-side="left"] .azs-web{left:auto;right:0;transform:scaleX(-1)}

/* Murciélagos: cruzan la pantalla y vuelven cada cierto tiempo (40 s) */
.azs-bat{position:absolute;top:calc(var(--azs-top) + 30px);left:-80px;color:#1d1230;opacity:.85;animation:azs-fly 40s linear infinite}
.azs-bat-2{top:calc(var(--azs-top) + 90px);animation-delay:2s;animation-duration:44s;width:34px;height:17px}
.azs-bat-3{top:calc(var(--azs-top) + 10px);animation-delay:4s;animation-duration:48s;width:28px;height:14px}
.azs-bat path{animation:azs-flap .35s ease-in-out infinite alternate;transform-origin:50% 50%}
@keyframes azs-fly{0%{transform:translateX(0) translateY(0)}6%{transform:translateX(30vw) translateY(-30px)}12%{transform:translateX(60vw) translateY(12px)}18%{transform:translateX(85vw) translateY(-26px)}24%{transform:translateX(112vw) translateY(0)}24.01%,100%{transform:translateX(112vw) translateY(0)}}
@keyframes azs-flap{from{transform:scaleY(1)}to{transform:scaleY(.6)}}

/* Calabaza: esquina inferior (derecha por defecto); el JS la cambia de lado o la sube si hay otro botón */
.azs-pumpkin{position:absolute;right:14px;bottom:var(--azs-corner-bottom);width:56px;height:56px;animation:azs-wobble 3.5s ease-in-out infinite;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25));transition:bottom .3s}
.azs-decor[data-side="left"] .azs-pumpkin{right:auto;left:14px}
@keyframes azs-wobble{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}

/* Nieve */
.azs-snow{position:absolute;top:-30px;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.25);font-size:18px;opacity:.9;animation:azs-fall linear infinite}
.azs-snow-1{left:5%;animation-duration:12s}.azs-snow-2{left:14%;animation-duration:15s;animation-delay:2s;font-size:12px}.azs-snow-3{left:23%;animation-duration:10s;animation-delay:4s}.azs-snow-4{left:32%;animation-duration:14s;animation-delay:1s;font-size:22px}.azs-snow-5{left:41%;animation-duration:11s;animation-delay:5s}.azs-snow-6{left:50%;animation-duration:16s;animation-delay:3s;font-size:14px}.azs-snow-7{left:59%;animation-duration:12s;animation-delay:6s}.azs-snow-8{left:68%;animation-duration:13s;animation-delay:.5s;font-size:20px}.azs-snow-9{left:77%;animation-duration:15s;animation-delay:2.5s}.azs-snow-10{left:86%;animation-duration:11s;animation-delay:4.5s;font-size:12px}.azs-snow-11{left:93%;animation-duration:14s;animation-delay:1.5s}.azs-snow-12{left:98%;animation-duration:17s;animation-delay:7s;font-size:16px}
@keyframes azs-fall{0%{transform:translateY(0) rotate(0)}100%{transform:translateY(110vh) rotate(360deg)}}

/* Guirnalda: bajo la cabecera */
.azs-garland{position:absolute;top:var(--azs-top);left:0;right:0;display:flex;justify-content:space-around;padding:0 4px}
.azs-bulb{width:10px;height:14px;border-radius:50% 50% 50% 50%/40% 40% 60% 60%;margin-top:2px;animation:azs-blink 1.6s ease-in-out infinite}
.azs-bulb-1{background:#ff3b3b}.azs-bulb-2{background:#ffd23b;animation-delay:.4s}.azs-bulb-3{background:#3bd16a;animation-delay:.8s}.azs-bulb-4{background:#3b9dff;animation-delay:1.2s}
@keyframes azs-blink{0%,100%{opacity:1;box-shadow:0 0 6px currentColor}50%{opacity:.45;box-shadow:none}}

/* Corazones */
.azs-heart{position:absolute;bottom:-40px;color:#e0245e;font-size:22px;opacity:0;animation:azs-rise ease-in infinite}
.azs-heart-1{left:8%;animation-duration:9s}.azs-heart-2{left:20%;animation-duration:12s;animation-delay:3s;font-size:16px}.azs-heart-3{left:33%;animation-duration:10s;animation-delay:6s}.azs-heart-4{left:47%;animation-duration:13s;animation-delay:1s;font-size:28px}.azs-heart-5{left:60%;animation-duration:11s;animation-delay:4s}.azs-heart-6{left:72%;animation-duration:9s;animation-delay:7s;font-size:14px}.azs-heart-7{left:84%;animation-duration:12s;animation-delay:2s}.azs-heart-8{left:94%;animation-duration:10s;animation-delay:5s;font-size:18px}
@keyframes azs-rise{0%{transform:translateY(0) scale(.8);opacity:0}10%{opacity:.8}100%{transform:translateY(-110vh) scale(1.1);opacity:0}}

/* Intensidad suave */
.azs-decor-soft .azs-bat-3,.azs-decor-soft .azs-snow:nth-child(even),.azs-decor-soft .azs-heart:nth-child(even){display:none}
.azs-decor-soft .azs-bat{animation-duration:70s}
.azs-decor-soft .azs-snow,.azs-decor-soft .azs-heart{animation-duration:20s}
.azs-decor-soft .azs-pumpkin{animation:none}

/* ---------- Móvil ---------- */
@media (max-width:767px){
  .azs-banner-inner{padding:7px 34px 7px 10px;font-size:13px;line-height:1.25;gap:3px 10px;flex-direction:column}
  .azs-size-big .azs-banner-inner{font-size:14px}
  .azs-banner-text{display:block;max-width:100%}
  .azs-countdown{font-size:12px;gap:4px}
  .azs-cd-label{display:inline;font-size:11px}
  .azs-cd-num{padding:0 5px;min-width:1.5em}
  .azs-banner-close{right:0;padding:4px 10px;font-size:20px}
  .azs-web{display:none}
  .azs-bat{width:30px;height:15px}
  .azs-bat-2{width:24px;height:12px}
  .azs-bat-3{width:20px;height:10px}
  .azs-pumpkin{width:42px;height:42px;right:10px}
  .azs-decor[data-side="left"] .azs-pumpkin{left:10px}
  .azs-toast{font-size:14px;padding:9px 16px}
  .azs-toast .azs-toast-icon{font-size:22px}
  .azs-flag{font-size:11px}
  .azs-box{padding:12px 14px;font-size:14px;max-width:none}
  .azs-box-new{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
  .azs-bat,.azs-snow,.azs-heart,.azs-pumpkin,.azs-bulb,.azs-toast .azs-toast-icon,.azs-bat path{animation:none!important}
  .azs-bat{display:none}
}
