/* ==========================================================================
   MNP Form — Design « mnp » (palette maquette : teal #115468, vert #70C98C)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

.mnp-design--mnp.mnpf-wrapper,
body.mnp-form-embed.mnp-design--mnp .mnpf-wrapper {
  --mnpf-primary: #104e5b;
  --mnpf-primary-hover: #0d4249;
  --mnpf-primary-light: rgba(16, 78, 91, 0.1);
  --mnpf-primary-ring: rgba(16, 78, 91, 0.28);
  --mnpf-success: #70c98c;
  --mnpf-success-light: rgba(112, 201, 140, 0.12);
  --mnpf-success-border: #70c98c;
  --mnpf-mnp-accent: #70c98c;
  --mnpf-mnp-muted: #999999;
  --mnpf-mnp-input-bg: #f2f2f2;
  --mnpf-gray-50: #f2f2f2;
  --mnpf-gray-100: #e8e8e8;
  --mnpf-gray-200: #e0e0e0;
  --mnpf-gray-400: #9ca3af;
  --mnpf-gray-500: #6b7280;
  --mnpf-gray-600: #4b5563;
  --mnpf-gray-700: #374151;
  --mnpf-gray-800: #1f2937;
  --mnpf-gray-900: #111827;
  --mnpf-error: #dc2626;
  --mnpf-radius: 10px;
  --mnpf-radius-lg: 16px;
  --mnpf-shadow: 0 4px 24px rgba(17, 84, 104, 0.06);
  --mnpf-shadow-lg: 0 12px 40px rgba(17, 84, 104, 0.08);
  font-family: "Montserrat", "Poppins", system-ui, -apple-system, sans-serif;
}

.mnpf-form-section {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

body.mnp-form-embed.mnp-design--mnp {
  background: #ffffff;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-wrapper {
  color: var(--mnpf-gray-900);
}

/* Étapes : cercles en contour (actif = vert), inactif = gris */
.mnp-design--mnp .mnpf-progress-step--active .mnpf-progress-circle {
  border-color: var(--mnpf-mnp-accent);
  background: #ffffff;
  color: var(--mnpf-mnp-accent);
  box-shadow: none;
}

.mnp-design--mnp .mnpf-progress-step--active .mnpf-progress-label {
  color: var(--mnpf-mnp-accent);
  font-weight: 600;
}

.mnp-design--mnp .mnpf-progress-step:not(.mnpf-progress-step--active):not(.mnpf-progress-step--done) .mnpf-progress-circle {
  border-color: #cccccc;
  background: #ffffff;
  color: var(--mnpf-mnp-muted);
}

.mnp-design--mnp .mnpf-progress-step:not(.mnpf-progress-step--active):not(.mnpf-progress-step--done) .mnpf-progress-label {
  color: var(--mnpf-mnp-muted);
}

.mnp-design--mnp .mnpf-progress-step--done .mnpf-progress-circle {
  border-color: var(--mnpf-mnp-accent);
  background: var(--mnpf-mnp-accent);
  color: #ffffff;
}

.mnp-design--mnp .mnpf-progress-line-fill {
  background: var(--mnpf-mnp-accent);
}

.mnp-design--mnp .mnpf-progress-step--done .mnpf-progress-label {
  color: var(--mnpf-gray-700);
}

/* Titres d’étape */
.mnp-design--mnp .mnpf-step-title {
  color: #000000;
  font-weight: 700;
}

.mnp-design--mnp .mnpf-step-desc {
  color: var(--mnpf-gray-500);
}

/* Champs : fond gris clair, peu de bordure */
.mnp-design--mnp .mnpf-field input[type="text"],
.mnp-design--mnp .mnpf-field input[type="email"],
.mnp-design--mnp .mnpf-field input[type="tel"],
.mnp-design--mnp .mnpf-field textarea,
.mnp-design--mnp .mnpf-field select {
  border: 1px solid transparent;
  background: var(--mnpf-mnp-input-bg);
  border-radius: var(--mnpf-radius);
}

.mnp-design--mnp .mnpf-field input:focus,
.mnp-design--mnp .mnpf-field textarea:focus,
.mnp-design--mnp .mnpf-field select:focus {
  border-color: rgba(17, 84, 104, 0.35);
  background: #ffffff;
  box-shadow: 0 0 0 3px var(--mnpf-primary-light);
}

.mnp-design--mnp .mnpf-address-spinner {
  border-color: #e0e0e0;
  border-top-color: var(--mnpf-primary);
}

.mnp-design--mnp .mnpf-address-suggestions {
  border-color: var(--mnpf-gray-200);
}

.mnp-design--mnp .mnpf-address-suggestions li:hover,
.mnp-design--mnp .mnpf-address-suggestions li[aria-selected="true"] {
  background: var(--mnpf-primary-light);
  color: var(--mnpf-primary);
}

/* Boutons principaux : fond teal, texte blanc, largeur auto, alignés à droite */
.mnp-design--mnp .mnpf-actions:not(.mnpf-actions--between) {
  justify-content: flex-end;
}

