/* ════════════════════════════════════════════════════════════
   DNBN Samples — barra promozionale e temi stagionali
   Usato dal sito e dall'anteprima nel pannello admin.
   ════════════════════════════════════════════════════════════ */
.promo-bar{--pb-bg:#1C1C1C;--pb-fg:#FFFFFF;--pb-font:var(--f-head,'Montserrat',system-ui,sans-serif);position:relative;z-index:301;background:var(--pb-bg);color:var(--pb-fg);overflow:hidden;isolation:isolate}
.promo-bar[hidden]{display:none}
.promo-bar::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.10) 50%,transparent 70%);transform:translateX(-100%);animation:promoSheen 7s ease-in-out 1.2s infinite}
@keyframes promoSheen{0%{transform:translateX(-100%)}22%,100%{transform:translateX(100%)}}
.promo-in{position:relative;z-index:3;max-width:1500px;margin:0 auto;min-height:44px;padding:8px 56px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;text-align:center}
.promo-pct{font:700 11px/1 var(--pb-font);letter-spacing:.12em;padding:6px 8px;border:1px solid currentColor;white-space:nowrap}
.promo-msg{font:600 11px/1.45 var(--pb-font);letter-spacing:.12em;text-transform:uppercase}
.promo-cd{display:inline-flex;gap:6px;font:600 11px/1 var(--pb-font);letter-spacing:.06em;font-variant-numeric:tabular-nums;opacity:.92}
.promo-cd[hidden],.promo-pct[hidden],.promo-cta[hidden]{display:none}
.promo-cd b{display:inline-flex;align-items:baseline;gap:2px;font-weight:700}
.promo-cd small{font-size:9px;font-weight:500;opacity:.7;letter-spacing:.1em}
.promo-cta{font:700 11px/1 var(--pb-font);letter-spacing:.2em;text-transform:uppercase;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}
.promo-cta::after{content:" →"}
.promo-cta:hover{opacity:.75}
.promo-x{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:inherit;cursor:pointer;opacity:.7;z-index:4}
.promo-x:hover{opacity:1}
.promo-x svg{width:16px;height:16px}
@media (max-width:700px){
  .promo-in{padding:8px 44px 8px 16px;gap:6px 10px;justify-content:flex-start;text-align:left}
  .promo-msg{font-size:10px;flex:1 1 100%;order:2}
  .promo-pct{order:1}.promo-cd{order:1}.promo-cta{order:3;font-size:10px}
  .promo-x{right:6px}
}

