/* Page Contact — Crosstensor (refonte .ct-ui, 2026-09-08) */

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: var(--ct-space-xxl);
  align-items: start;
}
@media (max-width: 900px) {
  .contact-layout { grid-template-columns: minmax(0, 1fr); }
  /* .contact-sidebar ne passe plus en order:-1 (demande directe,
     2026-09-14) : le formulaire (.contact-form-card, déjà avant la
     colonne latérale dans le DOM) doit rester au-dessus sur mobile —
     l'ordre par défaut suffit une fois cette règle retirée. */
}

/* ---- Carte formulaire ---- */
.contact-form-card { padding: var(--ct-space-xl); }
.contact-form-card__title { margin-bottom: var(--ct-space-lg); }
.contact-form-card form {
  display: flex;
  flex-direction: column;
  gap: var(--ct-space-lg);
}
.contact-form-card__success {
  margin-bottom: var(--ct-space-lg);
}

/* ---- Colonne latérale ---- */
.contact-sidebar__title { font-size: var(--ct-font-size-xl); margin-bottom: var(--ct-space-sm); }
.contact-sidebar__lead { margin-bottom: var(--ct-space-lg); }

.contact-sidebar__methods {
  display: flex;
  flex-direction: column;
  gap: var(--ct-space-sm);
}

.contact-sidebar__newsletter { margin-top: var(--ct-space-lg); }
.contact-sidebar__newsletter-title {
  font-weight: var(--ct-font-weight-bold);
  color: var(--ct-color-text);
  margin-bottom: var(--ct-space-xs);
}
.contact-sidebar__newsletter-form {
  display: flex;
  flex-direction: column;
  gap: var(--ct-space-sm);
  margin-top: var(--ct-space-md);
}
.contact-sidebar__newsletter-form .ct-btn { justify-content: center; }
.email-capture-success { color: var(--ct-color-accent-green-aaa); font-size: var(--ct-font-size-sm); margin-top: var(--ct-space-sm); }
.email-capture-error { color: var(--ct-color-accent-red-ink); font-size: var(--ct-font-size-sm); margin-top: var(--ct-space-sm); }

/* ---- Réassurance (46 · .ct-trust, une seule colonne dans cette colonne étroite) ---- */
.contact-sidebar__trust {
  margin-top: var(--ct-space-lg);
  padding-top: var(--ct-space-lg);
  border-top: 1px solid var(--ct-color-line-cool);
}
.contact-sidebar__trust .ct-trust__grid { grid-template-columns: minmax(0, 1fr); gap: var(--ct-space-lg); }
