/* Parcours d'achat : Panier, Commande, Confirmation et Mon compte (blocs et gabarits de WooCommerce habillés en CSS seul, avec les jetons de theme.json). */

/*
 * Variables de WooCommerce : ses feuilles les lisent pour leurs verts, rouges, bleus, violets, bords de champ et filets.
 * Les redéfinir ici remplace d'un coup les couleurs d'origine partout où elles servent.
 */
:root {
	--woocommerce: var(--wp--preset--color--terracotta-aplat);
	--wc-primary: var(--wp--preset--color--terracotta-aplat);
	--wc-primary-text: var(--wp--preset--color--creme);
	--wc-secondary: var(--wp--preset--color--creme-alt);
	--wc-secondary-text: var(--wp--preset--color--texte);
	--wc-green: var(--wp--preset--color--sauge-aplat);
	--wc-red: var(--wp--preset--color--terracotta-texte);
	--wc-orange: var(--wp--preset--color--or-texte);
	--wc-blue: var(--wp--preset--color--or-texte);
	--wc-destructive: var(--wp--preset--color--terracotta-texte);
	--wc-highlight: var(--wp--preset--color--or-texte);
	--wc-highligh-text: var(--wp--preset--color--creme);
	--wc-content-bg: var(--wp--preset--color--ivoire);
	--wc-subtext: var(--wp--preset--color--sauge-texte);
	--wc-form-border-color: var(--wp--preset--color--sauge-texte);
	--wc-form-border-radius: 0;
	--wc-form-color-background: var(--wp--preset--color--ivoire);
	--wc-form-color-text: var(--wp--preset--color--texte);
	--wc-card-border-radius: 0;
	--wc-separator-color: var(--wp--preset--color--trait);
}

/*
 * Les blocs lisent leurs tailles de texte dans les préréglages « small » et « medium » de WordPress, que ce thème ne déclare pas
 * (ils retombent sur 14 px et sur la taille héritée) : on les fait pointer vers les tailles du thème.
 * Les sélecteurs de WooCommerce sont profonds et ses feuilles de blocs arrivent après la nôtre : les règles des blocs portent
 * donc [data-block-name], ajouté par WooCommerce sur le conteneur du bloc, pour passer devant à coup sûr.
 */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {
	--wp--preset--font-size--small: var(--wp--preset--font-size--corps-s);
	--wp--preset--font-size--medium: var(--wp--preset--font-size--corps-m);
}

/* Boutons : plein pour l'action principale, contour pour l'action secondaire (rendu de .tb-bouton--plein et .tb-bouton--contour). */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-button.contained,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-totals-coupon__button,
.entry-content .woocommerce button.button,
.entry-content .woocommerce input.button,
.entry-content .woocommerce a.button,
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button {
	min-height: 0;
	padding: 15px 34px;
	border: 1px solid transparent;
	border-radius: 0;
	box-shadow: none;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--bouton);
	font-weight: 300;
	letter-spacing: 0.18em;
	line-height: 1.7;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-button.contained,
