.mnem-loyalty-title{font-size:1.2em}.mnem-loyalty-trigger{cursor:pointer;text-decoration:underline;border:0;background:none;padding:4px 0}.mnem-loyalty-overlay:not([hidden]){position:fixed;inset:0;background:rgba(0,0,0,.58);display:flex;align-items:center;justify-content:center;z-index:999999;padding:16px}.mnem-loyalty-dialog{background:#fff;color:#222;border-radius:10px;max-width:460px;width:100%;padding:28px;max-height:90vh;overflow:auto;box-shadow:0 10px 45px #0003;position:relative}.mnem-loyalty-dialog h2{font-size:1.25rem;margin:0 24px 18px 0}.mnem-loyalty-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:28px;cursor:pointer;color:#333}.mnem-loyalty-tabs{display:flex;border-bottom:1px solid #ccc;gap:5px}.mnem-loyalty-tabs button{border:0;background:transparent;padding:12px;cursor:pointer;color:#333}.mnem-loyalty-tabs [aria-selected="true"]{border-bottom:3px solid #222;font-weight:700}.mnem-loyalty-form label,.mnem-loyalty-code label{display:block;margin:10px 0}.mnem-loyalty-form input[type=email],.mnem-loyalty-form input[type=tel],.mnem-loyalty-form select,.mnem-loyalty-code input{display:block;width:100%;padding:10px;border:1px solid #aaa;border-radius:5px;box-sizing:border-box}.mnem-loyalty-form small{display:block;color:#555}.mnem-loyalty-form .mnem-loyalty-check,.mnem-loyalty-form .mnem-loyalty-consent{display:flex;gap:9px;align-items:flex-start}.mnem-loyalty-submit,.mnem-loyalty-confirm{background:#222;color:#fff;border:0;border-radius:5px;padding:12px 20px;cursor:pointer}.mnem-loyalty-message{min-height:1.2em;line-height:1.4}.mnem-loyalty [hidden]{display:none!important}

/* Network-wide optional floating trigger. The modal stays fixed to the viewport. */
.mnem-loyalty-floating{position:fixed;z-index:99990;max-width:calc(100vw - 24px);font:inherit;line-height:1.35;}
.mnem-loyalty-floating>.mnem-loyalty{padding:10px 15px;border-radius:10px;background:#fff;color:#242424;text-align:center;box-shadow:0 3px 20px rgba(0,0,0,.23);border:1px solid #ddd;}
.mnem-loyalty-floating .mnem-loyalty-trigger{color:#222;}
.mnem-loyalty-pos-top-left{top:16px;left:16px}.mnem-loyalty-pos-top-center{top:16px;left:0;right:0;margin-left:auto;margin-right:auto;width:max-content}.mnem-loyalty-pos-top-right{top:16px;right:16px}
.mnem-loyalty-pos-bottom-left{bottom:16px;left:16px}.mnem-loyalty-pos-bottom-center{bottom:16px;left:0;right:0;margin-left:auto;margin-right:auto;width:max-content}.mnem-loyalty-pos-bottom-right{bottom:16px;right:16px}
.mnem-loyalty-pos-left-center{left:16px;top:0;bottom:0;margin-top:auto;margin-bottom:auto;height:max-content}.mnem-loyalty-pos-right-center{right:16px;top:0;bottom:0;margin-top:auto;margin-bottom:auto;height:max-content}
@media(max-width:480px){.mnem-loyalty-floating{max-width:calc(100vw - 20px)}.mnem-loyalty-floating>.mnem-loyalty{padding:7px 10px}.mnem-loyalty-floating .mnem-loyalty-title{font-size:1em}.mnem-loyalty-floating .mnem-loyalty-trigger{font-size:.85em}}

.mnem-loyalty-ok{display:block;margin:18px auto 0;min-width:110px;background:#222;color:#fff;border:0;border-radius:5px;padding:10px 24px;cursor:pointer}.mnem-loyalty-code .mnem-loyalty-instruction{margin:14px 0;line-height:1.45}.mnem-loyalty-message:empty{display:none}

.mnem-loyalty-message[hidden],.mnem-loyalty-explain[hidden],.mnem-loyalty-tabs[hidden]{display:none!important}

/* Highlight the one-time welcome coupon in the completed modal. */
.mnem-loyalty-message .mnem-loyalty-coupon-code{font-weight:800;font-size:1.18em;letter-spacing:.035em;overflow-wrap:anywhere;color:#172f59;}
