.mem{display:inline-flex;align-items:center;gap:10px;position:relative}
.mem-out{margin:0}
.mem-btn{display:inline-flex;align-items:center;gap:8px;border:2px solid #fff;border-radius:999px;background:transparent;color:#fff;cursor:pointer;text-decoration:none;font:700 .78rem Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:8px 16px;line-height:1.1}
.mem-btn:hover,.mem-btn:focus-visible{background:var(--acc,#fbb01f);border-color:var(--acc,#fbb01f);color:#1c1c1b}
.mem-btn-o{border-color:rgba(255,255,255,.55)}
.mem-toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:3000;background:#5e9a1a;color:#fff;font-weight:700;padding:12px 22px;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.35);margin:0;transition:opacity .5s}
.mem-toast.gone{opacity:0;pointer-events:none}
.mem-dialog{border:0;padding:28px 30px 26px;background:var(--card,#fff);color:var(--tx,#1c1c1b);max-width:460px;width:calc(100% - 28px);max-height:calc(100vh - 28px);overflow:auto;margin:auto;text-align:left;font-family:Montserrat,sans-serif;font-size:1rem;text-transform:none;letter-spacing:0;text-shadow:none}
.mem-dialog::backdrop{background:rgba(0,0,0,.7)}
.mem-close{position:absolute;right:12px;top:8px;border:0;background:none;color:inherit;font-size:2rem;line-height:1;cursor:pointer}
.mem-tabs{display:flex;gap:6px;border-bottom:2px solid rgba(128,128,128,.35);margin:0 0 18px;padding-right:30px}
.mem-tabs button{border:0;background:none;color:inherit;font:700 1.1rem "Passion One",Montserrat,sans-serif;letter-spacing:.03em;padding:8px 14px;cursor:pointer;border-bottom:4px solid transparent;margin-bottom:-2px;opacity:.7}
.mem-tabs button[aria-selected="true"]{opacity:1;border-bottom-color:var(--acc,#fbb01f)}
.mem-form{display:grid;gap:14px}
.mem-form[hidden]{display:none}
.mem-form label{display:grid;gap:5px;font-weight:600;font-size:.9rem}
.mem-form label small{font-weight:400;opacity:.75}
.mem-form .mem-check{display:flex;gap:9px;align-items:flex-start;font-weight:400}
.mem-form .mem-check input{margin-top:4px;flex:none}
.mem-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
dialog.mem-dialog input[type="text"],dialog.mem-dialog input[type="email"],dialog.mem-dialog input[type="password"]{font:inherit;padding:11px 13px;border:1px solid rgba(128,128,128,.7);border-radius:8px;background:rgba(128,128,128,.14);color:var(--tx,#1c1c1b);width:100%}
dialog.mem-dialog input[type="checkbox"]{width:auto;background:none}
.mem-form .btn{justify-self:start}
.mem-small{font-size:.85rem;margin:0;opacity:.85}
.mem-flash{margin:0 0 14px;padding:11px 14px;border-left:5px solid #c8372d;background:rgba(200,55,45,.12);font-weight:600}
.mem-dialog a{color:inherit;text-decoration:underline}
@media(max-width:820px){.mem{margin:14px 0 0;flex-wrap:wrap}}
.mem-flash.ok{border-color:#5e9a1a;background:rgba(94,154,26,.14)}
.mem-flash.ok{border-color:#5e9a1a;background:rgba(94,154,26,.14)}
.mem-form label{align-content:start}
.mem-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
@media(max-width:480px){.mem-grid{grid-template-columns:1fr}}
