/* ==========================================================================
   Event Registration 2.1 — FIG Multiservices
   Styles encapsulés sous .evreg-wrap pour éviter les conflits Elementor.
   ========================================================================== */

.evreg-wrap {
	--evreg-green: #098338;
	--evreg-green-soft: rgba(9, 131, 56, 0.10);
	--evreg-ink: #10182b;
	--evreg-muted: #646a73;
	--evreg-line: #e4e8e5;
	--evreg-surface: #ffffff;
	--evreg-field: #f8faf8;
	--evreg-error: #a32020;
	--evreg-error-bg: #fdf1f1;
	--evreg-success: #098338;
	--evreg-whatsapp: #25d366;
	--evreg-whatsapp-hover: #1fba59;

	max-width: 620px;
	margin: 0 auto;
	box-sizing: border-box;
	color: var(--evreg-ink);
	font-size: 16px;
	line-height: 1.55;
	text-align: left;
}

.evreg-wrap *,
.evreg-wrap *::before,
.evreg-wrap *::after {
	box-sizing: border-box;
}

.evreg-card {
	position: relative;
	overflow: hidden;
	padding: 32px 30px;
	background: var(--evreg-surface);
	border: 1px solid var(--evreg-line);
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(16, 24, 43, 0.03), 0 18px 45px -28px rgba(16, 24, 43, 0.30);
}

.evreg-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--evreg-green);
}

.evreg-card__header {
	margin-bottom: 26px;
}

.evreg-card__title {
	margin: 0 0 8px;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--evreg-ink);
}

.evreg-card__text {
	margin: 0;
	color: var(--evreg-muted);
	font-size: 15px;
}

.evreg-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

.evreg-field {
	margin: 0 0 18px;
}

.evreg-field label {
	display: block;
	margin-bottom: 7px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.055em;
	text-transform: uppercase;
	color: var(--evreg-muted);
}

.evreg-wrap input[type="text"],
.evreg-wrap input[type="email"],
.evreg-wrap input[type="tel"] {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 13px 14px !important;
	font-family: inherit !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	color: var(--evreg-ink) !important;
	background: var(--evreg-field) !important;
	border: 1px solid var(--evreg-line) !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
	-webkit-appearance: none;
	appearance: none;
}

.evreg-wrap input[type="text"]:hover,
.evreg-wrap input[type="email"]:hover,
.evreg-wrap input[type="tel"]:hover {
	border-color: #c9d0ca !important;
}

.evreg-wrap input[type="text"]:focus,
.evreg-wrap input[type="email"]:focus,
.evreg-wrap input[type="tel"]:focus {
	outline: none !important;
	background: #ffffff !important;
	border-color: var(--evreg-green) !important;
	box-shadow: 0 0 0 3px var(--evreg-green-soft) !important;
}

.evreg-actions {
	margin: 26px 0 0;
}

.evreg-wrap .evreg-button,
.evreg-wrap button.evreg-button,
.evreg-wrap .evreg-button:hover,
.evreg-wrap .evreg-button:focus,
.evreg-wrap .evreg-button:active {
	-webkit-appearance: none !important;
	appearance: none !important;
	text-decoration: none !important;
}

.evreg-wrap .evreg-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 14px 28px !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	color: #ffffff !important;
	background: var(--evreg-green) !important;
	background-color: var(--evreg-green) !important;
	border: 1px solid var(--evreg-green) !important;
	border-radius: 999px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: background 0.18s ease, color 0.18s ease, transform 0.12s ease !important;
}

.evreg-wrap .evreg-button:hover,
.evreg-wrap .evreg-button:focus-visible {
	color: var(--evreg-green) !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-color: var(--evreg-green) !important;
}

.evreg-wrap .evreg-button:active {
	transform: translateY(1px);
}

.evreg-alert {
	margin: 0 0 22px;
	padding: 12px 14px;
	font-size: 15px;
	color: var(--evreg-error);
	background: var(--evreg-error-bg);
	border: 1px solid #f0cdcd;
	border-radius: 9px;
}

.evreg-card--success {
	text-align: center;
	padding: 40px 28px 36px;
}

.evreg-card--success::before {
	background: var(--evreg-success);
}

.evreg-card--success .evreg-card__title {
	font-size: 25px;
}

.evreg-card--success .evreg-card__text {
	max-width: 410px;
	margin: 0 auto;
	color: var(--evreg-ink);
	font-size: 16px;
}

.evreg-check {
	display: block;
	width: 62px;
	height: 62px;
	margin: 0 auto 18px;
}

.evreg-check svg {
	width: 100%;
	height: 100%;
	overflow: visible;
}

.evreg-check__circle,
.evreg-check__mark {
	fill: none;
	stroke: var(--evreg-success);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.evreg-check__circle {
	stroke-opacity: 0.28;
	stroke-dasharray: 152;
	stroke-dashoffset: 152;
	animation: evreg-draw 0.5s ease forwards;
}

.evreg-check__mark {
	stroke-dasharray: 40;
	stroke-dashoffset: 40;
	animation: evreg-draw 0.35s ease 0.35s forwards;
}

@keyframes evreg-draw {
	to { stroke-dashoffset: 0; }
}

.evreg-guest-card {
	margin-top: 22px;
	padding: 22px;
	background: #f7f9f7;
	border: 1px solid var(--evreg-line);
	border-radius: 16px;
}

.evreg-guest-card__content h4 {
	margin: 0 0 6px;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 800;
	color: var(--evreg-ink);
}

.evreg-guest-card__content p {
	margin: 0;
	color: var(--evreg-muted);
	font-size: 14px;
	line-height: 1.55;
}

.evreg-wrap .evreg-whatsapp-button,
.evreg-wrap .evreg-whatsapp-button:hover,
.evreg-wrap .evreg-whatsapp-button:focus,
.evreg-wrap .evreg-whatsapp-button:active,
.evreg-wrap .evreg-whatsapp-button:visited {
	text-decoration: none !important;
}

.evreg-wrap .evreg-whatsapp-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	margin-top: 16px !important;
	padding: 13px 18px !important;
	border: 1px solid var(--evreg-whatsapp) !important;
	border-radius: 999px !important;
	background: var(--evreg-whatsapp) !important;
	background-color: var(--evreg-whatsapp) !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	box-shadow: none !important;
	transition: transform 0.15s ease, background 0.15s ease !important;
}

.evreg-wrap .evreg-whatsapp-button:hover,
.evreg-wrap .evreg-whatsapp-button:focus-visible {
	background: var(--evreg-whatsapp-hover) !important;
	background-color: var(--evreg-whatsapp-hover) !important;
	border-color: var(--evreg-whatsapp-hover) !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.evreg-whatsapp-button svg {
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	fill: currentColor;
}

.evreg-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (min-width: 560px) {
	.evreg-grid {
		grid-template-columns: 1fr 1fr;
		gap: 0 18px;
	}

	.evreg-wrap .evreg-button {
		width: auto !important;
		min-width: 220px !important;
	}

	.evreg-wrap .evreg-whatsapp-button {
		width: auto !important;
	}
}

@media (max-width: 480px) {
	.evreg-card {
		padding: 26px 20px;
		border-radius: 14px;
	}

	.evreg-guest-card {
		padding: 19px;
		border-radius: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.evreg-check__circle,
	.evreg-check__mark {
		animation: none;
		stroke-dashoffset: 0;
	}

	.evreg-wrap input[type="text"],
	.evreg-wrap input[type="email"],
	.evreg-wrap input[type="tel"],
	.evreg-wrap .evreg-button,
	.evreg-wrap .evreg-whatsapp-button {
		transition: none !important;
	}
}
