/* Mooiste Shop Login 1.0.3: wp-login.php (sign in, lost password) for mooiste.shop. Mock-up: login-redesign/mooiste.shop (Web Designer). Replaces the theme's auth.css on these screens. */
html{background:#b42a62}
body.login.msl{--primary:#a92859;--ink:#352431;--muted:#6b5662;--hcol:#c80d5e;--field:#fffafc;--line:#e9cfdb;--ring:rgba(169,40,89,.18);--btn:linear-gradient(135deg,#b8336a,#8a2453);--note:#fff0f4;--note-ink:#4b263d;
  --head:"Cormorant Garamond","Playfair Display",Georgia,serif;--body:Manrope,system-ui,"Segoe UI",sans-serif;
  height:auto;min-height:100vh;margin:0;padding:16px 12px 28px;background:radial-gradient(800px 500px at 100% 0,rgba(255,255,255,.18),transparent 60%),linear-gradient(160deg,#e2508a,#d34074 45%,#b42a62) #b42a62;color:var(--ink);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased}
body.login.msl *{box-sizing:border-box}
body.login.msl a{color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
body.login.msl a:focus,body.login.msl input:focus,body.login.msl button:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}
body.login.msl a:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:none;border-radius:4px}

/* Shell and rose panel */
body.login.msl .msl-shell{max-width:1240px;margin:0 auto;padding:10px;border-radius:26px;background:#fff;box-shadow:0 30px 80px rgba(80,10,40,.25)}
body.login.msl .msl-inner{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid #f3d6e1;border-radius:20px;background:linear-gradient(160deg,#fff4f7,#fde6ee)}
body.login.msl .msl-brand{padding:22px 18px 4px;text-align:center}
body.login.msl .msl-logo{display:inline-block;text-decoration:none}
body.login.msl .msl-logo img{display:block;width:auto;height:56px}
body.login.msl .msl-eyebrow{margin:14px 0 0;color:var(--primary);font:800 11.5px/1.5 var(--body);letter-spacing:.18em;text-transform:uppercase}
body.login.msl .msl-desk{display:none}
body.login.msl .msl-brand-h{margin:8px 0 0;color:var(--hcol);font:700 34px/1.02 var(--head);letter-spacing:.02em;text-transform:uppercase}
body.login.msl .msl-lead{max-width:460px;margin:10px auto 0;color:var(--note-ink)}
body.login.msl .msl-below{margin:16px 0 0;color:#fff;font-size:14px;text-align:center}

/* Card (core #login) */
body.login.msl #login{display:flex;flex-direction:column;width:auto;max-width:none;margin:10px;padding:22px 18px 24px;border:1px solid #f0dbe4;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(169,40,89,.08)}
body.login.msl #login>*{width:100%}
body.login.msl #login h1.wp-login-logo{display:none}
body.login.msl .mm-auth-intro{margin:0;padding:0;text-align:left;background:none;border:0;box-shadow:none}
body.login.msl .mm-auth-eyebrow{display:none}
body.login.msl .mm-auth-intro h2{margin:0;color:var(--hcol);font:700 34px/1.05 var(--head);letter-spacing:0;text-transform:none}
body.login.msl .mm-auth-intro p{margin:6px 0 0;color:var(--muted);font-size:15px;line-height:1.5}

/* Notices */
body.login.msl #login_error,body.login.msl .message,body.login.msl .notice,body.login.msl .success{margin:18px 0 0;padding:12px 14px;border:0;border-left:4px solid var(--primary);border-radius:14px;background:var(--note);color:var(--note-ink);font-size:14px;line-height:1.5;box-shadow:none}
body.login.msl #login_error{border-left-color:#b3263e;background:#fcedf1;color:#6e1527}
body.login.msl #login_error a{color:#6e1527}
body.login.msl .message p,body.login.msl .notice p,body.login.msl #login_error p{margin:0}
body.login-action-lostpassword.msl .notice-info.message,body.login-action-retrievepassword.msl .notice-info.message{display:none}

/* Form */
body.login.msl #loginform,body.login.msl #lostpasswordform,body.login.msl #resetpassform{margin:0;padding:0;border:0;background:none;box-shadow:none;overflow:visible}
body.login.msl #loginform{display:flex;flex-wrap:wrap;column-gap:12px;align-items:center}
body.login.msl #loginform>*{flex:1 1 100%;min-width:0}
body.login.msl form p,body.login.msl form .user-pass-wrap{margin:16px 0 0}
body.login.msl form label{display:block;margin:0 0 6px;color:var(--ink);font-size:14px;font-weight:600;line-height:1.5}
body.login.msl form .input,body.login.msl form input[type=text],body.login.msl form input[type=email],body.login.msl form input[type=password]{width:100%;min-height:48px;max-height:none;margin:0;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background-color:var(--field);color:var(--ink);font:16px/1.4 var(--body);box-shadow:none;outline:none}
body.login.msl form .input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}
body.login.msl #user_login,body.login.msl #user_pass,body.login.msl #pass1{padding-left:44px;background-repeat:no-repeat;background-position:14px center;background-size:20px 20px}
body.login.msl #user_login{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b5662' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E")}
body.login-action-lostpassword.msl #user_login,body.login-action-retrievepassword.msl #user_login{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b5662' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")}
body.login.msl #user_pass,body.login.msl #pass1{padding-right:50px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b5662' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='3'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}

/* Show/hide password (core button, 44px target) */
body.login.msl .wp-pwd{position:relative}
body.login.msl .wp-hide-pw{position:absolute;top:50%;right:2px;width:44px;height:44px;min-height:0;margin:0;padding:0;transform:translateY(-50%);border:0;border-radius:12px;background:none;color:var(--muted);display:grid;place-items:center;box-shadow:none}
body.login.msl .wp-hide-pw:hover{color:var(--primary);background:none}
body.login.msl .wp-hide-pw .dashicons{position:static;width:20px;height:20px;font-size:20px;top:0}
body.login.msl .caps-warning{margin-top:6px;font-size:13px;color:var(--muted)}

/* Remember me row */
body.login.msl #loginform>.forgetmenot{order:1;flex:1 1 auto;display:flex;align-items:center;gap:10px;min-height:44px;margin:8px 0 0;float:none}
body.login.msl .forgetmenot label{margin:0;font-weight:400;cursor:pointer;display:flex;align-items:center;min-height:44px}
body.login.msl #rememberme{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;min-width:22px;margin:0;border:1.5px solid var(--line);border-radius:7px;background:var(--field) center/14px 14px no-repeat;box-shadow:none;cursor:pointer}
body.login.msl #rememberme:checked{border-color:var(--primary);background-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}
body.login.msl #rememberme:checked::before{content:none}
body.login.msl #rememberme:focus{box-shadow:0 0 0 3px var(--ring)}
body.login.msl .forgetmenot .wp-tooltip{display:none}
body.login.msl #loginform>.msl-lost{order:2;flex:0 0 auto;margin:8px 0 0;font-size:15px}
body.login.msl .msl-lost a{display:inline-flex;align-items:center;min-height:44px}

/* Button */
body.login.msl form .submit{order:3;margin:0;padding:0;clear:both}
body.login.msl #wp-submit{float:none;display:block;width:100%;min-height:52px;height:auto;margin:20px 0 0;padding:12px 16px;border:0;border-radius:999px;background:var(--btn);color:#fff;font:700 16px/1.2 var(--body);text-shadow:none;box-shadow:none;cursor:pointer}
body.login.msl #wp-submit:hover{background:linear-gradient(135deg,#a82d5f,#7a1f49)}
body.login.msl #wp-submit:focus{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--primary)}

/* Links under the form */
body.login.msl #nav{margin:22px 0 0;padding:0;color:var(--muted);text-align:center;font-size:0;word-spacing:0}
body.login.msl #nav>*{font-size:15px}
body.login.msl #nav a,body.login.msl #backtoblog a,body.login.msl .privacy-policy-page-link a{color:var(--primary)}
body.login.msl #nav a:hover,body.login.msl #backtoblog a:hover{color:#8a2453}
body.login.msl #nav a{display:inline-flex;align-items:center;min-height:44px}
body.login-action-login.msl #nav .wp-login-lost-password{display:none}
body.login.msl .msl-alt{color:var(--muted);font-weight:400}
body.login.msl .msl-alt a{display:inline!important;min-height:0}
body.login.msl #backtoblog{margin:22px 0 0;padding:4px 0 0;border-top:1px solid #f0dbe4;text-align:center}
body.login.msl #backtoblog a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px}
body.login.msl #backtoblog a::before{content:"";width:16px;height:16px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a92859' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5 8 12l7 7'/%3E%3C/svg%3E") center/16px no-repeat}
body.login.msl .privacy-policy-page-link{margin:14px 0 0;text-align:center;font-size:13px}
body.login.msl .language-switcher,body.login.msl .mm-auth-switch{display:none}

@media (min-width:900px){
  body.login.msl{padding:28px 40px 40px}
  body.login.msl .msl-shell{padding:14px;border-radius:32px}
  body.login.msl .msl-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;padding:28px;border-radius:26px}
  body.login.msl .msl-brand{align-self:start;position:sticky;top:24px;padding:36px 24px 24px;text-align:left}
  body.login.msl .msl-logo img{height:80px}
  body.login.msl .msl-desk{display:block}
  body.login.msl .msl-brand-h{margin-top:14px;font-size:64px}
  body.login.msl .msl-lead{margin-left:0;font-size:17px}
  body.login.msl #login{margin:0;padding:34px 36px}
}
@media (prefers-reduced-motion:reduce){body.login.msl *{transition:none!important}}

/* Reset password (rp / resetpass): not in the mock-up, styled to match the register page's password field. */
body.login.msl .user-pass1-wrap,body.login.msl .wp-pwd{position:relative;margin:0;padding:0}
body.login.msl .user-pass1-wrap>p{margin:0}
body.login.msl .user-pass1-wrap label{display:block;margin:0 0 6px;font:600 14px/1.4 var(--body);color:var(--ink)}
body.login.msl .wp-pwd .wp-hide-pw{top:2px;transform:none}
body.login.msl form .input:focus,body.login.msl form input[type=text]:focus,body.login.msl form input[type=password]:focus,body.login.msl #pass1:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}
body.login.msl .caps-warning{display:none}
body.login.msl .caps-warning svg{width:16px;height:16px}
body.login.msl #pass-strength-result{display:block;width:100%;min-height:0;margin:8px 0 0;padding:14px 0 0;border:0;border-radius:0;background:transparent no-repeat 0 0/100% 4px;background-image:linear-gradient(90deg,var(--s1) 0 calc(25% - 3px),transparent 0 calc(25% + 1px),var(--s2) 0 calc(50% - 2px),transparent 0 calc(50% + 2px),var(--s3) 0 calc(75% - 1px),transparent 0 calc(75% + 3px),var(--s4) 0 100%);color:var(--ink);font:700 13px/1.45 var(--body);text-align:left;opacity:1;--s1:#f0dbe4;--s2:#f0dbe4;--s3:#f0dbe4;--s4:#f0dbe4}
body.login.msl #pass-strength-result::before{content:"Strength: ";color:var(--muted);font-weight:400}
body.login.msl #pass-strength-result:not(.short):not(.bad):not(.good):not(.strong):not(.mismatch){display:none}
body.login.msl #pass-strength-result.short{--s1:#b3263e}
body.login.msl #pass-strength-result.bad{--s1:#c2410c;--s2:#c2410c}
body.login.msl #pass-strength-result.good{--s1:#a16207;--s2:#a16207;--s3:#a16207}
body.login.msl #pass-strength-result.strong{--s1:#2f7d4f;--s2:#2f7d4f;--s3:#2f7d4f;--s4:#2f7d4f}
body.login.msl .pw-weak{margin:8px 0 0}
body.login.msl .pw-weak label{position:relative;display:block;min-height:44px;margin:0;padding:11px 0 11px 32px;font:400 14px/1.5 var(--body);cursor:pointer}
body.login.msl .pw-weak input{position:absolute;margin:0;left:0;top:11px;width:22px;height:22px;min-width:0;-webkit-appearance:none;appearance:none;border:1.5px solid var(--line);border-radius:7px;background:var(--field) center/14px no-repeat;cursor:pointer}
body.login.msl .pw-weak{position:relative}
body.login.msl .pw-weak input:checked{border-color:var(--primary);background-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}
body.login.msl .pw-weak input:checked::before{content:none}
body.login.msl .indicator-hint{margin:8px 0 0;color:var(--muted);font:13px/1.5 var(--body)}
body.login.msl .reset-pass-submit{display:flex;flex-direction:column;gap:10px;margin:18px 0 0;float:none}
body.login.msl .reset-pass-submit .button{float:none;width:100%;margin:0}
body.login.msl .button.wp-generate-pw{min-height:44px;padding:10px 18px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--primary);font:600 15px/1.2 var(--body);box-shadow:none;cursor:pointer}
body.login.msl .button.wp-generate-pw:hover{border-color:var(--primary);background:var(--note);color:var(--primary)}
/* 1.0.1: styled focus outline on the error box and notices (2px, theme wine #a92859, small offset) */
body.login.msl #login_error:focus,body.login.msl #login_error:focus-visible,body.login.msl .message:focus,body.login.msl .message:focus-visible,body.login.msl .notice:focus,body.login.msl .notice:focus-visible,body.login.msl .success:focus,body.login.msl .success:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:none}
/* 1.0.2 (Web Designer): no core shake on a failed sign-in, so the form stays lined up with the error box and title (the error box gets focus and a wine outline instead) */
body.login.msl form.shake{animation:none;transform:none}
