/* GLOBALPRINT — Pages auth (Figma 881 · 810) */
:root {
  --auth-input-border: #3a3a33;
  --auth-alert-bg: #26261f;
}

body.page-auth {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
}

.auth-mobile-bar {
  display: none;
  background: var(--bg);
  position: sticky;
  top: 0;
  z-index: 100;
}

/* Topbar */
.auth-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px var(--pad);
  min-height: 80px;
}
.auth-topbar__brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.auth-topbar__mark {
  width: 36px;
  height: 36px;
  border-radius: 18px;
  background: var(--lime);
  color: var(--bg);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.auth-topbar__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.02em;
  color: var(--cream);
}
.auth-topbar__right {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.auth-topbar__phone {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--cream);
}
.auth-topbar__dot {
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background: var(--gray);
  flex-shrink: 0;
}
.auth-topbar__back {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--lime);
  transition: opacity 0.2s;
}
.auth-topbar__back:hover { opacity: 0.85; }

.auth-rule {
  height: 1px;
  background: var(--border);
  width: 100%;
}

/* Hero */
.auth-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding: 72px var(--pad) 40px;
  text-align: center;
}
.auth-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lime);
}
.auth-hero__eyebrow::before {
  content: "";
  width: 40px;
  height: 4px;
  background: var(--lime);
  flex-shrink: 0;
}
.auth-hero__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(48px, 8vw, 80px);
  line-height: 0.96;
  letter-spacing: -0.02em;
  color: var(--cream);
}
.auth-hero__desc {
  max-width: 720px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--gray);
}

/* Stage */
.auth-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 20px var(--pad) 80px;
  flex: 1;
}

/* Alerts */
.auth-alerts {
  width: 100%;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.auth-alert {
  display: none;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 4px;
  background: var(--auth-alert-bg);
  border: 1.5px solid transparent;
}
.auth-alert.is-visible { display: flex; }
.auth-alert--success { border-color: var(--lime); }
.auth-alert--error { border-color: var(--orange); }
.auth-alert__icon {
  width: 28px;
  height: 28px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
}
.auth-alert--success .auth-alert__icon {
  background: var(--lime);
  color: var(--bg);
}
.auth-alert--error .auth-alert__icon {
  background: var(--orange);
  color: var(--cream);
}
.auth-alert__body { flex: 1; min-width: 0; }
.auth-alert__title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--cream);
}
.auth-alert__text {
  font-size: 12px;
  color: var(--gray);
  margin-top: 2px;
}
.auth-alert__close {
  font-size: 16px;
  font-weight: 600;
  color: var(--gray);
  padding: 4px;
  line-height: 1;
}
.auth-alert__close:hover { color: var(--cream); }

/* Card */
.auth-card {
  width: 100%;
  max-width: 640px;
  background: var(--bg-elevated);
  border: 2px solid var(--lime);
  border-radius: 6px;
  padding: 48px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.auth-card__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lime);
}
.auth-card__eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: var(--lime);
  flex-shrink: 0;
}
.auth-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(32px, 5vw, 40px);
  letter-spacing: -0.01em;
  color: var(--cream);
  margin-top: 8px;
}
.auth-card__subtitle {
  font-size: 13px;
  color: var(--gray);
  margin-top: 4px;
}
.auth-card__divider {
  height: 1px;
  background: var(--border);
}

/* Form */
.auth-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.auth-field {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.auth-field__label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cream);
}
.auth-field__required {
  color: var(--lime);
  font-size: 9px;
}
.auth-input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 58px;
  padding: 0 18px;
  background: var(--bg);
  border: 2px solid var(--auth-input-border);
  border-radius: 4px;
  transition: border-color 0.2s;
}
.auth-input-wrap--focus,
.auth-input-wrap:focus-within {
  border-color: var(--lime);
}
.auth-input-wrap--lime {
  border-color: var(--lime);
}
.auth-input-prefix {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--gray);
  flex-shrink: 0;
}
.auth-input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  color: var(--cream);
  font-family: var(--font-body);
  font-size: 15px;
  outline: none;
}
.auth-input::placeholder { color: var(--gray); }
.auth-input-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--gray);
  flex-shrink: 0;
  padding: 4px 0;
}
.auth-input-toggle:hover { color: var(--cream); }
.auth-input-toggle__icon { font-size: 15px; }

