/**
 * Tunnel d'achat — panier, validation de commande, compte client.
 *
 * Ces trois pages sont des pages à shortcode : leur contenu tient en une
 * vingtaine de caractères, tout le rendu vient de WooCommerce et d'Astra.
 * Aucune ligne du thème ne les touchait — elles n'avaient donc ni la palette,
 * ni la typographie, ni les boutons du site, au moment précis où l'acheteur
 * sort sa carte.
 *
 * ⚠ Toute règle est enfermée dans `#content` : l'en-tête et le pied de page
 * sont des modèles Elementor, et une règle qui vise un bouton ou un titre
 * sans cette précaution va les repeindre.
 *
 * Spécificités à battre, relevées sur le rendu :
 *   `.woocommerce a.button.alt`            (0,3,1) — le rouge #e2401c
 *   `.woocommerce #respond input#submit`   (0,2,2) via l'identifiant
 *   `.woocommerce a.button` (Astra)        (0,2,1) — d'où le `a.` conservé
 */

/* ========================================================================
   1. Les boutons du tunnel
   ======================================================================== */

/* « Valider la commande » sortait en ROUGE VIF (#e2401c, la couleur « alt »
   par défaut de WooCommerce) : le bouton le plus important du site était le
   seul à ignorer la charte, et sa couleur disait « attention » là où elle
   devait dire « continuez ». */
#content .woocommerce a.button,
#content .woocommerce button.button,
#content .woocommerce input.button,
#content .woocommerce a.button.alt,
#content .woocommerce button.button.alt,
#content .woocommerce input.button.alt,
#content .woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 var(--e-3);
	border: 2px solid var(--accent);
	border-radius: var(--rayon-s);
	background-color: var(--accent);
	color: var(--accent-texte);
	font-size: var(--t-corps);
	font-weight: 700;
	line-height: var(--lh-ui);
	text-decoration: none;
	text-transform: none;
}

#content .woocommerce a.button:hover,
#content .woocommerce button.button:hover,
#content .woocommerce input.button:hover,
#content .woocommerce a.button.alt:hover,
#content .woocommerce button.button.alt:hover,
#content .woocommerce input.button.alt:hover,
#content .woocommerce a.button:focus-visible,
#content .woocommerce button.button:focus-visible,
#content .woocommerce input.button:focus-visible {
	/* Inversion, et non assombrissement : un `brightness()` sur ce rose fait
	   tomber le contraste sous AA. */
	background-color: var(--fond);
	color: var(--accent);
}

#content .woocommerce a.button:focus-visible,
#content .woocommerce button.button:focus-visible,
#content .woocommerce input.button:focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 2px;
}

/* L'état désactivé est déclaré en fin de fichier, § 10 : il doit passer
   APRÈS le dessin des boutons secondaires. */

/* « Valider la commande » et « Commander » portent la décision : pleine
   largeur de leur bloc, on ne les cherche pas. */
#content .wc-proceed-to-checkout a.checkout-button,
#content .woocommerce #place_order {
	width: 100%;
}

/* ========================================================================
   2. Les champs
   ======================================================================== */

/* Même dessin que les formulaires du site (cf. page.css § 5) : c'est le même
   visiteur, il ne doit pas croire avoir changé de site en arrivant ici. */
#content .woocommerce form .form-row input.input-text,
#content .woocommerce form .form-row textarea,
#content .woocommerce form .form-row select,
#content .woocommerce .select2-container .select2-selection--single,
#content .woocommerce-account form input.input-text {
	min-height: 48px;
	padding: var(--e-1);
	border: 1px solid var(--bordure);
	border-radius: var(--rayon-s);
	background-color: var(--fond);
	color: var(--encre);
	font-size: var(--t-corps);
	line-height: var(--lh-corps);
}

#content .woocommerce form .form-row textarea { min-height: 120px; }

#content .woocommerce form .form-row input.input-text:focus-visible,
#content .woocommerce form .form-row textarea:focus-visible,
#content .woocommerce form .form-row select:focus-visible,
#content .woocommerce-account form input.input-text:focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 2px;
}

#content .woocommerce form .form-row label {
	display: block;
	margin-bottom: var(--e-1);
	color: var(--encre);
	font-size: var(--t-petit);
	font-weight: 700;
}

