/* The login screen (inc/login.php): the site's colours, font and logo. Values from src/css/app.css. */

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/onest-latin.woff2") format("woff2");
}

body.login {
  background: #000 url("img/rays-hero.webp") no-repeat right top / 1088px 757px;
  color: #fff;
  font-family: "Onest", ui-sans-serif, system-ui, sans-serif;
}

.login h1 a {
  width: 248px;
  height: 26px;
  margin-bottom: 32px;
  background: url("img/hemmakanalen.svg") no-repeat center / contain;
}

.login form {
  padding: 28px 28px 32px;
  border: 1px solid #262626;
  border-radius: 20px;
  background: #141414;
  box-shadow: none;
}

.login label,
.login .forgetmenot label {
  color: #fff;
  font-size: 14px;
}

.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #363636;
  border-radius: 8px;
  background: #0d0d0d;
  color: #fff;
  font-size: 16px;
}

.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus,
.login input[type="checkbox"]:focus {
  border-color: #bd8cfe;
  box-shadow: 0 0 0 1px #bd8cfe;
}

.login input[type="checkbox"] {
  border-color: #4e4e4e;
  background: #0d0d0d;
}

.login input[type="checkbox"]:checked::before {
  filter: invert(1);
}

.login .button.wp-hide-pw {
  min-height: 48px;
  color: #999;
}

.login .button.wp-hide-pw:focus {
  border-color: #bd8cfe;
  box-shadow: 0 0 0 1px #bd8cfe;
}

.login .button-primary {
  min-height: 44px;
  padding: 0 24px;
  border: 0;
  border-radius: 8px;
  background: #bd8cfe;
  color: #000;
  font-weight: 600;
  font-size: 15px;
  text-shadow: none;
}

.login .button-primary:hover,
.login .button-primary:focus {
  background: #d0acff;
  color: #000;
}

.login .button-primary:focus {
  box-shadow: 0 0 0 2px #000, 0 0 0 4px #bd8cfe;
}

.login #nav a,
.login #backtoblog a,
.login .privacy-policy-link {
  color: #999;
}

.login #nav a:hover,
.login #backtoblog a:hover,
.login .privacy-policy-link:hover {
  color: #fff;
}

.login .message,
.login .notice,
.login .success,
.login #login_error {
  border-radius: 8px;
  background: #141414;
  color: #fff;
  box-shadow: none;
}

.login .message,
.login .notice-info {
  border-left-color: #bd8cfe;
}

.login .message a,
.login .notice a,
.login #login_error a {
  color: #bd8cfe;
}

/* Registration: the optional profile picture (inc/login.php), a box like the other fields. */
.login #registerform .tvg-register-picture {
  margin-bottom: 20px;
}

.login .tvg-register-picture__title {
  display: block;
  margin-bottom: 3px;
  font-size: 14px;
}

.login .tvg-register-picture__title span,
.login .tvg-picker small {
  color: #a3a3a3;
}

.login .tvg-picker {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 10px 14px;
  box-sizing: border-box;
  border: 1px solid #363636;
  border-radius: 8px;
  background: #0d0d0d;
  cursor: pointer;
  transition: border-color 0.15s;
}

.login .tvg-picker:hover {
  border-color: #4e4e4e;
}

.login .tvg-picker:focus-within {
  border-color: #bd8cfe;
  box-shadow: 0 0 0 1px #bd8cfe;
}

.login .tvg-picker__preview {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border-radius: 50%;
  background: #262626;
  color: #a3a3a3;
}

.login .tvg-picker__preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.login .tvg-picker__icon {
  width: 20px;
  height: 20px;
}

.login .tvg-picker__text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.login .tvg-picker strong {
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.login .tvg-picker small {
  font-size: 12px;
}

/* The browser's file control: hidden, still reachable with the keyboard. */
.login .tvg-picker__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* The terms checkbox (inc/login.php). */
.login #registerform .tvg-register-terms {
  margin-bottom: 20px;
}

.login #registerform .tvg-register-terms {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.login .tvg-register-terms label {
  font-size: 0.875rem;
  line-height: 1.5;
}

.login .tvg-register-terms input[type="checkbox"] {
  flex-shrink: 0;
  margin: 3px 0 0;
}

.login .tvg-register-terms a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
