/* ─────────────────────────────────────────────────────────────────────────────
   SIP GLOBAL — Forms
   Shared styles for contact, login, signup, and admin forms.
───────────────────────────────────────────────────────────────────────────── */

.form {
  display       : flex;
  flex-direction: column;
  gap           : var(--space-md);
}

.form__group {
  display       : flex;
  flex-direction: column;
  gap           : 0.4em;
}

.form__label {
  font-size     : var(--text-xs);
  font-weight   : var(--weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color         : var(--color-navy);
}

/* On dark backgrounds, labels are light */
.form--light .form__label {
  color: var(--color-light);
}

.form__input,
.form__textarea,
.form__select {
  font-family : var(--font-mono);
  font-size   : var(--text-sm);
  color       : var(--color-black);
  background  : var(--color-white);
  border      : 1px solid #C8CDD3;
  border-radius: var(--radius-sm);
  padding     : 0.75em 1em;
  width       : 100%;
  transition  : border-color var(--transition);
  height      : 52px;
}

.form__textarea {
  height     : auto;
  min-height : 140px;
  resize     : vertical;
}

.form__select {
  appearance: none;
  cursor    : pointer;
}

.form__input:focus,
.form__textarea:focus,
.form__select:focus {
  border-color: var(--color-blue);
  outline     : none;
}

.form__input::placeholder,
.form__textarea::placeholder {
  color  : #A0AAB4;
  opacity: 1;
}

/* Error state */
.form__input.is-error,
.form__textarea.is-error {
  border-color: #FF4444;
}

.form__error {
  font-size: var(--text-xs);
  color    : #FF4444;
  margin-top: 0.25em;
}

/* Message (success / info) */
.form__message {
  font-size    : var(--text-sm);
  padding      : var(--space-sm) var(--space-md);
  border-radius: var(--radius-sm);
  border-left  : 4px solid var(--color-blue);
  background   : rgba(0, 99, 168, 0.08);
  color        : var(--color-navy);
}

.form__message--success {
  border-color: var(--color-green);
  background  : rgba(56, 118, 48, 0.08);
  color       : var(--color-green);
}

.form__message--error {
  border-color: #FF4444;
  background  : rgba(255, 68, 68, 0.08);
  color       : #CC2222;
}

/* Auth card (login / signup) */
.auth-wrap {
  min-height    : 100vh;
  display       : flex;
  align-items   : center;
  justify-content: center;
  background    : var(--color-navy-deep);
  padding       : var(--space-lg);
}

.auth-card {
  background   : var(--color-white);
  border-radius: var(--radius-lg);
  padding      : var(--space-xl) var(--space-xl);
  width        : 100%;
  max-width    : 480px;
  border: 1px solid #D8DDE3;
}

.auth-card__logo {
  display        : flex;
  justify-content: center;
  margin-bottom  : var(--space-lg);
}

.auth-card__logo img {
  height: 56px;
}

.auth-card__title {
  font-size    : var(--text-xl);
  text-align   : center;
  margin-bottom: var(--space-xs);
  color        : var(--color-navy);
}

.auth-card__sub {
  font-size    : var(--text-sm);
  text-align   : center;
  opacity      : 0.6;
  margin-bottom: var(--space-lg);
  color        : var(--color-black);
}

.auth-card__footer {
  margin-top : var(--space-md);
  text-align : center;
  font-size  : var(--text-xs);
  color      : var(--color-black);
  opacity    : 0.6;
}

.auth-card__footer a {
  color          : var(--color-blue);
  text-decoration: underline;
  opacity        : 1;
}
