/* GE — Formulaires de rappel et appels à l'action — v1.2.0 (10/11/2026)
   Charte : marine #1C2B4F, doré #D3BE90, Merriweather (titres, 300) + Montserrat ; coins 3 px.
   Fichier commun, mis en cache, chargé seulement sur les pages qui reçoivent les blocs. */

/* ---------- Carte ---------- */
.ge-cta { margin-top: 40px; margin-bottom: 40px; scroll-margin-top: 150px; }
.ge-cta:not(.ge-cta--clair) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.ge-cta .ge-cta__carte > .elementor-widget-wrap {
	background: #1C2B4F;
	border-left: 4px solid #D3BE90;
	border-radius: 3px;
	padding: 48px 56px !important;
}
.ge-cta .ge-cta__gauche > .elementor-widget-wrap { padding: 0 40px 0 0 !important; align-content: center; }
.ge-cta .ge-cta__droite > .elementor-widget-wrap { padding: 0 !important; }

.ge-cta__titre {
	font-family: Merriweather, Georgia, serif;
	font-weight: 300;
	font-size: 30px;
	line-height: 1.3;
	color: #fff;
	margin: 0;
}
.ge-cta__trait { width: 60px; height: 3px; background: #D3BE90; margin: 22px 0; }
.ge-cta__texte {
	font-family: Montserrat, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #fff;
	margin: 0;
}
.ge-cta__rgpd {
	font-family: Montserrat, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .75);
	margin: 12px 0 0;
}
.ge-cta__rgpd a { color: inherit; text-decoration: underline; }

