/* L'Oeuf Normand — page « Mon compte » (thème 1.18.0, 2026-10-04).
   Chargée uniquement sur Mon compte (inc/mon-compte.php). Aucun template
   WooCommerce surchargé : on stylise le balisage natif + celui ajouté par
   hooks. Les masques d'icônes du menu sont générés en PHP (inline). */

.woocommerce-account {
	--ln-card-bg: var(--wp--preset--color--surface);
	--ln-card-radius: 16px;
	--ln-card-shadow: 0 4px 24px rgba(28, 28, 26, 0.08);
	--ln-line: #EADFD2;
	--ln-muted: #4F4B44;      /* 8:1 sur surface */
	--ln-field-border: #8A7660; /* 4:1 sur crème : contour de champ visible (WCAG 1.4.11) */
	--ln-danger: #8A2B1A;
}

/* Largeur : la page suit contentSize (46rem), trop étroit pour un menu
   latéral + contenu ou deux colonnes de connexion. */
.woocommerce-account .wp-block-post-content > .woocommerce {
	max-width: min(100%, 70rem);
}

/* Clearfix natifs (::before/::after en display:table) : ils deviendraient
   des cellules de grille. */
.woocommerce-account .woocommerce .col2-set::before,
.woocommerce-account .woocommerce .col2-set::after,
.woocommerce-account .woocommerce .u-columns::before,
.woocommerce-account .woocommerce .u-columns::after {
	display: none !important;
}

/* ---------- Cartes, titres, boutons ---------- */

.loeufnormand-account-card,
.woocommerce-account .woocommerce-MyAccount-content fieldset,
.woocommerce-account .woocommerce-Address,
.woocommerce-account .woocommerce-customer-details .woocommerce-column,
.woocommerce-account .woocommerce-order-details,
.woocommerce-account .loeufnormand-bleez-documents,
.woocommerce-account .woocommerce-MyAccount-content > form,
.woocommerce-account .woocommerce-ResetPassword,
.woocommerce-account .woocommerce-OrderUpdates {
	background: var(--ln-card-bg);
	border: 0;
	border-radius: var(--ln-card-radius);
	box-shadow: var(--ln-card-shadow);
	padding: clamp(1.25rem, 3vw, 2rem);
	margin: 0 0 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .loeufnormand-login h2,
.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
	font-family: var(--wp--preset--font-family--archivo-black);
	font-size: 1.25rem;
	line-height: 1.25;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: 1rem;
	margin: 0 0 0.5rem;
}

.woocommerce-account .woocommerce .button,
.loeufnormand-account-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.7rem 1.2rem;
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 8px;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}
.woocommerce-account .woocommerce .button:hover,
.loeufnormand-account-button:hover {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--surface);
}
.woocommerce-account .woocommerce .button:focus-visible,
.woocommerce-account .woocommerce a:focus-visible,
.woocommerce-account .woocommerce summary:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}
.loeufnormand-account-button .loeufnormand-account-icon {
	width: 20px;
	height: 20px;
	flex: none;
}
/* Secondaire : contour (facture, payer, annuler, modifier). */
.woocommerce-account .woocommerce .button.loeufnormand-account-button--secondary,
.woocommerce-account .woocommerce .button.loeufnormand-facture,
.woocommerce-account .woocommerce .button.loeufnormand-bleez-download,
.woocommerce-account .woocommerce .button.pay,
.woocommerce-account .woocommerce .button.cancel {
	background: transparent;
	color: var(--wp--preset--color--primary);
}
.woocommerce-account .woocommerce .button.loeufnormand-account-button--secondary:hover,
.woocommerce-account .woocommerce .button.loeufnormand-facture:hover,
.woocommerce-account .woocommerce .button.loeufnormand-bleez-download:hover,
.woocommerce-account .woocommerce .button.pay:hover,
.woocommerce-account .woocommerce .button.cancel:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary-dark);
}
.woocommerce-account .woocommerce .button.loeufnormand-account-button--danger {
	background: transparent;
	border-color: var(--ln-danger);
	color: var(--ln-danger);
}
.woocommerce-account .woocommerce .button.loeufnormand-account-button--danger:hover {
	background: #F8E6E2;
	color: var(--ln-danger);
}
/* Icône « télécharger » devant les boutons facture / avoir (masque CSS
   généré en PHP pour .loeufnormand-bleez-download et .loeufnormand-facture). */
