/* ===== Sitonia Consulting — Client Login / paywall ===== */
/* Paste into Appearance → Customize → Additional CSS.
   Replaces the old "MemberPress paywall / login — Sitonia brand" block.

   Brand tokens
     green      #2d6a4f      line   #ddd8ce
     deep green #1a3d2b      ink    #1a1a1a / #4a4a4a
     gold       #c8952a      cream  #fbf9f5

   Selectors cover BOTH login form plugins, so the page looks the same
   whichever one renders the form:
     .mepr-*        MemberPress
     #loginform     Members plugin / core wp_login_form()
*/

/* ---------- Layout shell ---------- */
.sc-login,
.mp_wrapper {
  max-width: 440px;
  margin: 7vh auto;
  padding: 0 20px;
  font-family: Georgia, "Times New Roman", serif;
  color: #1a1a1a;
}

/* Hide MemberPress's default excerpt above the form */
.mp_wrapper .mepr-unauthorized-excerpt { display: none; }

/* ---------- Header ---------- */
.sc-head { text-align: center; margin-bottom: 22px; }

.sc-logo {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  object-fit: cover;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(150deg, #2d6a4f, #1a3d2b);
  color: #fff;
  font-family: Georgia, serif;
  font-weight: 700;
  font-size: 23px;
  letter-spacing: .5px;
  margin-bottom: 16px;
  box-shadow: 0 6px 18px rgba(26, 61, 43, .30);
  border: 1px solid rgba(200, 149, 42, .55);
}

.sc-eyebrow {
  display: block;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #c8952a;
  margin-bottom: 8px;
}

.sc-head h2 {
  margin: 0 0 10px;
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 700;
  color: #1a3d2b;
}

.sc-rule {
  width: 46px;
  height: 3px;
  background: #c8952a;
  border-radius: 2px;
  margin: 0 auto;
}

/* ---------- Intro message ---------- */
.sc-msg { margin: 16px 0 0; text-align: center; }

.sc-msg p {
  margin: 0 auto 8px;
  font-size: 15px;
  color: #4a4a4a;
  max-width: 40ch;
  line-height: 1.6;
}

.sc-msg a {
  color: #2d6a4f;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(45, 106, 79, .35);
}

.sc-msg a.sc-trial {
  color: #c8952a;
  border-bottom-color: rgba(200, 149, 42, .45);
}

.sc-msg a:hover { border-bottom-color: currentColor; }

/* ---------- Login card ---------- */
.sc-card,
.mepr-login-form-wrap {
  background: #fff;
  border: 1px solid #ddd8ce;
  border-top: 3px solid #2d6a4f;
  border-radius: 12px;
  padding: 26px 24px;
  margin-top: 24px;
  box-shadow: 0 12px 30px rgba(26, 61, 43, .10);
}

/* ---------- Make the form fill the card ----------
   The Members plugin and the theme both like to constrain the login
   form to a narrow left-aligned column. Force the wrapper full width
   so the fields line up with the card, not with a 320px hangover. */
.sc-card form,
.sc-card #loginform,
.sc-card .members-login-form,
.sc-card .mepr-form {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin: 0 auto;
  box-sizing: border-box;
}

.sc-card p,
.sc-card .login-username,
.sc-card .login-password,
.sc-card .login-remember,
.sc-card .login-submit {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* ---------- Form rows ---------- */
.mepr-form .mp-form-row,
.sc-card .login-username,
.sc-card .login-password,
.sc-card .login-remember { margin-bottom: 16px; }

.sc-card .login-submit { margin-bottom: 0; }

/* Field labels */
.mepr-form .mp-form-label label,
.sc-card .login-username label,
.sc-card .login-password label {
  display: block;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #2d6a4f;
  text-transform: uppercase;
  letter-spacing: .7px;
  margin-bottom: 6px;
}

/* Inputs */
/* The Members plugin prints its own <style> LAST in <head>, with
   `.members-login-form input[type=text] { max-width: 320px }` — the same
   specificity as `.sc-card input[...]`, so source order was winning it.
   Naming .members-login-form here outranks it instead of tying. */
.mepr-form input[type=text],
.mepr-form input[type=password],
.sc-card .members-login-form input[type=text],
.sc-card .members-login-form input[type=password],
.sc-card input[type=text],
.sc-card input[type=email],
.sc-card input[type=password] {
  width: 100%;
  max-width: 100%;
  padding: 11px 12px;
  border: 1px solid #ddd8ce;
  border-radius: 7px;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  background: #fff;
  color: #1a1a1a;
  box-sizing: border-box;
}

.mepr-form input[type=text]:focus,
.mepr-form input[type=password]:focus,
.sc-card .members-login-form input[type=text]:focus,
.sc-card .members-login-form input[type=password]:focus,
.sc-card input[type=text]:focus,
.sc-card input[type=email]:focus,
.sc-card input[type=password]:focus {
  outline: none;
  border-color: #2d6a4f;
  box-shadow: 0 0 0 3px rgba(45, 106, 79, .16);
}

/* Show/hide password toggle (MemberPress) */
.mepr-form .mp-hide-pw { position: relative; display: block; }

.mepr-form .mp-hide-pw .button {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: #777;
  padding: 6px;
}

/* Remember me — override the uppercase field-label style */
.sc-card .login-remember label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #4a4a4a;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 0;
}

/* Twenty Twenty-One draws its own 25px checkbox via appearance:none plus a
   ::after checkmark. Restore the native control so accent-color works and
   the tick isn't left mispositioned at our smaller size. */
.sc-card input[type=checkbox],
.sc-card .members-login-form input[type=checkbox],
.mepr-login-form-wrap label input[type=checkbox] {
  appearance: checkbox;
  -webkit-appearance: checkbox;
  accent-color: #2d6a4f;
  width: 16px;
  height: 16px;
  min-width: 16px;
  border: none;
  background: none;
  margin: 0;
  flex: 0 0 auto;
}

.sc-card input[type=checkbox]::after { content: none; }

/* Submit */
.mepr-form .button-primary,
.sc-card .members-login-form input[type=submit],
.sc-card .login-submit input[type=submit],
.sc-card #wp-submit {
  width: 100%;
  max-width: 100%;
  background: #2d6a4f;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 13px;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: .3px;
  transition: background .15s;
}