/* L'astérisque des champs requis sortait au rouge d'alerte de WooCommerce.
   Il signale une obligation, pas une erreur. */
#content .woocommerce .required,
#content .woocommerce abbr.required {
	border: 0;
	color: var(--accent);
	text-decoration: none;
}

#content .woocommerce .optional { color: var(--encre-douce); }

/* ========================================================================
   3. Les cartes : totaux, récapitulatif, encadrés
   ======================================================================== */

#content .woocommerce .cart_totals,
#content .woocommerce .checkout .col-2 #order_review,
#content .woocommerce-checkout #order_review,
#content .woocommerce-account .woocommerce-form-login,
#content .woocommerce-account .woocommerce-form-register {
	padding: var(--e-3);
	border: 1px solid var(--bordure);
	border-radius: var(--rayon);
	background-color: var(--fond);
}

/* Le titre de la carte des totaux occupait 98 px de haut pour deux mots, et
   il était rendu à l'échelle d'un titre de section de page. */
#content .woocommerce .cart_totals > h2,
#content .woocommerce-checkout #order_review_heading,
#content .woocommerce-account .woocommerce-form-login > h2 {
	margin: 0 0 var(--e-2);
	padding: 0;
	background: none;
	font-size: var(--t-h4);
	line-height: var(--lh-h4);
}

/* ========================================================================
   4. Les tableaux
   ======================================================================== */

#content .woocommerce table.shop_table {
	width: 100%;
	border: 1px solid var(--bordure);
	border-radius: var(--rayon);
	border-collapse: separate;
	border-spacing: 0;
}

#content .woocommerce table.shop_table th {
	padding: var(--e-2);
	border-bottom: 1px solid var(--bordure);
	background-color: var(--surface);
	color: var(--encre);
	font-size: var(--t-petit);
	font-weight: 700;
	text-align: left;
}

#content .woocommerce table.shop_table td {
	padding: var(--e-2);
	border-top: 1px solid var(--bordure);
	color: var(--encre);
	vertical-align: middle;
}

/* Les montants s'alignent au chiffre près, comme dans la boutique. */
#content .woocommerce table.shop_table .product-price,
#content .woocommerce table.shop_table .product-subtotal,
#content .woocommerce table.shop_table .amount {
	font-variant-numeric: tabular-nums;
}

#content .woocommerce table.shop_table td.product-name a {
	color: var(--encre);
	font-weight: 700;
}

#content .woocommerce table.shop_table img {
	width: 72px;
	height: auto;
	border-radius: var(--rayon-s);
}

/* La croix de suppression est une action destructrice : lisible, mais jamais
   la première chose que l'œil rencontre. */
#content .woocommerce table.shop_table a.remove {
	color: var(--encre-douce);
	font-size: 1.25rem;
	line-height: 1;
}

#content .woocommerce table.shop_table a.remove:hover,
#content .woocommerce table.shop_table a.remove:focus-visible {
	background-color: transparent;
	color: var(--accent);
}

/* ========================================================================
   5. Les messages
   ======================================================================== */

#content .woocommerce-message,
#content .woocommerce-info,
#content .woocommerce-error {
	margin-bottom: var(--e-4);
	padding: var(--e-2) var(--e-3);
	border: 1px solid var(--bordure);
	border-top: 3px solid var(--accent);
	border-radius: var(--rayon-s);
	background-color: var(--surface);
	color: var(--encre);
	list-style: none;
}

#content .woocommerce-message::before,
#content .woocommerce-info::before,
#content .woocommerce-error::before { content: none; }

/* ========================================================================
   6. Panier : la carte des totaux à côté du tableau, pas sous un vide
   ======================================================================== */

/* Le tableau prenait toute la largeur, puis les totaux flottaient à droite
   sous lui : 517 px de vide à gauche sur 400 px de haut. Les deux blocs sont
   mis côte à côte — c'est aussi la disposition attendue d'un panier. */
/* Le flottement part dans tous les cas, y compris hors de la grille : c'est
   lui qui posait les totaux à 46 % sous le tableau, avec 470 px de vide à
   gauche — ce que faisait encore la page entre 769 et 992 px. */
body.woocommerce-cart #content .cart-collaterals,
body.woocommerce-cart #content .cart_totals,
body.woocommerce-cart #content .cross-sells {
	width: 100%;
	float: none;
	margin: 0;
}