.auth-form__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.auth-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  color: var(--cream);
}
.auth-checkbox input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.auth-checkbox__box {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  border: 2px solid var(--auth-input-border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 600;
  color: transparent;
  transition: background 0.2s, border-color 0.2s;
}
.auth-checkbox input:checked + .auth-checkbox__box {
  background: var(--lime);
  border-color: var(--lime);
  color: var(--bg);
}
.auth-link {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--lime);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.auth-link:hover { opacity: 0.85; }

.auth-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  height: 64px;
  padding: 0 28px;
  background: var(--lime);
  color: var(--bg);
  border-radius: 4px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.08em;
  transition: opacity 0.2s;
}
.auth-submit:hover { opacity: 0.92; }
.auth-submit__arrow {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
}

.auth-card__signup {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
  padding: 0 28px;
  border: 1.5px solid var(--auth-input-border);
  border-radius: 4px;
  font-size: 13px;
  color: var(--gray);
  text-align: center;
  flex-wrap: wrap;
  gap: 8px;
}
.auth-card__signup a {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--lime);
}
.auth-card__signup a:hover { opacity: 0.85; }

.auth-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--gray);
}

/* Help bar */
.auth-help {
  width: 100%;
  max-width: 640px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 16px 24px;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 4px;
}
.auth-help__left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.auth-help__avatar {
  width: 40px;
  height: 40px;
  border-radius: 20px;
  background: var(--lime);
  color: var(--bg);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.auth-help__title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--cream);
}
.auth-help__text {
  font-size: 11px;
  color: var(--gray);
  margin-top: 2px;
}
.auth-help__phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: var(--bg);
  border: 1px solid var(--auth-input-border);
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--cream);
  white-space: nowrap;
}
.auth-help__phone span:first-child { color: var(--lime); }

/* Mini footer */
.auth-footer {
  margin-top: auto;
  background: var(--bg-elevated);
  width: 100%;
}
.auth-footer__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  padding: 28px var(--pad);
  border-bottom: 1px solid var(--border);
}
.auth-footer__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.auth-footer__mark {
  width: 28px;
  height: 28px;
  border-radius: 14px;
  background: var(--lime);
  color: var(--bg);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.auth-footer__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
}
.auth-footer__sep {
  width: 1px;
  height: 14px;
  background: var(--auth-input-border);
}
.auth-footer__addr {
  font-size: 12px;
  color: var(--gray);
}
.auth-footer__legal {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--gray);
  letter-spacing: 0.02em;
}
.auth-footer__legal a:hover { color: var(--cream); }
.auth-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 14px var(--pad);
  background: var(--bg);
  font-size: 11px;
  color: var(--gray);
  letter-spacing: 0.02em;
}
.auth-footer__status {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--lime);
}
.auth-footer__status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: var(--lime);
}

@media (max-width: 768px) {
  :root { --pad: 24px; }
  .auth-card { padding: 32px 24px; }
  .auth-topbar { padding: 20px var(--pad); }
  .auth-hero { padding-top: 48px; }
  .auth-footer__bar,
  .auth-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ——— Inscription (Figma 810:2) — pleine largeur, sans aside ——— */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.page-auth--inscription .auth-stage {
  align-items: stretch;
  width: 100%;
  max-width: none;
}

.page-auth--inscription .auth-hero__desc {
  max-width: 840px;
}

.auth-topbar__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--cream);
}

.register-card {
  width: 100%;
  max-width: none;
  background: var(--bg-elevated);
  border: 2px solid var(--lime);
  border-radius: 6px;
  padding: clamp(28px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.register-card__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.register-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.register-card__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--lime);
}

.register-card__eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: var(--lime);
}

.register-card__time {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--gray);
}

.register-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(32px, 4vw, 46px);
  letter-spacing: -0.01em;
  line-height: 1.05;
  color: var(--cream);
}

.register-card__subtitle {
  font-size: 13px;
  color: var(--gray);
}

