/**
 * Espace Mon compte simplifié — v0.7.16
 */

/* Le message utilisateur du header devient un lien de compte. */
.ans-user-greeting .ans-account-link {
	display: inline-flex;
	align-items: center;
	flex-direction: row-reverse;
	gap: 0.45rem;
	border-radius: 0.35rem;
	color: inherit;
	text-decoration: none;
}

.ans-user-greeting .ans-account-link::before {
	display: inline-block;
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	content: "";
	-webkit-mask-image: url("../icons/functional/user.svg");
	mask-image: url("../icons/functional/user.svg");
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.ans-user-greeting .ans-account-link:hover,
.ans-user-greeting .ans-account-link:focus-visible {
	color: var(--ans-white);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.ans-user-greeting .ans-account-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
 * Page Mon compte
 * ----------------------------------------------------------------------- */

/*
 * Le conteneur principal doit rester en pleine largeur : le motif gris des
 * pages intérieures est porté par son pseudo-élément ::before.
 */
.ans-lifterlms-account .ans-content-shell {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

/* Seuls le titre et le contenu utile sont centrés. */
.ans-lifterlms-account .ans-content-shell > .wp-block-post-title,
.ans-lifterlms-account .ans-content-shell > .wp-block-post-content,
.ans-lifterlms-account .entry-content {
	box-sizing: border-box;
	width: min(calc(100% - 2rem), 68rem);
	max-width: 68rem;
	margin-inline: auto !important;
}

/* Le fil d’Ariane n’apporte pas d’information utile sur cette page dédiée. */
.ans-lifterlms-account .ans-breadcrumbs-wrap,
.ans-lifterlms-account .wp-block-breadcrumbs,
.ans-lifterlms-account nav[aria-label="Fil d’Ariane"],
.ans-lifterlms-account nav[aria-label="Fil d'Ariane"],
.ans-lifterlms-account nav[aria-label="Breadcrumb"] {
	display: none !important;
}

.ans-lifterlms-account .llms-student-dashboard {
	display: block !important;
	width: min(100%, 68rem);
	margin-inline: auto;
	padding: clamp(1.25rem, 3.5vw, 3rem);
}

/* Navigation devenue inutile pour l'usage de la plateforme. */
.ans-lifterlms-account .llms-student-dashboard :is(
	.llms-sd-items,
	.llms-sd-nav,
	.llms-sd-navigation,
	.llms-sd-menu,
	.llms-sd-select,
	.llms-sd-select-nav,
	.llms-sd-mobile-nav,
	.llms-sd-sidebar,
	.llms-sd-left
) {
	display: none !important;
}

/* Le contenu du formulaire reprend toute la largeur disponible. */
.ans-lifterlms-account .llms-student-dashboard :is(
	.llms-sd-main,
	.llms-sd-content,
	.llms-sd-right,
	.llms-sd-col-main,
	.llms-form-wrap
) {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.ans-lifterlms-account .llms-sd-header {
	margin: 0 0 clamp(1.25rem, 3vw, 2rem);
	padding: 0 0 1rem;
	border-bottom: 1px solid var(--ans-border);
}

.ans-lifterlms-account .llms-sd-title {
	margin: 0;
	color: var(--ans-navy);
	font-size: clamp(1.85rem, 4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.15;
}

.ans-lifterlms-account .llms-student-dashboard form {
	width: 100%;
	max-width: none;
}

.ans-lifterlms-account .llms-form-field {
	margin-block: 1.15rem;
}

.ans-lifterlms-account .llms-form-field label {
	margin-bottom: 0.45rem;
}

.ans-lifterlms-account .llms-form-field :is(input, select, textarea) {
	min-height: 3.35rem;
	border-radius: 0.8rem;
}

/* Les groupes de champs natifs conservent leurs colonnes sur grand écran. */
.ans-lifterlms-account .llms-form-fields {
	gap: 0.25rem 1rem;
}

/*
 * LifterLMS place le bouton dans un conteneur .llms-cols-6 limité à 50 %.
 * Le conteneur doit donc être élargi avant de centrer réellement le bouton.
 */
.ans-lifterlms-account .llms-person-form footer.llms-form-fields {
	display: block;
	width: 100%;
}

.ans-lifterlms-account .llms-person-form .llms-form-field.type-submit {
	display: flex !important;
	float: none !important;
	clear: both;
	justify-content: center;
	width: 100% !important;
	max-width: none !important;
	margin: 1.5rem 0 0 !important;
}

.ans-lifterlms-account .llms-person-form .llms-form-field.type-submit :is(
	.llms-button,
	.llms-button-primary,
	.llms-button-action,
	button[type="submit"],
	input[type="submit"]
) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 30rem);
	min-width: 0;
	margin: 0 !important;
}

/* Évite les grands vides lorsque LifterLMS conserve un conteneur de colonne. */
.ans-lifterlms-account .llms-student-dashboard > :empty {
	display: none;
}

@media (max-width: 680px) {
	.ans-lifterlms-account .llms-student-dashboard {
		padding: 1.1rem;
		border-radius: var(--ans-radius-md);
	}

	.ans-lifterlms-account .llms-sd-title {
		font-size: clamp(1.65rem, 8vw, 2rem);
	}

	.ans-lifterlms-account .llms-form-field {
		width: 100% !important;
		margin-block: 0.9rem;
	}

	.ans-lifterlms-account .llms-person-form .llms-form-field.type-submit :is(
		.llms-button,
		.llms-button-primary,
		.llms-button-action,
		button[type="submit"],
		input[type="submit"]
	) {
		width: 100%;
		max-width: none;
	}
}
