/**
 * Forms UI — modale d'ouverture de formulaire, bandeau de soumission, bouton CTA.
 * Asset statique (pas de build webpack requis). Couleurs limitées au thème.
 */

:root {
	--msk-bleu: #017cba;
	--msk-blanc: #ffffff;
	--msk-gris-fonce: #555555;
}

/* ============================ Bouton CTA ============================ */
/* Défaut : fond bleu thème + texte blanc. Hover : fond blanc + texte gris foncé. */
/* S'applique au bouton du bandeau (.msk-cta-button) ET à tout bouton ouvrant   */
/* la modale (.js-open-form-modal), y compris « Demander une soumission ».      */
/* Le préfixe `a` augmente la spécificité pour primer sur .msk-button.outline.  */
a.msk-cta-button,
a.msk-button.msk-button--cta,
a.msk-button.js-open-form-modal {
	display: inline-block;
	background: var(--msk-bleu);
	color: var(--msk-blanc);
	border: 2px solid var(--msk-bleu);
	padding: 12px 26px;
	min-height: 45px;
	line-height: 1.2;
	border-radius: 0;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

a.msk-cta-button:hover,
a.msk-cta-button:focus-visible,
a.msk-button.msk-button--cta:hover,
a.msk-button.msk-button--cta:focus-visible,
a.msk-button.js-open-form-modal:hover,
a.msk-button.js-open-form-modal:focus-visible {
	background: var(--msk-blanc);
	color: var(--msk-gris-fonce);
	border-color: var(--msk-bleu);
}

a.msk-cta-button:focus-visible,
a.msk-button.js-open-form-modal:focus-visible {
	outline: 2px solid var(--msk-gris-fonce);
	outline-offset: 2px;
}

/* ====================== Bandeau de soumission ====================== */
.block-bandeau-soumission {
	width: 100%;
	min-height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.block-bandeau-soumission.align-left {
	justify-content: flex-start;
}

.block-bandeau-soumission.align-center {
	justify-content: center;
}

.block-bandeau-soumission.align-right {
	justify-content: flex-end;
}

/* ================ Bouton submit Forminator dans la modale ========== */
/* Par défaut : fond blanc + texte bleu. Remplacé si l'admin configure */
/* une couleur via MSK Setting (style inline injecté en wp_footer).    */
#msk-form-modal .forminator-button-submit {
	color: var(--msk-blanc) !important;
}

#msk-form-modal .forminator-button-submit span {
	color: var(--msk-blanc) !important;
}

/* ============================== Modale ============================= */
.msk-modal[hidden] { display: none; }

.msk-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.msk-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
}

.msk-modal__dialog {
	position: relative;
	background: var(--msk-blanc);
	width: 100%;
	max-width: 720px;
	max-height: 90vh;
	overflow-y: auto;
	padding: 40px 32px 32px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
	border-radius: 4px;
}

.msk-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 40px;
	height: 40px;
	border: 0;
	background: transparent;
	font-size: 28px;
	line-height: 1;
	color: var(--msk-gris-fonce);
	cursor: pointer;
}

.msk-modal__close:hover,
.msk-modal__close:focus-visible {
	color: var(--msk-bleu);
}

.msk-modal__close:focus-visible {
	outline: 2px solid var(--msk-bleu);
	outline-offset: 2px;
}

body.msk-modal-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: no-preference) {
	.msk-modal__dialog {
		animation: msk-modal-in .2s ease;
	}
	@keyframes msk-modal-in {
		from { transform: translateY(12px); opacity: 0; }
		to   { transform: translateY(0); opacity: 1; }
	}
}
