/* aggiunte della versione con pannello: banner, WhatsApp, social, bollini */
.promo{position:fixed;z-index:70;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translate(-50%,24px);opacity:0;display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100vw - 32px);padding:12px 12px 12px 20px;border-radius:999px;background:var(--plum);color:var(--cream-hi);box-shadow:0 18px 44px rgba(58,16,39,.35);transition:opacity .35s var(--ease-out),transform .45s cubic-bezier(.34,1.4,.64,1)}
.promo.on{opacity:1;transform:translate(-50%,0)}
.promo p{font-weight:600;font-size:15px;line-height:1.3}
.promo a{flex:none;text-decoration:none;font-weight:700;font-size:14px;padding:9px 14px;border-radius:999px;background:var(--gold-hi);color:var(--plum)}
.promo-x{flex:none;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:inherit;font-size:20px;line-height:1;cursor:pointer}
.promo-teal{background:var(--teal-deep)}
.promo-gold{background:var(--gold);color:var(--plum)}
.promo-gold a{background:var(--plum);color:var(--cream-hi)}
.promo-gold .promo-x{background:rgba(143,17,88,.14)}
@media (max-width:520px){.promo{border-radius:22px;padding:12px 12px 12px 16px;align-items:flex-start}.promo p{font-size:14px}}
.wa-fab{position:fixed;z-index:65;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.25);transition:transform .2s var(--ease-out)}
.wa-fab svg{width:30px;height:30px}
.wa-fab:hover{transform:scale(1.06)}
.promo~.wa-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.socials{display:flex;gap:10px;margin-bottom:6px}
.soc{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,244,226,.16);color:var(--cream-hi);transition:background-color .2s ease}
.soc:hover{background:rgba(255,244,226,.3)}
.soc svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.flav button .new{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:999px;background:var(--gold-hi);color:var(--plum);margin-left:2px}
.badges{display:contents}
.badges span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.badges .b-new{background:var(--gold-hi)!important;color:var(--plum)!important}
.badges .b-lf{background:var(--teal)!important;color:var(--cream-hi)!important}