/* `:has(.cart_totals)` n'est pas une coquetterie : SANS LUI, LA GRILLE
   S'APPLIQUE AU PANIER VIDE, qui ne contient que deux éléments — le message
   « votre panier est vide » et le bouton de retour à la boutique. Ils se
   rangeaient alors côte à côte, le bouton occupant la place des totaux,
   comme si le panier affichait un récapitulatif. C'est exactement ce que
   voit quelqu'un qui ouvre /panier/ sans rien avoir ajouté.

   Le seuil est à 1100 px, mesuré et non choisi : le tableau du panier a six
   colonnes, et il lui faut environ 600 px pour que le nom du produit ne
   tombe pas à un mot par ligne et que la colonne « sous-total » ne sorte pas
   du cadre. À 900 px de fenêtre, la colonne de gauche n'en fait que 523 et
   le tableau débordait. En dessous du seuil, tout s'empile sur la pleine
   largeur — sans jamais laisser un bloc à moitié de largeur posé sur un
   vide, le flottement étant supprimé plus haut. */
@media (min-width: 1100px) {
	body.woocommerce-cart #content .woocommerce:has(.cart_totals) {
		display: grid;
		grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr);
		gap: var(--e-4);
		align-items: start;
	}

	/* `.cart-collaterals` EMBALLE DEUX BLOCS QUI N'ONT RIEN À FAIRE ENSEMBLE :
	   les totaux, qui veulent la colonne étroite, et les ventes croisées, qui
	   sont une grille de produits et veulent toute la largeur. Mettre le
	   conteneur en colonne de droite écrasait les cartes produit à 186 px —
	   titre coupé à un mot par ligne — sous un titre lui aussi à un mot par
	   ligne, avec un vide de 660 px à gauche.

	   `display: contents` fait disparaître le conteneur de la mise en page :
	   ses deux enfants deviennent des éléments de la grille, et chacun va où
	   il doit. */
	body.woocommerce-cart #content .cart-collaterals { display: contents; }

	/* L'ordre de placement, et non des lignes fixées : une ligne épinglée
	   laisserait un intervalle vide quand le bloc de messages est absent. */
	body.woocommerce-cart #content .woocommerce > .woocommerce-notices-wrapper {
		order: 0;
		grid-column: 1 / -1;
	}

	body.woocommerce-cart #content form.woocommerce-cart-form { order: 1; }
	body.woocommerce-cart #content .cart_totals { order: 2; }

	body.woocommerce-cart #content .cross-sells {
		order: 3;
		grid-column: 1 / -1;
		width: 100%;
		margin-top: var(--e-4);
	}
}

/* Les ventes croisées reprennent la grille de la boutique, à laquelle leurs
   cartes appartiennent. Astra les enferme dans un cadre à filet gris et
   coiffe leur titre d'un bandeau `#fbfbfb` : une carte autour de cartes, et
   un bandeau qui ne ressemble à rien d'autre sur le site. */
body.woocommerce-cart #content .cross-sells {
	padding: 0;
	border: 0;
	background: none;
}

body.woocommerce-cart #content .cross-sells > h2 {
	margin-bottom: var(--e-3);
	padding: 0;
	background: none;
	font-size: var(--t-h3);
	line-height: var(--lh-h3);
}

/* « Mettre à jour le panier » tombait SOUS la ligne du code promo, seul et
   collé à droite : WooCommerce le fait flotter, et le flottement le sortait
   de la ligne dès que la place manquait.

   La cellule reste une CELLULE — lui donner `display: flex` la sort de la
   table, et la rangée se réduit alors à la largeur de son contenu (mesuré :
   252 px au lieu de 658). Ce sont ses enfants qu'on remet en ligne. */
/* La cellule est alignée à droite par WooCommerce : le bouton, une fois
   replié sur la ligne suivante, partait seul à l'opposé du champ qu'il
   accompagne. */
#content .woocommerce table.shop_table td.actions { text-align: left; }

/* Deux lignes franches, et non un bouton qui suit le texte : posé en ligne
   après le bloc du code promo, « Mettre à jour le panier » se repliait sur
   la ligne suivante EN GARDANT sa marge de gauche — il s'y retrouvait décalé
   de 30 px, aligné sur rien. Où il tombe ne devait pas dépendre de la place
   restante. */
