/* ============================================================
   LOGIN PAGE — login/register cards (minimalistic header/footer
   is assets/css/minimal-chrome.css, registered alongside this file —
   not duplicated here, see that file's own comment)
   ============================================================ */

/* ── Accent button (shared by Conectare / Creați cont) — matches .cta-btn ── */
.btn-accent {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  padding: 0 28px;
  background-color: var(--red);
  border: none;
  border-radius: 6px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(13px, 1.2vw, 15px);
  letter-spacing: var(--ls-30);
  text-transform: uppercase;
  color: #fff;
  cursor: pointer;
  transition: opacity var(--transition);
}

.btn-accent:hover {
  opacity: 0.88;
}

/* ── Content wrapper ── */
.login-content {
  padding: 64px 0 96px;
  background-color: var(--bg);
}

.login-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 32px;
  max-width: 1100px;
  margin-inline: auto;
}

@media (max-width: 768px) {
  .login-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Card ── */
.login-card {
  background-color: var(--surface);
  border: 1.5px solid var(--grey);
  border-radius: 12px;
  padding: clamp(28px, 4vw, 56px) clamp(24px, 4vw, 48px);
}

.login-card-title {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(24px, 2.4vw, 32px);
  letter-spacing: var(--ls-30);
  color: var(--text);
  margin-bottom: 18px;
}

.login-card-desc {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text);
  margin-bottom: 32px;
}

/* ── Notice (theme addition, not in html/css/login.css — the mockup has no
   server round-trip to report an error from). Same red-error treatment as
   .cont-form-notice-error in cont.css; no success variant here since a
   successful login redirects immediately and never reaches this render. ── */
.login-notice {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: 6px;
  margin-bottom: 24px;
}

.login-notice-error {
  color: var(--red);
  background-color: var(--red-light);
  border: 1px solid var(--red);
}

/* ── Form ── */
.login-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.login-form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.login-form-label {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: var(--ls-25);
  text-transform: uppercase;
  color: var(--text);
}

.login-required {
  color: var(--red);
}

.login-form-input {
  height: 46px;
  padding: 0 14px;
  border: 1.5px solid var(--grey);
  border-radius: 6px;
  background-color: var(--surface);
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--text);
  outline: none;
  width: 100%;
  transition: border-color var(--transition);
}

.login-form-input:focus {
  border-color: var(--red);
}

/* ── Remember me checkbox ── */
.login-remember {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--text);
}

.login-remember input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--red);
  cursor: pointer;
}

.login-remember label {
  cursor: pointer;
}

/* ── Submit row ── */
.login-submit-row {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.login-forgot {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Required fields note ── */
.login-required-note {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--red);
  margin-top: 4px;
}
