/* Scope: Contact, Business and Institutions, in both languages. */
.kh-enquiry-page {
  --kh-form-line: var(--kh-sumi-52, rgb(26 20 16 / 0.52));
  --kh-form-muted: var(--kh-sumi-70, rgb(26 20 16 / 0.7));
  background: var(--kh-washi, #f8f4ee);
}
.kh-enquiry-page .content-area { margin-block: clamp(32px, 5vw, 72px); }
.kh-enquiry-page .content-container { max-width: 1080px; }
.kh-enquiry-page .entry { background: transparent; box-shadow: none; border-radius: 0; }
.kh-enquiry-page .entry-content-wrap { padding: 0 clamp(20px, 4vw, 64px); }
.kh-enquiry-page .entry-content > p,
.kh-enquiry-page .entry-content > ul { max-width: 65ch; }
.kh-enquiry-page .entry-title {
  color: var(--kh-sumi, #1a1410);
  font: 400 clamp(42px, 5vw, 68px)/1.08 var(--kh-font-display, "Cormorant Garamond", serif);
}
.kh-enquiry-page .entry-content h2 {
  margin-top: 1.6em;
  font: 400 clamp(30px, 3.5vw, 42px)/1.15 var(--kh-font-display, "Cormorant Garamond", serif);
}
.kh-enquiry-page .fluentform {
  margin-block: 40px;
  padding-block: 32px 0;
  border-top: 1px solid var(--kh-form-line);
  color: var(--kh-sumi, #1a1410);
  font: 400 16px/1.6 var(--kh-font-ui, "DM Sans", sans-serif);
}
.kh-enquiry-page .kh-enquiry-form .ff-el-group { margin-bottom: 24px; }
.kh-enquiry-page .kh-enquiry-form .ff-el-input--label { margin-bottom: 8px; }
.kh-enquiry-page .kh-enquiry-form .ff-el-input--label label { font-weight: 400; }
.kh-enquiry-page .kh-enquiry-form .ff-el-form-control {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--kh-form-line);
  border-radius: 0;
  background: var(--kh-white, #fffdfc);
  box-shadow: none;
  color: var(--kh-sumi, #1a1410);
  font: inherit;
  width: 100%;
  max-width: 100%;
}
.kh-enquiry-page .kh-enquiry-form textarea.ff-el-form-control { min-height: 180px; resize: vertical; }
.kh-enquiry-page .kh-enquiry-form .ff-el-form-control::placeholder { color: var(--kh-form-muted); opacity: 1; }
.kh-enquiry-page .kh-enquiry-form .choices__inner {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--kh-form-line);
  border-radius: 0;
  background: var(--kh-white, #fffdfc);
  font: inherit;
}
.kh-enquiry-page .kh-enquiry-form .choices__input--cloned {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}
.kh-enquiry-page .kh-enquiry-form .choices__input--cloned::placeholder { color: var(--kh-form-muted); opacity: 1; }
.kh-enquiry-page .kh-enquiry-form .choices:focus-within .choices__inner {
  outline: 2px solid var(--kh-vermillon, #c8311a);
  outline-offset: 3px;
}
.kh-enquiry-page .kh-enquiry-form .choices__item--choice { white-space: normal; overflow-wrap: anywhere; }
.kh-enquiry-page .kh-enquiry-form :is(input, select, textarea, button, a):focus-visible {
  outline: 2px solid var(--kh-vermillon, #c8311a);
  outline-offset: 3px;
}
.kh-enquiry-page .kh-enquiry-form input:is([type="checkbox"], [type="radio"]) {
  width: 20px;
  height: 20px;
  accent-color: var(--kh-vermillon, #c8311a);
  vertical-align: middle;
  margin-inline-end: 8px;
}
.kh-enquiry-page .kh-enquiry-form .ff-el-form-check-label { padding-block: 8px; line-height: 1.6; }
.kh-enquiry-page .kh-enquiry-form :is(.ff-el-help-message, .ff-el-section-break) { color: var(--kh-form-muted); }
.kh-enquiry-page .kh-enquiry-form .ff-btn-submit {
  min-height: 48px;
  padding: 14px 28px;
  border: 1px solid var(--kh-vermillon, #c8311a);
  border-radius: 0;
  background: var(--kh-vermillon, #c8311a);
  color: #fffdfc;
  font: 400 16px/1.4 var(--kh-font-ui, "DM Sans", sans-serif);
  box-shadow: none;
}
.kh-enquiry-page .kh-enquiry-form .ff-btn-submit:hover { background: var(--kh-sumi, #1a1410); border-color: var(--kh-sumi, #1a1410); }
.kh-enquiry-page .kh-enquiry-form :is(.error, .text-danger),
.kh-enquiry-page .ff-errors-in-stack { color: var(--kh-vermillon, #c8311a); }
.kh-enquiry-page .kh-enquiry-form .ff-el-is-error .ff-el-form-control { border-color: var(--kh-vermillon, #c8311a); }
.kh-enquiry-page .ff-message-success {
  padding: 20px;
  border: 1px solid var(--kh-form-line);
  box-shadow: none;
  color: var(--kh-sumi, #1a1410);
  background: var(--kh-washi, #f8f4ee);
}
.kh-enquiry-preview-note {
  margin-block: 0 24px;
  padding: 16px 20px;
  border-inline-start: 2px solid var(--kh-form-line, rgb(26 20 16 / 0.52));
  font: 400 16px/1.6 var(--kh-font-ui, "DM Sans", sans-serif);
}
@media (max-width: 767px) {
  .kh-enquiry-page .content-container { padding-inline: 0; }
  .kh-enquiry-page .content-area .entry { margin-inline: 0; }
  .kh-enquiry-page .entry-content-wrap { padding-inline: 20px; }
  .kh-enquiry-page .fluentform { margin-block: 32px; padding-top: 24px; }
  .kh-enquiry-page .kh-enquiry-form .ff-t-container { display: block; }
  .kh-enquiry-page .kh-enquiry-form .ff-t-cell { width: 100%; padding-inline: 0; }
  .kh-enquiry-page .kh-enquiry-form .ff-btn-submit { width: 100%; }
}

/* ---- Contact (recette Alain 2026-10-08) : en-tête comme La Boutique et le parcours d'achat ; à gauche l'invitation,
   l'e-mail, le délai de réponse, la boutique BCDG et l'orientation des professionnels ; à droite le formulaire, sur une
   carte de papier. L'ordre des blocs dans l'éditeur reste celui de la page (lecture mobile : texte puis formulaire).
   Paragraphes repérés par classe (PC37, PC38 ; éditeur : Avancé > Classe(s) CSS additionnelle(s)), jamais par position :
   kh-contact-lead (l'invitation), kh-contact-shop et kh-contact-address (la boutique), kh-contact-pro (les professionnels). ---- */
.kh-contact-page .entry-hero .entry-header { min-height: 0; padding: clamp(2rem, 4vw, 3rem) 0 0; }
.kh-contact-page .entry-hero h1 { margin: 0; font: italic 400 clamp(2.6rem, 4.6vw, 3.8rem)/1.05 var(--kh-font-display); }
.kh-contact-page .entry-hero h1::after { content: ""; display: block; width: min(12rem, 60%); height: 1rem; margin: .8rem auto 0; background: url('../images/trait-pinceau-vermillon.webp') center / contain no-repeat; }
.kh-contact-page .content-area { margin-top: clamp(1.5rem, 3vw, 2.5rem); }
@media (min-width: 900px) {
  .kh-contact-page .entry-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); column-gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
  .kh-contact-page .entry-content > * { grid-column: 1; margin-top: 0; }
  .kh-contact-page .entry-content > .fluentform { grid-column: 2; grid-row: 1 / span 20; margin-bottom: 0; }
}
.kh-contact-page .kh-contact-lead { margin-bottom: 1rem; font: italic 400 clamp(1.5rem, 2.4vw, 1.9rem)/1.3 var(--kh-font-display); }
.kh-contact-page .entry-content > ul { margin: 0 0 1.75rem; padding: 0; list-style: none; color: var(--kh-sumi-70); }
.kh-contact-page .entry-content > ul li { margin: 0 0 .35rem; }
/* L'adresse e-mail en vermillon, sans gras (Alain, 2026-10-09 ; le gras était dans le contenu, retiré par PC67). */
.kh-contact-page .entry-content > ul a { color: var(--kh-vermillon, #c8311a); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.kh-contact-page .kh-contact-shop { margin: 0 0 .4rem; color: var(--kh-sumi-70); font: 400 .72rem/1.3 var(--kh-font-ui); letter-spacing: .14em; text-transform: uppercase; }
.kh-contact-page .kh-contact-address { margin: 0 0 1.75rem; font-style: normal; line-height: 1.6; }
.kh-contact-page .kh-contact-pro { padding-top: 1.25rem; border-top: 1px solid var(--kh-sumi-20); color: var(--kh-sumi-70); }
/* Ligne Sur-mesure sous « Entreprises et collectivités » (PC70, Alain 2026-10-10) : un seul trait pour les deux. */
.kh-contact-page .kh-contact-pro + .kh-contact-pro { margin-top: .75rem; padding-top: 0; border-top: 0; }
.kh-contact-page .kh-contact-pro strong { color: var(--kh-sumi); font-weight: 400; }
.kh-contact-page .kh-contact-pro a { color: var(--kh-sumi); }
/* Le formulaire sur une carte de papier, détaché du paragraphe qui le suit sur mobile ; prénom et nom côte à côte dès 600 px. */
.kh-contact-page .fluentform { margin-block: 0 2rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--kh-sumi-20); background: rgb(255 253 252 / .55); }
.kh-contact-page .kh-enquiry-form .ff-el-input--label label { color: var(--kh-sumi-70); font: 400 .72rem/1.3 var(--kh-font-ui); letter-spacing: .12em; text-transform: uppercase; }
.kh-contact-page .kh-enquiry-form .ff-el-form-control { background: rgb(255 253 252 / .8); }
@media (min-width: 600px) {
  .kh-contact-page .kh-enquiry-form fieldset { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; }
  .kh-contact-page .kh-enquiry-form fieldset > * { grid-column: 1 / -1; }
  /* Noms des champs : prenom / nom (formulaire FR), first_name / last_name (formulaire EN). */
  .kh-contact-page .kh-enquiry-form fieldset > .ff-el-group:has(input:is([name="prenom"], [name="first_name"])) { grid-column: 1; }
  .kh-contact-page .kh-enquiry-form fieldset > .ff-el-group:has(input:is([name="nom"], [name="last_name"])) { grid-column: 2; }
}