.mnp-design--mnp .mnpf-btn--primary {
  background: var(--mnpf-primary);
  color: #ffffff;
  border-radius: 50px;
  border: none;
  font-weight: 600;
  padding: 0.9rem 1.5rem;
  box-shadow: 0 4px 16px rgba(16, 78, 91, 0.35);
  width: auto;
}

.mnp-design--mnp .mnpf-btn--primary:hover {
  background: var(--mnpf-primary-hover);
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(16, 78, 91, 0.4);
}

.mnp-design--mnp .mnpf-btn--primary svg {
  color: #ffffff;
  stroke: currentColor;
}

.mnp-design--mnp .mnpf-btn--primary:hover svg {
  color: #ffffff;
}

.mnp-design--mnp .mnpf-actions--between .mnpf-btn--submit.mnpf-btn--primary {
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
  justify-content: center;
}

.mnp-design--mnp .mnpf-btn--primary .mnpf-btn-loader {
  color: #ffffff;
}

.mnp-design--mnp .mnpf-btn--ghost {
  color: var(--mnpf-primary);
  border-radius: 50px;
}

.mnp-design--mnp .mnpf-btn--ghost:hover {
  background: var(--mnpf-primary-light);
}

/* Succès */
.mnp-design--mnp .mnpf-success-icon {
  color: var(--mnpf-mnp-accent);
}

.mnp-design--mnp .mnpf-success-title {
  color: var(--mnpf-gray-900);
}

/* Checkbox RGPD */
.mnp-design--mnp .mnpf-checkbox-box {
  border-color: var(--mnpf-gray-300);
}

.mnp-design--mnp .mnpf-checkbox-input:checked+.mnpf-checkbox-box {
  border-color: var(--mnpf-primary);
  background: var(--mnpf-primary);
}

/* --------------------------------------------------------------------------
   Iframe embed : mnp-form-embed.css impose !important (thème sombre) — on rétablit la maquette claire
   -------------------------------------------------------------------------- */
body.mnp-form-embed.mnp-design--mnp .mnpf-step-title,
body.mnp-form-embed.mnp-design--mnp .mnpf-step-desc {
  color: var(--mnpf-gray-900) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-step-desc {
  color: var(--mnpf-gray-500) !important;
  opacity: 1 !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-field label,
body.mnp-form-embed.mnp-design--mnp .mnpf-field .mnpf-checkbox-text {
  color: var(--mnpf-gray-700) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-req {
  color: var(--mnpf-error) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-field input[type="text"],
body.mnp-form-embed.mnp-design--mnp .mnpf-field input[type="email"],
body.mnp-form-embed.mnp-design--mnp .mnpf-field input[type="tel"],
body.mnp-form-embed.mnp-design--mnp .mnpf-field textarea,
body.mnp-form-embed.mnp-design--mnp .mnpf-field select {
  background: var(--mnpf-mnp-input-bg) !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  color: #111827 !important;
  box-shadow: none !important;
  padding: 0.75rem 1rem !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-field textarea {
  border-radius: 10px !important;
  min-height: 120px;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-field select {
  border-radius: 10px !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-field input:focus,
body.mnp-form-embed.mnp-design--mnp .mnpf-field textarea:focus,
body.mnp-form-embed.mnp-design--mnp .mnpf-field select:focus {
  border-color: rgba(17, 84, 104, 0.35) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 3px var(--mnpf-primary-light) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-progress-label {
  color: var(--mnpf-mnp-muted) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-progress-step--active .mnpf-progress-label {
  color: var(--mnpf-mnp-accent) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-progress-step--done .mnpf-progress-label {
  color: var(--mnpf-gray-700) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-progress-line {
  background: #e0e0e0 !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-progress-step--active .mnpf-progress-circle {
  border-color: var(--mnpf-mnp-accent) !important;
  background: #ffffff !important;
  color: var(--mnpf-mnp-accent) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-progress-step--done .mnpf-progress-circle {
  border-color: var(--mnpf-mnp-accent) !important;
  background: var(--mnpf-mnp-accent) !important;
  color: #ffffff !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-progress-step:not(.mnpf-progress-step--active):not(.mnpf-progress-step--done) .mnpf-progress-circle {
  border-color: #cccccc !important;
  background: #ffffff !important;
  color: var(--mnpf-mnp-muted) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-progress-line-fill {
  background: var(--mnpf-mnp-accent) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-actions:not(.mnpf-actions--between) {
  justify-content: flex-end !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-btn--primary {
  background: var(--mnpf-primary) !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  box-shadow: 0 4px 16px rgba(16, 78, 91, 0.35) !important;
  width: auto !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-btn--primary:hover {
  background: var(--mnpf-primary-hover) !important;
  color: #ffffff !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-btn--primary svg {
  color: #ffffff !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-actions--between .mnpf-btn--submit.mnpf-btn--primary {
  flex: 0 1 auto !important;
  width: auto !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-btn--ghost {
  background: rgba(0, 0, 0, 0.04) !important;
  color: var(--mnpf-gray-700) !important;
  border: 1px solid var(--mnpf-gray-200) !important;
}

body.mnp-form-embed.mnp-design--mnp .mnpf-btn--ghost:hover {
  background: var(--mnpf-gray-100) !important;
  color: var(--mnpf-gray-800) !important;
}