/* ==========================================================================
   Formulaires (Gravity Forms, thème « orbital » neutralisé) — Figma Contact 4141:7738
   ========================================================================== */

.pass-contact-page {
	padding-top: 60px;
}

.pass-contact-page > h1 {
	margin-top: 0;
	font-size: var(--wp--preset--font-size--heading-1);
	font-weight: 600;
}

.pass-contact-page > .pass-form-note {
	margin-top: 10px;
	color: var(--wp--preset--color--neutral-75);
	font-size: var(--wp--preset--font-size--s);
}

.pass-contact-page > .pass-form-note + * {
	margin-top: 50px;
}

.pass-form {
	margin-top: 40px;
}

.pass-form .gform_wrapper.gravity-theme,
.pass-form .gform_wrapper {
	--gf-color-primary: var(--wp--preset--color--primary);
	--gf-ctrl-border-color: var(--wp--preset--color--neutral-75);
	--gf-ctrl-label-color-primary: var(--wp--preset--color--neutral);
	--gf-radius: var(--wp--preset--border-radius--m);
	--gf-font-family-base: var(--wp--preset--font-family--plus-jakarta-sans);
	--gf-form-gap-y: 30px;
	--gf-form-gap-x: 24px;
	font-family: inherit;
}

.pass-form .gform_fields {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 30px 24px;
}

.pass-form .gfield {
	grid-column: span 12;
}

.pass-form .gfield--width-half {
	grid-column: span 6;
}

.pass-form .gfield_label,
.pass-form .gform-field-label:not(.gform-field-label--type-inline) {
	display: block;
	margin-bottom: 4px;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--m);
	font-weight: 400;
	line-height: 1.5;
}

.pass-form .gfield_required,
.pass-form .gfield_required_asterisk {
	margin-left: 0;
	color: inherit !important;
}

.pass-form .gfield_required_asterisk {
	font-weight: 400;
}

.pass-form input:is([type="text"], [type="email"], [type="tel"], [type="password"]),
.pass-form textarea {
	box-sizing: border-box;
	width: 100%;
	height: 56px;
	padding: 16px;
	border: 1px solid var(--wp--preset--color--neutral-75);
	border-radius: var(--wp--preset--border-radius--m);
	background-color: var(--wp--preset--color--white);
	box-shadow: none;
	color: var(--wp--preset--color--neutral);
	font: inherit;
	font-size: var(--wp--preset--font-size--m);
}

.pass-form textarea {
	height: 222px;
	resize: vertical;
}

.pass-form :is(input, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 0;
	border-color: var(--wp--preset--color--primary);
}

/* Consentement */
.pass-form .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	max-width: 680px;
}

.pass-form .ginput_container_consent input[type="checkbox"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--wp--preset--color--primary);
}

.pass-form .ginput_container_consent label {
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--s);
	line-height: 1.3;
}

.pass-form .gfield_consent_description {
	display: none;
}

/* Bouton d'envoi : style « Primary » du thème */
.pass-form .gform_footer,
.pass-form .gform_page_footer {
	margin: 30px 0 0;
	padding: 0;
}

.pass-form .gform_button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 24px;
	border: 0;
	border-radius: var(--wp--preset--border-radius--m);
	background: var(--wp--preset--color--secondary-50);
	color: var(--wp--preset--color--neutral);
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition);
}

.pass-form .gform_button::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	mask: var(--pass-icon-arrow) center / contain no-repeat;
	transition: transform var(--wp--custom--transition);
}

.pass-form .gform_button:hover {
	background-color: var(--wp--custom--color--secondary-hover);
	color: var(--wp--preset--color--white);
}

.pass-form .gform_button:hover::before {
	transform: translateX(4px);
}

/* Erreurs et confirmation (sélecteurs renforcés : le thème Gravity Forms colore en rouge) */
.pass-form .gform_wrapper .gform_validation_errors {
	margin-bottom: 30px;
	padding: 16px 20px;
	border: 1px solid var(--wp--preset--color--tertiary);
	border-radius: var(--wp--preset--border-radius--m);
	background: #fdf1eb;
	box-shadow: none;
}

.pass-form .gform_wrapper .gform_validation_errors > h2 {
	margin: 0;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--m);
	font-weight: 600;
}

.pass-form .gform_wrapper .gform_validation_errors > h2 .gform-icon {
	display: none;
}

