/* Klicat Hide Emails – popup de contact */
.khe-wrap { display: inline-block; }
.khe-btn { cursor: pointer; }

.khe-dialog {
	width: min(560px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	overflow: auto;
	padding: 2rem 1.5rem 1.5rem;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
	color: #1f266b;
	background: #fff;
	font-size: 1rem;
	line-height: 1.4;
}
.khe-dialog::backdrop { background: rgba(31, 38, 107, .55); }

.khe-close {
	position: absolute;
	top: .5rem;
	right: .75rem;
	border: 0;
	background: none;
	font-size: 2rem;
	line-height: 1;
	color: #1f266b;
	cursor: pointer;
}
.khe-title { margin: 0 2rem 1rem 0; font-size: 1.4rem; }

.khe-form p { margin: 0 0 .9rem; }
.khe-row { display: flex; gap: 1rem; }
.khe-row p { flex: 1; }
@media (max-width: 480px) { .khe-row { display: block; } }

.khe-form label { display: block; margin-bottom: .25rem; font-weight: bold; }
.khe-form input,
.khe-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: .5rem;
	border: 1px solid #1f266b;
	border-radius: 4px;
	font: inherit;
	color: inherit;
}
.khe-form input:focus,
.khe-form textarea:focus { outline: 2px solid #82b7a8; outline-offset: 1px; }

.khe-hp { position: absolute !important; left: -9999px !important; height: 1px; overflow: hidden; }

.khe-rgpd { font-size: .8rem; color: #555; }
.khe-status:empty { display: none; }
.khe-status.khe-ok { color: #1d7a4f; font-weight: bold; }
.khe-status.khe-error { color: #b3261e; font-weight: bold; }

.khe-actions { display: flex; justify-content: flex-end; gap: .75rem; }
.khe-cancel {
	padding: .6rem 1.2rem;
	border: 1px solid #1f266b;
	border-radius: 4px;
	background: #fff;
	color: #1f266b;
	font: inherit;
	cursor: pointer;
}
.khe-cancel:hover { background: #f0f1f7; }
.khe-submit {
	padding: .6rem 1.6rem;
	border: 0;
	border-radius: 4px;
	background: #1f266b;
	color: #fff;
	font: inherit;
	font-weight: bold;
	cursor: pointer;
}
.khe-submit:hover:not(:disabled) { background: #82b7a8; }
.khe-submit:disabled { opacity: .6; cursor: default; }

/* Spinner pendant l'envoi : couvre tout le formulaire */
.khe-loading {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 2;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: rgba(255, 255, 255, .75);
	cursor: wait;
}
.khe-busy .khe-loading { display: flex; }
.khe-spinner {
	width: 3rem;
	height: 3rem;
	border: 4px solid rgba(31, 38, 107, .2);
	border-top-color: #1f266b;
	border-radius: 50%;
	animation: khe-spin .8s linear infinite;
}
@keyframes khe-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .khe-spinner { animation-duration: 2.4s; } }

/* Message de succès (remplace le formulaire) */
.khe-success { margin: 0; padding: 1rem; border-radius: 4px; background: #e8f4ee; color: #1d7a4f; font-weight: bold; }
.khe-success:focus { outline: none; }
