/* ============================================================
   Elementor GF Styler – styles de base + placeholder éditeur
   ============================================================ */

/* ── Placeholder éditeur ─────────────────────────────────── */
.egf-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
	background: #f5f5f5;
	border: 2px dashed #ccc;
	border-radius: 6px;
	color: #888;
	text-align: center;
	min-height: 120px;
}

.egf-placeholder .eicon-form-horizontal {
	font-size: 48px;
	margin-bottom: 12px;
	color: #aaa;
}

.egf-placeholder p {
	margin: 0;
	font-size: 14px;
}

/* ── Réinitialisation – spécificité body + 2 classes = (0,2,1)      ── */
/* Dépasse les règles GF base : .gform_wrapper .xxx = (0,2,0)          */
body .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]),
body .gform_wrapper textarea,
body .gform_wrapper select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 100%;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body .gform_wrapper select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 36px;
}

/* Footers / alignement bouton */
body .gform_wrapper .gform_footer,
body .gform_wrapper .gform_page_footer {
	display: flex;
}

/* Suppression outline navigateur sur focus */
body .gform_wrapper input:focus,
body .gform_wrapper textarea:focus,
body .gform_wrapper select:focus {
	outline: none;
}

/* ── Reset bouton submit ─────────────────────────────────────────── */
/* inline-flex + centrage qui remplace ce que faisait le GF framework */
body .gform_wrapper input[type=submit].gform_button,
body .gform_wrapper button.gform_button,
body .gform_wrapper .gform-theme-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	vertical-align: top;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-decoration: none;
	border-style: solid;
	box-sizing: border-box;
	line-height: 1;
}

/* ── Reset checkbox & radio ──────────────────────────────────────── */
/* GF 2.7+ : div.gchoice — GF < 2.7 : li                            */
body .gform_wrapper .gfield_checkbox .gchoice,
body .gform_wrapper .gfield_checkbox li,
body .gform_wrapper .gfield_radio .gchoice,
body .gform_wrapper .gfield_radio li {
	display: flex;
	align-items: center;
	gap: 8px;
}

body .gform_wrapper .gfield_checkbox .gchoice label,
body .gform_wrapper .gfield_checkbox li label,
body .gform_wrapper .gfield_radio .gchoice label,
body .gform_wrapper .gfield_radio li label {
	margin: 0;
	cursor: pointer;
}

/* GF 2.7+ nomme aussi les inputs .gfield-choice-input */
body .gform_wrapper .gfield_checkbox input[type=checkbox],
body .gform_wrapper .gfield_checkbox .gfield-choice-input,
body .gform_wrapper .gfield_radio input[type=radio],
body .gform_wrapper .gfield_radio .gfield-choice-input {
	flex-shrink: 0;
	cursor: pointer;
	margin: 0;
}

/* ── Champ RGPD / Consent ──────────────────────────────────────── */
/* Structure GF 2.7+ : .ginput_container_consent > input + label    */
/* (différente des checkboxes standards qui utilisent .gchoice)     */
body .gform_wrapper .ginput_container_consent {
	display: flex !important;
	align-items: flex-start;
	gap: 8px;
	flex-wrap: nowrap;
}

body .gform_wrapper .ginput_container_consent input[type=checkbox] {
	flex-shrink: 0;
	margin-top: 0.2em;
	cursor: pointer;
}

body .gform_wrapper .ginput_container_consent label {
	flex: 1;
	margin: 0;
	cursor: pointer;
	line-height: 1.4;
}
