/* CorsoSnacks: фирменный вход в кабинет по /cabinet/, не затрагивает обычный WordPress login. */
:root{
  --cs-bg:#f4f1eb;
  --cs-card:#fffdf9;
  --cs-text:#14241d;
  --cs-muted:#67766f;
  --cs-line:#dfdfd8;
  --cs-primary:#17372c;
  --cs-primary-2:#234c3c;
  --cs-accent:#b8995f;
  --cs-shadow:0 20px 60px rgba(20,36,29,.10);
}
body.login{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at top right, rgba(184,153,95,.18), transparent 32%),
    radial-gradient(circle at left bottom, rgba(23,55,44,.08), transparent 30%),
    linear-gradient(180deg,#f7f4ef 0%,#f1eee7 100%);
  color:var(--cs-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
}
body.login::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(20,36,29,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(20,36,29,.018) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.35), transparent 80%);
}
body.login #login{
  width:min(460px, calc(100vw - 36px));
  padding-top:clamp(24px, 6vh, 64px);
  position:relative;
  z-index:1;
}
body.login #login::before{
  content:"";
  display:block;
  height:10px;
  width:84px;
  margin:0 auto 26px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent 0 12%, var(--cs-accent) 12% 88%, transparent 88% 100%);
  opacity:.95;
}
body.login #login h1{ margin:0 0 14px; }
body.login #login h1 a{
  background-color:transparent;
  width:100%;
  height:98px;
  margin:0;
  padding:0;
  display:block;
  text-indent:-9999px;
  overflow:hidden;
}
body.login .cs-cabinet-login-intro{
  text-align:center;
  margin:0 0 22px;
}
body.login .cs-cabinet-login-intro strong{
  display:block;
  font-size:34px;
  line-height:1.1;
  font-weight:700;
  font-family:Georgia,"Times New Roman",serif;
  color:#1a2b23;
  letter-spacing:-0.02em;
}
body.login .cs-cabinet-login-intro span{
  display:block;
  margin-top:8px;
  font-size:14px;
  color:var(--cs-primary);
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.login .cs-cabinet-login-intro em{
  display:block;
  margin-top:9px;
  color:var(--cs-muted);
  font-style:normal;
  font-size:14px;
  line-height:1.45;
}
body.login #loginform,
body.login #lostpasswordform,
body.login #resetpassform,
body.login #registerform{
  border:1px solid rgba(20,36,29,.08);
  background:rgba(255,253,249,.95);
  box-shadow:var(--cs-shadow);
  border-radius:22px;
  padding:30px 30px 26px;
  backdrop-filter:blur(8px);
}
body.login #loginform label,
body.login #lostpasswordform label,
body.login #resetpassform label{
  color:#21372d;
  font-size:13px;
  font-weight:600;
}
body.login #loginform .input,
body.login #lostpasswordform .input,
body.login #resetpassform .input{
  border:1px solid #ccd4ce;
  border-radius:12px;
  box-shadow:none;
  padding:12px 14px;
  min-height:48px;
  background:#fff;
  color:#182821;
  font-size:15px;
}
body.login #loginform .input:focus,
body.login #lostpasswordform .input:focus,
body.login #resetpassform .input:focus{
  border-color:var(--cs-primary-2);
  box-shadow:0 0 0 4px rgba(35,76,60,.12);
}
body.login .button-primary{
  border:1px solid var(--cs-primary);
  background:linear-gradient(180deg, #234c3c 0%, #17372c 100%);
  border-radius:12px;
  min-height:48px;
  font-weight:700;
  padding:0 22px;
  text-shadow:none;
  box-shadow:none;
}
body.login .button-primary:hover,
body.login .button-primary:focus{
  background:linear-gradient(180deg, #2b5a48 0%, #1b3f32 100%);
  border-color:#1b3f32;
}
body.login .forgetmenot label{display:flex;align-items:center;gap:8px;color:var(--cs-muted);}
body.login .forgetmenot input{margin:0!important;}
body.login #nav, body.login #backtoblog, body.login .language-switcher{margin-left:6px; margin-right:6px;}
body.login #nav a,
body.login #backtoblog a{
  color:#486557;
}
body.login #nav a:hover,
body.login #backtoblog a:hover{ color:var(--cs-primary); }
body.login .language-switcher{
  margin-top:18px;
}
body.login .language-switcher label{color:#485e54;}
body.login .language-switcher select{
  border-radius:10px;
  border-color:#ccd4ce;
  min-height:42px;
}
body.login .language-switcher .button{
  border-radius:10px;
  min-height:42px;
}
body.login #login_error,
body.login .message,
body.login .success{
  border-left-color:var(--cs-accent);
  border-radius:12px;
  box-shadow:var(--cs-shadow);
}
@media (max-width: 520px){
  body.login #login{padding-top:20px;}
  body.login #login h1 a{height:84px;}
  body.login .cs-cabinet-login-intro strong{font-size:30px;}
  body.login #loginform,body.login #lostpasswordform,body.login #resetpassform,body.login #registerform{padding:24px 20px 22px;border-radius:18px;}
}
