/*
 * Habillage des formulaires des extensions gratuites (le thème ne crée pas
 * ses propres formulaires) : Contact Form 7 et WPForms Lite, aux couleurs
 * et polices du thème (variables de theme.json / Personnaliser).
 */

/* ---------- Commun ---------- */

.wpcf7, .wpforms-container, div.wpforms-container-full { max-width: 760px; margin-left: 0 !important; margin-right: auto !important; font-family: var(--k-font-body); }

/* ---------- Contact Form 7 ---------- */

.wpcf7 .k-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; }
.wpcf7 .k-form__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.wpcf7 .k-form__field--full { grid-column: 1 / -1; }
.wpcf7 label { font-size: 14px; font-weight: 500; color: var(--k-heading); }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="url"],
.wpcf7 input[type="number"], .wpcf7 input[type="date"], .wpcf7 select, .wpcf7 textarea {
	width: 100%; padding: 12px 14px;
	border: 1px solid #d5dada; border-radius: 8px;
	background: #fff; font: inherit; color: var(--k-heading);
}
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid var(--k-primary); outline-offset: 1px; border-color: transparent; }
.wpcf7 .k-form__consent { margin: 20px 0 0; font-size: 14px; color: var(--k-text); }
.wpcf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; color: var(--k-text); }
.wpcf7 .wpcf7-acceptance input { margin-top: 5px; accent-color: var(--k-primary); }
.wpcf7 .wpcf7-submit {
	margin-top: 16px; padding: 12px 22px; border: 0; border-radius: 8px;
	background: var(--k-primary); color: #fff; font: 500 14px/20px var(--k-font-body); cursor: pointer;
	transition: background-color .2s ease;
}
.wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-submit:focus-visible { background: var(--k-primary-dark); }
.wpcf7 .wpcf7-submit:disabled { opacity: .5; cursor: not-allowed; }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }
.wpcf7 .wpcf7-not-valid { border-color: #c0392b !important; }
.wpcf7 .wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; color: #c0392b; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border: 0; border-radius: 8px; background: #fdecea; color: #8a1c13; font-size: 14px; }
.wpcf7 form.sent .wpcf7-response-output { background: var(--k-tint); color: var(--k-heading); }
@media (max-width: 600px) { .wpcf7 .k-form__grid { grid-template-columns: 1fr; } }

/* ---------- WPForms (style « de base » + variables du thème) ---------- */

.wpforms-container {
	--wpforms-field-border-radius: 8px;
	--wpforms-field-border-color: #d5dada;
	--wpforms-field-background-color: #ffffff;
	--wpforms-field-text-color: var(--k-heading);
	--wpforms-field-size-input-height: 46px;
	--wpforms-label-color: var(--k-heading);
	--wpforms-label-sublabel-color: var(--k-muted);
	--wpforms-label-error-color: #c0392b;
	--wpforms-button-border-radius: 8px;
	--wpforms-button-background-color: var(--k-primary);
	--wpforms-button-text-color: #ffffff;
	--wpforms-page-break-color: var(--k-primary);
}
.wpforms-container .wpforms-field-label { font-size: 14px; font-weight: 500; color: var(--k-heading); }
.wpforms-container input[type="text"], .wpforms-container input[type="email"], .wpforms-container input[type="tel"],
.wpforms-container input[type="number"], .wpforms-container select, .wpforms-container textarea {
	width: 100%; max-width: 100%; padding: 12px 14px;
	border: 1px solid #d5dada; border-radius: 8px; background: #fff; font: inherit; color: var(--k-heading);
}
.wpforms-container input:focus, .wpforms-container select:focus, .wpforms-container textarea:focus { outline: 2px solid var(--k-primary); outline-offset: 1px; border-color: transparent; box-shadow: none; }
.wpforms-container input[type="checkbox"] { accent-color: var(--k-primary); }
.wpforms-container .wpforms-submit {
	padding: 12px 22px; border: 0; border-radius: 8px;
	background: var(--k-primary); color: #fff; font: 500 14px/20px var(--k-font-body); cursor: pointer;
}
.wpforms-container .wpforms-submit:hover, .wpforms-container .wpforms-submit:focus-visible { background: var(--k-primary-dark); }
.wpforms-container .wpforms-error { font-size: 13px; color: #c0392b; }
.wpforms-confirmation-container-full { padding: 12px 16px; border: 0 !important; border-radius: 8px; background: var(--k-tint) !important; color: var(--k-heading); }

/* Emplacement affiché tant que l'extension n'est pas active (visible des administrateurs seulement). */
.k-form-slot { padding: 16px; border: 1px dashed #c8cfcf; border-radius: 8px; color: var(--k-muted); font-size: 14px; }

/* ---------- Alpha Immo : champs arrondis, bouton noir en pilule ---------- */

.k-form-wrap .wpforms-container { max-width: none; margin: 0 !important; }
.k-form-wrap .wpforms-container .wpforms-field { padding: 0 0 18px !important; }
.k-form-wrap .wpforms-container .wpforms-field-label { margin-bottom: 8px; font-size: 13px; font-weight: 500; }
.k-form-wrap .wpforms-container input[type="text"], .k-form-wrap .wpforms-container select, .k-form-wrap .wpforms-container textarea {
	height: 50px; padding: 0 18px; border: 1px solid var(--k-line, #E3E8E8); border-radius: 14px; background: var(--k-surface); font-size: 14px;
}
.k-form-wrap .wpforms-container textarea { height: 140px; padding: 14px 18px; }
.k-form-wrap .wpforms-container input::placeholder, .k-form-wrap .wpforms-container textarea::placeholder { color: var(--k-muted); }
.k-form-wrap .wpforms-container .wpforms-submit-container { padding-top: 6px !important; }
.k-form-wrap .wpforms-container button.wpforms-submit { width: 100%; height: 52px; border-radius: 999px; background: var(--k-dark); font-size: 15px; transition: background-color .25s ease; }
.k-form-wrap .wpforms-container button.wpforms-submit:hover { background: var(--k-primary); }

