/* MES Socle — consentement. Couleurs contrastées (ratio > 7:1). */
.mes-embed {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 260px;
	height: 100%;
	background: #eef3f6;
	border: 1px solid #c9d6de;
	color: #1b2b36;
	box-sizing: border-box;
}
.elementor-wrapper > .mes-embed { position: absolute; inset: 0; min-height: 0; }
.elementor-widget-google_maps .mes-embed { min-height: 320px; }
.mes-embed__encart { max-width: 34rem; padding: 1.25rem; text-align: center; font-size: 0.95rem; line-height: 1.45; }
.mes-embed__encart p { margin: 0 0 0.75rem; }
.mes-embed__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; }
.mes-embed__bouton,
.mes-consent__bouton {
	appearance: none;
	border: 2px solid #0b4a6f;
	background: #0b4a6f;
	color: #fff;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	padding: 0.6rem 1rem;
	border-radius: 6px;
	cursor: pointer;
}
.mes-embed__bouton--secondaire { background: #fff; color: #0b4a6f; }
.mes-embed__bouton:hover,
.mes-consent__bouton:hover { background: #073450; border-color: #073450; color: #fff; }
.mes-embed__bouton:focus-visible,
.mes-consent__bouton:focus-visible,
.mes-consent a:focus-visible { outline: 3px solid #e8a33c; outline-offset: 2px; }
.mes-embed__lien { color: #0b4a6f; text-decoration: underline; font-size: 0.9rem; }

.mes-consent {
	position: fixed;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	z-index: 100000;
	display: flex;
	justify-content: center;
	pointer-events: none;
}
.mes-consent__boite {
	pointer-events: auto;
	max-width: 46rem;
	width: 100%;
	background: #fff;
	color: #1b2b36;
	border-radius: 10px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
	padding: 1.25rem 1.25rem 1rem;
	font-size: 0.95rem;
	line-height: 1.5;
}
.mes-consent__titre { font-weight: 700; font-size: 1.05rem; margin: 0 0 0.4rem; }
.mes-consent__texte { margin: 0 0 0.75rem; }
.mes-consent a { color: #0b4a6f; text-decoration: underline; }
.mes-consent__liste { border-top: 1px solid #dde5ea; margin: 0 0 0.75rem; }
.mes-consent__service { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.6rem 0; border-bottom: 1px solid #dde5ea; }
.mes-consent__service input { width: 1.2rem; height: 1.2rem; margin-top: 0.15rem; accent-color: #0b4a6f; flex: none; }
.mes-consent__service label { display: flex; flex-direction: column; cursor: pointer; }
.mes-consent__service span { font-size: 0.88rem; color: #3b4d59; }
.mes-consent__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; }
.mes-consent__bouton--lien { background: #fff; color: #0b4a6f; }
.mes-consent-lien { display: inline-block; margin: 0.5rem 1rem; color: inherit; text-decoration: underline; }
@media (max-width: 560px) {
	.mes-consent { left: 0.5rem; right: 0.5rem; bottom: 0.5rem; }
	.mes-consent__actions { flex-direction: column-reverse; }
	.mes-consent__bouton { width: 100%; }
}