.woocommerce-account .woocommerce .button.loeufnormand-facture::before,
.woocommerce-account .woocommerce .button.loeufnormand-bleez-download::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background-color: currentColor;
	-webkit-mask: var(--ln-icon-download) center / contain no-repeat;
	mask: var(--ln-icon-download) center / contain no-repeat;
}

/* ---------- Champs de formulaire (style des formulaires du site) ---------- */

.woocommerce-account .woocommerce form .form-row {
	margin: 0 0 1.1rem;
	padding: 0;
}
.woocommerce-account .woocommerce form .form-row label,
.woocommerce-account .woocommerce form > p > label {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0.4rem;
}
.woocommerce-account .woocommerce form .input-text,
.woocommerce-account .woocommerce form select,
.woocommerce-account .woocommerce form textarea,
.woocommerce-account .select2-container .select2-selection--single {
	width: 100%;
	box-sizing: border-box;
	min-height: 2.9rem;
	padding: 0.65rem 0.85rem;
	border: 1px solid var(--ln-field-border);
	border-radius: 8px;
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1rem;
	line-height: 1.4;
}
.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
}
.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow {
	top: 50%;
	transform: translateY(-50%);
	right: 0.5rem;
}
.woocommerce-account .woocommerce form .input-text:focus,
.woocommerce-account .woocommerce form select:focus,
.woocommerce-account .woocommerce form textarea:focus,
.woocommerce-account .select2-container--focus .select2-selection--single,
.woocommerce-account .select2-container--open .select2-selection--single {
	border-color: var(--wp--preset--color--primary);
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
}
.woocommerce-account .woocommerce form .required {
	color: var(--ln-danger);
	text-decoration: none;
}
.woocommerce-account .woocommerce form .woocommerce-form-row em,
.woocommerce-account .woocommerce form .description {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.85rem;
	color: var(--ln-muted);
}
.woocommerce-account .woocommerce form .password-input {
	display: block;
	position: relative;
}
.woocommerce-account .woocommerce form input[type="checkbox"] {
	width: 1.1rem;
	height: 1.1rem;
	accent-color: var(--wp--preset--color--primary);
	vertical-align: middle;
}

/* Grilles de champs (adresse, compte) : remplace les flottants natifs. */
.woocommerce-account .woocommerce-address-fields__field-wrapper,
.woocommerce-account .loeufnormand-account-infos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 1.25rem;
}
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row,
.woocommerce-account .loeufnormand-account-infos > .form-row {
	float: none;
	width: auto;
	grid-column: 1 / -1;
}
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-first,
.woocommerce-account .loeufnormand-account-infos > .form-row-first {
	grid-column: 1;
}
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-last,
.woocommerce-account .loeufnormand-account-infos > .form-row-last {
	grid-column: 2;
}
.woocommerce-account .loeufnormand-account-infos > h2 {
	grid-column: 1 / -1;
}
.woocommerce-account .loeufnormand-account-infos > .clear,
.woocommerce-account .woocommerce-address-fields__field-wrapper > .clear {
	display: none;
}

/* ---------- Visiteur : connexion + « pas encore de compte » ---------- */

.loeufnormand-login {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}
.woocommerce-account .loeufnormand-login form.login {
	border: 0;
	padding: 0;
	margin: 0;
}
.woocommerce-account .loeufnormand-login form.login p.form-row:has(> .woocommerce-form-login__submit) {
	display: flex;
	padding: 0;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
}
/* Clearfix natif de .form-row (::before/::after) : deux éléments flex
   invisibles qui décalaient le bouton. */
