.campaign-popup[hidden]{display:none!important}
.campaign-popup{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:18px;isolation:isolate}
.campaign-popup-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(4,10,24,.76);backdrop-filter:blur(7px);cursor:pointer;animation:campaignFadeIn .28s ease both}
.campaign-popup-dialog{position:relative;width:min(620px,calc(100vw - 36px));max-height:calc(100dvh - 36px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:#071b48;box-shadow:0 28px 90px rgba(0,0,0,.48);animation:campaignPopIn .38s cubic-bezier(.2,.85,.2,1) both}
.campaign-popup-poster{position:relative;min-height:0;flex:1;display:grid;place-items:center;background:linear-gradient(145deg,#071947,#0e55d9)}
.campaign-popup-poster img{display:block;width:100%;height:auto;max-height:calc(100dvh - 104px);object-fit:contain;background:#071b48}
.campaign-popup-fallback{display:none;min-height:480px;padding:52px 28px;text-align:center;color:#fff;align-content:center;background:radial-gradient(circle at 50% 16%,#20b7ff 0,transparent 30%),linear-gradient(160deg,#07163c 15%,#0d57d8 64%,#13b7e7)}
.campaign-popup-fallback small{font-size:15px;font-weight:800;letter-spacing:.03em;color:#c7eeff}
.campaign-popup-fallback h2{margin:20px 0 14px;font-size:38px;line-height:1.14;letter-spacing:-.05em}
.campaign-popup-fallback h2 strong{font-size:54px;color:#ffd93d}
.campaign-popup-fallback p{margin:0;font-size:19px;font-weight:800}
.campaign-popup.image-error .campaign-popup-poster img{display:none}
.campaign-popup.image-error .campaign-popup-fallback{display:grid}
.campaign-popup-actions{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;background:#071b48;border-top:1px solid rgba(255,255,255,.14)}
.campaign-popup-actions a,.campaign-popup-actions button{min-height:48px;display:grid;place-items:center;padding:0 20px;border:0;border-radius:12px;font:inherit;font-size:15px;font-weight:900;cursor:pointer}
.campaign-popup-actions a{color:#071b48;background:linear-gradient(135deg,#84ebff,#43a9ff);box-shadow:0 8px 22px rgba(57,166,255,.25)}
.campaign-popup-close{color:#334155;background:#fff}
.campaign-popup-close:hover{background:#f1f5f9;color:#0f172a}
body.campaign-popup-open{overflow:hidden}
@keyframes campaignFadeIn{from{opacity:0}to{opacity:1}}
@keyframes campaignPopIn{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){
  .campaign-popup{padding:10px}
  .campaign-popup-dialog{width:min(520px,calc(100vw - 20px));max-height:calc(100dvh - 20px);border-radius:18px}
  .campaign-popup-poster img{max-height:calc(100dvh - 86px)}
  .campaign-popup-actions{grid-template-columns:1fr auto;padding:8px}
  .campaign-popup-actions a,.campaign-popup-actions button{min-height:46px;padding:0 14px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.campaign-popup-backdrop,.campaign-popup-dialog{animation:none}}