.entry-content .woocommerce button.button,
.entry-content .woocommerce input.button {
	background: var(--wp--preset--color--terracotta-aplat);
	color: var(--wp--preset--color--creme);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-button.contained:hover,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-button.contained:focus-visible,
.entry-content .woocommerce button.button:hover,
.entry-content .woocommerce input.button:hover {
	background: var(--wp--preset--color--texte);
	color: var(--wp--preset--color--creme);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-totals-coupon__button.wc-block-components-button.contained,
.entry-content .woocommerce a.button,
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button {
	border-color: var(--wp--preset--color--sauge-texte);
	background: transparent;
	color: var(--wp--preset--color--sauge-texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-totals-coupon__button.wc-block-components-button.contained:hover,
.entry-content .woocommerce a.button:hover,
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button:hover {
	background: var(--wp--preset--color--sauge-aplat);
	color: var(--wp--preset--color--creme);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-button:focus-visible,
.entry-content .woocommerce :is(a.button, button.button, input.button):focus-visible {
	outline: 2px solid var(--wp--preset--color--terracotta-texte);
	outline-offset: 3px;
}

/* Titres de section des blocs et des gabarits : Cormorant au corps « sous-titre ». */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] :is(.wc-block-components-title, .wc-block-checkout__form h2, .wc-block-cart__totals-title, .wc-block-components-checkout-order-summary__title-text),
.entry-content .woocommerce :is(h2, h3, legend, .woocommerce-column__title) {
	padding: 0;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: var(--wp--preset--font-size--sous-titre);
	font-weight: 600;
	letter-spacing: normal;
	line-height: 1.2;
	text-align: left;
	text-transform: none;
	color: var(--wp--preset--color--texte);
}

.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: var(--wp--preset--font-size--sous-titre);
	font-weight: 600;
}

/* Champs de formulaire : fond ivoire, bord sauge (3:1 contre le fond), pas de coins arrondis, focus terracotta. */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-text-input input[type],
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-blocks-components-select__select,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-textarea,
.entry-content .woocommerce form .form-row :is(.input-text, select, textarea),
.entry-content .woocommerce form :is(input.input-text, select) {
	border: 1px solid var(--wp--preset--color--sauge-texte);
	border-radius: 0;
	background-color: var(--wp--preset--color--ivoire);
	box-shadow: none;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--corps-m);
	font-weight: 300;
	color: var(--wp--preset--color--texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-blocks-components-select__container {
	border-radius: 0;
	background: transparent;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-text-input input[type]:focus,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-text-input input[type]:focus-within,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-blocks-components-select__select:focus,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-textarea:focus,
.entry-content .woocommerce form .form-row :is(.input-text, select, textarea):focus,
.select2-container--open .select2-selection,
.select2-search__field:focus {
	border-color: var(--wp--preset--color--sauge-texte);
	outline: 2px solid var(--wp--preset--color--terracotta-texte);
	outline-offset: 2px;
	box-shadow: none;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-text-input label,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-blocks-components-select__label,
.entry-content .woocommerce form .form-row label {
	color: var(--wp--preset--color--sauge-texte);
}

.entry-content .woocommerce form .form-row label {
	display: block;
	margin-bottom: 4px;
	font-size: var(--wp--preset--font-size--corps-s);
	line-height: 1.5;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-text-input input[type]::placeholder,
.entry-content .woocommerce form .form-row ::placeholder {
	color: var(--wp--preset--color--sauge-texte);
	opacity: 1;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-address-form__address_2-toggle {
	font-size: var(--wp--preset--font-size--corps-s);
	color: var(--wp--preset--color--terracotta-texte);
}

/* Erreur de validation : bord, libellé et message en terracotta ; le message et son icône disent l'erreur, la couleur seule ne suffit pas. */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-text-input.has-error input[type],
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-text-input.has-error input[type]:focus-within,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .has-error .wc-blocks-components-select__select,
.entry-content .woocommerce form .form-row.woocommerce-invalid :is(.input-text, select) {
	border-color: var(--wp--preset--color--terracotta-texte);
	box-shadow: none;
}

.entry-content .woocommerce form .form-row.woocommerce-validated :is(.input-text, select) {
	border-color: var(--wp--preset--color--sauge-texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-text-input.has-error label,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .has-error .wc-blocks-components-select__label,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-validation-error,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-checkbox.has-error,
.entry-content .woocommerce form .form-row.woocommerce-invalid label {
	color: var(--wp--preset--color--terracotta-texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-validation-error :is(p, span) {
	font-size: var(--wp--preset--font-size--corps-s);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-validation-error svg {
	fill: currentcolor;
}

.entry-content .woocommerce form .form-row {
	margin: 0 0 18px;
	padding: 0;
}

.entry-content .woocommerce form .form-row .required {
	color: var(--wp--preset--color--terracotta-texte);
	visibility: visible;
}

/* Cases à cocher et boutons radio : accent terracotta ; les composants des blocs dessinent leur propre case, adaptée ci-dessous. */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .entry-content .woocommerce) :is(input[type="checkbox"], input[type="radio"]) {
	accent-color: var(--wp--preset--color--terracotta-aplat);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	border: 1px solid var(--wp--preset--color--sauge-texte);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-radio-control .wc-block-components-radio-control__input:focus {
	outline: 2px solid var(--wp--preset--color--terracotta-texte);
	outline-offset: 2px;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--wp--preset--color--terracotta-aplat);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-checkbox label {
	font-size: var(--wp--preset--font-size--corps-s);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-radio-control .wc-block-components-radio-control__input,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
	border: 1px solid var(--wp--preset--color--sauge-texte);
	background: var(--wp--preset--color--ivoire);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
	background: var(--wp--preset--color--terracotta-aplat);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-radio-control :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__description) {
	font-size: var(--wp--preset--font-size--corps-m);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-radio-control .wc-block-components-radio-control-accordion-content {
	font-size: var(--wp--preset--font-size--corps-s);
	color: var(--wp--preset--color--sauge-texte);
}

/* Cartes : résumé de commande, totaux du panier, options de paiement, adresse enregistrée, formulaires du compte. */
.wp-block-woocommerce-cart[data-block-name] .wc-block-cart__sidebar > div:first-child,
.wp-block-woocommerce-checkout[data-block-name] .wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-radio-control,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-address-card,
.entry-content .woocommerce form.login,
.entry-content .woocommerce form.register,
.entry-content .woocommerce form.lost_reset_password,
.entry-content .woocommerce .woocommerce-Address,
.entry-content .woocommerce .woocommerce-customer-details address {
	border: 1px solid var(--wp--preset--color--trait);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
	box-shadow: none;
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-cart__sidebar > div:first-child {
	padding: 20px 24px 4px;
}

/* Sur mobile le résumé est répété au-dessus du formulaire et sous lui, dans un second cadre arrondi : on garde la seule carte. */
.wp-block-woocommerce-checkout[data-block-name] .wp-block-woocommerce-checkout-order-summary-block {
	margin-bottom: 20px;
}

.wp-block-woocommerce-checkout[data-block-name] .wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill {
	border: 0;
	border-radius: 0;
}

.wp-block-woocommerce-checkout[data-block-name] .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	padding: 20px 16px;
	border-block: 0;
}

.wp-block-woocommerce-checkout[data-block-name] .checkout-order-summary-block-fill-wrapper > .wc-block-components-checkout-step__heading {
	padding: 16px 16px 0;
}

.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-radio-control--highlight-checked::after,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option::after,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	border-radius: 0;
}

.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--terracotta-texte);
}

/* Notices : fond ivoire, texte normal, filet de 3 px et icône à la couleur du type (succès sauge, erreur terracotta, information or). */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border: 1px solid var(--wp--preset--color--trait);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
	color: var(--wp--preset--color--texte);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	margin-bottom: 24px;
	padding: 18px 24px 18px 56px;
	border-top: 3px solid var(--wp--preset--color--or-texte);
	font-size: var(--wp--preset--font-size--corps-m);
	line-height: 1.6;
}

.woocommerce-message {
	border-top-color: var(--wp--preset--color--sauge-aplat);
}

.woocommerce-error {
	border-top-color: var(--wp--preset--color--terracotta-texte);
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	top: 18px;
	left: 22px;
	color: var(--wp--preset--color--or-texte);
}

.woocommerce-message::before {
	color: var(--wp--preset--color--sauge-aplat);
}

.woocommerce-error::before {
	color: var(--wp--preset--color--terracotta-texte);
}

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) {
	text-decoration: underline;
}

/* L'icône d'information de WooCommerce est une fenêtre de navigateur : un « i » dans un rond, comme les bandeaux des blocs. */
.woocommerce-info::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wp--preset--color--or-texte);
	content: "i";
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: var(--wp--preset--font-size--corps-m);
	font-style: italic;
	font-weight: 600;
	line-height: 1;
	color: var(--wp--preset--color--ivoire);
}

@media (max-width: 767px) {
	:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button {
		display: block;
		float: none;
		margin: 0 0 12px;
	}
}

/* Bandeaux des blocs (aucun moyen de paiement, erreur de commande) : mêmes couleurs que les notices ci-dessus. */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-notice-banner {
	border: 1px solid var(--wp--preset--color--trait);
	border-left: 3px solid var(--wp--preset--color--or-texte);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
	font-size: var(--wp--preset--font-size--corps-m);
	color: var(--wp--preset--color--texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-notice-banner.is-success {
	border-left-color: var(--wp--preset--color--sauge-aplat);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-notice-banner.is-error {
	border-left-color: var(--wp--preset--color--terracotta-texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-notice-banner > svg {
	background-color: var(--wp--preset--color--or-texte);
	fill: var(--wp--preset--color--ivoire);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-notice-banner.is-success > svg {
	background-color: var(--wp--preset--color--sauge-aplat);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-notice-banner.is-error > svg {
	background-color: var(--wp--preset--color--terracotta-texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-notice-banner a {
	color: var(--wp--preset--color--terracotta-texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-notice-snackbar {
	border: 1px solid var(--wp--preset--color--trait);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
	color: var(--wp--preset--color--texte);
}

/* Panier : lignes, miniatures, quantité, suppression. */
.wp-block-woocommerce-cart[data-block-name] .wc-block-cart-items th,
.wp-block-woocommerce-cart[data-block-name] .wc-block-cart-items__header span {
	font-size: var(--wp--preset--font-size--etiquette);
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sauge-texte);
}

/*
 * En colonne étroite, WooCommerce fixe la grille d'une ligne à 80 px + 132 px : avec les noms de produit en Cormorant, le
 * total sortait de l'écran (défilement horizontal à 390 px). La colonne du produit prend la place restante.
 */
.wp-block-woocommerce-cart[data-block-name] :is(.is-small, .is-mobile, .is-medium) table.wc-block-cart-items .wc-block-cart-items__row {
	grid-template-columns: 80px minmax(0, 1fr) auto;
}

.wp-block-woocommerce-cart[data-block-name] :is(.is-small, .is-mobile, .is-medium) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
	grid-column: 2;
}

.wp-block-woocommerce-cart[data-block-name] :is(.is-small, .is-mobile, .is-medium) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
	grid-column: 3;
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-cart__totals-title {
	display: block;
	margin: 0 0 16px;
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-cart-item__image img,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-order-summary-item__image img {
	background: var(--wp--preset--color--ivoire);
	object-fit: cover;
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-cart-item__image img[src*="/assets/img/gamme-"],
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-order-summary-item__image img[src*="/assets/img/gamme-"] {
	padding: 4px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-product-name,
.wp-block-woocommerce-cart[data-block-name] table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: var(--wp--preset--font-size--sous-titre);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] a.wc-block-components-product-name:hover {
	color: var(--wp--preset--color--terracotta-texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-product-metadata__description {
	font-size: var(--wp--preset--font-size--corps-s);
	color: var(--wp--preset--color--sauge-texte);
}

/* Prix en Jost (la police du corps), au corps « texte réduit » dans les lignes, au corps « texte moyen » pour le total d'une ligne. */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-product-price,
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-totals-item__value {
	font-family: var(--wp--preset--font-family--jost);
}

.wp-block-woocommerce-cart[data-block-name] table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-order-summary-item__individual-prices {
	font-size: var(--wp--preset--font-size--corps-s);
}

.wp-block-woocommerce-cart[data-block-name] table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-components-order-summary-item__total-price {
	font-size: var(--wp--preset--font-size--corps-m);
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-components-quantity-selector {
	width: auto;
	border: 1px solid var(--wp--preset--color--sauge-texte);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-components-quantity-selector::after {
	border-radius: 0;
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	opacity: 1;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--corps-m);
	color: var(--wp--preset--color--texte);
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover:not(:disabled) {
	background: var(--wp--preset--color--creme-alt);
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled {
	opacity: 0.4;
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible,
.wp-block-woocommerce-cart[data-block-name] .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--terracotta-texte);
	outline-offset: -2px;
	box-shadow: none;
}

.wp-block-woocommerce-cart[data-block-name] .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	min-height: 44px;
	border: 0;
	background: transparent;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--corps-m);
	color: var(--wp--preset--color--texte);
}

.wp-block-woocommerce-cart[data-block-name] table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	min-width: 44px;
	min-height: 44px;
	color: var(--wp--preset--color--terracotta-texte);
}

.wp-block-woocommerce-cart[data-block-name] table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover {
	color: var(--wp--preset--color--texte);
}

.wp-block-woocommerce-cart[data-block-name] table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:focus-visible {
	outline: 2px solid var(--wp--preset--color--terracotta-texte);
	outline-offset: 2px;
}

/* Totaux : filets en trait, total général mis en avant. */
:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-totals-item__label {
	font-family: inherit;
	font-size: var(--wp--preset--font-size--corps-m);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-totals-footer-item :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-formatted-money-amount) {
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: var(--wp--preset--font-size--sous-titre);
	font-weight: 600;
	color: var(--wp--preset--color--texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-panel__button {
	font-family: inherit;
	font-size: var(--wp--preset--font-size--corps-s);
	color: var(--wp--preset--color--sauge-texte);
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-panel__button:focus-visible {
	outline: 2px solid var(--wp--preset--color--terracotta-texte);
	outline-offset: 2px;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout)[data-block-name] .wc-block-components-order-summary-item__quantity {
	border: 1px solid var(--wp--preset--color--ivoire);
	background: var(--wp--preset--color--sauge-aplat);
	box-shadow: none;
	color: var(--wp--preset--color--creme);
}

/* Commande : liens des conditions, retour au panier, adresse enregistrée. */
.wp-block-woocommerce-checkout[data-block-name] :is(.wc-block-checkout__terms a, .wc-block-components-checkout-return-to-cart-button, .wc-block-components-address-card__edit, .wc-block-checkout__guest-checkout-notice a, .wc-block-checkout__login-prompt a) {
	color: var(--wp--preset--color--terracotta-texte);
}

.wp-block-woocommerce-checkout[data-block-name] .wc-block-checkout__guest-checkout-notice,
.wp-block-woocommerce-checkout[data-block-name] .wc-block-checkout__terms {
	font-size: var(--wp--preset--font-size--corps-s);
	color: var(--wp--preset--color--sauge-texte);
}

/* Panier vide : message et lien vers la boutique ; le bloc « Nouveau dans la boutique » est masqué (produits sans photo, il n'affiche que l'image par défaut de WooCommerce). */
.wp-block-woocommerce-empty-cart-block {
	padding-block: 24px 8px;
	text-align: center;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	margin-bottom: 20px;
	font-size: var(--wp--preset--font-size--titre-section);
	font-weight: 600;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	display: none;
}

.wp-block-woocommerce-empty-cart-block > p > a {
	display: inline-block;
	padding: 15px 34px;
	border: 1px solid var(--wp--preset--color--sauge-texte);
	font-size: var(--wp--preset--font-size--bouton);
	font-weight: 300;
	letter-spacing: 0.18em;
	line-height: 1.7;
	text-transform: uppercase;
	color: var(--wp--preset--color--sauge-texte);
}

.wp-block-woocommerce-empty-cart-block > p > a:hover {
	background: var(--wp--preset--color--sauge-aplat);
	color: var(--wp--preset--color--creme);
}

.wp-block-woocommerce-empty-cart-block > :is(hr, .wp-block-heading:not(.wc-block-cart__empty-cart__title), .wc-block-grid) {
	display: none;
}

/* Tableaux et listes de WooCommerce (commandes du compte, détails de commande, confirmation). */
.entry-content .woocommerce table.shop_table {
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
}

.entry-content .woocommerce table.shop_table :is(th, td) {
	padding: 14px 12px;
	border-top: 1px solid var(--wp--preset--color--trait);
	font-weight: 400;
	line-height: 1.5;
}

.entry-content .woocommerce table.shop_table thead th {
	border-top: 0;
	border-bottom: 1px solid var(--wp--preset--color--trait);
	font-size: var(--wp--preset--font-size--etiquette);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sauge-texte);
}

.entry-content .woocommerce table.shop_table tfoot :is(th, td) {
	font-weight: 400;
}

.entry-content .woocommerce table.shop_table tfoot tr:last-child :is(th, td) {
	border-bottom: 1px solid var(--wp--preset--color--trait);
}

.entry-content .woocommerce table.shop_table td::before {
	font-weight: 400;
	color: var(--wp--preset--color--sauge-texte);
}

/*
 * Tableau des commandes du compte, sous 768 px : WooCommerce masque toutes les cellules d'en-tête de ligne (tbody th), et avec elles
 * le numéro de commande, seule cellule de ce tableau écrite en <th>. On la rétablit avec son libellé, comme les autres cellules.
 */
@media (max-width: 768px) {
	.entry-content .woocommerce table.my_account_orders tbody th {
		display: block;
		text-align: right;
	}

	.entry-content .woocommerce table.my_account_orders tbody th::before {
		float: left;
		content: attr(data-title) ": ";
		font-weight: 400;
		color: var(--wp--preset--color--sauge-texte);
	}
}

/* Confirmation de commande. */
.entry-content .woocommerce .woocommerce-thankyou-order-received {
	margin-bottom: 28px;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: var(--wp--preset--font-size--sous-titre);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--texte);
}

.entry-content .woocommerce ul.order_details {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 40px;
	padding: 0;
}

/* Les pseudo-éléments de remise à zéro des flottants de WooCommerce deviendraient des éléments du flex et décaleraient les cartes. */
.entry-content .woocommerce ul.order_details::before,
.entry-content .woocommerce ul.order_details::after,
.entry-content .woocommerce .woocommerce-Address-title::before,
.entry-content .woocommerce .woocommerce-Address-title::after {
	content: none;
}

.entry-content .woocommerce ul.order_details li {
	float: none;
	margin: 0;
	padding: 14px 20px;
	border: 1px solid var(--wp--preset--color--trait);
	background: var(--wp--preset--color--ivoire);
	font-size: var(--wp--preset--font-size--etiquette);
	letter-spacing: 0.14em;
	line-height: 1.5;
	color: var(--wp--preset--color--sauge-texte);
}

.entry-content .woocommerce ul.order_details li:last-of-type {
	border: 1px solid var(--wp--preset--color--trait);
}

.entry-content .woocommerce ul.order_details li strong {
	margin-top: 4px;
	font-size: var(--wp--preset--font-size--corps-m);
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.5;
	color: var(--wp--preset--color--texte);
}

@media (min-width: 768px) {
	.entry-content .woocommerce ul.order_details {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.entry-content .woocommerce ul.order_details li {
		flex: 1 1 180px;
	}
}

.entry-content .woocommerce :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) {
	margin-bottom: 40px;
}

.entry-content .woocommerce :is(.woocommerce-order-details__title, .woocommerce-order-downloads__title, .woocommerce-column__title) {
	margin: 0 0 16px;
}

.entry-content .woocommerce .woocommerce-customer-details address {
	padding: 18px 20px;
	font-style: normal;
	line-height: 1.7;
}

.entry-content .woocommerce .woocommerce-customer-details--email::before,
.entry-content .woocommerce .woocommerce-customer-details--phone::before {
	display: none;
}

.entry-content .woocommerce .woocommerce-customer-details :is(.woocommerce-customer-details--email, .woocommerce-customer-details--phone) {
	padding-left: 0;
}

/* Mon compte : deux colonnes (connexion et inscription, adresses) dès 768 px. */
.entry-content .woocommerce .col2-set {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	width: 100%;
}

.entry-content .woocommerce .col2-set::before,
.entry-content .woocommerce .col2-set::after {
	content: none;
}

.entry-content .woocommerce .col2-set > :is(.col-1, .col-2) {
	float: none;
	width: auto;
}

@media (min-width: 768px) {
	.entry-content .woocommerce .col2-set {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}
}

.entry-content .woocommerce form.login,
.entry-content .woocommerce form.register,
.entry-content .woocommerce form.lost_reset_password {
	margin: 16px 0 0;
	padding: clamp(20px, 3vw, 32px);
	text-align: left;
}

.entry-content .woocommerce > h2 + form.login,
.entry-content .woocommerce > form.lost_reset_password {
	max-width: 560px;
}

.entry-content .woocommerce form.lost_reset_password > p:first-child,
.entry-content .woocommerce .woocommerce-MyAccount-content > p {
	margin-bottom: 18px;
}

.entry-content .woocommerce form.lost_reset_password .form-row-first {
	float: none;
	width: 100%;
}

.entry-content .woocommerce form.login .woocommerce-form-login__submit {
	float: none;
	margin-right: 16px;
}

.entry-content .woocommerce .woocommerce-form-login__rememberme {
	margin-right: 16px;
	font-size: var(--wp--preset--font-size--corps-s);
	color: var(--wp--preset--color--sauge-texte);
}

.entry-content .woocommerce .lost_password {
	margin-top: 20px;
	font-size: var(--wp--preset--font-size--corps-s);
}

.entry-content .woocommerce .lost_password a {
	color: var(--wp--preset--color--terracotta-texte);
}

.entry-content .woocommerce .show-password-input {
	min-width: 44px;
	min-height: 44px;
}

.entry-content .woocommerce .woocommerce-privacy-policy-text {
	margin-bottom: 18px;
	font-size: var(--wp--preset--font-size--corps-s);
	color: var(--wp--preset--color--sauge-texte);
}

/* Mon compte connecté : navigation en ligne dès 768 px, rendu des gammes de la boutique. */
.entry-content .woocommerce .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 32px;
	padding: 12px 0;
	border-block: 1px solid var(--wp--preset--color--trait);
	list-style: none;
}

.entry-content .woocommerce .woocommerce-MyAccount-navigation a {
	display: inline-block;
	padding-block: 8px 5px;
	border-bottom: 1px solid transparent;
	font-size: var(--wp--preset--font-size--bouton);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--texte);
}

.entry-content .woocommerce .woocommerce-MyAccount-navigation a:hover,
.entry-content .woocommerce .woocommerce-MyAccount-navigation .is-active a {
	border-bottom-color: var(--wp--preset--color--terracotta-texte);
	color: var(--wp--preset--color--terracotta-texte);
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}

@media (min-width: 768px) {
	.entry-content .woocommerce .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px 26px;
		padding-block: 16px;
	}
}

/* Adresses, détails du compte. */
.entry-content .woocommerce .woocommerce-Address {
	padding: 20px 24px;
}

.entry-content .woocommerce .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 14px;
}

.entry-content .woocommerce .woocommerce-Address-title h2 {
	margin: 0;
}

.entry-content .woocommerce .woocommerce-Address-title a.edit {
	padding-bottom: 3px;
	border-bottom: 1px solid var(--wp--preset--color--terracotta-texte);
	font-size: var(--wp--preset--font-size--etiquette);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--terracotta-texte);
}

.entry-content .woocommerce .woocommerce-Address address {
	font-style: normal;
	line-height: 1.7;
}

.entry-content .woocommerce fieldset {
	margin: 24px 0;
	padding: 20px 24px 8px;
	border: 1px solid var(--wp--preset--color--trait);
	border-radius: 0;
}

.entry-content .woocommerce fieldset legend {
	padding-inline: 8px;
}

.entry-content .woocommerce form em {
	font-size: var(--wp--preset--font-size--corps-s);
	color: var(--wp--preset--color--sauge-texte);
}

.entry-content .woocommerce form > :is(h2, h3) {
	margin-bottom: 20px;
}

/* Prénom et nom côte à côte dès 768 px (WooCommerce les met à 47 % de large), l'un sous l'autre en dessous. */
@media (max-width: 767px) {
	.entry-content .woocommerce form .form-row-first,
	.entry-content .woocommerce form .form-row-last {
		float: none;
		width: 100%;
	}
}

/* Listes déroulantes de pays et de région (Select2, ajoutées au corps de la page). */
.select2-container--default .select2-selection--single {
	height: auto;
	border: 1px solid var(--wp--preset--color--sauge-texte);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 10px 14px;
	font-size: var(--wp--preset--font-size--corps-m);
	line-height: 1.5;
	color: var(--wp--preset--color--texte);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}

.select2-dropdown {
	border: 1px solid var(--wp--preset--color--sauge-texte);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
	font-size: var(--wp--preset--font-size--corps-m);
	color: var(--wp--preset--color--texte);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--wp--preset--color--sauge-aplat);
	color: var(--wp--preset--color--creme);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid var(--wp--preset--color--sauge-texte);
	border-radius: 0;
	background: var(--wp--preset--color--ivoire);
}