.register-card__hr {
  height: 1px;
  background: var(--border);
  border: none;
}

.form-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
  border: none;
  padding: 0;
  margin: 0;
  min-width: 0;
}

.form-section__head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.form-section__num {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  border: 1.5px solid var(--lime);
  background: var(--auth-alert-bg);
  color: var(--lime);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.form-section__titles {
  flex: 1;
  min-width: 0;
}

.form-section__titles h2 {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cream);
}

.form-section__titles p {
  font-size: 12px;
  color: var(--gray);
  margin-top: 2px;
}

.form-section__chip {
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--auth-alert-bg);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--gray);
  flex-shrink: 0;
}

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

.form-field label,
.form-field__label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--cream);
}

.form-field__req {
  color: var(--lime);
  font-size: 9px;
}

.form-field__hint {
  font-size: 11px;
  color: var(--gray);
}

.form-field__hint--ok {
  color: var(--lime);
}

.form-field input,
.form-field select {
  width: 100%;
  height: 54px;
  padding: 0 16px;
  background: var(--bg);
  border: 1px solid var(--auth-input-border);
  border-radius: 4px;
  color: var(--cream);
  font-family: var(--font-body);
  font-size: 14px;
}

.form-field input:focus,
.form-field select:focus {
  outline: none;
  border-width: 2px;
  border-color: var(--lime);
}

.form-field--with-prefix .form-field__prefix {
  position: relative;
}

.form-field--with-prefix .form-field__prefix span {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--gray);
  font-weight: 600;
  font-size: 13px;
  pointer-events: none;
  z-index: 1;
}

.form-field--with-prefix input {
  padding-left: 40px;
}

.form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.form-row--3 {
  grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);
}

.form-field--password {
  position: relative;
}

.form-field--password input {
  padding-right: 100px;
}

.form-field__toggle {
  position: absolute;
  right: 16px;
  top: 38px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--gray);
}

.pw-strength {
  background: var(--auth-alert-bg);
  border-radius: 6px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pw-strength__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.pw-strength__label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--cream);
}

.pw-strength__bars {
  display: flex;
  gap: 4px;
  height: 8px;
}

.pw-strength__bars span {
  flex: 1;
  border-radius: 4px;
  background: var(--auth-input-border);
}

.pw-strength__bars span.is-on {
  background: var(--lime);
}

.civ-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.civ-opt {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 54px;
  padding: 0 18px;
  border-radius: 4px;
  border: 1px solid var(--auth-input-border);
  background: var(--bg);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.civ-opt input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.civ-opt__radio {
  width: 20px;
  height: 20px;
  border-radius: 10px;
  border: 1.5px solid var(--auth-input-border);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.civ-opt__radio::after {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: transparent;
}

.civ-opt.is-selected,
.civ-opt:has(input:checked) {
  border: 2px solid var(--lime);
  background: var(--auth-alert-bg);
}

.civ-opt.is-selected .civ-opt__radio,
.civ-opt:has(input:checked) .civ-opt__radio {
  border-color: var(--lime);
}

.civ-opt.is-selected .civ-opt__radio::after,
.civ-opt:has(input:checked) .civ-opt__radio::after {
  background: var(--lime);
}

.referral-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.referral-opt {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border-radius: 4px;
  border: 1px solid var(--auth-input-border);
  background: var(--bg);
  cursor: pointer;
  text-align: left;
  min-height: 100%;
  position: relative;
}

.referral-opt input {
  position: absolute;
  opacity: 0;
}

.referral-opt__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.referral-opt__icon {
  font-size: 16px;
}

.referral-opt__radio {
  width: 18px;
  height: 18px;
  border-radius: 9px;
  border: 1.5px solid var(--auth-input-border);
  display: flex;
  align-items: center;
  justify-content: center;
}

.referral-opt__radio::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: transparent;
}

.referral-opt__title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--cream);
}

.referral-opt__desc {
  font-size: 11px;
  color: var(--gray);
  line-height: 1.4;
}

.referral-opt.is-selected,
.referral-opt:has(input:checked) {
  border: 2px solid var(--lime);
  background: var(--auth-alert-bg);
}

