/* ===== Notification alerts (popup / banner / toast) ===== */
.mrl-alert-backdrop{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:rgba(10,18,32,.55);backdrop-filter:blur(3px);padding:16px;animation:mrl-fade .25s ease}
.mrl-alert{position:relative;max-width:440px;width:100%;border-radius:16px;padding:28px 26px 24px;box-shadow:0 24px 60px rgba(0,0,0,.28);color:var(--alert-fg,#fff);background:var(--alert-bg,#e3102e);animation:mrl-pop .3s cubic-bezier(.2,.9,.3,1.2)}
.mrl-alert-close{position:absolute;top:12px;inset-inline-end:12px;width:32px;height:32px;border:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.22);color:inherit;line-height:1;font-size:20px}
.mrl-alert-close:hover{background:rgba(255,255,255,.36)}
.mrl-alert-icon{display:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);margin-bottom:14px;align-items:center;justify-content:center;font-size:22px}
.mrl-alert.mrl-banner:before,.mrl-alert.mrl-popup:before{content:'🔔';margin-inline-end:10px;font-size:18px;flex:0 0 auto}
.mrl-alert.mrl-banner:before{display:inline-block}
.mrl-alert-title{margin:0 0 8px;font-size:1.25rem;font-weight:700;line-height:1.35}
.mrl-alert-message{margin:0 0 18px;font-size:.95rem;line-height:1.65;opacity:.94}
.mrl-alert-actions{display:flex;gap:10px;flex-wrap:wrap}
.mrl-alert-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;border:0;cursor:pointer;font-weight:600;font-size:.9rem;background:#fff;color:var(--alert-bg,#e3102e);text-decoration:none}
.mrl-alert-cta:hover{box-shadow:0 6px 18px rgba(0,0,0,.18)}
.mrl-alert-dismiss{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.45);cursor:pointer;font-weight:600;font-size:.9rem;background:transparent;color:inherit}

/* Banner */
.mrl-alert.mrl-banner{position:fixed;inset-inline:0;bottom:0;z-index:1900;max-width:none;width:100%;border-radius:0;display:flex;align-items:center;gap:16px;justify-content:center;padding:12px 56px;box-shadow:0 -6px 24px rgba(0,0,0,.18)}
.mrl-alert.mrl-banner .mrl-alert-actions{flex:0 0 auto}
.mrl-alert.mrl-banner .mrl-alert-icon{display:flex;margin:0}
.mrl-alert.mrl-banner.mrl-banner-top{top:0;bottom:auto;box-shadow:0 6px 24px rgba(0,0,0,.18);animation:mrl-slide-down .35s ease}
.mrl-alert.mrl-banner.mrl-banner-bottom{animation:mrl-slide-up .35s ease}

/* Toast */
.mrl-alert.mrl-toast{max-width:360px;width:auto;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.25);position:fixed;top:16px;inset-inline-end:16px;padding:18px 46px 18px 20px;animation:mrl-slide-x .35s cubic-bezier(.2,.9,.3,1.2)}
.mrl-alert.mrl-toast .mrl-alert-message{margin:0;padding-inline-end:8px}
.mrl-alert.mrl-toast .mrl-alert-actions{display:none}
.mrl-alert.mrl-toast[dir="rtl"]{padding-inline-end:46px;padding-inline-start:20px}

/* Bottom sheet on small screens (mobile) */
@media (max-width:640px){
  .mrl-alert-backdrop{align-items:flex-end;padding:0}
  .mrl-alert{border-radius:20px 20px 0 0;padding:28px 22px calc(24px + env(safe-area-inset-bottom));animation:mrl-sheet-up .35s cubic-bezier(.2,.9,.3,1.2)}
  .mrl-alert.mrl-banner{border-radius:0;padding:12px 52px 12px 16px;display:block;align-items:flex-start;animation:mrl-slide-down .35s ease}
  .mrl-alert.mrl-banner .mrl-alert-title{display:inline;margin-inline-end:6px}
  .mrl-alert.mrl-banner .mrl-alert-message{display:inline}
  .mrl-alert.mrl-banner .mrl-alert-actions{display:inline-flex;margin-inline-start:10px}
  .mrl-alert.mrl-toast{top:auto;bottom:0;right:0;inset-inline-end:0;left:0;inset-inline-start:0;width:100%;max-width:none;border-radius:18px 18px 0 0;animation:mrl-sheet-up .35s cubic-bezier(.2,.9,.3,1.2);padding:18px calc(46px + env(safe-area-inset-end)) 20px}
}

@keyframes mrl-fade{from{opacity:0}to{opacity:1}}
@keyframes mrl-pop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes mrl-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes mrl-slide-down{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@keyframes mrl-slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes mrl-slide-x{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}

.mrl-alert.is-closing{animation:mrl-fade .2s ease forwards}
@media (prefers-reduced-motion:reduce){
  .mrl-alert-backdrop,.mrl-alert,.mrl-alert.mrl-banner,.mrl-alert.mrl-toast{animation:none!important}
}