/* Kipsum – formulaires (s’appuie sur les couleurs du thème Kipsum) */
.kp-form { margin-top: 28px; }
.kp-form__grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.kp-form__champ { display: flex; flex-direction: column; gap: 6px; margin: 0 !important; }
.kp-form__champ--large { grid-column: 1 / -1; }
.kp-form label { font-size: 15px; font-weight: 600; color: var(--kp-encre, #1F1F1F); }
.kp-form input[type="text"], .kp-form input[type="email"], .kp-form input[type="tel"], .kp-form input[type="number"], .kp-form select, .kp-form textarea {
	min-height: 46px; border: 1px solid #A8A8A8; border-radius: 2px; padding: 0 12px; font: inherit; font-size: 16px; color: var(--kp-encre, #1F1F1F); background: #FFFFFF; width: 100%;
}
.kp-form textarea { padding: 10px 12px; min-height: 130px; }
.kp-form input:focus, .kp-form select:focus, .kp-form textarea:focus { outline: 2px solid var(--kp-bleu, #1A73C8); outline-offset: 1px; border-color: var(--kp-bleu, #1A73C8); }
.kp-form__accord { flex-direction: row !important; align-items: flex-start; gap: 10px !important; }
.kp-form__accord input { width: 20px; height: 20px; margin-top: 2px; flex: 0 0 20px; accent-color: var(--kp-bleu, #1A73C8); }
.kp-form__accord label { font-weight: 400; }
.kp-form__mentions { font-size: 13px !important; color: var(--kp-gris-moyen, #6E6E6E) !important; margin-top: 16px !important; }
.kp-form button.kp-bouton { cursor: pointer; }
.kp-form__message { padding: 16px 20px; border-left: 4px solid var(--kp-bleu, #1A73C8); font-weight: 600 !important; color: var(--kp-encre, #1F1F1F) !important; }
.kp-form__message--ok { background: var(--kp-bleu-pale, #E8F2FB); }
.kp-form__message--erreur { background: #FFF4D6; }
.kp-form__piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 781px) { .kp-form__grille { grid-template-columns: 1fr; } }
.kp-form__controle input { max-width: 120px; }
.kp-form__aide { font-size: 13px; color: var(--kp-gris-moyen, #6E6E6E); }
/* Documents à télécharger */
/* Marges latérales laissées au thème : la liste s’aligne sur la colonne du texte */
.kp-docs { list-style: none; margin-top: 24px; margin-bottom: 0; padding-top: 0; padding-bottom: 0; display: flex; flex-direction: column; gap: 12px; }
.kp-docs > li { margin: 0; padding: 0; }
.kp-doc { width: 100%; display: flex; align-items: center; gap: 18px; padding: 16px 20px; background: #FFFFFF; border: 1px solid #E6E6E6; border-left: 4px solid var(--kp-bleu, #1A73C8); font: inherit; text-align: left; cursor: pointer; color: var(--kp-encre, #1F1F1F); }
.kp-doc:hover, .kp-doc:focus-visible { background: var(--kp-bleu-pale, #E8F2FB); }
.kp-doc__picto { flex: 0 0 34px; display: inline-flex; }
.kp-doc__texte { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.kp-doc__titre { font-size: 17px; font-weight: 700; }
.kp-doc__desc { font-size: 14px; font-weight: 300; color: var(--kp-gris, #3A3A3A); }
.kp-doc__action { flex: 0 0 auto; font-size: 14px; font-weight: 700; color: var(--kp-bleu, #1A73C8); }
.kp-doc-fenetre { width: min(620px, calc(100vw - 32px)); border: 0; border-top: 4px solid var(--kp-bleu, #1A73C8); padding: 28px 30px 24px; box-shadow: 0 24px 60px rgba(0,0,0,0.25); font-family: inherit; }
.kp-doc-fenetre::backdrop { background: rgba(31, 31, 31, 0.55); }
.kp-doc-fenetre__titre { margin: 0 32px 18px 0; font-size: 20px; line-height: 1.35; font-weight: 700; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.kp-doc-fenetre__titre .kp-doc__picto svg { width: 24px; height: 30px; }
.kp-doc-fenetre__fermer { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; background: none; font-size: 28px; line-height: 1; cursor: pointer; color: var(--kp-gris, #3A3A3A); }
.kp-doc-fenetre__erreur { color: #9A3B00; font-weight: 600; margin: 8px 0 0; }
.kp-doc-fenetre .kp-form { margin-top: 0; }
@media (max-width: 781px) { .kp-doc { flex-wrap: wrap; } .kp-doc__action { width: 100%; } }