.referral-opt.is-selected .referral-opt__radio,
.referral-opt:has(input:checked) .referral-opt__radio {
  border-color: var(--lime);
}

.referral-opt.is-selected .referral-opt__radio::after,
.referral-opt:has(input:checked) .referral-opt__radio::after {
  background: var(--lime);
}

.consent-row {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 4px;
  border: 1px solid var(--auth-input-border);
  background: var(--auth-alert-bg);
  cursor: pointer;
}

.consent-row--optional {
  background: transparent;
}

.consent-row input[type="checkbox"] {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--lime);
}

.consent-row__title {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--cream);
}

.consent-row__badge {
  background: var(--lime);
  color: var(--bg);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 2px 6px;
  border-radius: 2px;
}

.consent-row__desc {
  font-size: 11px;
  color: var(--gray);
  line-height: 1.6;
  margin-top: 3px;
}

.consent-row__link {
  display: inline-block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--lime);
}

.register-cta {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.register-cta__status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--lime);
}

.register-cta__status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: var(--lime);
}

.btn-register {
  width: 100%;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: var(--lime);
  color: var(--bg);
  border-radius: 4px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.08em;
  transition: opacity 0.2s;
}

.btn-register:hover {
  opacity: 0.92;
}

.btn-register__arrow {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
}

.register-login {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  min-height: 60px;
  padding: 12px;
  border: 1.5px solid var(--auth-input-border);
  border-radius: 4px;
  font-size: 13px;
  color: var(--gray);
}

.register-login a {
  color: var(--lime);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.register-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--gray);
}

.auth-footer__links {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--gray);
}

.auth-footer__links a:hover {
  color: var(--cream);
}

.auth-footer__badge {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--lime);
}

.auth-footer__badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: var(--lime);
}

@media (max-width: 1024px) {
  .page-auth--inscription .referral-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .page-auth--inscription .form-row,
  .page-auth--inscription .form-row--3,
  .page-auth--inscription .civ-row {
    grid-template-columns: 1fr;
  }

  .page-auth--inscription .referral-grid {
    grid-template-columns: 1fr;
  }

  .page-auth--inscription .register-card {
    padding: 28px 20px;
  }
}

/* ——— Connexion (Figma 881:2) — pleine largeur, aligné inscription ——— */
.page-auth--connexion main {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.page-auth--connexion .auth-stage {
  align-items: stretch;
  width: 100%;
  max-width: none;
  padding: 20px var(--pad) 80px;
}

.page-auth--connexion .auth-hero {
  padding-bottom: 32px;
}

.page-auth--connexion .auth-alerts {
  width: 100%;
  max-width: none;
}

.page-auth--connexion .auth-help {
  width: 100%;
  max-width: none;
}

.page-auth--connexion .form-section__titles h3 {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cream);
}

.login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.login-options__remember {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  color: var(--cream);
}

