/* One native notification system; no selection of inline field-validation messages. */
html body .messages.messages.ssp-notices{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;gap:10px!important;height:auto!important;min-height:0!important;padding:0!important;background:transparent!important;pointer-events:none!important;transform:none!important}
html body .messages.messages.ssp-notices:empty{display:none!important}
html body .messages.messages.ssp-notices.ssp-notices--floating{position:fixed!important;inset:var(--ssp-notice-top,145px) 16px auto!important;width:auto!important;max-width:none!important;margin:0!important;z-index:10050!important}
html body .messages.messages.ssp-notices .msg.msg{position:relative!important;inset:auto!important;box-sizing:border-box!important;display:block!important;width:100%!important;min-height:0!important;height:auto!important;max-height:calc(100dvh - var(--ssp-notice-top,145px) - 16px)!important;margin:0!important;padding:0!important;border:1px solid #b8cad8!important;border-radius:10px!important;background:#eaf2f8!important;color:#24485f!important;box-shadow:0 4px 14px #00000014!important;opacity:1!important;overflow:auto!important;pointer-events:auto!important;text-align:left!important;animation:none!important;transform:none!important}
html body .messages.messages.ssp-notices .msg.msg.hidden{display:none!important}
html body .messages.messages.ssp-notices .msg.msg>.container{position:relative!important;box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:16px 48px!important;font-size:16px!important;line-height:1.5!important;color:inherit!important}
html body .messages.messages.ssp-notices .msg.msg>.container>span{display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;font-size:inherit!important;line-height:inherit!important;font-weight:700!important;color:inherit!important}
html body .messages.messages.ssp-notices .msg.msg>.container:before,html body .messages.messages.ssp-notices .msg.msg>.container:after{display:none!important;content:none!important}
html body .messages.messages.ssp-notices .msg.msg:before{content:'i'!important;position:absolute!important;left:16px!important;top:17px!important;display:flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;font:700 15px/1 Arial,sans-serif!important;transform:none!important}
html body .messages.messages.ssp-notices .msg.msg:after{display:none!important;content:none!important}
html body .messages.messages.ssp-notices .msg.msg-success{background:#2e7d32!important;border-color:#256829!important;color:#fff!important}
html body .messages.messages.ssp-notices .msg.msg-success:before{content:'✓'!important;border:0!important;font-size:23px!important}
html body .messages.messages.ssp-notices .msg:is(.msg-danger,.msg-error){background:#ad302b!important;border-color:#942720!important;color:#fff!important}
html body .messages.messages.ssp-notices .msg:is(.msg-danger,.msg-error):before{content:'!'!important}
html body .messages.messages.ssp-notices .msg.msg-warning{background:#fff5d9!important;border-color:#d5b76c!important;color:#684a08!important}
html body .messages.messages.ssp-notices .msg.msg-warning:before{content:'!'!important}
html body .messages.messages.ssp-notices .msg.msg a{color:inherit!important;font-weight:700!important;text-decoration:underline!important;text-underline-offset:3px!important}
html body .messages.messages.ssp-notices .msg.msg .ssp-notice-close{position:absolute!important;inset:6px 6px auto auto!important;display:flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;box-sizing:border-box!important;padding:0!important;margin:0!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font:24px/1 Arial,sans-serif!important;cursor:pointer!important}
html body .messages.messages.ssp-notices .msg.msg .ssp-notice-close:hover{background:#ffffff25!important}
html body .messages.messages.ssp-notices .msg.msg :is(a,button):focus-visible{outline:2px solid currentColor!important;outline-offset:2px!important}
@media(max-width:767px){
html body .messages.messages.ssp-notices.ssp-notices--floating{inset:var(--ssp-notice-top,76px) 10px auto!important}
html body .messages.messages.ssp-notices .msg.msg{max-height:calc(100dvh - var(--ssp-notice-top,76px) - 12px)!important}
html body .messages.messages.ssp-notices .msg.msg>.container{padding:14px 42px!important;font-size:14px!important;line-height:1.5!important}
html body .messages.messages.ssp-notices .msg.msg:before{left:12px!important;top:14px!important}
}

/* v6: success confirmations at the bottom; errors and warnings stay at the top. */
html body .messages.messages.ssp-notices.ssp-notices--floating:has(.msg-success:not(.hidden)):not(:has(.msg-danger:not(.hidden),.msg-error:not(.hidden),.msg-warning:not(.hidden),.msg-info:not(.hidden))){inset:auto auto max(20px,env(safe-area-inset-bottom)) 20px!important;width:min(620px,calc(100vw - 120px))!important;max-width:none!important;transform:none!important}
html body .messages.messages.ssp-notices.ssp-notices--floating .msg.msg-success{max-height:calc(100dvh - 120px)!important}
@media(max-width:767px){
html body .messages.messages.ssp-notices.ssp-notices--floating:has(.msg-success:not(.hidden)):not(:has(.msg-danger:not(.hidden),.msg-error:not(.hidden),.msg-warning:not(.hidden),.msg-info:not(.hidden))){inset:auto auto calc(12px + env(safe-area-inset-bottom)) 10px!important;width:calc(100vw - 90px)!important}
}

/* v7: all notification types use the same bottom-left overlay position. */
html body .messages.messages.ssp-notices.ssp-notices--floating{inset:auto auto max(20px,env(safe-area-inset-bottom)) 20px!important;width:min(620px,calc(100vw - 120px))!important;max-width:none!important;transform:none!important}
html body .messages.messages.ssp-notices .msg.msg{max-height:calc(100dvh - 120px)!important}
@media(max-width:767px){
html body .messages.messages.ssp-notices.ssp-notices--floating{inset:auto auto calc(12px + env(safe-area-inset-bottom)) 10px!important;width:calc(100vw - 90px)!important}
html body .messages.messages.ssp-notices .msg.msg{max-height:calc(100dvh - 120px)!important}
}

/* v8: anchor checkout errors themselves, including native server-rendered messages. */
html body .messages.messages.messages .msg.msg.msg-danger,
html body .messages.messages.messages .msg.msg.msg-error{
 position:fixed!important;inset:auto auto max(20px,env(safe-area-inset-bottom)) 20px!important;
 width:min(620px,calc(100vw - 120px))!important;max-width:none!important;
 height:auto!important;min-height:0!important;max-height:calc(100dvh - 120px)!important;
 margin:0!important;transform:none!important;z-index:10051!important;overflow:auto!important;pointer-events:auto!important;
}
@media(max-width:767px){
 html body .messages.messages.messages .msg.msg.msg-danger,
 html body .messages.messages.messages .msg.msg.msg-error{
  inset:auto auto calc(12px + env(safe-area-inset-bottom)) 10px!important;
  width:calc(100vw - 90px)!important;
 }
}