.woocommerce-account .loeufnormand-login form.login p.form-row:has(> .woocommerce-form-login__submit)::before,
.woocommerce-account .loeufnormand-login form.login p.form-row:has(> .woocommerce-form-login__submit)::after {
	display: none;
}
.woocommerce-account .loeufnormand-login form.login label.woocommerce-form-login__rememberme {
	order: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-weight: 400;
}
.woocommerce-account .loeufnormand-login form.login .woocommerce-form-login__submit {
	order: 1;
	float: none;
	margin: 0 !important;
	min-width: 11rem;
}
.woocommerce-account .woocommerce-LostPassword {
	margin: 0.5rem 0 0;
}
.woocommerce-account .woocommerce-LostPassword a {
	font-weight: 600;
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.loeufnormand-login__guest {
	background: var(--wp--preset--color--powder);
	border-radius: var(--ln-card-radius);
	padding: clamp(1.25rem, 3vw, 2rem);
}
.loeufnormand-login__guest p {
	margin: 0 0 1rem;
	line-height: 1.55;
}
.loeufnormand-login__guest p:last-child {
	margin: 1.5rem 0 0;
}

/* Mot de passe oublié / réinitialisation : formulaire seul, carte étroite. */
.woocommerce-account .woocommerce-ResetPassword {
	max-width: 34rem;
}

/* ---------- Connecté : menu + contenu ---------- */

.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 15.5rem minmax(0, 1fr);
	gap: 2.5rem;
	align-items: start;
}
.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) > * {
	grid-column: 1 / -1;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
	grid-column: 1;
	float: none;
	width: auto;
	position: sticky;
	top: 7.5rem;
	background: var(--ln-card-bg);
	border-radius: var(--ln-card-radius);
	box-shadow: var(--ln-card-shadow);
	padding: 0.6rem;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
	grid-column: 2;
	float: none;
	width: auto;
	min-width: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a[aria-current="page"] {
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 0.9rem;
	border-radius: 10px;
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation a::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	background-color: currentColor;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary-dark);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a[aria-current="page"] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--surface);
	font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
	border-top: 1px solid var(--ln-line);
	margin-top: 0.4rem !important;
	padding-top: 0.4rem !important;
}

/* ---------- Tableau de bord ---------- */

.loeufnormand-dashboard__hello h2 {
	font-size: clamp(1.4rem, 3vw, 1.9rem) !important;
	margin-bottom: 0.4rem !important;
}
.loeufnormand-dashboard__hello p {
	margin: 0 0 1.5rem;
	color: var(--ln-muted);
	max-width: 40rem;
}
.loeufnormand-account-card__kicker {
	font-size: 0.8rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ln-muted);
}
.loeufnormand-last-order__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin-bottom: 0.75rem;
}
.loeufnormand-last-order__number {
	font-family: var(--wp--preset--font-family--archivo-black);
	font-size: 1.3rem;
	margin: 0;
}
.loeufnormand-last-order__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2.5rem;
	margin: 0 0 1.25rem;
}
.loeufnormand-last-order__meta dt {
	font-size: 0.8rem;
	color: var(--ln-muted);
}
.loeufnormand-last-order__meta dd {
	margin: 0;
	font-weight: 600;
}
.loeufnormand-account-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}
.loeufnormand-empty-orders {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	background: var(--wp--preset--color--powder);
	box-shadow: none;
}
.loeufnormand-empty-orders > .loeufnormand-account-icon {
	width: 40px;
	height: 40px;
	flex: none;
	color: var(--wp--preset--color--primary);
}
.loeufnormand-empty-orders p {
	margin: 0 0 1rem;
}

