/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

.event-registration {
	padding: 5rem 1rem;
}

.event-registration h1 {
	text-align: center;
	margin: 0 0 1.5rem;
}

.event-registration .event-registration-header {
	text-align: center;
	margin-bottom: 5rem;
}

.event-registration .register-description.empty {
	display: flex;
	justify-content: center;
	max-width: 500px;
	margin: 0 auto;
}

.event-registration .register-description.empty .button-empty {
	width: max-content;
	margin-top: 2rem;
}

.event-registration .register-description a:hover {
	text-decoration: none;
}

.event-registration .form-wrapper {
	width: 100%;
	max-width: 620px;
	border-radius: 20px;
	margin: 0 auto;
	border: 1px solid rgba(106, 152, 87, 0.1);
	padding: 2.5rem;
	background-color: white;
}

.event-registration .step-title {
	margin-bottom: 10px;
}

.event-registration .form-title a {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: max-content;
}

.event-registration form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1rem;
}

.event-registration form input[type="submit"] {
	text-decoration: none !important;
	border-top: 1px solid #6a9858;
	font-size: 0.875rem;
	transition: all 0.3s ease;
}

.event-registration form input[type="submit"]:disabled {
	opacity: 50%;
	cursor: not-allowed;
}

.event-registration .member-new-header {
	grid-column: 1/3;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.event-registration .member {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding-top: 1.25rem;
	margin-top: 1.25rem;
	border-top: 1px solid rgba(106, 152, 88, 0.1);
}

.event-registration .member:first-child {
	margin-top: 0;
}

.event-registration .member-new-header .member-new-title {
	font-size: 1rem;
	font-weight: bold !important;
}

.event-registration #members-container .radio-control > label {
	display: block;
	margin-bottom: 1.25rem;
}

.event-registration label span.required {
	color: #b91c1c;
}

.event-registration .submit-wrapper {
	padding-top: 1.25rem;
	border-top: 1px solid #6a9858;
}

.event-registration #notice-stock {
	display: none;
	text-align: center;
	margin-top: 1rem;
	padding-top: 1rem;
	font-weight: bold;
}

.event-registration #notice-stock.show, .event-registration #notice-vat-number.show, .event-registration #notice-student.show {
	display: block;
}

.event-registration #notice-vat-number, .event-registration #notice-student {
	display: none;
	font-weight: bold;
	font-size: 0.875rem;
	margin-top: 1rem;
}

#members-container #members-list .remove-member {
	color: #b91c1c;
	text-decoration: underline;
}

#members-container #members-list .remove-member:hover {
	text-decoration: none;
}

#members-container #members-list input {
	text-decoration: none;
}

#members-container #members-list {
	margin-bottom: 1.25rem;
}

#members-container #add-member {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: center;
	width: 100%;
	color: #356423;
	padding: 1rem;
	border: 1px solid rgba(106, 152, 88, 0.2);
	border-radius: 50px;
	transition: background-color 0.3s ease;
}

#members-container #add-member:hover {
	background-color: rgba(106, 152, 88, 0.1);
}

/* ================================================================
   FORMULAIRE INSCRIPTION ESEM
   ================================================================ */

/* ── Compteurs adultes / enfants ─────────────────────────── */

.esem-registration .esem-counts {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgba(106, 152, 88, 0.1);
}

.esem-registration .esem-count-field > label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 500;
}

.esem-registration .esem-price {
	font-weight: normal;
	color: #356423;
	font-size: 0.875rem;
}

.esem-registration .esem-count-controls {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}

.esem-registration .esem-count-controls input[type="number"] {
	width: 3.5rem;
	text-align: center;
	border: 1px solid rgba(106, 152, 88, 0.3);
	border-radius: 8px;
	padding: 0.375rem 0.5rem;
	font-size: 1rem;
	-moz-appearance: textfield;
}

.esem-registration .esem-count-controls input[type="number"]::-webkit-inner-spin-button,
.esem-registration .esem-count-controls input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.esem-registration .esem-count-btn {
	width: 2rem;
	height: 2rem;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1px solid rgba(106, 152, 88, 0.3);
	background: white;
	color: #356423;
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.esem-registration .esem-count-btn:hover {
	background-color: rgba(106, 152, 88, 0.1);
	border-color: #6a9858;
}

/* ── Sections adultes / enfants ──────────────────────────── */

.esem-registration .esem-participants-section {
	margin-top: 0.25rem;
}

.esem-registration .esem-participants-section .step-title {
	margin-bottom: 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid rgba(106, 152, 88, 0.1);
}

/* ── Bloc participant (même style que .member CNB) ────────── */

.esem-registration .esem-participant-block {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-top: 1.25rem;
	margin-top: 1.25rem;
	border-top: 1px solid rgba(106, 152, 88, 0.1);
}

.esem-registration .esem-participant-block:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.esem-registration .esem-participant-title {
	font-size: 1rem;
	font-weight: bold;
	margin: 0;
}

.esem-registration .esem-participant-fields {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.esem-registration .esem-participant-fields .form-group {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.esem-registration .esem-participant-fields label {
	font-size: 0.875rem;
	font-weight: 500;
}

/* ── Champ e-mail + bouton "utiliser mon email" ──────────── */

.esem-registration .esem-email-group {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.esem-registration .esem-use-my-email {
	align-self: flex-start;
	font-size: 0.75rem;
	color: #356423;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	text-decoration: underline;
	transition: opacity 0.2s ease;
}

.esem-registration .esem-use-my-email:hover {
	opacity: 0.65;
	text-decoration: none;
}

/* ── Info places disponibles ─────────────────────────────── */

.esem-registration .places-info {
	font-size: 0.875rem;
	color: #356423;
	font-weight: 500;
	margin-top: 0.375rem;
}

/* ── Bouton de soumission (cohérent avec input[submit] CNB) ─ */

.esem-registration .submit-wrapper {
	padding-top: 1.25rem;
	border-top: 1px solid #6a9858;
}

.esem-registration .submit-wrapper button[type="submit"] {
	display: block;
	width: 100%;
	font-size: 0.875rem;
	transition: all 0.3s ease;
}

/* ================================================================ */

.login-wrapper .wp-block-heading {
	font-size: 1.125rem;
	line-height: 1.75rem;
	margin-bottom: 1.25rem;
}

.login-wrapper .wp-block-heading + p {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.25rem;
	margin-bottom: 1.25rem;
}
