/*
 * ACCP-VR — couche visuelle de l'espace membre (sorties Crocoblock : Profile Builder, listings JetEngine,
 * JetFormBuilder, JetPopup). Chargée seulement sur /account, la page Agenda et les pages événement.
 * Les styles Elementor sont posés par ID d'élément (spécificité élevée) : les surcharges utiles sont donc
 * préfixées par body.accpvr-ui et, si nécessaire, marquées !important.
 */

body.accpvr-ui {
	--ui-ink: #1f2d27;
	--ui-text: #44524b;
	--ui-muted: #5f6e66;
	--ui-primary: #3f6b52;
	--ui-primary-hover: #2f5240;
	--ui-primary-soft: #eef4f0;
	--ui-green-light: #d2e0d7;
	--ui-surface: #ffffff;
	--ui-bg-soft: #f3f7f4;
	--ui-border: #dce6df;
	--ui-border-strong: #c3d3c9;
	--ui-danger: #a23b32;
	--ui-danger-soft: #fbeeec;
	--ui-radius-sm: 10px;
	--ui-radius: 14px;
	--ui-radius-lg: 18px;
	--ui-shadow: 0 1px 2px rgba(31, 45, 39, 0.06), 0 8px 24px -16px rgba(31, 45, 39, 0.28);
	--ui-shadow-hover: 0 1px 2px rgba(31, 45, 39, 0.08), 0 14px 32px -18px rgba(31, 45, 39, 0.4);
	--ui-focus: 0 0 0 3px rgba(63, 107, 82, 0.35);
	--ui-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ---------- Focus clavier visible partout ---------- */
body.accpvr-ui a:focus-visible,
body.accpvr-ui button:focus-visible,
body.accpvr-ui input:focus-visible,
body.accpvr-ui select:focus-visible,
body.accpvr-ui textarea:focus-visible,
body.accpvr-ui [role="button"]:focus-visible {
	outline: none;
	box-shadow: var(--ui-focus);
	border-radius: var(--ui-radius-sm);
}

/* =====================================================================
   1. Bandeau d'en-tête des onglets : plus compact, sans fil d'Ariane anglais
   ===================================================================== */
body.accpvr-ui--account .e-parent:has(.elementor-widget-elementskit-breadcrumb) {
	--padding-top: 150px !important;
	--padding-bottom: 44px !important;
	--min-height: 0px !important;
	min-height: 0 !important;
}

body.accpvr-ui--account .elementor-widget-elementskit-breadcrumb {
	display: none !important;
}

body.accpvr-ui--account .e-parent:has(.elementor-widget-elementskit-breadcrumb) .ekit-heading--title {
	font-size: clamp(2rem, 1.4rem + 2vw, 2.75rem) !important;
	letter-spacing: -0.01em;
}

/* =====================================================================
   2. Menu de l'espace (Profile Builder)
   ===================================================================== */
body.accpvr-ui--account .e-con:has(> .elementor-widget-jet-engine-profile-menu) {
	position: sticky;
	top: 110px;
	align-self: flex-start;
	gap: 8px !important;
	padding: 10px !important;
	border: 1px solid var(--ui-border);
	border-radius: var(--ui-radius-lg);
	background: var(--ui-surface);
	box-shadow: var(--ui-shadow);
}

body.accpvr-ui .jet-profile-menu {
	gap: 4px !important;
}

body.accpvr-ui .jet-profile-menu__item {
	margin: 0 !important;
}

body.accpvr-ui .jet-profile-menu__item-link {
	display: flex !important;
	align-items: center;
	gap: 12px;
	min-height: 46px;
	padding: 10px 14px !important;
	border: 0 !important;
	border-radius: var(--ui-radius-sm) !important;
	background: transparent !important;
	color: var(--ui-ink) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	text-align: left !important;
	text-decoration: none !important;
	justify-content: flex-start !important;
	transition: background 0.18s var(--ui-ease), color 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-profile-menu__item-link::before {
	content: "";
	flex: none;
	width: 20px;
	height: 20px;
	background: currentColor;
	opacity: 0.85;
	-webkit-mask: var(--ui-icon) center / contain no-repeat;
	mask: var(--ui-icon) center / contain no-repeat;
}

body.accpvr-ui .jet-profile-menu__item-link:hover {
	background: var(--ui-bg-soft) !important;
	color: var(--ui-primary) !important;
}

body.accpvr-ui .jet-profile-menu__item.is-active .jet-profile-menu__item-link {
	background: var(--ui-primary-soft) !important;
	color: var(--ui-primary) !important;
	font-weight: 600 !important;
	box-shadow: inset 3px 0 0 var(--ui-primary);
}

/* Icônes (Lucide, trait 1.8) */
body.accpvr-ui .jet-profile-menu__item-link {
	--ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E");
}

body.accpvr-ui .jet-profile-menu__item-link[href$="/account/"],
body.accpvr-ui .jet-profile-menu__item-link[href*="/dashboard/"] {
	--ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5V20a1 1 0 0 1-1 1h-5v-6H9v6H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E");
}

body.accpvr-ui .jet-profile-menu__item-link[href*="/agenda"] {
	--ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16.5' rx='2.5'/%3E%3Cpath d='M3 9.5h18M8 2.5v4M16 2.5v4'/%3E%3C/svg%3E");
}

body.accpvr-ui .jet-profile-menu__item-link[href*="/documents/"] {
	--ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
}

body.accpvr-ui .jet-profile-menu__item-link[href*="/utilisateurs/"] {
	--ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.8-3.6 3.4-5.5 6.5-5.5s5.7 1.9 6.5 5.5M16 4.8a3.5 3.5 0 0 1 0 6.4M18 14.8c2 .7 3.2 2.4 3.5 5.2'/%3E%3C/svg%3E");
}

body.accpvr-ui .jet-profile-menu__item-link[href*="/my-profile/"] {
	--ui-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4.5 4.2-6.5 8-6.5s7 2 8 6.5'/%3E%3C/svg%3E");
}

/* Déconnexion : lien discret sous le menu */
body.accpvr-ui--account .elementor-widget-button a.elementor-button[href*="action=logout"] {
	display: flex !important;
	align-items: center;
	justify-content: flex-start !important;
	gap: 12px;
	min-height: 44px;
	margin-top: 4px;
	padding: 10px 14px !important;
	border: 0 !important;
	border-top: 1px solid var(--ui-border) !important;
	border-radius: 0 0 var(--ui-radius-sm) var(--ui-radius-sm) !important;
	background: transparent !important;
	color: var(--ui-muted) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	box-shadow: none !important;
}

body.accpvr-ui--account .elementor-widget-button a.elementor-button[href*="action=logout"]::before {
	content: "";
	width: 20px;
	height: 20px;
	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='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%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='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.accpvr-ui--account .elementor-widget-button a.elementor-button[href*="action=logout"]:hover {
	background: var(--ui-danger-soft) !important;
	color: var(--ui-danger) !important;
}

/* Tablette / mobile : onglets horizontaux défilants */
@media (max-width: 1024px) {
	body.accpvr-ui--account .e-con:has(> .elementor-widget-jet-engine-profile-menu) {
		position: static;
		padding: 6px !important;
	}

	body.accpvr-ui .jet-profile-menu {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	body.accpvr-ui .jet-profile-menu {
		-webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
		mask-image: linear-gradient(90deg, #000 85%, transparent);
		padding-right: 24px !important;
	}

	body.accpvr-ui .jet-profile-menu::-webkit-scrollbar {
		display: none;
	}

	body.accpvr-ui .jet-profile-menu__item {
		flex: 0 0 auto !important;
		width: auto !important;
	}

	body.accpvr-ui .jet-profile-menu__item-link {
		white-space: nowrap;
		padding: 10px 14px !important;
	}

	body.accpvr-ui .jet-profile-menu__item.is-active .jet-profile-menu__item-link {
		box-shadow: inset 0 -3px 0 var(--ui-primary);
	}

	body.accpvr-ui--account .elementor-widget-button a.elementor-button[href*="action=logout"] {
		border-top: 0 !important;
		margin-top: 0;
		justify-content: center !important;
	}
}

@media (max-width: 767px) {
	body.accpvr-ui--account .e-con:has(> .elementor-widget-jet-engine-profile-menu) {
		margin: 0 16px !important;
		width: auto !important;
	}
}

/* =====================================================================
   3. Titres, textes et boutons d'action des onglets
   ===================================================================== */
body.accpvr-ui--account .e-con:has(> .elementor-widget-jet-engine-profile-menu) ~ .e-con > .elementor-widget-heading .elementor-heading-title {
	color: var(--ui-ink) !important;
	font-weight: 600 !important;
	font-size: clamp(1.5rem, 1.25rem + 0.8vw, 1.85rem) !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em;
}

body.accpvr-ui--account .e-con:has(> .elementor-widget-jet-engine-profile-menu) ~ .e-con > .elementor-widget-text-editor {
	color: var(--ui-text) !important;
	font-size: 15px;
	line-height: 1.65;
}

body.accpvr-ui--account .e-con:has(> .elementor-widget-jet-engine-profile-menu) ~ .e-con > .elementor-widget-button a.elementor-button {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 11px 18px !important;
	border: 0 !important;
	border-radius: var(--ui-radius-sm) !important;
	background: var(--ui-primary) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	box-shadow: var(--ui-shadow);
	transition: background 0.18s var(--ui-ease), transform 0.18s var(--ui-ease);
}

body.accpvr-ui--account .e-con:has(> .elementor-widget-jet-engine-profile-menu) ~ .e-con > .elementor-widget-button a.elementor-button:hover {
	background: var(--ui-primary-hover) !important;
	transform: translateY(-1px);
}

/* =====================================================================
   4. Lignes de listing (documents, événements, membres)
   ===================================================================== */
body.accpvr-ui .jet-listing-grid__items {
	gap: 12px;
}

body.accpvr-ui .jet-listing-grid .jet-listing-grid__item > .elementor > .e-parent {
	--padding-top: 16px !important;
	--padding-bottom: 16px !important;
	--padding-left: 18px !important;
	--padding-right: 18px !important;
	border: 1px solid var(--ui-border) !important;
	border-radius: var(--ui-radius) !important;
	background: var(--ui-surface) !important;
	box-shadow: var(--ui-shadow);
	transition: box-shadow 0.2s var(--ui-ease), border-color 0.2s var(--ui-ease);
}

body.accpvr-ui .jet-listing-grid .jet-listing-grid__item > .elementor > .e-parent:hover {
	border-color: var(--ui-border-strong) !important;
	box-shadow: var(--ui-shadow-hover);
}

body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .elementor-heading-title {
	color: var(--ui-ink) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

/* Colonne d'actions : boutons côte à côte, compacts */
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .e-con:has(> .elementor-widget-keydesign-button),
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .e-con:has(> .elementor-widget-jet-listing-dynamic-link) {
	--flex-direction: row !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 8px !important;
	--width: auto !important;
	width: auto !important;
	flex: 0 0 auto !important;
}

body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .elementor-widget-keydesign-button,
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .elementor-widget-jet-listing-dynamic-link {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Bouton secondaire (Modifier, Gérer l'accès…) */
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .kd-button,
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .elementor-widget-button .elementor-button {
	display: inline-flex !important;
	flex-direction: row-reverse;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 14px !important;
	border: 1px solid var(--ui-border-strong) !important;
	border-radius: var(--ui-radius-sm) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	transition: background 0.18s var(--ui-ease), border-color 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .kd-button:hover,
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .elementor-widget-button .elementor-button:hover {
	border-color: var(--ui-primary) !important;
	background: var(--ui-primary-soft) !important;
	color: var(--ui-primary) !important;
}

body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .kd-button__icon,
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .kd-button__icon i {
	color: currentColor !important;
	font-size: 14px !important;
	margin: 0 !important;
}

/* Bouton danger discret (Supprimer) */
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .jet-listing-dynamic-link__link {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 14px !important;
	border: 1px solid transparent !important;
	border-radius: var(--ui-radius-sm) !important;
	background: transparent !important;
	color: var(--ui-danger) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	transition: background 0.18s var(--ui-ease), border-color 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .jet-listing-dynamic-link__link:hover {
	border-color: #e7c3bf !important;
	background: var(--ui-danger-soft) !important;
}

body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .jet-listing-dynamic-link__icon,
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .jet-listing-dynamic-link__link i,
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .jet-listing-dynamic-link__link svg {
	color: currentColor !important;
	fill: currentColor !important;
	font-size: 14px !important;
	width: 14px;
	height: 14px;
}

/* Étiquette de dossier (comité / membre) */
body.accpvr-ui .jet-listing-grid .jet-listing-grid__item .elementor-widget-text-editor .elementor-widget-container {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px !important;
	border-radius: 999px !important;
	background: var(--ui-primary-soft) !important;
	color: var(--ui-primary) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* En-tête de tableau du listing Membres */
body.accpvr-ui--account .e-con:has(> .e-con > .elementor-widget-heading .elementor-heading-title) > .e-con > .elementor-widget-heading .elementor-heading-title {
	font-size: 13px !important;
}

/* États vides */
body.accpvr-ui .jet-listing-not-found,
body.accpvr-ui .jet-listing-grid__no-items {
	padding: 28px 20px;
	border: 1px dashed var(--ui-border-strong);
	border-radius: var(--ui-radius);
	background: var(--ui-bg-soft);
	color: var(--ui-muted);
	text-align: center;
}

/* =====================================================================
   5. Formulaires JetFormBuilder
   ===================================================================== */
body.accpvr-ui .jet-form-builder {
	--jfb-gap: 18px;
}

body.accpvr-ui .jet-form-builder-row {
	margin-bottom: var(--jfb-gap) !important;
	padding: 0 !important;
}

body.accpvr-ui .jet-form-builder__label {
	margin-bottom: 6px !important;
	padding: 0 !important;
}

body.accpvr-ui .jet-form-builder__label-text {
	color: var(--ui-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

body.accpvr-ui .jet-form-builder__required {
	color: var(--ui-danger) !important;
}

body.accpvr-ui .jet-form-builder__desc,
body.accpvr-ui .jet-form-builder-file-upload__message,
body.accpvr-ui .jet-form-builder-file-upload__message small {
	margin-top: 6px;
	color: var(--ui-muted) !important;
	font-size: 13px !important;
	line-height: 1.5;
}

body.accpvr-ui .jet-form-builder input.jet-form-builder__field:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
body.accpvr-ui .jet-form-builder select.jet-form-builder__field,
body.accpvr-ui .jet-form-builder textarea.jet-form-builder__field {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px !important;
	border: 1px solid var(--ui-border-strong) !important;
	border-radius: var(--ui-radius-sm) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-ink) !important;
	font-family: inherit;
	font-size: 15px !important;
	line-height: 1.4;
	box-shadow: none !important;
	transition: border-color 0.18s var(--ui-ease), box-shadow 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-form-builder textarea.jet-form-builder__field {
	min-height: 110px;
	resize: vertical;
}

body.accpvr-ui .jet-form-builder input.jet-form-builder__field:hover,
body.accpvr-ui .jet-form-builder select.jet-form-builder__field:hover,
body.accpvr-ui .jet-form-builder textarea.jet-form-builder__field:hover {
	border-color: #9fb8a8 !important;
}

body.accpvr-ui .jet-form-builder input.jet-form-builder__field:focus,
body.accpvr-ui .jet-form-builder select.jet-form-builder__field:focus,
body.accpvr-ui .jet-form-builder textarea.jet-form-builder__field:focus {
	border-color: var(--ui-primary) !important;
	box-shadow: var(--ui-focus) !important;
	outline: none;
}

body.accpvr-ui .jet-form-builder ::placeholder {
	color: #6b7a72;
	opacity: 1;
}

/* Cases et boutons radio */
body.accpvr-ui .jet-form-builder__fields-group {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
}

body.accpvr-ui .jet-form-builder__field-label.for-checkbox,
body.accpvr-ui .jet-form-builder__field-label.for-radio {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	margin: 0 !important;
	padding: 10px 14px;
	border: 1px solid var(--ui-border-strong);
	border-radius: var(--ui-radius-sm);
	background: var(--ui-surface);
	color: var(--ui-ink) !important;
	font-size: 15px;
	cursor: pointer;
	transition: border-color 0.18s var(--ui-ease), background 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-form-builder__field-label.for-checkbox:has(input:checked),
body.accpvr-ui .jet-form-builder__field-label.for-radio:has(input:checked) {
	border-color: var(--ui-primary);
	background: var(--ui-primary-soft);
}

body.accpvr-ui .jet-form-builder input[type="checkbox"],
body.accpvr-ui .jet-form-builder input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0 !important;
	accent-color: var(--ui-primary);
}

body.accpvr-ui .jet-form-builder__field-label > span::before {
	display: none !important; /* décorateur JFB remplacé par la case native colorée */
}

/* Téléversement : zone de dépôt */
body.accpvr-ui .jet-form-builder-file-upload,
body.accpvr-ui .jet-form-builder-file-upload__content {
	min-height: 0 !important;
	height: auto !important;
}

body.accpvr-ui .jet-form-builder-file-upload {
	display: flex !important;
	flex-direction: column;
	gap: 8px;
	padding: 18px !important;
	border: 1.5px dashed var(--ui-border-strong) !important;
	border-radius: var(--ui-radius) !important;
	background: var(--ui-bg-soft) !important;
	transition: border-color 0.18s var(--ui-ease), background 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-form-builder-file-upload:hover,
body.accpvr-ui .jet-form-builder-file-upload:focus-within {
	border-color: var(--ui-primary) !important;
	background: var(--ui-primary-soft) !important;
}

body.accpvr-ui .jet-form-builder-file-upload__content:has(.jet-form-builder-file-upload__files:empty),
body.accpvr-ui .jet-form-builder-file-upload__files:empty {
	display: none !important;
}

body.accpvr-ui .jet-form-builder-file-upload__input {
	width: 100%;
	color: var(--ui-muted);
	font-size: 14px;
	cursor: pointer;
}

body.accpvr-ui .jet-form-builder-file-upload__input::file-selector-button {
	margin-right: 12px;
	padding: 10px 16px;
	border: 1px solid var(--ui-primary);
	border-radius: var(--ui-radius-sm);
	background: var(--ui-surface);
	color: var(--ui-primary);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-form-builder-file-upload__input::file-selector-button:hover {
	background: var(--ui-primary-soft);
}

body.accpvr-ui .jet-form-builder-file-upload__file {
	border-radius: var(--ui-radius-sm);
	overflow: hidden;
}

/* Bouton d'envoi */
body.accpvr-ui .jet-form-builder__submit-wrap {
	margin-top: 6px;
}

body.accpvr-ui .jet-form-builder__action-button.jet-form-builder__submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 26px !important;
	border: 0 !important;
	border-radius: var(--ui-radius-sm) !important;
	background: var(--ui-primary) !important;
	color: #fff !important;
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 600 !important;
	box-shadow: var(--ui-shadow) !important;
	cursor: pointer;
	transition: background 0.18s var(--ui-ease), transform 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-form-builder__action-button.jet-form-builder__submit:hover {
	background: var(--ui-primary-hover) !important;
	transform: translateY(-1px);
}

/* Messages de succès / erreur */
body.accpvr-ui .jet-form-builder-messages-wrap .jet-form-builder-message {
	margin-top: 14px;
	padding: 12px 16px;
	border-radius: var(--ui-radius-sm);
	font-size: 14px;
	font-weight: 600;
}

body.accpvr-ui .jet-form-builder-message--success {
	border: 1px solid #b3cbbb;
	background: var(--ui-primary-soft);
	color: var(--ui-primary);
}

body.accpvr-ui .jet-form-builder-message--error {
	border: 1px solid #e7c3bf;
	background: var(--ui-danger-soft);
	color: var(--ui-danger);
}

body.accpvr-ui .jet-form-builder__field-error,
body.accpvr-ui .error-message {
	margin-top: 6px;
	color: var(--ui-danger) !important;
	font-size: 13px !important;
}

/* =====================================================================
   5b. Anciens formulaires JetEngine (ex. « Mon profil ») — même rendu que JetFormBuilder
   ===================================================================== */
body.accpvr-ui .jet-form .jet-form-row {
	margin-bottom: 18px !important;
}

body.accpvr-ui .jet-form .jet-form__label {
	margin-bottom: 6px !important;
	padding: 0 !important;
}

body.accpvr-ui .jet-form .jet-form__label-text {
	color: var(--ui-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

body.accpvr-ui .jet-form .jet-form__required {
	margin-left: 2px;
	color: var(--ui-danger) !important;
}

body.accpvr-ui .jet-form input.jet-form__field:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
body.accpvr-ui .jet-form select.jet-form__field,
body.accpvr-ui .jet-form textarea.jet-form__field {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px !important;
	border: 1px solid var(--ui-border-strong) !important;
	border-radius: var(--ui-radius-sm) !important;
	background: var(--ui-surface) !important;
	color: var(--ui-ink) !important;
	font-family: inherit;
	font-size: 15px !important;
	box-shadow: none !important;
	transition: border-color 0.18s var(--ui-ease), box-shadow 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-form input.jet-form__field:focus,
body.accpvr-ui .jet-form textarea.jet-form__field:focus {
	border-color: var(--ui-primary) !important;
	box-shadow: var(--ui-focus) !important;
	outline: none;
}

body.accpvr-ui .jet-engine-file-upload {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	border: 1.5px dashed var(--ui-border-strong);
	border-radius: var(--ui-radius);
	background: var(--ui-bg-soft);
}

body.accpvr-ui .jet-engine-file-upload__content:has(.jet-engine-file-upload__files:empty) {
	display: none;
}

body.accpvr-ui .jet-engine-file-upload__input::file-selector-button {
	margin-right: 12px;
	padding: 10px 16px;
	border: 1px solid var(--ui-primary);
	border-radius: var(--ui-radius-sm);
	background: var(--ui-surface);
	color: var(--ui-primary);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

body.accpvr-ui .jet-engine-file-upload__message,
body.accpvr-ui .jet-engine-file-upload__message small {
	color: var(--ui-muted) !important;
	font-size: 13px !important;
}

body.accpvr-ui .jet-form .jet-form__submit {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 26px !important;
	border: 0 !important;
	border-radius: var(--ui-radius-sm) !important;
	background: var(--ui-primary) !important;
	color: #fff !important;
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 600 !important;
	box-shadow: var(--ui-shadow) !important;
	cursor: pointer;
}

body.accpvr-ui .jet-form .jet-form__submit:hover {
	background: var(--ui-primary-hover) !important;
}

/* =====================================================================
   6. Popups JetPopup
   ===================================================================== */
body.accpvr-ui .jet-popup__overlay {
	background: rgba(31, 45, 39, 0.55) !important;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

body.accpvr-ui .jet-popup__container {
	width: min(560px, calc(100vw - 32px)) !important;
	max-width: calc(100vw - 32px) !important;
}

body.accpvr-ui .jet-popup__container-inner {
	padding: 28px 28px 24px !important;
	border: 0 !important;
	border-radius: var(--ui-radius-lg) !important;
	background: var(--ui-surface) !important;
	box-shadow: 0 30px 60px -20px rgba(15, 25, 20, 0.45) !important;
	max-height: calc(100vh - 48px);
	overflow-y: auto;
}

body.accpvr-ui .jet-popup__container-content .e-con {
	--padding-left: 0px !important;
	--padding-right: 0px !important;
}

body.accpvr-ui .jet-popup .elementor-heading-title {
	padding-right: 44px;
	color: var(--ui-ink) !important;
	font-size: 1.35rem !important;
	font-weight: 600 !important;
}

body.accpvr-ui .jet-popup__close-button {
	top: 14px !important;
	right: 14px !important;
	width: 44px !important;
	height: 44px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	background: var(--ui-bg-soft) !important;
	color: var(--ui-ink) !important;
	transition: background 0.18s var(--ui-ease);
}

body.accpvr-ui .jet-popup__close-button:hover {
	background: var(--ui-green-light) !important;
}

body.accpvr-ui .jet-popup__close-button svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

/* =====================================================================
   7. Mouvement réduit
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
	body.accpvr-ui *,
	body.accpvr-ui *::before,
	body.accpvr-ui *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* Focus clavier forcé sur les éléments dont l'ombre est neutralisée plus haut */
body.accpvr-ui a.elementor-button:focus-visible,
body.accpvr-ui .kd-button:focus-visible,
body.accpvr-ui .jet-listing-dynamic-link__link:focus-visible,
body.accpvr-ui .jet-popup-target:focus-visible,
body.accpvr-ui .jet-profile-menu__item-link:focus-visible {
	outline: 3px solid rgba(63, 107, 82, 0.55) !important;
	outline-offset: 2px !important;
}