.loeufnormand-dashboard__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 1rem;
}
.loeufnormand-dashboard__tile {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.25rem;
	background: var(--ln-card-bg);
	border-radius: var(--ln-card-radius);
	box-shadow: var(--ln-card-shadow);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.loeufnormand-dashboard__tile:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(28, 28, 26, 0.14);
	color: var(--wp--preset--color--contrast);
}
.loeufnormand-dashboard__tile-icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	flex: none;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}
.loeufnormand-dashboard__tile-text strong {
	display: block;
	font-weight: 700;
	margin-bottom: 0.2rem;
	font-size: 1.05rem;
}
.loeufnormand-dashboard__tile-text span {
	display: block;
	font-size: 0.9rem;
	line-height: 1.45;
	color: var(--ln-muted);
}
.loeufnormand-dashboard__tile--quiet {
	background: transparent;
	box-shadow: none;
	border: 1px solid var(--ln-line);
}
@media (prefers-reduced-motion: reduce) {
	.loeufnormand-dashboard__tile {
		transition: none;
	}
	.loeufnormand-dashboard__tile:hover {
		transform: none;
	}
}

/* ---------- Pastilles de statut (contrastes ≥ 4.5:1) ---------- */

.loeufnormand-status {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}
.loeufnormand-status::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: currentColor;
}
.loeufnormand-status--progress { background: #E3EBD9; color: #2E3C23; }
.loeufnormand-status--done     { background: #3F5130; color: #FDFBF7; }
.loeufnormand-status--warning  { background: #F6E7C1; color: #5C4310; }
.loeufnormand-status--error    { background: #F6D6D0; color: #7A1F12; }
.loeufnormand-status--neutral  { background: #E9E4DD; color: #45423C; }

/* ---------- Commandes ---------- */

.woocommerce-account table.shop_table.woocommerce-orders-table,
.woocommerce-account table.shop_table.woocommerce-MyAccount-paymentMethods {
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--ln-card-radius);
	background: var(--ln-card-bg);
	box-shadow: var(--ln-card-shadow);
	overflow: hidden;
	margin: 0 0 1.5rem;
}
.woocommerce-account table.shop_table.woocommerce-orders-table th,
.woocommerce-account table.shop_table.woocommerce-orders-table td,
.woocommerce-account table.shop_table.woocommerce-MyAccount-paymentMethods th,
.woocommerce-account table.shop_table.woocommerce-MyAccount-paymentMethods td {
	padding: 1rem 1.1rem;
	border: 0;
	border-top: 1px solid var(--ln-line);
	vertical-align: middle;
	background: transparent;
}
.woocommerce-account table.shop_table thead th {
	border-top: 0;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ln-muted);
	background: var(--wp--preset--color--base);
}
.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions {
	text-align: right;
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
.woocommerce-account .woocommerce-MyAccount-paymentMethods .button {
	margin: 0.2rem 0 0.2rem 0.4rem;
	padding: 0.5rem 0.85rem;
	font-size: 0.875rem;
}
.woocommerce-account .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}

/* ---------- Détail d'une commande ---------- */

.woocommerce-account .woocommerce-MyAccount-content > p:has(> .loeufnormand-order-banner) {
	margin: 0 0 1.5rem;
}
.loeufnormand-order-banner {
	display: grid;
	gap: 0.35rem;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	background: var(--ln-card-bg);
	border-radius: var(--ln-card-radius);
	box-shadow: var(--ln-card-shadow);
	border-left: 6px solid #45423C;
}
.loeufnormand-order-banner--progress { border-left-color: var(--wp--preset--color--primary); }
.loeufnormand-order-banner--done     { border-left-color: var(--wp--preset--color--primary-dark); }
.loeufnormand-order-banner--warning  { border-left-color: #B88A1E; }
.loeufnormand-order-banner--error    { border-left-color: #A93A26; }
.loeufnormand-order-banner__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
}
.loeufnormand-order-banner__title {
	font-family: var(--wp--preset--font-family--archivo-black);
	font-size: 1.15rem;
	text-transform: uppercase;
}
.loeufnormand-order-banner .loeufnormand-status {
	font-size: 0.95rem;
	padding: 0.35rem 0.9rem;
}
.loeufnormand-order-banner__date {
	color: var(--ln-muted);
}
.loeufnormand-order-banner__help {
	font-weight: 500;
}

.woocommerce-account .woocommerce-order-details table.shop_table {
	border: 0;
	margin: 0;
}
.woocommerce-account .woocommerce-order-details table.shop_table th,
.woocommerce-account .woocommerce-order-details table.shop_table td {
	border: 0;
	border-top: 1px solid var(--ln-line);
	padding: 0.85rem 0.25rem;
	background: transparent;
}
.woocommerce-account .woocommerce-order-details table.shop_table thead th {
	border-top: 0;
	background: transparent;
}
.woocommerce-account .woocommerce-order-details table.shop_table tfoot tr:last-child th,
.woocommerce-account .woocommerce-order-details table.shop_table tfoot tr:last-child td {
	font-size: 1.1rem;
}
.woocommerce-account .woocommerce-table__product-name {
	display: flow-root;
}
.loeufnormand-order-item__thumb {
	float: left;
	margin-right: 0.85rem;
}
.loeufnormand-order-item__name {
	display: block;
	padding-top: 0.2rem;
}
.loeufnormand-order-item__thumb img {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 8px;
	background: var(--wp--preset--color--base);
}
.woocommerce-account .woocommerce-order-details .wc-item-meta {
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.85rem;
	color: var(--ln-muted);
}

.loeufnormand-pickup h2 {
	display: flex;
	align-items: center;
	gap: 0.6rem;
}
.loeufnormand-pickup h2 .loeufnormand-account-icon {
	color: var(--wp--preset--color--primary);
}
.loeufnormand-pickup__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}
.loeufnormand-pickup__grid p {
	margin: 0 0 0.5rem;
}
.loeufnormand-pickup .loeufnormand-horaires-liste {
	display: block;
	columns: auto;
	list-style: none;
	margin: 0 0 0.5rem;
	padding: 0;
}
.loeufnormand-pickup .loeufnormand-horaires-liste li {
	margin: 0;
	line-height: 1.6;
}
.loeufnormand-pickup .loeufnormand-horaire-jour {
	font-weight: 600;
}
.loeufnormand-pickup .loeufnormand-horaires-note {
	font-style: italic;
	color: var(--ln-muted);
}
.loeufnormand-pickup__rdv {
	margin-top: 1rem !important;
	padding: 0.75rem 1rem;
	border-radius: 10px;
	background: var(--wp--preset--color--base);
}
.loeufnormand-pickup .loeufnormand-telephone a {
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

.woocommerce-account .loeufnormand-bleez-documents p {
	margin: 0 0 0.75rem;
}

/* Encarts ajoutés dans la carte « Détails de la commande » (retrait,
   facture Bleez) : pas de carte dans la carte, un fond crème suffit. */
.woocommerce-account .woocommerce-order-details .loeufnormand-account-card,
.woocommerce-account .woocommerce-order-details .loeufnormand-bleez-documents {
	background: var(--wp--preset--color--base);
	box-shadow: none;
	margin: 1.5rem 0 0;
	padding: clamp(1rem, 2.5vw, 1.5rem);
}
.woocommerce-account .woocommerce-order-details .loeufnormand-pickup__rdv {
	background: var(--ln-card-bg);
}
.woocommerce-account .woocommerce-order-details .order-again {
	margin: 1.25rem 0 0;
}
.woocommerce-account .woocommerce-order-details .order-actions-button {
	margin: 0.2rem 0.4rem 0.2rem 0;
	padding: 0.5rem 0.85rem;
	font-size: 0.875rem;
}

/* Adresses (détail de commande et page Adresses) : deux cartes. Retrait à
   la ferme : WooCommerce n'affiche que la facturation, sans colonnes ; la
   section entière devient alors la carte. */
.woocommerce-account .woocommerce-customer-details:not(:has(.woocommerce-columns)) {
	background: var(--ln-card-bg);
	border-radius: var(--ln-card-radius);
	box-shadow: var(--ln-card-shadow);
	padding: clamp(1.25rem, 3vw, 2rem);
	margin: 0 0 1.5rem;
}
.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after {
	display: none !important;
}
.woocommerce-account .woocommerce-customer-details {
	margin: 0;
}
.woocommerce-account .woocommerce-columns--addresses,
.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 0 0 1.5rem;
}
.woocommerce-account .woocommerce-columns--addresses .woocommerce-column,
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}
.woocommerce-account .woocommerce-customer-details address,
.woocommerce-account .woocommerce-Address address {
	border: 0;
	padding: 0;
	font-style: normal;
	line-height: 1.6;
}
.woocommerce-account .woocommerce-customer-details address p {
	margin: 0.25rem 0 0;
}
.woocommerce-account .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin-bottom: 0.75rem;
}
.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0 !important;
}
.woocommerce-account .woocommerce-Address-title .edit {
	float: none;
	display: inline-flex;
	padding: 0.4rem 0.85rem;
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 8px;
	color: var(--wp--preset--color--primary);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}