/* ---------- Formulaire Elementor ---------- */
.ge-cta .elementor-form .elementor-field-group { margin-bottom: 16px; }
.ge-cta .elementor-form .elementor-field-label {
	font-family: Montserrat, Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #fff !important;
	margin-bottom: 6px;
}
.ge-cta .elementor-form .elementor-mark-required .elementor-field-label:after,
.ge-cta .elementor-form .elementor-field-required .elementor-field-label:after { color: #D3BE90; }
.ge-cta .elementor-form .elementor-field.elementor-field-textual,
.ge-cta .elementor-form input[type="text"],
.ge-cta .elementor-form input[type="tel"],
.ge-cta .elementor-form input[type="email"] {
	background: #fff !important;
	color: #1C2B4F !important;
	border: 1px solid #D3BE90 !important;
	border-radius: 3px !important;
	padding: 12px 14px !important;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 16px !important;
	line-height: 1.3;
	min-height: 48px;
	box-shadow: none;
}
.ge-cta .elementor-form input:focus { outline: 2px solid #D3BE90; outline-offset: 1px; }
.ge-cta .elementor-form ::placeholder { color: #8a93a6; opacity: 1; }
.ge-cta .elementor-form .elementor-button,
.ge-cta .elementor-form button[type="submit"] {
	width: 100%;
	min-height: 54px;
	background: transparent !important;
	color: #D3BE90 !important;
	border: 2px solid #D3BE90 !important;
	border-radius: 3px !important;
	padding: 14px 24px !important;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	box-shadow: none !important;
	transition: background .2s, color .2s, border-color .2s;
}
.ge-cta .elementor-form .elementor-button:hover,
.ge-cta .elementor-form .elementor-button:focus-visible,
.ge-cta .elementor-form .elementor-button:active,
.ge-cta .elementor-form button[type="submit"]:hover,
.ge-cta .elementor-form button[type="submit"]:focus-visible,
.ge-cta .elementor-form button[type="submit"]:active {
	background: #D3BE90 !important;
	color: #1C2B4F !important;
	border-color: #D3BE90 !important;
}
.ge-cta .elementor-form .elementor-button-content-wrapper { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.ge-cta .elementor-form .elementor-button .elementor-button-text { color: inherit !important; }
.ge-cta .elementor-message { font-family: Montserrat, Arial, sans-serif; font-size: 16px; margin-top: 12px; }
.ge-cta .elementor-message.elementor-message-success { color: #fff; background: rgba(255, 255, 255, .08); border-left: 4px solid #D3BE90; padding: 16px 18px; }
.ge-cta .elementor-message.elementor-message-danger,
.ge-cta .elementor-message.elementor-help-inline,
.ge-cta .elementor-error .elementor-message { color: #ffd9d0; }
.ge-cta .elementor-form .elementor-message:before { display: none; }

/* Le libellé envoyé reste « Votre email » (lu tel quel par le classeur Demandes entrantes GE) ;
   la mention « facultatif » n'est qu'affichée. */
.ge-cta .elementor-field-group[class*="elementor-field-group-email_"] .elementor-field-label::after {
	content: " (facultatif)";
	font-weight: 400;
	opacity: .8;
}

/* ---------- Version claire (articles) ---------- */
.ge-cta--clair.ge-cta__carte > .elementor-container,
.ge-cta--clair .ge-cta__carte > .elementor-widget-wrap { background: #f6f3ec !important; }
.ge-cta--clair.ge-cta__carte {
	background: #f6f3ec;
	border-left: 4px solid #D3BE90;
	border-radius: 3px;
	padding: 36px 40px;
	margin: 40px 0;
	scroll-margin-top: 150px;
}
.ge-cta--clair .ge-cta__titre,
.ge-cta--clair .ge-cta__texte,
.ge-cta--clair .elementor-form .elementor-field-label { color: #1C2B4F !important; }
.ge-cta--clair .ge-cta__rgpd { color: #4A4A4A; }
.ge-cta--clair .elementor-message.elementor-message-success { color: #1C2B4F; background: #fff; }
.ge-cta--clair .ge-cta__titre { font-size: 26px; }
/* Carte claire posée directement dans une page (alternance avec la carte marine). */
.ge-cta--clair:not(.ge-cta__carte) > .elementor-container > .elementor-column > .elementor-widget-wrap {
	background: #f6f3ec;
	border-left: 4px solid #D3BE90;
	border-radius: 3px;
	padding: 48px 56px !important;
}
.ge-cta--clair .ge-cta__rgpd a { color: #1C2B4F; }
/* Bouton sur fond clair : marine, texte blanc ; inversé (blanc, texte et bord marine) au survol. */
.ge-cta--clair .elementor-form .elementor-button,
.ge-cta--clair .elementor-form button[type="submit"] {
	background: #1C2B4F !important;
	color: #fff !important;
	border-color: #1C2B4F !important;
}
.ge-cta--clair .elementor-form .elementor-button:hover,
.ge-cta--clair .elementor-form .elementor-button:focus-visible,
.ge-cta--clair .elementor-form .elementor-button:active,
.ge-cta--clair .elementor-form button[type="submit"]:hover,
.ge-cta--clair .elementor-form button[type="submit"]:focus-visible,
.ge-cta--clair .elementor-form button[type="submit"]:active {
	background: #fff !important;
	color: #1C2B4F !important;
	border-color: #1C2B4F !important;
}


/* ---------- Bouton du bandeau et relais ---------- */
/* Bandeau du haut : bouton blanc, inversé (contour blanc) au survol, au clic et au clavier. */
.ge-cta-bandeau { text-align: center; margin-top: 24px; }
.ge-cta-bouton,
a.ge-cta-bouton:link,
a.ge-cta-bouton:visited {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	min-height: 52px;
	padding: 0 32px;
	background: #fff;
	color: #1C2B4F !important;
	border: 2px solid #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	border-radius: 3px;
	text-decoration: none !important;
	transition: background .2s, color .2s, border-color .2s;
}
a.ge-cta-bouton:hover,
a.ge-cta-bouton:focus-visible,
a.ge-cta-bouton:active { background: transparent; color: #fff !important; border-color: #fff; }
/* Relais sur fond clair : marine, texte blanc ; inversé (blanc, texte et bord marine) au survol. */
.ge-cta-relais a.ge-cta-bouton:link,
.ge-cta-relais a.ge-cta-bouton:visited { background: #1C2B4F; color: #fff !important; border-color: #1C2B4F; min-height: 48px; padding: 0 26px; }
.ge-cta-relais a.ge-cta-bouton:hover,
.ge-cta-relais a.ge-cta-bouton:focus-visible,
.ge-cta-relais a.ge-cta-bouton:active { background: #fff; color: #1C2B4F !important; border-color: #1C2B4F; }
/* Bandeau qui porte le bouton : on lui rend de l'air en haut et en bas. */
.elementor-top-section:has(.ge-cta-bandeau) { padding-top: 62px !important; padding-bottom: 66px !important; }
/* Le fil d'Ariane Yoast de ce bandeau est placé en absolu au-dessus du titre : on compense
   la marge ajoutée pour qu'il reste exactement où il était avant. */
.elementor-top-section:has(.ge-cta-bandeau) .elementor-widget-breadcrumbs #breadcrumbs { transform: translateY(-62px); }
.ge-cta-relais {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
	margin: 32px 0;
	padding: 20px 24px;
	background: #f6f3ec;
	border-left: 4px solid #D3BE90;
	border-radius: 3px;
}
.ge-cta-relais__texte { font-family: Montserrat, Arial, sans-serif; font-size: 16px; font-weight: 600; color: #1C2B4F; }
html { scroll-behavior: smooth; }

/* ---------- Icône téléphone (suit la couleur du texte) ---------- */
.ge-cta .elementor-form .elementor-button-content-wrapper::before,
.ge-cta-bouton::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / contain no-repeat;
}


/* ---------- Tablette et mobile ---------- */
@media (max-width: 1024px) {
	.ge-cta .ge-cta__gauche > .elementor-widget-wrap { padding: 0 0 24px 0 !important; }
	.ge-cta:not(.ge-cta--clair) > .elementor-container > .elementor-column > .elementor-widget-wrap,
	.ge-cta--clair:not(.ge-cta__carte) > .elementor-container > .elementor-column > .elementor-widget-wrap,
	.ge-cta .ge-cta__carte > .elementor-widget-wrap { padding: 40px 32px !important; }
}
@media (max-width: 767px) {
	.ge-cta { margin-left: 15px; margin-right: 15px; }
	.ge-cta:not(.ge-cta--clair) > .elementor-container > .elementor-column > .elementor-widget-wrap,
	.ge-cta--clair:not(.ge-cta__carte) > .elementor-container > .elementor-column > .elementor-widget-wrap,
	.ge-cta .ge-cta__carte > .elementor-widget-wrap { padding: 32px 20px !important; }
	.ge-cta__titre { font-size: 24px; }
	.ge-cta--clair.ge-cta__carte { padding: 28px 20px; }
	.ge-cta-relais { flex-direction: column; align-items: stretch; text-align: center; }
	.elementor-top-section:has(.ge-cta-bandeau) { padding-top: 40px !important; padding-bottom: 44px !important; }
	.ge-cta-bandeau .ge-cta-bouton { width: 100%; max-width: 360px; }
}

/* ---------- Espacement entre les champs (v1.0.3) ---------- */
.ge-cta .elementor-form .elementor-form-fields-wrapper { margin-left: -8px !important; margin-right: -8px !important; }
.ge-cta .elementor-form .elementor-field-group { padding-left: 8px !important; padding-right: 8px !important; }