/* ── Decorazioni (sotto al testo, mai cliccabili) ── */
.promo-deco{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.promo-deco svg{position:absolute;display:block}
.promo-deco .l{left:0}.promo-deco .r{right:0}

/* NATALE: neve che cade + palline dell'albero appese */
.promo-bar[data-theme="christmas"]{background:linear-gradient(90deg,#6E1212,var(--pb-bg) 30%,var(--pb-bg) 70%,#6E1212)}
.pt-snow{position:absolute;inset:-60px 0 0;background-image:
  radial-gradient(2px 2px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 80px 10px,#fff 50%,transparent 51%),
  radial-gradient(2.5px 2.5px at 140px 45px,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 210px 20px,#fff 50%,transparent 51%),
  radial-gradient(2px 2px at 260px 55px,rgba(255,255,255,.85) 50%,transparent 51%),radial-gradient(1px 1px at 320px 5px,#fff 50%,transparent 51%);
  background-size:340px 60px;animation:ptSnow 6s linear infinite;opacity:.9}
.pt-snow.b{background-size:260px 60px;animation-duration:9s;opacity:.55;transform:translateX(40px)}
@keyframes ptSnow{to{background-position:30px 60px}}
.pt-orn{top:0;transform-origin:50% 0;animation:ptSwing 3.6s ease-in-out infinite}
.pt-orn.d2{animation-delay:-1.2s}.pt-orn.d3{animation-delay:-2.3s}
@keyframes ptSwing{0%,100%{transform:rotate(6deg)}50%{transform:rotate(-6deg)}}

/* HALLOWEEN: strega sulla scopa che attraversa, pipistrelli, zucca */
.promo-bar[data-theme="halloween"]{background:radial-gradient(ellipse at 50% 140%,#3B1A55 0,var(--pb-bg) 60%)}
.pt-moon{right:9%;top:6px;opacity:.9}
.pt-witch{top:4px;left:-90px;animation:ptFly 16s linear infinite}
@keyframes ptFly{0%{transform:translateX(0) translateY(2px)}25%{transform:translateX(25vw) translateY(-2px)}50%{transform:translateX(50vw) translateY(3px)}75%{transform:translateX(75vw) translateY(-1px)}100%{transform:translateX(calc(100vw + 120px)) translateY(2px)}}
.pt-bat{animation:ptFlap .5s ease-in-out infinite alternate}
@keyframes ptFlap{to{transform:scaleY(.6)}}
.pt-pump{left:3%;bottom:2px}

/* CAPODANNO: coriandoli dorati e fuochi d'artificio */
.pt-conf{position:absolute;inset:-60px 0 0;background-image:
  linear-gradient(45deg,#F5D27A 0 0),linear-gradient(45deg,#fff 0 0),linear-gradient(45deg,#E9B949 0 0);
  background-size:3px 6px,2px 4px,3px 3px;background-repeat:no-repeat;opacity:0}
.pt-spark{position:absolute;inset:-60px 0 0;background-image:
  radial-gradient(2px 2px at 30px 20px,#F5D27A 50%,transparent 51%),radial-gradient(1.5px 1.5px at 110px 40px,#fff 50%,transparent 51%),
  radial-gradient(2px 2px at 190px 12px,#E9B949 50%,transparent 51%),radial-gradient(1.5px 1.5px at 250px 50px,#F5D27A 50%,transparent 51%);
  background-size:300px 60px;animation:ptSnow 5s linear infinite}
.pt-fw{animation:ptBurst 2.8s ease-out infinite;transform-origin:center}
.pt-fw.d2{animation-delay:-1.4s}
@keyframes ptBurst{0%{transform:scale(.2);opacity:0}15%{opacity:1}70%{transform:scale(1);opacity:.85}100%{transform:scale(1.15);opacity:0}}

/* SAN VALENTINO: cuori che salgono */
.pt-heart{bottom:-14px;animation:ptRise 5s ease-in infinite;opacity:0}
@keyframes ptRise{0%{transform:translateY(0) scale(.7);opacity:0}15%{opacity:.85}100%{transform:translateY(-70px) scale(1);opacity:0}}

/* PRIMAVERA: petali che cadono */
.pt-petals{position:absolute;inset:-60px 0 0;background-image:
  radial-gradient(4px 2.5px at 30px 20px,#F4A6C0 50%,transparent 52%),radial-gradient(3px 2px at 120px 45px,#F8C8D8 50%,transparent 52%),
  radial-gradient(4px 2.5px at 200px 10px,#F4A6C0 50%,transparent 52%),radial-gradient(3px 2px at 280px 35px,#E98AAE 50%,transparent 52%);
  background-size:320px 60px;animation:ptPetal 8s linear infinite;opacity:.9}
@keyframes ptPetal{to{background-position:80px 60px}}

/* PASQUA: uova decorate ai lati */
.pt-egg{bottom:-6px;animation:ptWobble 2.8s ease-in-out infinite;transform-origin:50% 100%}
.pt-egg.d2{animation-delay:-1.4s}
@keyframes ptWobble{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}

/* ESTATE: sole e onde */
.promo-bar[data-theme="summer"]{background:linear-gradient(90deg,#FF5E62,var(--pb-bg) 35%,var(--pb-bg) 65%,#FFB347)}
.pt-sun{left:2%;top:50%;margin-top:-17px;animation:ptSpin 18s linear infinite}
@keyframes ptSpin{to{transform:rotate(360deg)}}
.pt-waves{left:0;right:0;bottom:-2px;width:100%;opacity:.35}

/* BACK TO THE STUDIO: equalizzatore che si muove */
.pt-eq{position:absolute;bottom:0;display:flex;gap:3px;align-items:flex-end;height:100%;padding:8px 0;opacity:.35}
.pt-eq.l{left:20px}.pt-eq.r{right:56px}
.pt-eq i{display:block;width:4px;background:currentColor;animation:ptEq 1s ease-in-out infinite alternate;height:30%}
.pt-eq i:nth-child(2n){animation-duration:.7s}.pt-eq i:nth-child(3n){animation-duration:1.3s}.pt-eq i:nth-child(4n){animation-delay:-.4s}
@keyframes ptEq{to{height:95%}}

/* 11.11: numeri giganti in trasparenza */
.pt-big{position:absolute;top:50%;transform:translateY(-50%);font:900 46px/1 var(--pb-font);letter-spacing:-.02em;opacity:.14;white-space:nowrap}
.pt-big.l{left:12px}.pt-big.r{right:60px}

/* BLACK FRIDAY: bande diagonali e scritta che scorre */
.pt-tape{position:absolute;top:0;bottom:0;width:84px;background:repeating-linear-gradient(-45deg,#FFD400 0 10px,#000 10px 20px);opacity:.9}
.pt-tape.l{left:0;clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}
.pt-tape.r{right:0;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
.pt-ticker{position:absolute;inset:0;display:flex;align-items:center;white-space:nowrap;font:900 30px/1 var(--pb-font);letter-spacing:.1em;color:rgba(255,255,255,.04);animation:ptTicker 30s linear infinite}
@keyframes ptTicker{to{transform:translateX(-50%)}}

/* CYBER MONDAY: griglia neon e linea di scansione */
.promo-bar[data-theme="cyber-monday"]{background:linear-gradient(90deg,#1B0638,var(--pb-bg) 40%,var(--pb-bg) 60%,#06263A)}
.pt-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,240,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,0,200,.12) 1px,transparent 1px);background-size:18px 18px}
.pt-scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00F0FF,#FF00C8,transparent);box-shadow:0 0 10px #00F0FF;animation:ptScan 2.6s linear infinite}
@keyframes ptScan{0%{top:-2px}100%{top:100%}}
.promo-bar[data-theme="cyber-monday"] .promo-msg{text-shadow:0 0 8px rgba(0,240,255,.6)}

@media (max-width:700px){
  .pt-orn.hide-sm,.pt-orn.l,.pt-witch,.pt-tape,.pt-big.l,.pt-eq.l,.pt-sun,.pt-moon{display:none}
  .pt-tape.r{display:block;width:60px}
}
@media (prefers-reduced-motion:reduce){
  .promo-bar::after{animation:none;display:none}
  .promo-deco *{animation:none !important}
  .pt-witch{display:none}
}