.woocommerce-account .woocommerce-Address-title .edit:hover {
	background: var(--wp--preset--color--base);
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child,
.loeufnormand-account-help {
	color: var(--ln-muted);
	max-width: 44rem;
}

/* ---------- Détails du compte ---------- */

.woocommerce-account .woocommerce-MyAccount-content > form.woocommerce-EditAccountForm {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
	float: left;
	width: 100%;
	padding: 0;
}
.woocommerce-account .woocommerce-EditAccountForm fieldset legend + * {
	clear: both;
}
.woocommerce-account .woocommerce-EditAccountForm fieldset legend::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-right: 0.5rem;
	vertical-align: -3px;
	background-color: var(--wp--preset--color--primary);
	-webkit-mask: var(--ln-icon-lock) center / contain no-repeat;
	mask: var(--ln-icon-lock) center / contain no-repeat;
}
.loeufnormand-account-privacy p {
	line-height: 1.55;
}
.loeufnormand-account-privacy a {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}
.loeufnormand-account-delete {
	margin-top: 1rem;
	border-top: 1px solid var(--ln-line);
	padding-top: 1rem;
}
.loeufnormand-account-delete summary {
	cursor: pointer;
	display: inline-block;
	font-weight: 600;
	color: var(--ln-danger);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.loeufnormand-account-delete[open] summary {
	margin-bottom: 0.75rem;
}
.loeufnormand-account-delete form {
	margin: 0;
	padding: 0;
	background: none;
	box-shadow: none;
}

/* Messages WooCommerce : arrondis comme les cartes. */
.woocommerce-account .woocommerce-notices-wrapper .wc-block-components-notice-banner,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
	border-radius: 12px;
}