#content .woocommerce table.shop_table td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--e-1);
	/* WooCommerce fait flotter le bloc du code promo à gauche : sans cette
	   ligne, le bouton se range À CÔTÉ de lui quoi qu'on demande, et se
	   retrouve comprimé à 104 px dans ce qui reste. Le `display: flex` seul
	   n'y change rien — un élément flottant reste flottant. */
	float: none;
	margin: 0 0 var(--e-2);
}

/* Le champ prend la place disponible ; `min-width: 0` l'autorise à se
   rétrécir sous sa largeur intrinsèque, sans quoi il déborde. */
#content .woocommerce table.shop_table td.actions .coupon input.input-text {
	flex: 1 1 12rem;
	min-width: 0;
}

/* WooCommerce ajoute 5 px à gauche du bouton du code promo : dans une boîte
   flexible, c'est `gap` qui espace, et cette marge décalait le bouton de
   5 px sous le champ quand les deux passaient en colonne. */
#content .woocommerce table.shop_table td.actions .coupon input.input-text,
#content .woocommerce table.shop_table td.actions .coupon button.button {
	margin: 0;
}

#content .woocommerce table.shop_table td.actions button[name="update_cart"] {
	display: block;
	float: none;
	margin: 0;
}

/* Panier vide : le message prend la largeur, le bouton se pose dessous et
   garde la sienne. */
body.woocommerce-cart #content .wc-empty-cart-message,
body.woocommerce-cart #content .cart-empty {
	margin-bottom: var(--e-3);
}

body.woocommerce-cart #content p.return-to-shop {
	margin: 0;
}

body.woocommerce-cart #content p.return-to-shop a.button {
	width: auto;
}

/* Le code promo et la mise à jour du panier sont des actions secondaires :
   elles ne doivent pas peser autant que « Valider la commande ». */
#content .woocommerce .coupon button.button,
#content .woocommerce button[name="update_cart"] {
	border-color: var(--accent);
	background-color: var(--fond);
	color: var(--accent);
}

#content .woocommerce .coupon button.button:hover,
#content .woocommerce button[name="update_cart"]:hover {
	background-color: var(--accent);
	color: var(--accent-texte);
}

/* ========================================================================
   7. Mon compte
   ======================================================================== */

/* La boutique est en paiement invité et la création de compte est fermée :
   cette page ne sert qu'au propriétaire. Un formulaire de connexion étiré sur
   1078 px n'avait aucune raison d'être. */
#content .woocommerce-account .woocommerce-form-login {
	max-width: 32rem;
}

/* Le bouton « afficher le mot de passe » sortait en PAVÉ ROUGE de 42 × 22 px
   posé sous le champ : WooCommerce le rend en `<button>`, et le dessin
   générique des boutons s'y appliquait. Il redevient ce qu'il doit être —
   une icône dans le champ. L'œil est dessiné en masque pour qu'il prenne la
   couleur du texte, et non une image figée. */
#content .woocommerce form .password-input {
	position: relative;
	display: block;
}

#content .woocommerce form button.show-password-input {
	position: absolute;
	inset-inline-end: var(--e-1);
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	min-height: 40px;
	padding: 0;
	border: 0;
	background-color: transparent;
	color: var(--encre-douce);
}

#content .woocommerce form button.show-password-input::after {
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	margin: 0 auto;
	background-color: currentColor;
	mask: center / 22px no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 5c-5 0-9 4.5-10 7 1 2.5 5 7 10 7s9-4.5 10-7c-1-2.5-5-7-10-7Zm0 11.5A4.5 4.5 0 1 1 16.5 12 4.5 4.5 0 0 1 12 16.5Zm0-7A2.5 2.5 0 1 0 14.5 12 2.5 2.5 0 0 0 12 9.5Z"/></svg>');
}

#content .woocommerce form button.show-password-input:hover,
#content .woocommerce form button.show-password-input:focus-visible {
	background-color: transparent;
	color: var(--accent);
}

/* ========================================================================
   8. Pas de carte dans une carte
   ======================================================================== */

/* Les totaux et le récapitulatif sont DÉJÀ dans un encadré : le tableau
   qu'ils contiennent n'a pas besoin du sien, sinon l'œil voit deux cadres
   emboîtés et ne sait plus lequel délimite quoi. */
#content .woocommerce .cart_totals table.shop_table,
#content .woocommerce-checkout #order_review table.shop_table {
	border: 0;
	border-radius: 0;
}

