/* Formulaires Furtiveo : base commune, puis un thème par entité. */
*, *::before, *::after { box-sizing: border-box; }
:root {
  --fond: #f2f3f5; --carte: #fff; --encre: #2c3345; --doux: #6b7280; --filet: #d8dce3;
  --accent: #2e69ff; --accent-encre: #fff; --erreur: #c62828; --rayon: 6px;
  --police: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, Arial, sans-serif;
  --police-titre: var(--police);
}
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--fond); color: var(--encre); font: 16px/1.5 var(--police); }
.page { max-width: 720px; margin: 0 auto; padding: 32px 16px 64px; }
.logo { display: block; width: 84px; margin: 0 auto 20px; }
.logo img { width: 100%; height: auto; display: block; }
.carte { background: var(--carte); border-radius: var(--rayon); box-shadow: 0 2px 16px rgba(20, 30, 50, .08); padding: 32px 28px; }
.entete { border-bottom: 1px solid var(--filet); margin: -4px -28px 24px; padding: 0 28px 20px; }
h1 { font-family: var(--police-titre); font-size: 26px; line-height: 1.2; margin: 0; color: var(--titre, var(--encre)); font-weight: 600; }
.sous-titre { margin: 6px 0 0; color: var(--titre, var(--doux)); font-size: 14px; }
.texte { margin: 0 0 20px; font-size: 15px; }
.texte p, .texte ol, .texte ul { margin: 0 0 10px; }
.centre { text-align: center; }
.illustration { margin: 0 0 20px; text-align: center; }
.illustration img { max-width: 100%; height: auto; border-radius: var(--rayon); }
.video { position: relative; aspect-ratio: 16 / 9; margin: 0 0 20px; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: var(--rayon); }
.champ { margin: 0 0 22px; }
fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
label, legend { display: block; font-size: 14px; font-weight: 500; margin: 0 0 6px; padding: 0; }
.requis { color: var(--erreur); }
input[type=text], input[type=email], input[type=tel], input:not([type]), select, textarea {
  width: 100%; font: inherit; color: inherit; background: #fff; border: 1px solid var(--filet);
  border-radius: var(--rayon); padding: 10px 12px; min-height: 44px;
}
textarea { resize: vertical; min-height: 120px; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--accent); outline-offset: 0; border-color: var(--accent); }
input[type=file] { font: inherit; font-size: 14px; max-width: 100%; }
.deux { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.deux label { font-weight: 400; margin: 0; }
.deux small { display: block; color: var(--doux); font-size: 12px; margin-top: 3px; }
.option { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 15px; margin: 0 0 8px; cursor: pointer; }
.option input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--accent); flex: none; }
.aide { color: var(--doux); font-size: 13px; margin: 6px 0 0; }
.erreur { color: var(--erreur); font-size: 13px; margin: 6px 0 0; }
.en-erreur input, .en-erreur textarea, .en-erreur select { border-color: var(--erreur); }
.alerte { background: #fdecea; color: var(--erreur); border-radius: var(--rayon); padding: 10px 14px; font-size: 14px; }
.bandeau-test { background: #fff4d6; color: #7a5300; border-radius: var(--rayon); padding: 8px 12px; font-size: 13px; margin: 0 0 20px; }
.bouton { display: inline-block; font: inherit; font-weight: 600; background: var(--accent); color: var(--accent-encre);
  border: 0; border-radius: var(--rayon); padding: 13px 28px; cursor: pointer; min-height: 48px; }
.bouton:hover { filter: brightness(1.08); }
.bouton[disabled] { opacity: .6; cursor: wait; }
.piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
[hidden] { display: none !important; }
.merci { text-align: center; padding: 24px 0; }
.merci p { font-size: 17px; }
.lien { color: var(--accent); }
@media (max-width: 520px) {
  .page { padding-top: 20px; }
  .carte { padding: 24px 18px; }
  .entete { margin: -4px -18px 20px; padding: 0 18px 16px; }
  .deux { grid-template-columns: 1fr; }
  .bouton { width: 100%; }
}

/* Elag'Arbre : vert de la marque, fond gris clair, logo rond */
.theme-elagarbre { --accent: #7a9449; --titre: #7a9449; --fond: #ececec; }
.theme-elagarbre .entete h1 { font-weight: 600; }

/* Le Château du Buisson : photo du domaine, Cormorant Garamond + Jost, brique */
@font-face { font-family: "Cormorant Garamond"; font-weight: 500; font-display: swap;
  src: url("polices/cormorant-garamond-500.woff2") format("woff2"); }
@font-face { font-family: "Jost"; font-weight: 400 500; font-display: swap;
  src: url("polices/jost.woff2") format("woff2"); }
.theme-chateau { --accent: #A5573C; --encre: #20261C; --doux: #575d52; --titre: #20261C; --filet: #ddd6c8;
  --police: "Jost", -apple-system, "Segoe UI", sans-serif; --police-titre: "Cormorant Garamond", Georgia, serif;
  --rayon: 4px; background: #3D4A38 url("chateau/fond.jpg") center / cover fixed; }
.theme-chateau .page { max-width: 560px; }
.theme-chateau .carte { background: #FFFDF8; }
.theme-chateau .entete { text-align: center; }
.theme-chateau h1 { font-size: 40px; font-weight: 500; }
.theme-chateau .sous-titre { font-size: 15px; }
.theme-chateau .bouton { border-radius: 99px; text-transform: uppercase; letter-spacing: .16em; font-size: 13px;
  font-weight: 500; padding: 16px 36px; display: block; margin: 8px auto 0; }
@media (max-width: 520px) { .theme-chateau { background-attachment: scroll; } .theme-chateau h1 { font-size: 34px; } }

/* Next Dynamic Partners : or #c3b768, encre #222, Mulish */
@font-face { font-family: "Mulish"; font-weight: 400 700; font-display: swap;
  src: url("polices/mulish.woff2") format("woff2"); }
.theme-ndp { --accent: #c3b768; --accent-encre: #222; --encre: #222; --titre: #222; --fond: #fff;
  --police: "Mulish", -apple-system, "Segoe UI", sans-serif; }
.theme-ndp .texte h1 { font-size: 24px; font-weight: 700; margin: 0 0 12px; }
.theme-ndp .texte { border-bottom: 1px solid var(--filet); padding-bottom: 8px; }
.theme-ndp input:focus, .theme-ndp select:focus, .theme-ndp textarea:focus { outline-color: #a99d4f; border-color: #a99d4f; }

/* Furtiveo : bleu #5364ff, logo noir */
.theme-furtiveo { --accent: #5364ff; --encre: #10121a; --titre: #10121a; --fond: #f6f7fa; --filet: #d9dce5; }
.theme-furtiveo .logo { width: 150px; }
.theme-furtiveo .bouton { width: 100%; }
.theme-furtiveo .illustration img { max-height: 340px; }