/* ---------- Tablette / mobile ---------- */

@media (max-width: 900px) {
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}
	.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
		grid-column: 1;
	}
	/* Menu : liste de liens en haut (deux colonnes), pas de menu latéral. */
	.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
		position: static;
		padding: 0.5rem;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.25rem;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation a {
		padding: 0.7rem 0.75rem;
		font-size: 0.95rem;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
		border-top: 0;
		margin-top: 0 !important;
		padding-top: 0 !important;
	}
	.loeufnormand-login,
	.loeufnormand-pickup__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 768px) {
	/* Une carte par commande : le tableau responsive natif (woocommerce-
	   smallscreen.css) est repris en cartes. */
	.woocommerce-account table.shop_table.woocommerce-orders-table,
	.woocommerce-account table.shop_table.woocommerce-MyAccount-paymentMethods {
		background: transparent;
		box-shadow: none;
		border-radius: 0;
		overflow: visible;
	}
	.woocommerce-account table.shop_table_responsive tbody tr {
		display: block;
		margin: 0 0 1rem;
		padding: 0.5rem 1.1rem;
		background: var(--ln-card-bg);
		border-radius: var(--ln-card-radius);
		box-shadow: var(--ln-card-shadow);
	}
	.woocommerce-account table.shop_table.shop_table_responsive tbody tr th,
	.woocommerce-account table.shop_table.shop_table_responsive tbody tr td {
		display: block;
		overflow: hidden;
		padding: 0.6rem 0;
		text-align: right !important;
		background: transparent !important;
	}
	.woocommerce-account table.shop_table.shop_table_responsive tbody tr > :first-child {
		border-top: 0;
	}
	.woocommerce-account table.shop_table_responsive tbody tr td::before,
	.woocommerce-account table.shop_table_responsive tbody tr th::before {
		float: left;
		margin-right: 1rem;
		font-weight: 600;
		color: var(--ln-muted);
		text-align: left;
	}
	.woocommerce-account table.shop_table_responsive tbody .woocommerce-orders-table__cell-order-actions,
	.woocommerce-account table.shop_table_responsive tbody .payment-method-actions {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		padding-top: 0.85rem;
	}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions::before,
	.woocommerce-account .woocommerce-MyAccount-paymentMethods .payment-method-actions::before {
		display: none;
	}
	.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
	.woocommerce-account .woocommerce-MyAccount-paymentMethods .button {
		width: 100%;
		margin: 0 !important;
		padding: 0.7rem 1rem;
		font-size: 0.95rem;
	}

	/* Détail : en-tête du tableau d'articles conservé, adresses empilées. */
	.woocommerce-account .woocommerce-columns--addresses,
	.woocommerce-account .woocommerce-Addresses,
	.woocommerce-account .woocommerce-address-fields__field-wrapper,
	.woocommerce-account .loeufnormand-account-infos {
		grid-template-columns: minmax(0, 1fr);
	}
	.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-first,
	.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-last,
	.woocommerce-account .loeufnormand-account-infos > .form-row-first,
	.woocommerce-account .loeufnormand-account-infos > .form-row-last {
		grid-column: 1;
	}
	.loeufnormand-account-actions .button {
		flex: 1 1 100%;
	}
	.loeufnormand-order-item__thumb img {
		width: 48px;
		height: 48px;
	}
}