.pass-form .gform_wrapper .gform_validation_errors ol {
	margin: 8px 0 0;
	padding-left: 20px;
}

.pass-form .gform_wrapper .gform_validation_errors a {
	color: #b4501e;
	font-size: var(--wp--preset--font-size--s);
}

.pass-form .gform_wrapper .gfield_error label,
.pass-form .gform_wrapper .gfield_error legend {
	color: var(--wp--preset--color--neutral);
}

.pass-form .gform_wrapper .gfield_error :is(input, textarea) {
	border-color: var(--wp--preset--color--tertiary);
}

.pass-form .gform_wrapper .gfield_validation_message,
.pass-form .gform_wrapper .validation_message {
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: #b4501e;
	font-size: var(--wp--preset--font-size--s);
}

.pass-form .gform_confirmation_message {
	padding: 30px;
	border-radius: 20px;
	background: var(--wp--preset--color--primary-10);
	color: var(--wp--preset--color--neutral);
	font-weight: 600;
}

@media (max-width: 47.99em) {
	.pass-form .gfield--width-half {
		grid-column: span 12;
	}

	.pass-form .gform_button {
		justify-content: center;
		width: 100%;
	}

	.pass-contact-page {
		padding-top: 40px;
	}
}

/* ==========================================================================
   Écran « Contenu protégé » (boîte à outils) — Figma 4141:8109
   ========================================================================== */

.pass-gate {
	/* Bande pleine largeur depuis la colonne de contenu. */
	margin-inline: calc(50% - 50vw) !important;
	margin-block: 0 !important;
	padding: 60px var(--wp--style--root--padding-right) 60px var(--wp--style--root--padding-left);
	background-color: var(--wp--preset--color--primary-10);
}

.pass-gate__card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 556px;
	margin-inline: auto;
	padding: 40px 80px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 20px;
	background-color: var(--wp--preset--color--white);
	text-align: center;
}

.pass-gate__card > * {
	margin-block: 0;
}

.pass-gate__card > .pass-gate__submit,
.pass-gate__card > .pass-gate__request {
	margin-top: 30px;
}

.pass-gate__icon {
	width: 32px;
	height: 32px;
	color: var(--wp--preset--color--primary);
}

.pass-gate__icon svg {
	width: 100%;
	height: 100%;
}

.pass-gate__title {
	margin-top: 16px;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 600;
}

.pass-gate__text {
	margin-top: 24px;
	color: var(--wp--preset--color--neutral);
}

.pass-gate__field {
	align-self: stretch;
	margin-top: 32px;
	text-align: left;
}

.pass-gate__field label {
	display: block;
	margin-bottom: 4px;
}

.pass-gate__input {
	position: relative;
}

.pass-gate__input input {
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	padding: 0 52px 0 16px;
	border: 1px solid var(--wp--preset--color--neutral-75);
	border-radius: var(--wp--preset--border-radius--m);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--neutral);
	font: inherit;
	font-size: var(--wp--preset--font-size--l);
	letter-spacing: 0.05em;
}

.pass-gate__input input:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 0;
	border-color: var(--wp--preset--color--primary);
}

.pass-gate__input input[aria-invalid="true"] {
	border-color: var(--wp--preset--color--tertiary);
}

.pass-gate__toggle {
	position: absolute;
	top: 50%;
	right: 10px;
	display: flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--neutral-75);
	cursor: pointer;
	transform: translateY(-50%);
}

.pass-gate__toggle svg {
	width: 20px;
	height: 20px;
}

.pass-gate__eye-off,
.pass-gate__toggle[aria-pressed="true"] .pass-gate__eye {
	display: none;
}

.pass-gate__toggle[aria-pressed="true"] .pass-gate__eye-off {
	display: block;
}

.pass-gate__error {
	margin: 6px 0 0;
	color: #b4501e;
	font-size: var(--wp--preset--font-size--s);
}

.pass-gate__submit {
	padding: 16px 40px;
	cursor: pointer;
}

.pass-gate__submit::before {
	display: none;
}

.pass-gate__request {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--s);
	font-weight: 400;
}

@media (max-width: 47.99em) {
	.pass-gate {
		padding-block: 40px;
	}

	.pass-gate__card {
		padding: 30px 20px;
	}

	.pass-gate__submit {
		align-self: stretch;
		justify-content: center;
	}
}