#content .woocommerce .cart_totals table.shop_table th,
#content .woocommerce-checkout #order_review table.shop_table th {
	background-color: transparent;
	font-size: var(--t-corps);
	font-weight: 400;
}

#content .woocommerce .cart_totals table.shop_table td,
#content .woocommerce .cart_totals table.shop_table th,
#content .woocommerce-checkout #order_review table.shop_table td,
#content .woocommerce-checkout #order_review table.shop_table th {
	padding: var(--e-1) 0;
	border-top: 0;
	border-bottom: 1px solid var(--bordure);
}

/* La ligne du total porte la somme que le client va payer : c'est la seule
   qui doit se détacher. */
#content .woocommerce .cart_totals tr.order-total td,
#content .woocommerce .cart_totals tr.order-total th,
#content .woocommerce-checkout #order_review tr.order-total td,
#content .woocommerce-checkout #order_review tr.order-total th {
	border-bottom: 0;
	font-size: var(--t-h5);
	font-weight: 700;
}

/* ========================================================================
   9. La quantité
   ======================================================================== */

#content .woocommerce table.shop_table .quantity input.qty {
	width: 5rem;
	min-height: 48px;
	padding: var(--e-1);
	border: 1px solid var(--bordure);
	border-radius: var(--rayon-s);
	background-color: var(--fond);
	color: var(--encre);
	font-size: var(--t-corps);
	text-align: center;
}

#content .woocommerce table.shop_table .quantity input.qty:focus-visible {
	outline: 3px solid var(--focus);
	outline-offset: 2px;
}

/* ========================================================================
   10. L'état désactivé, en dernier
   ======================================================================== */

/* Cette règle ferme le fichier À DESSEIN : le dessin des boutons secondaires
   (§ 6) la précède à spécificité égale et l'annulait — « Mettre à jour le
   panier », désactivé tant que rien ne change, se donnait alors des airs de
   bouton actif. */
#content .woocommerce button.button:disabled,
#content .woocommerce button.button[disabled],
#content .woocommerce button.button:disabled:hover,
#content .woocommerce button.button[disabled]:hover {
	border-color: var(--bordure);
	background-color: var(--fond);
	color: var(--encre-douce);
	cursor: not-allowed;
	opacity: 1;
}

/* ========================================================================
   11. Mobile
   ======================================================================== */

/* Les media queries ferment le fichier : déclarées plus haut, elles
   perdraient à spécificité égale contre les règles de base. */
@media (max-width: 600px) {
	/* « Appliquer le code promo » passait sur deux lignes dans un bouton
	   dimensionné pour une : le texte débordait de son cadre.

	   Le préfixe complet de la cellule est repris : les règles du § 6 pèsent
	   un identifiant, une classe de tableau et une cellule de plus, et une
	   déclaration plus courte ne les bat pas — le champ restait à sa largeur
	   souple et le bouton se rangeait au milieu de la ligne. */
	#content .woocommerce table.shop_table td.actions .coupon,
	#content .woocommerce .coupon {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: var(--e-1);
	}

	#content .woocommerce table.shop_table td.actions .coupon input.input-text,
	#content .woocommerce table.shop_table td.actions .coupon button.button,
	#content .woocommerce table.shop_table td.actions button[name="update_cart"],
	#content .woocommerce .coupon input.input-text,
	#content .woocommerce .coupon button.button,
	#content .woocommerce button[name="update_cart"] {
		flex: 1 1 auto;
		width: 100%;
	}

	#content .woocommerce a.button,
	#content .woocommerce button.button,
	#content .woocommerce input.button {
		padding-block: var(--e-1);
		height: auto;
		text-wrap: balance;
	}
}


/* ========================================================================
   12. Page de commande : le titre de l'aside appartient à sa carte
   ======================================================================== */

/* `#order_review_heading` est un FRÈRE de `#order_review`, placé avant lui :
   le titre vit donc en dehors de la carte qu'il annonce. Il portait en plus
   un filet de 2 px à angles droits, posé juste au-dessus des coins arrondis
   de cette carte — l'angle ne tombait pas juste, et cela se voyait.

   Les deux éléments sont recousus en un seul bloc : le titre prend le haut
   de la carte, la carte perd ses coins hauts. */