/* Détail : montants alignés à droite. (Pas de largeur forcée sur la
   colonne Total : en tableau, les totaux du pied — adresse de retrait,
   TVA — partagent cette colonne et deviendraient illisibles.) */
.woocommerce-account .woocommerce-order-details table.shop_table td.product-total,
.woocommerce-account .woocommerce-order-details table.shop_table th.product-total {
	text-align: right;
}
.woocommerce-account .woocommerce-order-details table.shop_table tfoot td {
	text-align: right;
}
.loeufnormand-pickup .loeufnormand-horaires-liste li {
	margin: 0 !important;
	padding: 0 !important;
}

/* woocommerce-blocktheme.css souligne l'entrée active (li.is-active a,
   spécificité supérieure) : remplacé par le fond vert. */
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	text-decoration: none;
}

/* Messages avec bouton (ex. « Confirmer l'adresse e-mail », natif WC 11) :
   texte d'abord, bouton dessous, au lieu d'un bouton flottant qui chevauche. */
.woocommerce-account .wc-block-components-notice-banner__content:has(> .button) {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	gap: 0.75rem;
}
.woocommerce-account .wc-block-components-notice-banner__content > .button {
	float: none;
	margin: 0;
	padding: 0.45rem 0.85rem;
	font-size: 0.875rem;
	background: transparent;
	color: var(--wp--preset--color--primary);
}

/* Mobile : boutons des cartes de commande (le thème bloc impose display:block
   + margin-bottom:1em sur ces liens). */
@media (max-width: 768px) {
	.woocommerce-account table.shop_table.shop_table_responsive tbody tr td.woocommerce-orders-table__cell-order-actions {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		padding-top: 0.85rem;
	}
	.woocommerce-account .woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a.button {
		display: flex;
		box-sizing: border-box;
		width: 100%;
		margin: 0;
	}
}
.woocommerce-account .woocommerce .button {
	box-sizing: border-box;
}

