/* ── Announcement Popup ── */
.ann-popup{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.ann-popup.is-active{opacity:1;visibility:visible}
.ann-popup__overlay{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}

.ann-popup__card{position:relative;width:min(440px,92vw);background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 60px rgba(242,29,53,.1),0 8px 40px rgba(0,0,0,.55);animation:popSlideUp .55s var(--ease) both}
@keyframes popSlideUp{from{transform:translateY(60px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}

.ann-popup__close{position:absolute;top:.75rem;right:.75rem;z-index:2;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);border:2px solid var(--red);border-radius:50%;color:#fff;font-size:1.05rem;cursor:pointer;transition:all .2s;animation:closeGlow 2s ease-in-out infinite}
.ann-popup__close:hover{background:var(--red);color:#fff;border-color:var(--red);transform:rotate(90deg) scale(1.08)}
@keyframes closeGlow{0%,100%{box-shadow:0 0 6px rgba(242,29,53,.35)}50%{box-shadow:0 0 16px rgba(242,29,53,.75)}}

/* Banner image */
.ann-popup__banner{position:relative;width:100%;overflow:hidden;background:var(--ink-3)}
.ann-popup__banner img{width:100%;height:100%;object-fit:cover;display:block;animation:bannerZoom 8s ease-in-out infinite alternate}
@keyframes bannerZoom{from{transform:scale(1)}to{transform:scale(1.06)}}
.ann-popup__banner::after{display:none}

/* Sparkles */
.ann-popup__sparkles{position:absolute;inset:0;pointer-events:none}
.sparkle{position:absolute;color:var(--red);font-size:1rem;animation:sparkleFloat 3s ease-in-out infinite;opacity:0}
.sparkle--1{top:12%;left:8%;animation-delay:0s}
.sparkle--2{top:20%;right:10%;animation-delay:.7s;font-size:1.3rem;color:var(--red-soft)}
.sparkle--3{top:45%;left:48%;animation-delay:1.3s;font-size:.85rem}
.sparkle--4{bottom:35%;left:18%;animation-delay:1.9s;color:var(--red-soft)}
.sparkle--5{bottom:28%;right:15%;animation-delay:2.5s;font-size:.9rem}
@keyframes sparkleFloat{0%,100%{opacity:0;transform:translateY(0) scale(.5)}50%{opacity:1;transform:translateY(-12px) scale(1)}}

/* Icon (shown when no image) */
.ann-popup__icon{font-size:2.5rem;color:var(--red);margin-bottom:.25rem;filter:drop-shadow(0 0 12px rgba(242,29,53,.3));animation:iconPulse 2s ease-in-out infinite alternate}
@keyframes iconPulse{from{filter:drop-shadow(0 0 8px rgba(242,29,53,.2))}to{filter:drop-shadow(0 0 18px rgba(242,29,53,.45))}}
.ann-popup__banner+.ann-popup__body .ann-popup__icon{display:none}

/* Body */
.ann-popup__body{padding:1.25rem 2rem 1.75rem;text-align:center}
.ann-popup__title{font-family:var(--font-head);font-size:1.7rem;font-weight:600;letter-spacing:-.03em;color:#fff;margin:0 0 .4rem;animation:titleGlow 2.5s ease-in-out infinite alternate}
@keyframes titleGlow{from{text-shadow:0 0 8px rgba(242,29,53,0)}to{text-shadow:0 0 18px rgba(242,29,53,.35)}}
.ann-popup__msg{color:var(--text-dim);font-size:.92rem;line-height:1.65;margin:0 0 1rem;font-family:var(--font-body)}

.ann-popup__diyas{display:flex;justify-content:center;gap:.7rem;font-size:1.25rem}
.ann-popup__diyas span{animation:flicker 1.5s ease-in-out infinite alternate;display:inline-block}
.ann-popup__diyas span:nth-child(2){animation-delay:.25s}
.ann-popup__diyas span:nth-child(3){animation-delay:.5s}
.ann-popup__diyas span:nth-child(4){animation-delay:.75s}
.ann-popup__diyas span:nth-child(5){animation-delay:1s}
@keyframes flicker{0%{opacity:.55;transform:scale(1) translateY(0)}100%{opacity:1;transform:scale(1.15) translateY(-2px)}}

/* ── Scrolling Bottom Bar ── */
.ann-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:flex;align-items:center;background:var(--ink-2);border-top:3px solid var(--red);padding:.45rem 0;font-size:.85rem;color:var(--text-dim);font-family:var(--font-body);transition:transform .35s var(--ease)}
.ann-bar.is-hidden{transform:translateY(100%)}
.ann-bar__scroll{flex:1;overflow:hidden;min-width:0}
.ann-bar__close{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--ink-3);border:1px solid var(--line);border-radius:50%;color:var(--text-dim);font-size:.85rem;cursor:pointer;transition:all .2s;margin:0 8px}
.ann-bar__close:hover{background:var(--red);color:#fff;border-color:var(--red)}
.ann-bar__track{display:flex;gap:3rem;white-space:nowrap;animation:annScroll 30s linear infinite;width:max-content}
@keyframes annScroll{to{transform:translateX(-33.333%)}}
.ann-bar__item{display:inline-flex;align-items:center;gap:.4rem}
.ann-bar__item .bi{color:var(--red)}

/* Reopen tab */
.ann-bar__reopen{position:fixed;bottom:0;left:20px;z-index:9998;width:36px;height:28px;display:none;align-items:center;justify-content:center;background:var(--red);border:none;border-radius:8px 8px 0 0;color:#fff;font-size:.85rem;cursor:pointer;box-shadow:0 -2px 12px rgba(242,29,53,.25);transition:background .2s;animation:reOpenPulse 2s ease-in-out infinite}
.ann-bar__reopen.is-visible{display:flex}
.ann-bar__reopen:hover{background:var(--red-deep)}
.ann-bar__reopen i{display:inline-block;animation:megaphoneRing 1.8s ease-in-out infinite;transform-origin:bottom center}
@keyframes reOpenPulse{0%,100%{box-shadow:0 -2px 12px rgba(242,29,53,.2)}50%{box-shadow:0 -2px 20px rgba(242,29,53,.4)}}
@keyframes megaphoneRing{0%,100%{transform:rotate(0)}10%{transform:rotate(-14deg)}20%{transform:rotate(14deg)}30%{transform:rotate(-10deg)}40%{transform:rotate(10deg)}50%{transform:rotate(-4deg)}60%,100%{transform:rotate(0)}}

/* Mobile: taller bar */
@media(max-width:768px){
  .ann-bar{padding:.55rem 0;font-size:.8rem;border-top-width:3px}
  .ann-popup__card{width:min(400px,94vw)}
  .ann-popup__body{padding:1rem 1.25rem 1.5rem}
  .ann-popup__title{font-size:1.4rem}
}

/* Hide when expired */
.ann-popup.is-expired,.ann-bar.is-expired{display:none!important}
.ann-bar.is-expired+.ann-bar__reopen{display:none!important}