.mepr-form .button-primary:hover,
.sc-card .members-login-form input[type=submit]:hover,
.sc-card .login-submit input[type=submit]:hover,
.sc-card #wp-submit:hover { background: #1a3d2b; }

/* Lost password / secondary links under the form */
.mepr-login-actions,
.sc-actions { text-align: center; margin-top: 18px; }

.mepr-login-actions a,
.sc-actions a {
  color: #777;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 13px;
  text-decoration: none;
}

.mepr-login-actions a:hover,
.sc-actions a:hover { color: #2d6a4f; }

/* ---------- Free trial / not-a-client card ---------- */
.sc-trial-card {
  margin-top: 22px;
  background: #fbf9f5;
  border: 1px solid #ddd8ce;
  border-left: 3px solid #c8952a;
  border-radius: 12px;
  padding: 22px 24px;
  text-align: center;
}

.sc-trial-card h3 {
  margin: 0 0 10px;
  font-family: Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: #1a3d2b;
}

.sc-trial-card p {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.65;
  color: #4a4a4a;
}

.sc-btn-trial {
  display: inline-block;
  background: #c8952a;
  color: #fff !important;
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .3px;
  padding: 12px 26px;
  border-radius: 8px;
  text-decoration: none !important;
  border: none;
  box-shadow: 0 6px 16px rgba(200, 149, 42, .28);
  transition: background .15s, transform .15s;
}

.sc-btn-trial:hover {
  background: #ad7d1d;
  transform: translateY(-1px);
}

.sc-contact {
  margin: 16px 0 0 !important;
  font-size: 13px;
  color: #777;
}

.sc-contact a {
  color: #2d6a4f;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(45, 106, 79, .35);
}

.sc-contact a:hover { border-bottom-color: currentColor; }

/* ---------- Small screens ---------- */
@media (max-width: 480px) {
  .sc-login,
  .mp_wrapper { margin: 4vh auto; }

  .sc-card,
  .mepr-login-form-wrap { padding: 22px 18px; }

  .sc-trial-card { padding: 20px 18px; }
}
/* ===== end Client Login ===== */