@media (max-width: 768px) {
	/* Tableau du détail en grille : en tableau, les totaux héritaient de la
	   colonne « Total » des articles (1 %, très étroite) et l'adresse de
	   retrait s'écrivait mot par mot. Articles : nom | prix ; totaux :
	   libellé | valeur (qui prend la place). */
	.woocommerce-account .woocommerce-order-details table.shop_table,
	.woocommerce-account .woocommerce-order-details table.shop_table thead,
	.woocommerce-account .woocommerce-order-details table.shop_table tbody,
	.woocommerce-account .woocommerce-order-details table.shop_table tfoot {
		display: block;
		width: 100%;
	}
	.woocommerce-account .woocommerce-order-details table.shop_table thead tr,
	.woocommerce-account .woocommerce-order-details table.shop_table tbody tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 1rem;
		border-top: 1px solid var(--ln-line);
	}
	.woocommerce-account .woocommerce-order-details table.shop_table thead tr {
		border-top: 0;
	}
	.woocommerce-account .woocommerce-order-details table.shop_table tfoot tr {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		column-gap: 1rem;
		border-top: 1px solid var(--ln-line);
	}
	.woocommerce-account .woocommerce-order-details table.shop_table th,
	.woocommerce-account .woocommerce-order-details table.shop_table td {
		display: block;
		width: auto !important;
		border-top: 0 !important;
	}
	.woocommerce-account .woocommerce-order-details table.shop_table tfoot td {
		font-size: 0.95rem;
	}
}
.loeufnormand-dashboard__tile-text strong { line-height: 1.3; }

/* ---------- Visiteur, inscription ouverte (2026-10-04, thème 1.19.0) ----------
   Template natif : #customer_login.u-columns.col2-set > .u-column1 (connexion)
   + .u-column2 (inscription). Deux cartes côte à côte, empilées ≤ 900 px. */
.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
	align-items: start;
	margin: 0 0 1.5rem;
}
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
	display: none !important;
}
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	background: var(--ln-card-bg);
	border-radius: var(--ln-card-radius);
	box-shadow: var(--ln-card-shadow);
	padding: clamp(1.25rem, 3vw, 2rem);
}
.woocommerce-account #customer_login h2 {
	font-family: var(--wp--preset--font-family--archivo-black);
	font-size: 1.25rem;
	line-height: 1.25;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register {
	border: 0;
	padding: 0;
	margin: 0;
}
/* Ligne « Se connecter » + « Se souvenir de moi » (mêmes corrections que la
   variante sans inscription : clearfix masqué, bouton d'abord). */
.woocommerce-account #customer_login form.login p.form-row:has(> .woocommerce-form-login__submit) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
	padding: 0;
}
.woocommerce-account #customer_login form.login p.form-row:has(> .woocommerce-form-login__submit)::before,
.woocommerce-account #customer_login form.login p.form-row:has(> .woocommerce-form-login__submit)::after {
	display: none;
}
.woocommerce-account #customer_login form.login label.woocommerce-form-login__rememberme {
	order: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-weight: 400;
}
.woocommerce-account #customer_login form.login .woocommerce-form-login__submit,
.woocommerce-account #customer_login form.register .woocommerce-form-register__submit {
	order: 1;
	float: none;
	margin: 0 !important;
	min-width: 11rem;
}
.woocommerce-account #customer_login form.register > p:not(.form-row):not(.loeufnormand-account-help) {
	font-size: 0.95rem;
}
.woocommerce-account #customer_login .woocommerce-privacy-policy-text p {
	margin: 0 0 1.1rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--ln-muted);
}
.woocommerce-account #customer_login .woocommerce-privacy-policy-text a {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}
.woocommerce-account #customer_login .loeufnormand-account-help {
	margin: 0 0 1.25rem;
	line-height: 1.55;
}
.loeufnormand-login__guest-note {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
	margin: 0;
	padding: 1rem 1.25rem;
	border-radius: var(--ln-card-radius);
	background: var(--wp--preset--color--powder);
	line-height: 1.55;
}
.loeufnormand-login__guest-note .loeufnormand-account-icon {
	flex: none;
	margin-top: 0.1rem;
	color: var(--wp--preset--color--primary);
}
.loeufnormand-login__guest-note a {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	white-space: nowrap;
}
@media (max-width: 900px) {
	.woocommerce-account #customer_login {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}
}
.loeufnormand-login__guest-note strong { font-weight: 700; }