#content .woocommerce-checkout #order_review_heading {
	margin: 0;
	padding: var(--e-3) var(--e-3) var(--e-2);
	border: 1px solid var(--bordure);
	border-bottom: 0;
	border-radius: var(--rayon) var(--rayon) 0 0;
	background-color: var(--fond);
}

#content .woocommerce-checkout #order_review {
	border: 1px solid var(--bordure);
	border-top: 0;
	border-radius: 0 0 var(--rayon) var(--rayon);
}

/* ========================================================================
   13. Le code promo de la page de commande
   ======================================================================== */

/* Ce formulaire-là n'est PAS celui du panier : WooCommerce le rend replié,
   avec deux `<p class="form-row">` en `inline-block` côte à côte. Alignés sur
   leur ligne de base et de hauteurs différentes — 48 px pour le champ, 52 pour
   le bouton — ils se décalaient de 7 px l'un par rapport à l'autre.

   Une ligne flexible aligne les deux bords, et le champ prend la place
   restante. */
#content .woocommerce form.checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--e-1);
}

/* La phrase d'introduction, quand le gabarit en pose une, garde sa ligne. */
#content .woocommerce form.checkout_coupon > p:not(.form-row) {
	flex: 1 1 100%;
	margin: 0;
}

#content .woocommerce form.checkout_coupon .form-row {
	width: auto;
	margin: 0;
	padding: 0;
}

#content .woocommerce form.checkout_coupon .form-row-first { flex: 1 1 14rem; }
#content .woocommerce form.checkout_coupon .form-row-last { flex: 0 0 auto; }

#content .woocommerce form.checkout_coupon .form-row input.input-text {
	width: 100%;
	height: 100%;
	min-height: 52px;
}

/* Le `div.clear` servait à refermer des flottants qui n'existent plus. */
#content .woocommerce form.checkout_coupon .clear { display: none; }

/* ========================================================================
   14. La page d'après paiement
   ======================================================================== */

/* C'est la première chose que voit le client une fois qu'il a payé, et la
   page qu'il montre parfois le jour du saut. Astra y coiffe les titres de
   blocs d'un bandeau `#fbfbfb` de 37,5 px de rembourrage, à la taille d'un
   titre de section : « Détails de la commande » occupait 123 px de haut. Ce
   sont des étiquettes de blocs, pas des sections de page. */
body.woocommerce-order-received #content .woocommerce h2 {
	margin: var(--e-5) 0 var(--e-2);
	padding: 0;
	background: none;
	font-size: var(--t-h3);
	line-height: var(--lh-h3);
}

/* La confirmation elle-même passait en texte courant, plus discrète que les
   étiquettes qui la suivent. C'est pourtant la seule phrase que le client
   cherche à cet instant. */
body.woocommerce-order-received #content .woocommerce-notice--success {
	margin-bottom: var(--e-4);
	padding: var(--e-2) var(--e-3);
	border: 1px solid var(--bordure);
	border-left: 3px solid var(--accent);
	border-radius: var(--rayon-s);
	background-color: var(--surface);
	font-size: var(--t-h5);
	line-height: var(--lh-lead);
}

body.woocommerce-order-received #content .woocommerce-order-overview {
	margin: 0 0 var(--e-4);
	padding: 0;
	border: 0;
	list-style: none;
}

/* ========================================================================
   15. Les titres de section de la page de commande
   ======================================================================== */

/* Ils ont été remontés de `h3` à `h2` par `inc/boutique.php`, pour ne plus
   sauter de niveau sous le `h1`. Mais le NIVEAU dit la structure, il ne dit
   pas la taille : ce sont des étiquettes de sections de formulaire, pas des
   titres de page. À l'échelle des `h2` du site, « Informations
   complémentaires » occupait 94 px de haut sur deux lignes. */
body.woocommerce-checkout #content form.checkout h2,
body.woocommerce-checkout #content .woocommerce h2 {
	margin: var(--e-5) 0 var(--e-2);
	padding: 0;
	background: none;
	font-size: var(--t-h4);
	line-height: var(--lh-h4);
}

/* Le premier ne doit pas pousser le formulaire vers le bas. */
body.woocommerce-checkout #content form.checkout .col-1 > h2:first-child,
body.woocommerce-checkout #content form.checkout .col-2 > h2:first-child {
	margin-top: 0;
}
