/* Life Essentials — public SweetAlert-style dialogs */
.life-swal-overlay{
  position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;
  padding:18px;background:rgba(12,18,14,.50);backdrop-filter:blur(1px);
  opacity:0;transition:opacity .16s ease;
}
.life-swal-overlay.is-open{opacity:1}.life-swal-overlay.is-closing{opacity:0}
.life-swal-popup{
  width:min(430px,calc(100vw - 28px));max-height:min(560px,calc(100vh - 28px));overflow:auto;
  padding:26px 28px 24px;border-radius:10px;background:#fff;color:#2b2f2c;text-align:center;
  box-shadow:0 14px 38px rgba(0,0,0,.20);transform:translateY(-10px) scale(.985);
  transition:transform .18s ease;font-family:inherit;
}
.life-swal-overlay.is-open .life-swal-popup{transform:translateY(0) scale(1)}
.life-swal-icon{
  width:66px;height:66px;margin:0 auto 18px;border:4px solid #f5b67d;border-radius:50%;
  display:grid;place-items:center;color:#f5a45d;font-size:42px;line-height:1;font-weight:300;
}
.life-swal-success .life-swal-icon{border-color:#74c887;color:#42a95a}
.life-swal-error .life-swal-icon{border-color:#ef8c8c;color:#d95858}
.life-swal-title{margin:0 0 9px;color:#363a38;font-size:24px;line-height:1.18;font-weight:800;letter-spacing:-.025em}
.life-swal-body{color:#404743;font-size:14px;line-height:1.42}
.life-swal-body>p{max-width:370px;margin:0 auto 3px}
.life-swal-actions{display:flex;justify-content:center;gap:8px;margin-top:18px}
.life-swal-btn{
  min-width:96px;min-height:38px;padding:8px 16px;border:1px solid #a8afab;border-radius:6px;
  background:#f4f4f4;color:#222;font:inherit;font-size:13px;font-weight:700;cursor:pointer;
  box-shadow:none;transition:background .12s ease,border-color .12s ease,transform .12s ease;
}
.life-swal-btn:hover{background:#e9e9e9;border-color:#7f8782}.life-swal-btn:active{transform:translateY(1px)}
.life-swal-btn-confirm{background:#f0f0f0}.life-swal-btn-cancel{background:#fff}
.life-swal-popup.life-swal-error .life-swal-btn-confirm{border-color:#c86d6d}
.life-promo-alert{margin-top:6px;text-align:center}
.life-promo-products{margin:11px 0 10px;padding:9px 12px;border:1px solid #dfe8df;border-radius:8px;background:#f7faf6}
.life-promo-products span,.life-promo-products strong{display:block}.life-promo-products span{margin-bottom:3px;color:#7a857d;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}
.life-promo-products strong{color:#174d2e;font-size:13px;line-height:1.32}
.life-promo-amounts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.life-promo-amounts>div{padding:9px 10px;border:1px solid #e4e8e5;border-radius:8px;background:#fff}
.life-promo-amounts span,.life-promo-amounts strong{display:block}.life-promo-amounts span{color:#7c8580;font-size:10px;font-weight:700}.life-promo-amounts strong{margin-top:3px;color:#28342d;font-size:14px}
.life-promo-alert p{margin:10px auto 0;max-width:360px;color:#4d5650;font-size:13px}.life-promo-alert p b{color:#174d2e}
.life-swal-toast{
  position:fixed;top:18px;right:18px;z-index:2147483001;min-width:280px;max-width:min(430px,calc(100vw - 36px));
  display:grid;gap:3px;padding:14px 16px;border:1px solid #dce7df;border-radius:10px;background:#fff;
  box-shadow:0 14px 35px rgba(0,0,0,.18);opacity:0;transform:translateY(-8px);transition:.18s ease;
}
.life-swal-toast.is-open{opacity:1;transform:translateY(0)}.life-swal-toast strong{color:#174d2e;font-size:14px}.life-swal-toast span{color:#68736c;font-size:13px}
/* If SweetAlert2 is present, give it the same visual language. */
.swal2-popup.life-swal2-popup{width:min(430px,calc(100vw - 28px))!important;padding:26px 28px 24px!important;border-radius:10px!important;font-family:inherit!important}
.swal2-title.life-swal2-title{padding:0!important;margin:0 0 9px!important;color:#363a38!important;font-size:24px!important;line-height:1.18!important;font-weight:800!important;letter-spacing:-.025em!important}
.swal2-html-container.life-swal2-body{margin:0!important;color:#404743!important;font-size:14px!important;line-height:1.42!important}
.swal2-actions.life-swal2-actions{gap:8px!important;margin-top:18px!important}
@media(max-width:560px){
  .life-swal-overlay{padding:12px}.life-swal-popup{width:min(390px,calc(100vw - 24px));padding:22px 17px 19px}.life-swal-icon{width:58px;height:58px;margin-bottom:15px;font-size:36px}.life-swal-title{font-size:21px}.life-swal-body{font-size:13px}.life-promo-amounts{grid-template-columns:1fr 1fr}.life-swal-actions{flex-wrap:wrap}.life-swal-btn{min-width:90px}
}