.login-options__remember input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.login-options__box {
  width: 22px;
  height: 22px;
  border-radius: 4px;
  border: 2px solid var(--auth-input-border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 600;
  color: transparent;
  transition: background 0.2s, border-color 0.2s;
}

.login-options__remember input:checked + .login-options__box {
  background: var(--lime);
  border-color: var(--lime);
  color: var(--bg);
}

.login-options__forgot {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--lime);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.login-options__forgot:hover {
  opacity: 0.85;
}

@media (max-width: 768px) {
  .page-auth--connexion .register-card {
    padding: 28px 20px;
  }

  .page-auth--connexion .login-options {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Mobile ~376px — Figma Auth Connexion (1:44702) & Devenir client (1:47493) */
@media (max-width: 430px) {
  .page-auth {
    --pad: 8px;
  }

  .page-auth .auth-topbar {
    padding: 8px;
    min-height: auto;
    justify-content: space-between;
  }

  .page-auth .auth-topbar__mark,
  .page-auth .auth-topbar__name {
    display: none;
  }

  .page-auth .auth-topbar {
    display: none;
  }

  .page-auth .auth-mobile-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    border-bottom: 1px solid var(--border);
  }

  .page-auth .auth-mobile-bar__actions {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .page-auth .btn-cart--icon-only .btn-cart__text,
  .page-auth .btn-cart--icon-only .btn-cart__badge {
    display: none;
  }

  .auth-topbar__logo {
    display: none;
    height: 48px;
    width: auto;
    max-width: 158px;
  }

  .page-auth .auth-rule {
    display: none;
  }

  .page-auth .auth-hero {
    padding: 16px 8px 16px;
    gap: 8px;
    align-items: center;
    text-align: center;
  }

  .page-auth .auth-hero__eyebrow {
    font-size: 14px;
    letter-spacing: 0.06em;
    gap: 8px;
  }

  .page-auth .auth-hero__eyebrow::before {
    width: 20px;
    height: 2px;
  }

  .page-auth .auth-hero__title {
    font-size: 36px;
    letter-spacing: -0.01em;
  }

  .page-auth .auth-hero__desc {
    font-size: 16px;
    color: var(--gray);
  }

  .page-auth--connexion .auth-stage,
  .page-auth--inscription .auth-stage {
    padding: 8px 8px 80px;
  }

  .page-auth .register-card,
  .page-auth--connexion .register-card,
  .page-auth--inscription .register-card {
    padding: 24px 8px;
    gap: 16px;
    border-width: 2px;
    border-radius: 6px;
  }

  .page-auth .register-card__title {
    font-size: 36px;
    letter-spacing: -0.01em;
  }

  .page-auth .register-card__subtitle {
    font-size: 14px;
  }

  .page-auth .form-section__head {
    flex-wrap: wrap;
  }

  .page-auth .form-section__chip {
    width: 100%;
    text-align: left;
    margin-top: 4px;
  }

  .page-auth .btn-register,
  .page-auth .register-cta .btn-register {
    width: 100%;
    height: 48px;
  }

  .page-auth .register-login {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    height: auto;
    padding: 8px 0;
  }

  .page-auth .register-trust {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }

  .page-auth--connexion .auth-help,
  .page-auth--connexion .auth-alerts {
    margin-bottom: 16px;
  }

  .page-auth--connexion .login-options {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
  }

  .page-auth--connexion .login-options__forgot {
    font-size: 14px;
    margin-left: auto;
  }

  .page-auth .auth-footer__bar,
  .page-auth .auth-footer__bottom {
    padding-left: 8px;
    padding-right: 8px;
  }

  .page-auth .auth-footer {
    margin-top: auto;
  }

  .page-auth--inscription .referral-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .page-auth--inscription .referral-pill {
    min-height: 44px;
    font-size: 12px;
    padding: 10px 8px;
  }
}

/* Vérification e-mail — Figma 1:45088 */
.page-auth--verify .verify-countdown {
  width: 100%;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}

.page-auth--verify .verify-countdown__label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--gray);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.page-auth--verify .verify-countdown__label::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e63946;
}

.page-auth--verify .verify-clock {
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-auth--verify .verify-clock__unit {
  text-align: center;
}

.page-auth--verify .verify-clock__value {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  letter-spacing: -0.03em;
}

.page-auth--verify .verify-clock__unit:first-child .verify-clock__value {
  color: var(--lime);
}

.page-auth--verify .verify-clock__sep {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  padding-bottom: 18px;
}

.page-auth--verify .verify-clock__sub {
  font-size: 14px;
  font-weight: 500;
  color: var(--gray);
  margin-top: 4px;
}

.page-auth--verify .verify-progress {
  width: 100%;
  height: 4px;
  background: var(--border);
}

.page-auth--verify .verify-progress__bar {
  height: 100%;
  width: 79%;
  background: var(--lime);
}

.page-auth--verify .verify-ctas {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.page-auth--verify .verify-ctas .btn-register {
  width: 100%;
}

.page-auth--verify .verify-ctas__ghost {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 100%;
  border: 1px solid var(--cream);
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 16px;
}

.page-auth--verify .verify-tips {
  padding: 32px 8px 80px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  text-align: center;
}

.page-auth--verify .verify-tips__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.page-auth--verify .verify-tip-cards {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.page-auth--verify .verify-tip-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 16px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.page-auth--verify .verify-tip-card__head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--lime);
}

.page-auth--verify .verify-tip-card__head span:nth-child(2) {
  width: 2px;
  height: 12px;
  background: var(--border);
}

.page-auth--verify .verify-tip-card__icon {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  color: var(--lime);
}

.page-auth--verify .verify-tip-card h3 {
  font-size: 20px;
  font-weight: 600;
}

.page-auth--verify .verify-tip-card p {
  font-size: 14px;
  color: var(--gray);
  line-height: 1.5;
}

.page-auth--verify .verify-tip-card hr {
  border: none;
  height: 1px;
  background: var(--border);
  margin: 0;
}

@media (max-width: 430px) {
  .page-auth--verify .auth-hero {
    padding-bottom: 0;
  }

  .page-auth--verify .auth-stage--verify {
    padding: 16px 8px 0;
    align-items: center;
  }
}

/* Tablette ~768px — Figma Auth / Tablet 768 */
@media (min-width: 431px) and (max-width: 1024px) {
  .page-auth {
    --pad: 32px;
  }

  .page-auth .auth-topbar {
    display: none;
  }

  .page-auth .auth-mobile-bar {
    display: flex;
    padding: 14px 32px;
    border-bottom: 1px solid var(--border);
  }

  .page-auth .auth-mobile-bar .logo img {
    max-width: 215px;
    height: 48px;
  }

  .page-auth .auth-mobile-bar .header-search {
    width: 142px;
    min-width: 142px;
    padding: 0 14px;
  }

  .page-auth .auth-mobile-bar .header-search__label {
    display: block;
  }

  .page-auth .auth-mobile-bar .btn-cart--icon-only {
    width: 142px;
    min-width: 142px;
    font-size: 16px;
    letter-spacing: 0.04em;
    gap: 8px;
  }

  .page-auth .auth-mobile-bar .btn-cart--icon-only .btn-cart__text {
    display: inline;
  }

  .page-auth .auth-mobile-bar .btn-cart--icon-only .btn-cart__badge {
    display: flex;
  }

  .page-auth .auth-hero {
    padding: 24px 32px 24px;
  }

  .page-auth .auth-hero__title {
    font-size: 56px;
  }

  .page-auth--connexion .auth-stage,
  .page-auth--inscription .auth-stage {
    padding: 0 32px 80px;
    align-items: center;
  }

  .page-auth .register-card,
  .page-auth--connexion .register-card,
  .page-auth--inscription .register-card {
    max-width: 560px;
    margin: 0 auto;
    width: 100%;
    padding: 24px 48px;
  }

  .page-auth--inscription .register-card {
    max-width: 100%;
    padding: 32px 40px;
  }

  .page-auth--inscription .form-row,
  .page-auth--inscription .form-row--3 {
    grid-template-columns: repeat(2, 1fr);
  }

  .page-auth--inscription .form-row--3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .page-auth--inscription .referral-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .page-auth--connexion .auth-help {
    display: flex;
    max-width: 560px;
    margin: 24px auto 0;
    width: calc(100% - 64px);
  }

  .page-auth--verify .auth-hero__title {
    font-size: 56px;
  }

  .page-auth--verify .auth-stage--verify {
    padding: 24px 32px 0;
    max-width: 704px;
    margin: 0 auto;
    width: 100%;
  }

  .page-auth--verify .verify-countdown {
    padding: 32px;
  }

  .page-auth--verify .verify-clock__value {
    font-size: 56px;
  }

  .page-auth--verify .verify-ctas {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .page-auth--verify .verify-ctas .btn-register {
    flex: 1 1 280px;
  }

  .page-auth--verify .verify-ctas__ghost {
    flex: 0 0 256px;
    width: auto;
  }

  .page-auth--verify .verify-tips {
    padding: 32px 32px 80px;
    max-width: 704px;
    margin: 0 auto;
    width: 100%;
  }

  .page-auth--verify .verify-tip-cards {
    align-items: center;
  }

  .page-auth--verify .verify-tip-card {
    width: 100%;
    max-width: 414px;
  }
}
