.mc {
  width: 100%;
  padding: 4rem 0;
}
.mc-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.mc-h2 {
  font-family: 'Parisienne', cursive;
  font-size: 2.25rem;
  text-align: left;
  margin: 0 0 2rem;
  color: var(--c-primary, #002450);
}
.mc-alert {
  padding: 0.9rem 1.2rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  font-family: 'Merriweather', Georgia, serif;
}
.mc-alert-ok { background: #e7f6ec; color: #1e7e44; border: 1px solid #b6e0c4; }
.mc-alert-err { background: #fdecea; color: #b3261e; border: 1px solid #f5c2c0; }

.mc-field { margin-bottom: 1.1rem; }
.mc-field label {
  display: block;
  font-family: 'Merriweather', Georgia, serif;
  font-weight: 700;
  color: var(--mc-txt, #002450);
  margin-bottom: 0.35rem;
}
.mc-field-check label { color: var(--mc-txt, #002450); }
.mc-cgv-text, .mc-cgv-text p, .mc-cgv-text a, .mc-cgv-text span, .mc-cgv-text strong {
  color: var(--mc-txt, #002450) !important;
}
.mc-field input[type="text"],
.mc-field input[type="email"],
.mc-field input[type="tel"],
.mc-field textarea {
  width: 100%;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--mc-border, #cfcfcf);
  border-radius: 6px;
  font-family: 'Merriweather', Georgia, serif;
  font-size: 1rem;
  background: #fff;
}
.mc-field input:focus,
.mc-field textarea:focus {
  outline: none;
  border-color: var(--c-btn-main, #c8a45a);
}
.mc-field-check label {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-weight: 400;
}
.mc-field-check input { margin-top: 4px; flex-shrink: 0; }
.mc input[type="checkbox"] { accent-color: auto; }
.mc-cgv-text { font-size: 0.92rem; line-height: 1.5; }
.mc-cgv-text p { margin: 0; display: inline; }

/* Honeypot : invisible */
.mc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mc-submit {
  margin-top: 0.5rem;
  cursor: pointer;
}

/* Cache le H1 par défaut du thème sur la page contact */
#contact .page-header { display: none !important; }

/* ---- Page contact ---- */
.mc-page { padding: 3rem 0 4rem; }
.mc-page-header { text-align: left; margin-bottom: 2.5rem; }
.mc-h1 {
  font-family: 'Parisienne', cursive;
  font-size: 2.8rem;
  color: var(--c-primary, #002450);
  margin: 0 0 0.6rem;
}
.mc-subtitle {
  font-family: 'Merriweather', Georgia, serif;
  font-size: 1rem;
  color: var(--c-primary, #002450);
  opacity: 0.75;
  margin: 0;
  font-style: italic;
}
.mc-form-contact { max-width: 640px; margin: 0; }
.mc-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .mc-row-2 { grid-template-columns: 1fr; } }

.mc-field-toggle { border: 1px solid rgba(0,36,80,0.15); border-radius: 8px; padding: 0.8rem 1rem; background: rgba(0,36,80,0.03); }
.mc-toggle-label { display: flex; align-items: center; gap: 0.6rem; cursor: pointer; font-weight: 600; margin: 0; }
.mc-toggle-label input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; }
.mc-reveal { margin-top: 0.8rem; padding-top: 0.8rem; border-top: 1px solid rgba(0,36,80,0.1); }
.mc-reveal label { font-size: 0.9rem; }

/* Disposition des champs : le formulaire est une grille souple. Un champ occupe toute la largeur,
   un champ « demi-colonne » la moitié — deux consécutifs se placent donc côte à côte. */
.mc-form { display: flex; flex-wrap: wrap; column-gap: 1rem; }
.mc-field { flex: 1 1 100%; }
.mc-field-half { flex: 1 1 calc(50% - 0.5rem); }
@media (max-width: 600px) { .mc-field-half { flex-basis: 100%; } }
