/**
 * Masques — WooCommerce & layout (FSE + blocks).
 */

:root {
	--masques-product-image-border-width: 6px;
	--masques-product-image-border: var(--masques-product-image-border-width) solid #fff;
	--masques-product-image-bg: #7ec9e8;
	--masques-font-blippo: Blippo, var(--wp--preset--font-family--montserrat);
	/* Carrousels : bleu sections bas ; fond derrière les images du carrousel */
	--masques-page-blue: #3eb0f7;
	--masques-carousel-image-bg: var(--masques-product-image-bg);
	/* Bandeau (strip) : dégradé haut. Hero : dégradé haut retiré (raccord = fond header + --masques-header-bottom-fade). */
	--masques-carousel-scrim-header: max(6.25rem, 11.5%);
	--masques-carousel-scrim-footer: max(4.25rem, 8.5%);
	/* Fondu bleu → transparent (court). Bas : bande opaque jusqu’à (footer − blend) puis fondu */
	--masques-carousel-scrim-blend: 0.42rem;
	/* Header : fondu bas uniquement (pas la hauteur carrousel, sinon toute la rangée nav devient « transparente ») */
	--masques-header-bottom-fade: max(1.15rem, calc(2.75 * var(--masques-carousel-scrim-blend)));
	/* Fiche produit : espace visible entre les images du slider principal (Flexslider) pendant le glissement */
	--masques-product-gallery-slide-gutter: 0.75rem;
	/* Header : hauteur commune logo (image) et barre de recherche */
	--masques-header-logo-max-h: 48px;

	/* Texte description fiche produit (carte : bloc Woo product-description) */
	--masques-product-description-font: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	--masques-product-description-font-size: 18px;
	/* Grilles produit (boutique, catégorie, recherche, etc.) : même Montserrat que les noms de catégories (accueil) */
	--masques-product-list-title-font: var(--masques-product-description-font);
	/*
	 * CTA : même apparence que « Voir le panier » (contour blanc, fond transparent sur bleu).
	 * Sur fond clair (fiche produit, caisse) : contour + texte --masques-page-blue.
	 */
	--masques-btn-cta-font: var(--masques-product-description-font);
	--masques-btn-cta-font-size: var(--wp--preset--font-size--medium, 1.125rem);
	--masques-btn-cta-line-height: 1.3;
	--masques-btn-cta-secondary-color: #fff;
	--masques-btn-cta-secondary-border: 2px solid #fff;
	--masques-btn-cta-secondary-radius: 2px;
	--masques-btn-cta-secondary-letter-spacing: 0.06em;
	--masques-btn-cta-secondary-hover-bg: rgba(255, 255, 255, 0.12);
	--masques-btn-cta-on-light-border: 2px solid var(--masques-page-blue);
	--masques-btn-cta-on-light-color: var(--masques-page-blue);
	--masques-btn-cta-on-light-hover-bg: rgba(62, 176, 247, 0.12);
	--masques-btn-cta-disabled-opacity: 0.5;
	/* Lift au survol (offre Nxtal plugin + alignement bouton Acheter + filtres catégorie) */
	--masques-btn-cta-hover-lift: -2px;
	--masques-btn-cta-hover-shadow: 0 5px 16px rgba(0, 0, 0, 0.22);
	--masques-btn-cta-hover-shadow-on-light: 0 4px 14px rgba(62, 176, 247, 0.35);
	--masques-btn-cta-motion-duration: 0.3s;
	/* Fermeture des tiroirs (offre Nxtal + mini-panier Woo) : même pastille */
	--masques-drawer-close-size: 2.5rem;
	--masques-drawer-close-icon-size: 1.35rem;
	--masques-drawer-close-border: 1px solid rgba(255, 255, 255, 0.4);
	--masques-drawer-close-bg: rgba(255, 255, 255, 0.14);
	--masques-drawer-close-color: #fff;
	--masques-drawer-close-radius: 2px;
	--masques-drawer-close-hover-bg: rgba(255, 255, 255, 0.22);
	--masques-drawer-close-hover-border: rgba(255, 255, 255, 0.55);
	/* Même glyphe × que le plugin Nxtal (.ncp-close), pas l’SVG Woo */
	--masques-drawer-close-glyph: "\00D7";
	/* Titres des tiroirs (mini-panier + offre) : même échelle */
	--masques-drawer-title-font: var(--masques-font-blippo);
	--masques-drawer-title-size: clamp(1.15rem, 2.5vw, 1.45rem);
	--masques-drawer-title-line-height: 1.2;
	--masques-drawer-title-letter-spacing: 0.04em;
	/* Même retrait bord gauche/droite / haut / bas que le tiroir offre (.ncp-modal-content) */
	--masques-drawer-content-padding-x: 1.25rem;
	--masques-drawer-content-padding-top: 1.25rem;
	--masques-drawer-content-padding-bottom: 1.5rem;
	/* Fond + flou derrière la page : mini-panier (overlay Woo) + modales offre Nxtal */
	--masques-drawer-overlay-bg: rgba(6, 22, 38, 0.55);
	--masques-drawer-overlay-backdrop: blur(12px) saturate(180%);
	/* Bord gauche + ombre du panneau bleu (même traitement que le tiroir offre) */
	--masques-drawer-panel-border-left: 1px solid rgba(255, 255, 255, 0.28);
	--masques-drawer-panel-box-shadow: -8px 0 24px rgba(0, 0, 0, 0.22);
	/* Mini-panier (tiroir) + page panier : texte ~30 % plus grand */
	--masques-cart-ui-font-scale: 1.3;
	--masques-cart-line-font-size: calc(var(--masques-cart-ui-font-scale) * clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem));
	--masques-cart-footer-sub-font-size: calc(var(--masques-cart-ui-font-scale) * 0.875rem);
	--masques-cart-footer-desc-font-size: calc(var(--masques-cart-ui-font-scale) * 1rem);
	--masques-cart-drawer-title-size: calc(var(--masques-cart-ui-font-scale) * var(--masques-drawer-title-size));
	--masques-cart-cta-font-size: calc(var(--masques-cart-ui-font-scale) * var(--masques-btn-cta-font-size));
	/* Vignette ligne panier : largeur colonne tiroir (page panier = --masques-line-item-thumb-square). */
	--masques-cart-thumb-col-width: 6.5rem;
	/* Vignettes ligne panier : cadre 2 × 5.875rem ; image entière visible (object-fit: contain). */
	--masques-cart-thumb-img-min-height: 11.75rem;
	--masques-cart-thumb-img-fixed-height: 11.75rem;
	/* Page panier + wishlist + Mes offres : carré bleu fixe 104px (cible DevTools / maquette). */
	--masques-line-item-thumb-square: 104px;
	/* Icône retirer / supprimer (poubelle) — panier, wishlist, Mes offres (même rendu). */
	--masques-line-item-remove-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233eb0f7' d='M9 3h6a1 1 0 0 1 1 1v1h5v2H3V5h5V4a1 1 0 0 1 1-1zm-3 6h12l-1 12H7L6 9zm4 2v7h2v-7h-2z'/%3E%3C/svg%3E");
	/* Mes offres : éditer / acheter — même traitement visuel que la poubelle. */
	--masques-ncp-my-offers-edit-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233eb0f7' d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E");
	--masques-ncp-my-offers-buy-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%233eb0f7' d='M7 18c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm10 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zM7.2 14h9.05c.75 0 1.41-.42 1.73-1.05l3.24-6.14a1 1 0 0 0-.86-1.45H6.21L5.27 3H2v2h2l3.6 7.59-1.35 2.44C5.52 15.37 6.48 16 7.55 16H19v-2H7.42l.55-1h8.55l-2.4-4.5H8.1L7.2 14z'/%3E%3C/svg%3E");
}

/* -------------------------------------------------------------------------
   Boutons CTA — contour type « Voir le panier » (mini-panier overlay)
   ------------------------------------------------------------------------- */

.masques-btn-cta--primary,
body.woocommerce-checkout #place_order,
body.woocommerce-pay #place_order,
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button,
form.checkout #place_order,
form#order_review #place_order {
	position: relative !important;
	overflow: visible !important;
	cursor: pointer;
	font-family: var(--masques-btn-cta-font) !important;
	font-size: var(--masques-btn-cta-font-size) !important;
	line-height: var(--masques-btn-cta-line-height) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-synthesis: none;
	background: transparent !important;
	color: var(--masques-btn-cta-on-light-color) !important;
	border: var(--masques-btn-cta-on-light-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	box-shadow: none !important;
	text-transform: uppercase !important;
	letter-spacing: var(--masques-btn-cta-secondary-letter-spacing) !important;
	text-shadow: none !important;
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		opacity 0.15s ease;
}

.wc-block-mini-cart__footer-cart.wc-block-components-button,
.wc-block-mini-cart__footer-checkout.wc-block-components-button,
.wc-block-mini-cart__shopping-button a,
.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button,
.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn,
#ncp-offer-modal .ncp-submit-btn {
	position: relative !important;
	overflow: visible !important;
	cursor: pointer;
	font-family: var(--masques-btn-cta-font) !important;
	font-size: var(--masques-btn-cta-font-size) !important;
	line-height: var(--masques-btn-cta-line-height) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-synthesis: none;
	background: transparent !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border: var(--masques-btn-cta-secondary-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	box-shadow: none !important;
	text-transform: uppercase !important;
	letter-spacing: var(--masques-btn-cta-secondary-letter-spacing) !important;
	text-shadow: none !important;
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		opacity 0.15s ease;
}

.wc-block-mini-cart__shopping-button a {
	text-decoration: none !important;
}

/* Fiche produit + modale offre + mini-panier : translateY + ombre (même animation que .ncp-offer-btn) */
.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button,
.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn,
#ncp-offer-modal .ncp-submit-btn,
.wc-block-mini-cart__footer-cart.wc-block-components-button,
.wc-block-mini-cart__footer-checkout.wc-block-components-button,
.wc-block-mini-cart__shopping-button a {
	transform: translateY(0) !important;
	transition:
		background var(--masques-btn-cta-motion-duration) ease,
		border-color var(--masques-btn-cta-motion-duration) ease,
		color var(--masques-btn-cta-motion-duration) ease,
		opacity var(--masques-btn-cta-motion-duration) ease,
		transform var(--masques-btn-cta-motion-duration) ease,
		box-shadow var(--masques-btn-cta-motion-duration) ease;
}

/* CTA du tiroir mini-panier : même style que ci-dessus mais taille alignée --masques-cart-cta-font-size */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart.wc-block-components-button,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout.wc-block-components-button,
.wc-block-mini-cart__drawer .wc-block-mini-cart__shopping-button a {
	font-size: var(--masques-cart-cta-font-size) !important;
}

.masques-btn-cta--primary:hover:not(:disabled),
.masques-btn-cta--primary:focus:not(:disabled),
body.woocommerce-checkout #place_order:hover:not(:disabled),
body.woocommerce-checkout #place_order:focus:not(:disabled),
body.woocommerce-pay #place_order:hover:not(:disabled),
body.woocommerce-pay #place_order:focus:not(:disabled),
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover:not(:disabled),
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:focus:not(:disabled) {
	background: var(--masques-btn-cta-on-light-hover-bg) !important;
	color: var(--masques-btn-cta-on-light-color) !important;
	border-color: var(--masques-page-blue) !important;
}

.wc-block-mini-cart__footer-cart.wc-block-components-button:hover,
.wc-block-mini-cart__footer-cart.wc-block-components-button:focus,
.wc-block-mini-cart__footer-checkout.wc-block-components-button:hover,
.wc-block-mini-cart__footer-checkout.wc-block-components-button:focus,
.wc-block-mini-cart__shopping-button a:hover,
.wc-block-mini-cart__shopping-button a:focus {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
}

.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button:hover:not(:disabled),
.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button:focus:not(:disabled),
.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn:hover:not(:disabled),
.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn:focus:not(:disabled),
#ncp-offer-modal .ncp-submit-btn:hover:not(:disabled),
#ncp-offer-modal .ncp-submit-btn:focus:not(:disabled),
.wc-block-mini-cart__footer-cart.wc-block-components-button:hover:not(:disabled),
.wc-block-mini-cart__footer-cart.wc-block-components-button:focus:not(:disabled),
.wc-block-mini-cart__footer-checkout.wc-block-components-button:hover:not(:disabled),
.wc-block-mini-cart__footer-checkout.wc-block-components-button:focus:not(:disabled),
.wc-block-mini-cart__shopping-button a:hover,
.wc-block-mini-cart__shopping-button a:focus {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow) !important;
}

.masques-btn-cta--primary:focus-visible,
.masques-cat-tag-filter__link:focus-visible,
.tinv-wishlist.woocommerce .product-action .button.alt:focus-visible,
.tinv-wishlist.woocommerce tfoot .button:focus-visible,
.masques-main--page .masques-contact-form__button:focus-visible,
.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button:focus-visible,
.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn:focus-visible,
.wc-block-mini-cart__footer-cart.wc-block-components-button:focus-visible,
.wc-block-mini-cart__footer-checkout.wc-block-components-button:focus-visible,
.wc-block-mini-cart__shopping-button a:focus-visible,
#ncp-offer-modal .ncp-submit-btn:focus-visible,
body.woocommerce-checkout #place_order:focus-visible,
body.woocommerce-pay #place_order:focus-visible,
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:focus-visible {
	outline: none;
}

.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button:disabled,
.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn:disabled,
#ncp-offer-modal .ncp-submit-btn:disabled,
body.woocommerce-checkout #place_order:disabled,
body.woocommerce-pay #place_order:disabled,
body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:disabled {
	opacity: var(--masques-btn-cta-disabled-opacity) !important;
	cursor: not-allowed !important;
}

.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button:disabled,
.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn:disabled,
#ncp-offer-modal .ncp-submit-btn:disabled {
	transform: none !important;
	box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.masques-btn-cta--primary,
	.masques-cat-tag-filter__link,
	.tinv-wishlist.woocommerce .product-action .button.alt,
	.tinv-wishlist.woocommerce tfoot .button,
	.masques-main--page .masques-contact-form__button,
	.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button,
	.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn,
	.wc-block-mini-cart__footer-cart.wc-block-components-button,
	.wc-block-mini-cart__footer-checkout.wc-block-components-button,
	.wc-block-mini-cart__shopping-button a,
	#ncp-offer-modal .ncp-submit-btn,
	body.woocommerce-checkout #place_order,
	body.woocommerce-pay #place_order,
	body.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button,
	.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link,
	.masques-main--cart .wc-block-cart-item__remove-link,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link,
	.tinv-wishlist.woocommerce td.product-remove button,
	.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn,
	.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer,
	.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer,
	.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer,
	.masques-main--cart .woocommerce-cart-form td.product-remove a.remove,
	body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove {
		transition: none;
	}

	.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button:hover,
	.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button:focus,
	.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn:hover,
	.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile .ncp-offer-btn:focus,
	#ncp-offer-modal .ncp-submit-btn:hover,
	#ncp-offer-modal .ncp-submit-btn:focus,
	.wc-block-mini-cart__footer-cart.wc-block-components-button:hover,
	.wc-block-mini-cart__footer-cart.wc-block-components-button:focus,
	.wc-block-mini-cart__footer-checkout.wc-block-components-button:hover,
	.wc-block-mini-cart__footer-checkout.wc-block-components-button:focus,
	.wc-block-mini-cart__shopping-button a:hover,
	.wc-block-mini-cart__shopping-button a:focus,
	.masques-cat-tag-filter__link:hover,
	.masques-cat-tag-filter__link:focus,
	.tinv-wishlist.woocommerce .product-action .button.alt:hover,
	.tinv-wishlist.woocommerce .product-action .button.alt:focus,
	.tinv-wishlist.woocommerce tfoot .button:hover,
	.tinv-wishlist.woocommerce tfoot .button:focus,
	.masques-main--page .masques-contact-form__button:hover,
	.masques-main--page .masques-contact-form__button:focus,
	.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:hover::before,
	.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:focus::before,
	.masques-main--cart .wc-block-cart-item__remove-link:hover::before,
	.masques-main--cart .wc-block-cart-item__remove-link:focus::before,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link:hover::before,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link:focus::before,
	.masques-main--cart .woocommerce-cart-form td.product-remove a.remove:hover::before,
	.masques-main--cart .woocommerce-cart-form td.product-remove a.remove:focus::before,
	body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:hover::before,
	body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:focus::before {
		transform: none !important;
		filter: none !important;
	}

	.tinv-wishlist.woocommerce td.product-remove button:hover::before,
	.tinv-wishlist.woocommerce td.product-remove button:focus::before,
	.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn:hover::before,
	.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn:focus::before,
	.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer:hover::before,
	.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer:focus::before,
	.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer:hover::before,
	.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer:focus::before,
	.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer:hover::before,
	.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer:focus::before {
		transform: translate(-50%, -50%) !important;
		filter: none !important;
	}
}

/* -------------------------------------------------------------------------
   Pied de page — fond bleu page, colonnes de liens (maquette BENIX)
   ------------------------------------------------------------------------- */
.masques-footer {
	background-color: var(--masques-page-blue, #3eb0f7) !important;
	background: var(--masques-page-blue, #3eb0f7) !important;
	color: #fff;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
}

.masques-footer .masques-footer__cols {
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.masques-footer .masques-footer__cols--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.masques-footer .masques-footer__cols--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.masques-footer .masques-footer__cols--1 {
	grid-template-columns: minmax(0, 1fr);
}

.masques-footer .masques-footer__col {
	min-width: 0;
	text-align: left;
}

.masques-footer .masques-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
	line-height: 1.65;
}

.masques-footer .masques-footer__list li {
	margin: 0 0 0.5rem;
}

.masques-footer .masques-footer__list li:last-child {
	margin-bottom: 0;
}

.masques-footer .masques-footer__list a {
	color: #fff;
	text-decoration: none;
	text-underline-offset: 0.15em;
}

.masques-footer .masques-footer__list a:hover,
.masques-footer .masques-footer__list a:focus {
	text-decoration: underline;
}

@media (max-width: 781px) {
	.masques-footer .masques-footer__cols {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}
}

/* -------------------------------------------------------------------------
   Colonne page pleine hauteur : main s’étire, footer en bas (pas de blanc sous le pied)
   ------------------------------------------------------------------------- */
html {
	height: 100%;
}

body {
	min-height: 100%;
	margin: 0;
	background-color: var(--masques-page-blue, #3eb0f7);
}

.wp-site-blocks {
	overflow: visible;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

body.admin-bar .wp-site-blocks {
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
}

@media screen and (max-width: 782px) {
	body.admin-bar .wp-site-blocks {
		min-height: calc(100vh - var(--wp-admin--admin-bar--height, 46px));
		min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px));
	}
}

.wp-site-blocks > main {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	min-height: 0;
}

.wp-site-blocks > .wp-block-template-part:has(.masques-footer) {
	flex-shrink: 0;
}

/* -------------------------------------------------------------------------
   Header — fixed + transparent, par-dessus le contenu (aucune place réservée)
   Hors flux : le premier bloc (hero, carrousel, etc.) commence en haut de page.
   ------------------------------------------------------------------------- */

.wp-site-blocks > .wp-block-template-part:has(.masques-header) {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 200;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	background: transparent;
	box-shadow: none;
	padding: 0;
	margin: 0;
}

body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.masques-header) {
	top: 32px;
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media screen and (max-width: 782px) {
	body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.masques-header) {
		top: 46px;
		top: var(--wp-admin--admin-bar--height, 46px);
	}

	/* Pleine largeur écran : plus de bandes latérales (fond du site) à côté du header fixe. */
	.wp-site-blocks > .wp-block-template-part:has(.masques-header) {
		width: 100vw !important;
		max-width: 100vw !important;
		left: 0 !important;
		right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box;
	}
}

/* Évite le margin-block-start du thème entre le part header et le <main> */
.wp-site-blocks > .wp-block-template-part:has(.masques-header) + * {
	margin-block-start: 0 !important;
}

/*
 * Twenty Twenty-Five : styles.spacing.blockGap (≈1.2rem) sur .wp-site-blocks → marge entre <main> et le
 * template-part footer ; le fond racine est blanc → bande blanche. On supprime cet écart devant le footer Masques.
 */
.wp-site-blocks > main.masques-main + .wp-block-template-part:has(.masques-footer) {
	margin-block-start: 0 !important;
}

/*
 * #3eb0f7 sur tout le bloc (deux rangées) ; seul le bas du header fondu vers transparent pour
 * raccorder le hero. Hauteur du fondu = --masques-header-bottom-fade (pas --masques-carousel-scrim-footer).
 */
.wp-block-group.masques-header {
	position: relative;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	background-color: transparent;
	background-image: linear-gradient(
		to bottom,
		var(--masques-page-blue) 0,
		var(--masques-page-blue) calc(100% - var(--masques-header-bottom-fade)),
		rgba(62, 176, 247, 0) 100%
	);
}

.masques-header a {
	color: #fff !important;
	text-decoration: none;
}

.masques-header a:hover,
.masques-header .wp-block-navigation-item__content:hover {
	opacity: 0.85;
}

/* Même famille que les titres produits à la une (Montserrat via --masques-product-list-title-font). */
.masques-header .wp-block-navigation {
	font-family: var(--masques-product-list-title-font) !important;
	font-synthesis: none;
}

.masques-header .wp-block-navigation .wp-block-navigation-item__content {
	color: #fff !important;
	font-weight: 700;
}

.masques-header .wp-block-site-title a,
.masques-header .wp-block-site-title {
	color: #fff !important;
}

/* Logo : masquer le titre du site si un logo image est défini (évite double libellé + largeur excessive) */
.masques-header__logo-wrap:has(.wp-block-site-logo img) .wp-block-site-title,
.masques-header__logo-wrap:has(img.custom-logo) .wp-block-site-title {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.masques-header__logo-wrap {
	position: relative;
	flex: 0 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
}

/* Même hauteur que la pilule de recherche lorsqu’un logo image est présent */
.masques-header__row--top .masques-header__logo-wrap:has(.wp-block-site-logo img) {
	height: var(--masques-header-logo-max-h);
	box-sizing: border-box;
}

.masques-header__site-logo .custom-logo-link,
.masques-header__site-logo .custom-logo {
	display: block;
	max-height: var(--masques-header-logo-max-h);
	width: auto;
	height: auto;
}

.masques-header__row--top {
	width: 100%;
	align-items: center;
}

/* -------------------------------------------------------------------------
   Header — bureau : grille (logo | recherche | utilitaires + nav pleine largeur).
   Mobile : burger à gauche ; panier / favoris / compte / liens dans un tiroir.
   ------------------------------------------------------------------------- */
.masques-header__burger {
	display: none;
	box-sizing: border-box;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #fff !important;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.masques-header__burger-lines {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 1.35rem;
	pointer-events: none;
}

.masques-header__burger-line {
	display: block;
	height: 2px;
	width: 100%;
	border-radius: 1px;
	background: currentColor;
}

.masques-header__backdrop {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 210;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, 0.4);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	-webkit-tap-highlight-color: transparent;
}

@media (min-width: 783px) {
	.masques-header__shell {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-rows: auto auto;
		column-gap: clamp(0.75rem, 2vw, 1.25rem);
		row-gap: 0.35rem;
		align-items: center;
		width: 100%;
	}

	.masques-header__burger {
		display: none !important;
	}

	/* Barre tiroir + croix : réservées au mobile (évite un item de grille fantôme avec display:contents). */
	.masques-header__drawer-top {
		display: none !important;
	}

	.masques-header__drawer-close {
		display: none !important;
	}

	/* Bloc « Se connecter » injecté en mobile uniquement (évite de casser la grille header desktop). */
	.masques-header__drawer-guest {
		display: none !important;
	}

	.masques-header__backdrop {
		display: none !important;
	}

	.masques-header__row--top {
		display: contents;
	}

	.masques-header__logo-wrap {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}

	.masques-header__search {
		grid-column: 2;
		grid-row: 1;
		justify-self: stretch;
		max-width: min(360px, 100%);
		width: 100%;
	}

	.masques-header__mobile-panel {
		display: contents;
	}

	.masques-header__utilities {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}

	.masques-header__row--nav {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
		justify-content: center;
		/* Espace sous les liens avant le fondu du header (modèle BDD peut garder l’ancien inline). */
		padding-bottom: clamp(0.85rem, 2vw, 1.35rem) !important;
	}
}

@media (max-width: 782px) {
	/*
	 * Burger au plus près du bord gauche ; marge droite un peu plus large pour que logo + recherche
	 * restent dans la zone bleue (pas sur le « bord » visuel / safe area). Annule spacing--40,
	 * has-global-padding et autres padding-inline du bloc alignfull.
	 */
	.wp-block-group.masques-header.alignfull,
	.wp-block-group.masques-header.alignfull.has-global-padding {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		padding-left: max(0.1rem, env(safe-area-inset-left, 0px)) !important;
		padding-right: max(0.85rem, env(safe-area-inset-right, 0px)) !important;
	}

	/* Groupe constrained + has-global-padding (sortie WP) : ne doit pas rétrécir la barre ni doubler le padding. */
	.masques-header > .wp-block-group.is-layout-constrained,
	.masques-header > .wp-block-group.has-global-padding.is-layout-constrained {
		max-width: none !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-inline: 0 !important;
		padding-inline-start: 0 !important;
		padding-inline-end: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Une seule bande alignée à gauche : pas de centrage « wide » qui décale burger / logo. */
	.masques-header > .wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.masques-header .masques-header__shell.alignwide {
		width: 100%;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Plus de bande fondu sous la ligne burger / logo / recherche */
	.wp-block-group.masques-header {
		--masques-header-bottom-fade: 0.55rem;
	}

	/* Hauteur pilule proche du logo BENIX (~39px) */
	.masques-header {
		--masques-header-logo-max-h: 40px;
	}

	.masques-header__shell {
		display: block;
		width: 100%;
	}

	.masques-header__row--top {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center;
		justify-content: flex-start !important;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
		gap: 0.4rem;
		padding-top: 0.5rem !important;
		padding-bottom: 0.5rem !important;
	}

	.masques-header__row--top .masques-header__burger {
		display: inline-flex !important;
		flex: 0 0 auto;
		flex-shrink: 0;
		margin: 0;
		align-self: center;
	}

	/* Annule space-between / centrage éventuels (éditeur, global styles). */
	.masques-header__row--top.is-layout-flex,
	.masques-header__row--top.wp-block-group {
		justify-content: flex-start !important;
		align-items: center !important;
	}

	.masques-header__row--top.is-layout-flex {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
	}

	/* Logo : ne prend pas l’espace entre burger et recherche ; hauteur = pilule recherche */
	.masques-header__row--top .masques-header__logo-wrap {
		flex: 0 0 auto !important;
		flex-grow: 0 !important;
		flex-shrink: 0;
		min-width: 0;
		width: max-content;
		max-width: min(100%, 50vw);
		height: var(--masques-header-logo-max-h);
		align-items: center;
		justify-content: flex-start;
	}

	.masques-header__row--top .masques-header__logo-wrap.is-layout-flex {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
	}

	.masques-header__row--top .masques-header__site-logo .custom-logo-link {
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
		height: 100%;
		max-height: var(--masques-header-logo-max-h);
	}

	.masques-header__row--top .masques-header__site-logo .custom-logo {
		max-height: 100% !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain;
	}

	.masques-header__row--top .masques-header__logo-wrap .wp-block-site-title {
		line-height: 1 !important;
		margin: 0 !important;
	}

	/*
	 * Le bloc recherche est un <form class="wp-block-search"> (pas de div + form interne).
	 */
	.masques-header__row--top form.masques-header__search.wp-block-search {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		flex: 1 1 0% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		max-width: none !important;
		width: auto !important;
		align-self: center;
		height: var(--masques-header-logo-max-h) !important;
		max-height: var(--masques-header-logo-max-h) !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.masques-header__row--top form.masques-header__search .wp-block-search__inside-wrapper {
		width: 100% !important;
		max-width: none !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		min-height: var(--masques-header-logo-max-h) !important;
		height: var(--masques-header-logo-max-h) !important;
		max-height: var(--masques-header-logo-max-h) !important;
		box-sizing: border-box !important;
		border-radius: 999px !important;
	}

	.masques-header__mobile-panel {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 220;
		width: min(19rem, 92vw);
		height: 100vh;
		height: 100dvh;
		max-height: 100dvh;
		margin: 0;
		/* La barre logo + croix occupe le haut ; padding-top allégé. */
		padding: calc(0.35rem + env(safe-area-inset-top, 0px)) 1.1rem 1.25rem
			calc(1.1rem + env(safe-area-inset-left, 0px));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--masques-page-blue);
		box-shadow: 6px 0 28px rgba(0, 0, 0, 0.18);
		visibility: hidden;
		transform: translate3d(-105%, 0, 0);
		transition: transform 0.22s ease, visibility 0.22s ease;
	}

	/*
	 * Bloc HTML WP : overflow / contain peut masquer un bouton en position absolute si le parent est mal dimensionné.
	 */
	.masques-header__mobile-panel.wp-block-group > .wp-block-html:first-child {
		overflow: visible !important;
		position: static !important;
		contain: none !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		align-self: stretch !important;
	}

	.masques-header__drawer-top {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
		gap: 0.65rem;
		width: 100%;
		box-sizing: border-box;
		flex-shrink: 0;
		padding-top: calc(0.2rem + env(safe-area-inset-top, 0px));
		padding-bottom: 0.65rem;
		margin: 0 0 0.15rem;
	}

	.masques-header__drawer-logo-mount {
		flex: 1 1 auto;
		min-width: 0;
		margin-inline-end: auto;
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}

	.masques-header__drawer-logo-mount .masques-header__logo-wrap--drawer {
		min-width: 0;
		max-width: 100%;
	}

	.masques-header__drawer-logo-mount .masques-header__logo-wrap--drawer.masques-header__logo-wrap {
		height: auto;
		min-height: 0;
	}

	.masques-header__drawer-logo-mount .masques-header__logo-wrap--drawer .masques-header__site-logo .custom-logo-link,
	.masques-header__drawer-logo-mount .masques-header__logo-wrap--drawer .masques-header__site-logo .custom-logo {
		max-height: clamp(2rem, 9vw, 2.5rem);
		width: auto;
		height: auto;
		object-fit: contain;
	}

	.masques-header__drawer-logo-mount .masques-header__logo-wrap--drawer .wp-block-site-title a {
		color: #fff !important;
	}

	/* Même fermeture × que mini-panier / modale offre ; × réel dans <span> (robuste vs resets button / ::after). */
	.masques-header__drawer-close {
		position: relative;
		z-index: 25;
		top: auto;
		right: auto;
		left: auto;
		flex-shrink: 0;
		box-sizing: border-box;
		width: var(--masques-drawer-close-size);
		height: var(--masques-drawer-close-size);
		min-width: var(--masques-drawer-close-size);
		min-height: var(--masques-drawer-close-size);
		margin: 0;
		padding: 0;
		border: var(--masques-drawer-close-border);
		border-radius: var(--masques-drawer-close-radius);
		background: var(--masques-drawer-close-bg) !important;
		color: var(--masques-drawer-close-color) !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		-webkit-appearance: none;
		appearance: none;
		font-size: 0 !important;
		line-height: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		transition:
			background 0.15s ease,
			border-color 0.15s ease,
			opacity 0.15s ease;
	}

	.masques-header__drawer-close-glyph {
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
		font-size: var(--masques-drawer-close-icon-size) !important;
		font-weight: 400 !important;
		line-height: 1 !important;
		color: inherit !important;
		pointer-events: none;
	}

	.masques-header__drawer-close:hover,
	.masques-header__drawer-close:focus {
		background: var(--masques-drawer-close-hover-bg) !important;
		border-color: var(--masques-drawer-close-hover-border) !important;
		color: var(--masques-drawer-close-color) !important;
	}

	.masques-header__drawer-close:focus-visible {
		outline: 2px solid rgba(255, 255, 255, 0.9);
		outline-offset: 2px;
	}

	body.admin-bar .masques-header__mobile-panel {
		top: var(--wp-admin--admin-bar--height, 46px);
		height: calc(100vh - var(--wp-admin--admin-bar--height, 46px));
		height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px));
		max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px));
		padding-top: calc(0.35rem + env(safe-area-inset-top, 0px));
	}

	.masques-header--nav-open .masques-header__mobile-panel {
		visibility: visible;
		transform: translate3d(0, 0, 0);
	}

	html[dir="rtl"] .masques-header__mobile-panel {
		left: auto;
		right: 0;
		box-shadow: -6px 0 28px rgba(0, 0, 0, 0.18);
		transform: translate3d(105%, 0, 0);
	}

	html[dir="rtl"] .masques-header--nav-open .masques-header__mobile-panel {
		transform: translate3d(0, 0, 0);
	}

	.masques-header__backdrop {
		display: block !important;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}

	.masques-header--nav-open .masques-header__backdrop {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	/*
	 * Tiroir : pas d’icônes panier / favoris / compte ici (restent sur la barre ≥783px).
	 * Compteurs favoris & offres : pastilles sur « Mes favoris » / « Mes offres » dans le clone Mon compte (.masques-header__account-tabs).
	 */
	.masques-header__mobile-panel .masques-header__utilities {
		display: none !important;
	}

	.masques-header__mobile-panel .masques-header__row--nav {
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		padding-top: 0.5rem !important;
		padding-bottom: 1rem !important;
		gap: 0.35rem !important;
		width: 100%;
	}

	.masques-header__mobile-panel .masques-header__nav-main {
		width: 100%;
	}

	.masques-header__mobile-panel .masques-header__nav-main .wp-block-navigation__container,
	.masques-header__mobile-panel .masques-header__nav-main .wp-block-navigation__responsive-container-content {
		flex-direction: column !important;
		align-items: flex-start !important;
		flex-wrap: nowrap !important;
		gap: 0.35rem !important;
	}

	.masques-header__mobile-panel .masques-header__nav-main .wp-block-navigation-item {
		width: 100%;
	}

	.masques-header__mobile-panel .masques-header__nav-main .wp-block-navigation-item__content {
		display: inline-flex;
		align-items: center;
		min-height: 2.5rem;
		padding: 0.25rem 0;
		width: 100%;
	}
}

@media (max-width: 782px) and (prefers-reduced-motion: reduce) {
	.masques-header__mobile-panel {
		transition: none;
	}

	.masques-header__backdrop {
		transition: none;
	}
}

body.masques-header--drawer-open {
	overflow: hidden;
}

@media (min-width: 783px) {
	body.masques-header--drawer-open {
		overflow: visible;
	}
}

.masques-header__search {
	flex: 1 1 200px;
	max-width: min(360px, 100%);
	min-width: 140px;
	align-self: center;
}

/* Bloc recherche : même hauteur que la ligne logo (variable --masques-header-logo-max-h). */
.masques-header .masques-header__search.wp-block-search {
	display: flex;
	align-items: stretch;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	box-sizing: border-box;
	height: var(--masques-header-logo-max-h);
	max-height: var(--masques-header-logo-max-h);
}

/* Recherche header : même hauteur que le logo (pilule). Pas de +4px WP sur le radius. */
.masques-header .masques-header__search.masques-search-pill .wp-block-search__inside-wrapper {
	max-height: var(--masques-header-logo-max-h);
	min-height: var(--masques-header-logo-max-h);
	height: var(--masques-header-logo-max-h);
	display: flex;
	align-items: stretch;
	box-sizing: border-box;
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	border-radius: 999px !important;
}

.masques-header .masques-header__search.masques-search-pill .wp-block-search__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 0;
	max-height: 100%;
	height: 100%;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 1rem !important;
	padding-right: 0.35rem !important;
	line-height: 1.2;
	font-size: 0.8125rem;
	border: none !important;
	box-sizing: border-box;
}

.masques-header .masques-header__search .wp-block-search__button {
	flex: 0 0 auto;
	align-self: stretch;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 0 !important;
	max-height: 100%;
	padding: 0 0.45rem !important;
	margin: 0 !important;
	border: none !important;
	box-sizing: border-box;
}

.masques-header .masques-header__search .wp-block-search__button svg {
	width: 1.125rem !important;
	height: 1.125rem !important;
	min-width: 0 !important;
	min-height: 0 !important;
}

.masques-header__utilities {
	flex: 0 0 auto;
	align-items: center;
}

.masques-header__utilities .wp-block-shortcode {
	margin: 0;
}

.masques-header__utilities .wc-block-mini-cart {
	line-height: 0;
}

/* Compte client — aligné panier / favoris (évite le bloc auto-croché après la nav) */
.masques-header__utilities .wp-block-woocommerce-customer-account {
	line-height: 0;
	margin: 0;
}

.masques-header__utilities .wp-block-woocommerce-customer-account a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.35rem;
	color: #fff !important;
	line-height: 0;
}

.masques-header__utilities .wp-block-woocommerce-customer-account .wc-block-customer-account__account-icon {
	width: 1.5rem;
	height: 1.5rem;
}

/*
 * Mini panier — puce comme favoris (coin haut-droit du bouton, pas du seul picto).
 * Le lien favoris positionne le compteur sur le <a> paddé ; ici le repère doit être
 * le bouton, pas .wc-block-mini-cart__quantity-badge (sinon la puce se centre au-dessus du SVG).
 */
.masques-header .wc-block-mini-cart__button {
	position: relative;
	color: #fff !important;
	padding: 0.35rem;
}

.masques-header .wc-block-mini-cart__quantity-badge {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.masques-header .wc-block-mini-cart__badge {
	position: absolute;
	top: 0;
	right: 0;
	left: auto !important;
	bottom: auto;
	margin: 0 !important;
	background: #e53935 !important;
	color: #fff !important;
	font-size: 0.65rem !important;
	font-weight: 700;
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 0.25rem;
	line-height: 1.1rem;
	text-align: center;
	border-radius: 999px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: translate(25%, -25%) !important;
	white-space: nowrap;
	z-index: 1;
}

html[dir="rtl"] .masques-header .wc-block-mini-cart__badge {
	right: auto;
	left: 0 !important;
	transform: translate(-25%, -25%) !important;
}

/*
 * Mini-panier (slider) : pas de +/- ni champ quantité — une unité par ligne (règle thème, voir inc/woocommerce-cart-limits.php).
 * Le lien « retirer » reste dans .wc-block-cart-item__quantity.
 * Le tiroir peut être dans le header (.wc-block-mini-cart) ou en portail footer (Woo iAPI) : on cible le drawer.
 */
.wc-block-mini-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector,
.wc-block-mini-cart__drawer .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	display: none !important;
}

/*
 * Mini-panier : Woo applique display:grid aux lignes du tableau panier en vue étroite
 * (.is-small / .is-medium / .is-mobile) — sans exclure .wc-block-mini-cart-items, ce qui
 * chevauche la vignette et le texte. On rétablit un vrai tableau uniquement dans le tiroir.
 */
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items {
	display: table !important;
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}

.wc-block-mini-cart__drawer table.wc-block-mini-cart-items thead {
	display: table-header-group !important;
}

.wc-block-mini-cart__drawer table.wc-block-mini-cart-items tbody {
	display: table-row-group !important;
}

.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-items__row {
	display: table-row !important;
}

.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-items__header th,
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-items__row > td {
	display: table-cell !important;
	vertical-align: top;
}

.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-items__row > td,
.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-items__header th {
	grid-column: unset !important;
	grid-row: unset !important;
	grid-column-start: unset !important;
	grid-column-end: unset !important;
	grid-row-start: unset !important;
	align-self: unset !important;
	justify-self: unset !important;
}

.wc-block-mini-cart__drawer table.wc-block-mini-cart-items .wc-block-cart-item__quantity {
	grid-column: unset !important;
	grid-row: unset !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__product {
	padding-left: 0.75rem !important;
	min-width: 0;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__total {
	padding-left: 0.5rem !important;
}

/*
 * Mini-panier (drawer / slider) — même palette et typo que la fiche produit :
 * fond #3eb0f7, texte blanc, Montserrat, titre tiroir Blippo, CTA contour (même style que « Voir le panier »).
 * Ne pas exiger .wc-block-mini-cart comme ancêtre : avec le mini-panier iAPI, le tiroir est rendu dans le footer
 * sous [data-wp-key="wc-mini-cart-overlay"], hors du bloc header.
 */
.wc-block-mini-cart .wc-block-components-drawer__screen-overlay,
[data-wp-key="wc-mini-cart-overlay"] .wc-block-components-drawer__screen-overlay,
body .wc-block-components-drawer__screen-overlay:has(.wc-block-mini-cart__drawer) {
	background-color: var(--masques-drawer-overlay-bg) !important;
	backdrop-filter: var(--masques-drawer-overlay-backdrop) !important;
	-webkit-backdrop-filter: var(--masques-drawer-overlay-backdrop) !important;
}

/* Panneau latéral : même ombre / bord que #ncp-offer-modal .ncp-modal-content (Woo n’en met pas par défaut). */
.wc-block-mini-cart__drawer.wc-block-components-drawer {
	border-left: var(--masques-drawer-panel-border-left) !important;
	box-shadow: var(--masques-drawer-panel-box-shadow) !important;
}

.wc-block-mini-cart__drawer.wc-block-components-drawer,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
	background-color: var(--masques-page-blue) !important;
	background: var(--masques-page-blue) !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	background: transparent !important;
	color: inherit;
	box-sizing: border-box !important;
	padding: var(--masques-drawer-content-padding-top) var(--masques-drawer-content-padding-x)
		var(--masques-drawer-content-padding-bottom) !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	margin: 0 !important;
	font-family: var(--masques-drawer-title-font) !important;
	font-weight: 400 !important;
	font-synthesis: none;
	font-size: var(--masques-cart-drawer-title-size) !important;
	line-height: var(--masques-drawer-title-line-height) !important;
	letter-spacing: var(--masques-drawer-title-letter-spacing) !important;
	text-transform: none !important;
	color: #fff !important;
	text-shadow: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-name,
.wc-block-mini-cart__drawer .wc-block-components-product-name a,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-components-formatted-money-amount,
.wc-block-mini-cart__drawer .wc-block-components-totals-item,
.wc-block-mini-cart__drawer .wc-block-components-totals-item__description,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal,
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper,
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper p {
	color: #fff !important;
}

/* Retirer ligne : pas de carré au survol — seul le picto (::before) monte + drop-shadow (forme de l’icône). */
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0 !important;
	margin: 0;
	box-sizing: border-box;
	position: relative;
	border: 0;
	background: transparent !important;
	color: #fff !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	text-indent: -9999px;
	overflow: visible;
	white-space: nowrap;
	cursor: pointer;
	vertical-align: middle;
	box-shadow: none !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:hover,
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:focus {
	background: transparent !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link::before {
	content: "";
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	flex-shrink: 0;
	text-indent: 0;
	transform: translateY(0);
	filter: none;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 3h6a1 1 0 0 1 1 1v1h5v2H3V5h5V4a1 1 0 0 1 1-1zm-3 6h12l-1 12H7L6 9zm4 2v7h2v-7h-2z'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:hover::before,
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:focus::before {
	transform: translateY(var(--masques-btn-cta-hover-lift));
	/* Équivalent visuel de --masques-btn-cta-hover-shadow sur la forme du picto (pas de rectangle 2.5rem). */
	filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.22));
}

/* Icônes Woo dans le lien : sinon doublon avec ::before (SVG + fond). */
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link svg {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:focus-visible {
	outline: none;
}

/* Même fermeture que #ncp-offer-modal .ncp-close (--masques-drawer-close-*) */
.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	box-sizing: border-box !important;
	width: var(--masques-drawer-close-size) !important;
	height: var(--masques-drawer-close-size) !important;
	min-width: var(--masques-drawer-close-size) !important;
	min-height: var(--masques-drawer-close-size) !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: var(--masques-drawer-close-radius) !important;
	border: var(--masques-drawer-close-border) !important;
	background: var(--masques-drawer-close-bg) !important;
	color: var(--masques-drawer-close-color) !important;
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		opacity 0.15s ease;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close:hover,
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:focus {
	background: var(--masques-drawer-close-hover-bg) !important;
	border-color: var(--masques-drawer-close-hover-border) !important;
	color: var(--masques-drawer-close-color) !important;
}

/* Icône Woo masquée : on affiche le même × typographique que .ncp-close */
.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close::after {
	content: var(--masques-drawer-close-glyph);
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	font-size: var(--masques-drawer-close-icon-size);
	line-height: 1;
	font-weight: 400;
}

.wc-block-mini-cart__drawer .wc-block-cart-items__row,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer,
.wc-block-mini-cart__drawer .wc-block-mini-cart-items td,
.wc-block-mini-cart__drawer .wc-block-mini-cart-items th {
	border-color: rgba(255, 255, 255, 0.28) !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart-items .wc-block-cart-items__header th {
	color: rgba(255, 255, 255, 0.92) !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
}

/* Lignes produit : texte plus lisible (titre du tiroir et ligne « Sous-total » + montant inchangés). */
.wc-block-mini-cart__drawer .wc-block-mini-cart-items {
	font-size: var(--masques-cart-line-font-size) !important;
	line-height: 1.45;
}

/* Nom produit (lien / span) : même taille que la ligne — les styles de liens peuvent sinon le réduire */
.wc-block-mini-cart__drawer .wc-block-mini-cart-items .wc-block-components-product-name {
	font-size: var(--masques-cart-line-font-size) !important;
	line-height: 1.35 !important;
}

/* Courte description : −30 % par rapport au nom */
.wc-block-mini-cart__drawer .wc-block-mini-cart-items .wc-block-components-product-metadata {
	font-size: calc(var(--masques-cart-line-font-size) * 0.7) !important;
	line-height: 1.45 !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart-items .wc-block-components-product-metadata__description {
	font-size: 1em !important;
	line-height: inherit !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart-items .wc-block-components-product-metadata__description * {
	font-size: inherit !important;
	line-height: inherit !important;
}

/* Prix sous le nom : masqué (le montant reste dans la colonne Total) */
.wc-block-mini-cart__drawer .wc-block-cart-item__product .wc-block-cart-item__prices {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-product-price,
.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-formatted-money-amount {
	color: #fff !important;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper,
.wc-block-mini-cart__drawer .wc-block-mini-cart__empty-cart-wrapper p {
	font-size: var(--masques-cart-line-font-size) !important;
	line-height: 1.45;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__label,
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value {
	font-size: var(--masques-cart-footer-sub-font-size) !important;
	line-height: 1.35;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__description {
	font-size: var(--masques-cart-footer-desc-font-size) !important;
	line-height: 1.45;
}

/* Vignette produit tiroir : --masques-cart-thumb-col-width (page panier = 104px, --masques-line-item-thumb-square). */
.wc-block-mini-cart__drawer .wc-block-cart-item__image {
	width: var(--masques-cart-thumb-col-width) !important;
	min-width: var(--masques-cart-thumb-col-width) !important;
	max-width: var(--masques-cart-thumb-col-width) !important;
	vertical-align: top;
	box-sizing: border-box;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__image > a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: var(--masques-cart-thumb-img-min-height);
	line-height: 0 !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__image img {
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: var(--masques-cart-thumb-img-min-height);
	min-height: 0;
	object-fit: contain;
	object-position: center;
}

/*
 * Mini-cart iAPI : la cellule contient deux <img> (catalogue masqué vs lien) ; un seul a [hidden].
 * display:block !important sur tous les img bat le masquage natif de [hidden] → photo en double.
 */
.wc-block-mini-cart__drawer .wc-block-cart-item__image img:not([hidden]) {
	display: block !important;
}

/* Mini-panier : Commander / Continuer / Voir le panier → --masques-btn-cta-* (début du fichier). */

/* Portail mini-panier (footer) : rester au-dessus du header fixe (.masques-header, z-index 200). */
[data-wp-key="wc-mini-cart-overlay"] {
	z-index: 999990 !important;
}

/*
 * Bannières WooCommerce (toutes : erreur, succès, info, bloc store-notices, mini-cart, fragments AJAX).
 * Aucun message n’est affiché — les validations serveur restent actives.
 */
body:not(.wp-admin) .woocommerce-notices-wrapper,
body:not(.wp-admin) ul.woocommerce-error,
body:not(.wp-admin) ul.woocommerce-message,
body:not(.wp-admin) ul.woocommerce-info,
body:not(.wp-admin) .woocommerce-message,
body:not(.wp-admin) .woocommerce-error,
body:not(.wp-admin) .woocommerce-info,
body:not(.wp-admin) .woocommerce-notice,
body:not(.wp-admin) .wc-block-store-notices,
body:not(.wp-admin) .wp-block-woocommerce-store-notices,
body:not(.wp-admin) .wc-block-components-notices,
body:not(.wp-admin) .wc-block-components-notice-banner,
body:not(.wp-admin) .woocommerce-store-notice,
body:not(.wp-admin) .woocommerce > .woocommerce-notices-wrapper {
	display: none !important;
}

/* Lien « Voir le panier » injecté par wc-add-to-cart.js après le bouton (hors bannières). */
body:not(.wp-admin) a.added_to_cart.wc-forward {
	display: none !important;
}

/* TI Wishlist — lien icône + badge (compteur rempli par le script du plugin) */
.masques-header .wishlist_products_counter {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff !important;
	padding: 0.35rem;
	line-height: 0;
}

.masques-header .wishlist_products_counter .wishlist_products_counter_text:empty {
	display: none;
}

.masques-header .wishlist_products_counter_number {
	position: absolute;
	top: 0;
	right: 0;
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 0.25rem;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1.1rem;
	text-align: center;
	color: #fff !important;
	background: #e53935;
	border-radius: 999px;
	transform: translate(25%, -25%);
	box-sizing: border-box;
}

.masques-header .wishlist_products_counter_number:empty {
	display: none;
}

/*
 * Site entier : Twenty Twenty-Five applique :where(.wp-site-blocks *:focus) (outline 2px solide).
 * Pas d’anneau au focus (clic : box-shadow retiré pour éviter les halos ; clavier : outline retiré, sans toucher aux ombres des boutons).
 */
.wp-site-blocks *:focus:not(:focus-visible) {
	outline: none !important;
	box-shadow: none !important;
}

.wp-site-blocks *:focus-visible {
	outline: none !important;
}

.wp-site-blocks a,
.wp-site-blocks button,
.wp-site-blocks .wp-element-button,
.wp-site-blocks input,
.wp-site-blocks textarea,
.wp-site-blocks select,
.wp-site-blocks summary {
	-webkit-tap-highlight-color: transparent;
}

/* Pill search (header + home CTA) */
.masques-search-pill .wp-block-search__inside-wrapper {
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid #d8d8d8;
	box-shadow: none;
	background: #fff;
}

.masques-search-pill .wp-block-search__input {
	border: none;
	padding-left: 1.25rem;
}

.masques-search-pill .wp-block-search__input::placeholder {
	color: #aaa;
}

.masques-search-pill--wide {
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}

.masques-search-pill--wide .wp-block-search__inside-wrapper {
	width: 100%;
}

/* -------------------------------------------------------------------------
   Hero strips — boutique option : .masques-shop-hero = bandeau plus sombre
   Catégorie / recherche produit : .masques-term-hero = même bleu que les sections (#3eb0f7)
   ------------------------------------------------------------------------- */
.masques-shop-hero {
	background-color: #2a8ec8;
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.45) 100%);
	background-size: auto, cover;
	background-position: center;
}

.masques-term-hero:not(.masques-shop-hero) {
	background-color: #3eb0f7;
	background-image: none;
	background-size: auto;
	background-position: center;
}

/* Fiche catégorie / étiquette / boutique / recherche produit : titre en Blippo */
body.tax-product_cat .masques-term-hero .wp-block-query-title,
body.tax-product_tag .masques-term-hero .wp-block-query-title,
body.woocommerce-shop .masques-term-hero .wp-block-query-title,
.masques-main--search .masques-term-hero .wp-block-query-title {
	font-family: var(--masques-font-blippo) !important;
	font-weight: 400 !important;
	font-synthesis: none;
}

/* Grilles produit (accueil, catégorie, boutique, recherche, « même collection ») : Montserrat comme les catégories accueil, casse conservée */
.masques-main .masques-product-row .wp-block-post-title,
.masques-main .masques-archive-grid .wp-block-post-title,
.masques-main .masques-related-row .wp-block-post-title,
.wp-block-post-title.is-style-masques-product-legend {
	font-family: var(--masques-product-list-title-font) !important;
	font-weight: 400 !important;
	font-synthesis: none;
	text-transform: none !important;
	text-align: center !important;
	font-size: calc(2 * var(--wp--preset--font-size--small, 0.875rem)) !important;
}

/* Fiche catégorie / étiquette / boutique : espace sous le nom ≈ hauteur d’une ligne de titre, pas l’ancien bandeau énorme */
body.tax-product_cat .masques-main--archive > .wp-block-group.masques-term-hero,
body.tax-product_tag .masques-main--archive > .wp-block-group.masques-term-hero,
body.woocommerce-shop .masques-main--archive > .wp-block-group.masques-term-hero,
.masques-main--archive.masques-main--search > .wp-block-group.masques-term-hero {
	padding-bottom: clamp(0.65rem, 2vw, 1.1rem) !important;
}

body.tax-product_cat .masques-main--archive > .wp-block-group.masques-term-hero + .wp-block-group,
body.tax-product_tag .masques-main--archive > .wp-block-group.masques-term-hero + .wp-block-group,
body.woocommerce-shop .masques-main--archive > .wp-block-group.masques-term-hero + .wp-block-group {
	padding-top: clamp(0.85rem, 2.5vw, 1.35rem) !important;
}

body.tax-product_cat .masques-term-hero .wp-block-query-title,
body.tax-product_tag .masques-term-hero .wp-block-query-title,
body.woocommerce-shop .masques-term-hero .wp-block-query-title,
.masques-main--search .masques-term-hero .wp-block-query-title {
	margin-block-end: 0 !important;
}

/* Archive catégorie parent : produits groupés par sous-catégorie (boucle classique WooCommerce). */
body.tax-product_cat .masques-product-cat-archive-grouped {
	width: 100%;
}

body.tax-product_cat .masques-product-cat-archive-grouped__section {
	margin-block-end: clamp(2rem, 5vw, 3rem);
}

body.tax-product_cat .masques-product-cat-archive-grouped__section:last-child {
	margin-block-end: 0;
}

body.tax-product_cat .masques-product-cat-archive-grouped__title {
	font-family: var(--masques-font-blippo, inherit);
	font-weight: 400;
	font-synthesis: none;
	text-align: center;
	color: #fff;
	margin: 0 0 clamp(1rem, 3vw, 1.75rem);
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	text-transform: none;
}

body.tax-product_cat .masques-product-cat-archive-grouped ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.75rem, 2vw, 1.25rem);
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
}

body.tax-product_cat .masques-product-cat-archive-grouped ul.products li.product {
	margin: 0;
	width: auto;
	max-width: none;
	float: none;
}

@media (max-width: 960px) {
	body.tax-product_cat .masques-product-cat-archive-grouped ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	body.tax-product_cat .masques-product-cat-archive-grouped ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.tax-product_cat .masques-product-cat-archive-grouped ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .masques-product-cat-archive-grouped ul.products li.product .woocommerce-loop-product__title a {
	font-family: var(--masques-product-list-title-font) !important;
	font-weight: 400 !important;
	text-transform: none !important;
	text-align: center !important;
	font-size: calc(2 * var(--wp--preset--font-size--small, 0.875rem)) !important;
	color: #fff !important;
	text-decoration: none;
}

/* Boutique : texte d’intro sous le titre (= contenu de la page « Boutique » WC), même rendu que term-description */
body.woocommerce-shop .masques-main--shop .masques-term-after-title:not(:has(.masques-shop-archive-description)) {
	display: none;
}

body.woocommerce-shop .masques-main--shop .masques-shop-archive-description {
	max-width: 65ch;
	margin-inline: auto;
	text-align: center;
	font-size: 1.05rem;
	line-height: 1.6;
	color: #fff;
}

body.woocommerce-shop .masques-main--shop .masques-shop-archive-description .page-description {
	margin: 0;
}

body.woocommerce-shop .masques-main--shop .masques-shop-archive-description a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* Fiche catégorie : pas de « X résultats » ni tri (modèle personnalisable en BDD) */
body.tax-product_cat .wc-block-product-results-count,
body.tax-product_cat .wc-block-catalog-sorting {
	display: none !important;
}

/* -------------------------------------------------------------------------
   Grille catégories « polaroids » (accueil + archives tag) — voir inc/product-category-polaroid-grid.php
   ------------------------------------------------------------------------- */
.masques-category-polaroid-grid__empty {
	margin: 0;
	text-align: center;
	color: rgba(255, 255, 255, 0.95);
	font-size: 1.05rem;
}

/* Filtre Masques / Moules : même look que Acheter / Faire une offre (CTA secondaire), padding réduit */
.masques-cat-tag-filter {
	margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
}

.masques-cat-tag-filter__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.65rem;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: center;
	align-items: center;
}

.masques-cat-tag-filter__link {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0.45rem 0.85rem !important;
	font-family: var(--masques-btn-cta-font) !important;
	font-size: var(--masques-btn-cta-font-size) !important;
	line-height: var(--masques-btn-cta-line-height) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-synthesis: none;
	text-transform: uppercase !important;
	letter-spacing: var(--masques-btn-cta-secondary-letter-spacing) !important;
	text-decoration: none !important;
	text-shadow: none !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	background: transparent !important;
	border: var(--masques-btn-cta-secondary-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	box-shadow: none !important;
	cursor: pointer;
	transform: translateY(0);
	transition:
		background var(--masques-btn-cta-motion-duration) ease,
		border-color var(--masques-btn-cta-motion-duration) ease,
		color var(--masques-btn-cta-motion-duration) ease,
		opacity var(--masques-btn-cta-motion-duration) ease,
		transform var(--masques-btn-cta-motion-duration) ease,
		box-shadow var(--masques-btn-cta-motion-duration) ease;
}

/* Exclure .is-active : le survol générique mettait du texte blanc sur fond blanc */
.masques-cat-tag-filter__link:hover:not(.is-active),
.masques-cat-tag-filter__link:focus:not(.is-active) {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow) !important;
}

.masques-cat-tag-filter__link.is-active {
	background: #fff !important;
	color: var(--masques-btn-cta-on-light-color) !important;
	border: var(--masques-btn-cta-on-light-border) !important;
}

/* Onglet sélectionné au survol : fond légèrement teinté, texte bleu inchangé */
.masques-cat-tag-filter__link.is-active:hover,
.masques-cat-tag-filter__link.is-active:focus {
	background: #f0f8fe !important;
	color: var(--masques-btn-cta-on-light-color) !important;
	border-color: var(--masques-page-blue) !important;
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow-on-light) !important;
}

/* TI Wishlist : « Ajouter au panier » (ligne) + pied (ex. tout au panier) = mêmes boutons que filtres Masques/Moules */
.tinv-wishlist.woocommerce .product-action .button.alt,
.tinv-wishlist.woocommerce tfoot .button {
	position: relative !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	gap: 0.35rem;
	min-height: 0 !important;
	padding: 0.45rem 0.85rem !important;
	font-family: var(--masques-btn-cta-font) !important;
	font-size: var(--masques-btn-cta-font-size) !important;
	line-height: var(--masques-btn-cta-line-height) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-synthesis: none;
	text-transform: uppercase !important;
	letter-spacing: var(--masques-btn-cta-secondary-letter-spacing) !important;
	text-decoration: none !important;
	text-shadow: none !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	background: transparent !important;
	border: var(--masques-btn-cta-secondary-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	box-shadow: none !important;
	cursor: pointer;
	transform: translateY(0);
	transition:
		background var(--masques-btn-cta-motion-duration) ease,
		border-color var(--masques-btn-cta-motion-duration) ease,
		color var(--masques-btn-cta-motion-duration) ease,
		opacity var(--masques-btn-cta-motion-duration) ease,
		transform var(--masques-btn-cta-motion-duration) ease,
		box-shadow var(--masques-btn-cta-motion-duration) ease;
}

.tinv-wishlist.woocommerce .product-action .button.alt:hover,
.tinv-wishlist.woocommerce .product-action .button.alt:focus,
.tinv-wishlist.woocommerce tfoot .button:hover,
.tinv-wishlist.woocommerce tfoot .button:focus {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow) !important;
}

.tinv-wishlist.woocommerce .product-action .button.alt .tinvwl-txt,
.tinv-wishlist.woocommerce tfoot .button .tinvwl-txt {
	color: inherit !important;
}

/* TI Wishlist : corps nom + prix plus petits (les en-têtes <th> suivent la typo Mes offres / Mon compte). */
.tinv-wishlist.woocommerce table.tinvwl-table-manage-list td.product-name,
.tinv-wishlist.woocommerce table.tinvwl-table-manage-list td.product-price {
	font-size: clamp(0.8125rem, 0.76rem + 0.2vw, 0.875rem) !important;
	line-height: 1.35;
}

/* Si la colonne date reste affichée (cache option), la masquer côté thème */
.tinv-wishlist.woocommerce table.tinvwl-table-manage-list th.product-date,
.tinv-wishlist.woocommerce table.tinvwl-table-manage-list td.product-date {
	display: none !important;
}

/* TI Wishlist : suppression = même picto poubelle que Mon panier (2.5rem, pas cercle ×). */
.tinv-wishlist.woocommerce td.product-remove button {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-width: 2.5rem !important;
	min-height: 2.5rem !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--masques-page-blue) !important;
	cursor: pointer;
	vertical-align: middle;
	-webkit-appearance: none;
	appearance: none;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px !important;
	overflow: visible !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	position: relative !important;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
}

.tinv-wishlist.woocommerce td.product-remove button i {
	display: none !important;
}

.tinv-wishlist.woocommerce td.product-remove button::after {
	content: none !important;
	display: none !important;
}

.tinv-wishlist.woocommerce td.product-remove button::before {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 1.35rem !important;
	height: 1.35rem !important;
	margin: 0 !important;
	text-indent: 0 !important;
	transform: translate(-50%, -50%) !important;
	filter: none !important;
	background: var(--masques-line-item-remove-icon) center / contain no-repeat !important;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
}

.tinv-wishlist.woocommerce td.product-remove button:hover,
.tinv-wishlist.woocommerce td.product-remove button:focus {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--masques-page-blue) !important;
}

.tinv-wishlist.woocommerce td.product-remove button:hover::before,
.tinv-wishlist.woocommerce td.product-remove button:focus::before {
	transform: translate(-50%, calc(-50% + var(--masques-btn-cta-hover-lift))) !important;
	filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.22)) !important;
}

.tinv-wishlist.woocommerce td.product-remove button:focus-visible {
	outline: 2px solid var(--masques-page-blue);
	outline-offset: 2px;
}

/* Supprimer (liste fusionnée Actions) : même picto que td.product-remove. */
.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-width: 2.5rem !important;
	min-height: 2.5rem !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--masques-page-blue) !important;
	cursor: pointer;
	vertical-align: middle;
	-webkit-appearance: none;
	appearance: none;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px !important;
	overflow: visible !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	position: relative !important;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
}

.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn i {
	display: none !important;
}

.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn::after {
	content: none !important;
	display: none !important;
}

.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn::before {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 1.35rem !important;
	height: 1.35rem !important;
	margin: 0 !important;
	text-indent: 0 !important;
	transform: translate(-50%, -50%) !important;
	filter: none !important;
	background: var(--masques-line-item-remove-icon) center / contain no-repeat !important;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
}

.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn:hover,
.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn:focus {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--masques-page-blue) !important;
}

.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn:hover::before,
.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn:focus::before {
	transform: translate(-50%, calc(-50% + var(--masques-btn-cta-hover-lift))) !important;
	filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.22)) !important;
}

.tinv-wishlist.woocommerce .masques-wishlist-row-actions .masques-wishlist-remove-btn:focus-visible {
	outline: 2px solid var(--masques-page-blue);
	outline-offset: 2px;
}

/*
 * Wishlist Mon compte : pied de tableau — CTA contour sur fond blanc.
 * Les boutons de ligne sont en icônes (colonne Actions), comme Mes offres.
 */
body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce tfoot .button {
	color: var(--masques-btn-cta-on-light-color) !important;
	border: var(--masques-btn-cta-on-light-border) !important;
	background: transparent !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce tfoot .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce tfoot .button:focus {
	background: var(--masques-btn-cta-on-light-hover-bg) !important;
	color: var(--masques-btn-cta-on-light-color) !important;
	border-color: var(--masques-page-blue) !important;
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow-on-light) !important;
}

/* Mon compte — tableau wishlist : en-têtes blanc sur bleu (Montserrat), lignes comme Mes offres. */
body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list {
	width: 100%;
	border-collapse: collapse;
	border: none !important;
	box-shadow: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list thead th {
	background: var(--masques-page-blue) !important;
	color: #fff !important;
	border: none !important;
	border-right: 1px solid #fff !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	font-size: clamp(1rem, 0.94rem + 0.22vw, 1.125rem);
	font-weight: 600;
	line-height: 1.35;
	padding: 0.65rem 0.5rem;
	text-align: left;
}

body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list thead th.product-name {
	text-align: center;
}

body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list thead th.product-remove,
body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list thead th.product-action {
	font-size: 0 !important;
	line-height: 0 !important;
	overflow: hidden;
	color: transparent !important;
	background: transparent !important;
	border-right: 1px solid #fff !important;
}

/* Dernière colonne : pas de filet extérieur (après les en-têtes transparents). */
body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list thead th:last-child {
	border-right: none !important;
}

/* Pas de filets sur le corps du tableau ; séparateurs blancs uniquement dans l’en-tête (comme Mes offres). */
body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list tbody td {
	border: none !important;
	box-shadow: none;
	color: #111;
	padding: 0.5rem 0.5rem 0.65rem;
	vertical-align: top;
}

/* Écart sous la bandeau d’en-tête bleu (comme Mes offres : le contenu ne colle pas aux titres). */
body.woocommerce-account
	.woocommerce-MyAccount-content
	.tinv-wishlist.woocommerce
	table.tinvwl-table-manage-list
	tbody
	tr.wishlist_item:first-child
	td {
	padding-top: clamp(0.75rem, 2vw, 1.25rem) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list tbody tr.wishlist_item:nth-child(odd) td {
	background: #fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .tinv-wishlist.woocommerce table.tinvwl-table-manage-list tbody tr.wishlist_item:nth-child(even) td {
	background: rgba(62, 176, 247, 0.08) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.35rem;
}

/* Ajouter au panier = icône panier Mes offres ; pas de contour CTA. */
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"],
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-width: 2.5rem !important;
	min-height: 2.5rem !important;
	max-width: none !important;
	max-height: none !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	overflow: visible !important;
	position: relative !important;
	text-decoration: none !important;
	transform: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"] .tinvwl-txt,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"] i {
	display: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button .screen-reader-text,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px) !important;
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button:not(:has(.screen-reader-text)),
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button {
	text-indent: -9999px !important;
	white-space: nowrap !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"]::before,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button::before,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button::before {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 1.35rem !important;
	height: 1.35rem !important;
	transform: translate(-50%, -50%) !important;
	filter: none !important;
	background: var(--masques-ncp-my-offers-buy-icon) center / contain no-repeat !important;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
}

body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"]:hover,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"]:focus,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button:focus,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button:hover,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button:focus {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: transparent !important;
	transform: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"]:hover::before,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"]:focus::before,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button:hover::before,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button:focus::before,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button:hover::before,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button:focus::before {
	transform: translate(-50%, calc(-50% + var(--masques-btn-cta-hover-lift))) !important;
	filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.22)) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > .button.alt[name="tinvwl-add-to-cart"]:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.button.add_to_cart_button:focus-visible,
body.woocommerce-account .woocommerce-MyAccount-content .masques-wishlist-row-actions > a.add_to_cart_button:focus-visible {
	outline: 2px solid var(--masques-page-blue);
	outline-offset: 2px;
}

body.woocommerce-account
	.woocommerce-MyAccount-content
	.tinv-wishlist.woocommerce
	table.tinvwl-table-manage-list
	th.product-name,
body.woocommerce-account
	.woocommerce-MyAccount-content
	.tinv-wishlist.woocommerce
	table.tinvwl-table-manage-list
	td.product-name.masques-wishlist-product-name-cell {
	text-align: center;
}

body.woocommerce-account
	.woocommerce-MyAccount-content
	.tinv-wishlist.woocommerce
	table.tinvwl-table-manage-list
	th.product-price {
	text-align: center;
}

body.woocommerce-account
	.woocommerce-MyAccount-content
	.tinv-wishlist.woocommerce
	table.tinvwl-table-manage-list
	td.product-price {
	text-align: right;
	vertical-align: middle;
}

/*
 * TI Wishlist : vignette dans la colonne « Produit » (image + titre) — carré 104×104 bleu sur le lien.
 */
.tinv-wishlist.woocommerce table.tinvwl-table-manage-list .masques-wishlist-product-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.tinv-wishlist.woocommerce table.tinvwl-table-manage-list .masques-wishlist-product-cell__thumb {
	width: var(--masques-line-item-thumb-square) !important;
	min-width: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	margin-inline: auto;
	padding: 0 !important;
	background: transparent !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

.tinv-wishlist.woocommerce table.tinvwl-table-manage-list .masques-wishlist-product-cell__thumb > a {
	display: grid !important;
	place-items: center !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-template-rows: minmax(0, 1fr) !important;
	width: var(--masques-line-item-thumb-square) !important;
	height: var(--masques-line-item-thumb-square) !important;
	min-width: var(--masques-line-item-thumb-square) !important;
	min-height: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	max-height: var(--masques-line-item-thumb-square) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	background: var(--masques-page-blue) !important;
	line-height: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	position: relative !important;
}

.tinv-wishlist.woocommerce table.tinvwl-table-manage-list .masques-wishlist-product-cell__thumb img {
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 100% !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	display: block !important;
	border: 0 !important;
	border-style: none !important;
	background: transparent none !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	vertical-align: middle;
}

/* Produit sans lien : image seule dans le bloc vignette. */
.tinv-wishlist.woocommerce table.tinvwl-table-manage-list .masques-wishlist-product-cell__thumb > img {
	width: var(--masques-line-item-thumb-square) !important;
	height: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	max-height: var(--masques-line-item-thumb-square) !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	object-position: center !important;
	background-color: var(--masques-page-blue) !important;
	border: 0 !important;
	box-sizing: border-box !important;
	display: block !important;
}

.tinv-wishlist.woocommerce table.tinvwl-table-manage-list .masques-wishlist-product-cell__title {
	min-width: 0 !important;
	max-width: var(--masques-line-item-thumb-square, 104px);
	margin-top: 0.5rem;
	overflow-wrap: break-word;
}

/* -------------------------------------------------------------------------
   Nxtal « Mes offres » : carte claire + bleu site (texte du main bleu + lignes grises plugin = illisible)
   ------------------------------------------------------------------------- */
.masques-main .woocommerce .ncp-my-offers,
.masques-main .ncp-my-offers,
body.woocommerce-account .woocommerce-MyAccount-content .ncp-my-offers {
	box-sizing: border-box;
	background: #fff;
	color: #111;
	/* Moins de marge interne qu’avant : le tableau gagne de la largeur utile (surtout sur mobile). */
	padding: clamp(0.65rem, 2vw, 1.35rem);
	border: 2px solid #fff;
	border-radius: 2px;
	margin-top: 0.5rem;
	/* Colonne Mon compte en flex : sans min-width:0 le tableau peut forcer un débordement horizontal. */
	min-width: 0;
	max-width: 100%;
}

.masques-main .ncp-my-offers .ncp-offers-table {
	width: 100%;
	color: inherit;
	background: transparent !important;
}

.masques-main .ncp-my-offers .ncp-offers-table thead th {
	background: var(--masques-page-blue) !important;
	color: #fff !important;
	border: none;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	font-size: clamp(1rem, 0.94rem + 0.22vw, 1.125rem);
	font-weight: 600;
	line-height: 1.35;
}

/*
 * Colonne Actions : pas de libellé visible + pas de bandeau bleu sur cette cellule d’en-tête
 * (spécificité > .masques-main … thead th { background }).
 */
table.ncp-offers-table thead th:last-child,
.masques-main .ncp-my-offers .ncp-offers-table thead th:last-child {
	font-size: 0 !important;
	line-height: 0 !important;
	overflow: hidden;
	color: transparent !important;
	background: transparent !important;
	border: none;
}

.masques-main .ncp-my-offers .ncp-offers-table tbody .ncp-light td {
	background: #fff !important;
}

.masques-main .ncp-my-offers .ncp-offers-table tbody .ncp-dark td {
	background: rgba(62, 176, 247, 0.08) !important;
}

.masques-main .ncp-my-offers .ncp-offers-table tbody td {
	color: #111;
	border-color: rgba(62, 176, 247, 0.2);
}

/*
 * Colonne produit : image au-dessus du nom (colonne étroite).
 * Ciblage sur table.ncp-offers-table seul : pas de dépendance à .masques-main / .woocommerce
 * (sur certaines pages le court-circuit DOM ne remonte pas jusqu’au main du thème).
 * Spécificité : table.ncp-offers-table bat .ncp-offers-table du plugin ; display:block !important bat le flex.
 */
table.ncp-offers-table .ncp-offer-row {
	display: block !important;
	text-align: center;
}

table.ncp-offers-table .ncp-offer-product-image {
	margin-inline: auto;
}

table.ncp-offers-table .ncp-offer-product-name {
	min-width: 0 !important;
	max-width: var(--masques-line-item-thumb-square, 104px);
	margin-top: 0.5rem;
	margin-inline: auto;
	text-align: center;
	overflow-wrap: break-word;
}

table.ncp-offers-table tbody td:first-child {
	vertical-align: top;
}

/* Colonne Actions : les boutons restent empilés (pas de ligne / wrap horizontal). */
table.ncp-offers-table .ncp-offers-actions,
.masques-main .ncp-my-offers .ncp-offers-table .ncp-offers-actions {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.35rem;
}

table.ncp-offers-table .ncp-offers-actions > .ncp-offer-btn,
.masques-main .ncp-my-offers .ncp-offers-table .ncp-offers-actions > .ncp-offer-btn {
	margin: 0 !important;
}

.masques-main .ncp-my-offers .ncp-offers-table a {
	color: var(--masques-page-blue);
	text-decoration: none;
}

.masques-main .ncp-my-offers .ncp-offers-table a:hover,
.masques-main .ncp-my-offers .ncp-offers-table a:focus {
	text-decoration: underline;
	opacity: 0.9;
}

.masques-main .ncp-my-offers .ncp-price-offered {
	color: var(--masques-page-blue) !important;
}

.masques-main .ncp-my-offers .ncp-price-current {
	background: rgba(62, 176, 247, 0.12) !important;
}

.masques-main .ncp-my-offers .ncp-offer-status {
	color: #444;
}

.masques-main .ncp-my-offers .ncp-customer-message {
	border-color: rgba(62, 176, 247, 0.35) !important;
	background: rgba(62, 176, 247, 0.04);
}

.masques-main .ncp-my-offers .ncp-admin-message {
	border-color: rgba(234, 88, 12, 0.45) !important;
	background: rgba(234, 88, 12, 0.08);
}

.masques-main .ncp-my-offers .ncp-admin-message strong {
	color: #c2410c;
}

.masques-main .ncp-my-offers .ncp-offers-actions .ncp-offer-btn {
	margin: 0 0.5rem 0.5rem 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 2.5rem !important;
	min-height: 2.5rem !important;
	padding: 0.35rem 0.5rem !important;
	background: transparent !important;
	border: var(--masques-btn-cta-on-light-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	color: var(--masques-btn-cta-on-light-color) !important;
	box-shadow: none !important;
	transition:
		background var(--masques-btn-cta-motion-duration) ease,
		border-color var(--masques-btn-cta-motion-duration) ease,
		transform var(--masques-btn-cta-motion-duration) ease,
		box-shadow var(--masques-btn-cta-motion-duration) ease;
}

.masques-main .ncp-my-offers .ncp-offers-actions .ncp-offer-btn:hover,
.masques-main .ncp-my-offers .ncp-offers-actions .ncp-offer-btn:focus {
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow-on-light) !important;
	background: var(--masques-btn-cta-on-light-hover-bg) !important;
	border-color: var(--masques-btn-cta-on-light-color) !important;
	color: var(--masques-btn-cta-on-light-color) !important;
}

/*
 * Mes offres — supprimer / éditer / acheter : même zone 2.5rem, icône #3eb0f7 en ::before,
 * lift + ombre sur l’icône (comme Mon panier), pas d’emoji ni contour CTA.
 */
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer,
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer,
.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-width: 2.5rem !important;
	min-height: 2.5rem !important;
	max-width: none !important;
	max-height: none !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px !important;
	overflow: visible !important;
	position: relative !important;
	box-shadow: none !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer::before,
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer::before,
.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer::before {
	content: "" !important;
	position: absolute !important;
	left: 50% !important;
	top: 50% !important;
	width: 1.35rem !important;
	height: 1.35rem !important;
	transform: translate(-50%, -50%) !important;
	filter: none !important;
	background: var(--masques-line-item-remove-icon) center / contain no-repeat !important;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
}

.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer::before {
	background-image: var(--masques-ncp-my-offers-edit-icon) !important;
}

.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer::before {
	background-image: var(--masques-ncp-my-offers-buy-icon) !important;
}

.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer:hover,
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer:focus,
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer:hover,
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer:focus,
.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer:hover,
.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer:focus {
	transform: none !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: transparent !important;
}

.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer:hover::before,
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-delete-offer:focus::before,
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer:hover::before,
.masques-main .ncp-my-offers .ncp-offers-actions button.ncp-edit-offer:focus::before,
.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer:hover::before,
.masques-main .ncp-my-offers .ncp-offers-actions a.ncp-buy-now-offer:focus::before {
	transform: translate(-50%, calc(-50% + var(--masques-btn-cta-hover-lift))) !important;
	filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.22)) !important;
}

/* Compteur « Showing X–X of X results » (plugin) : non affiché */
.masques-main .ncp-my-offers .woocommerce-result-count,
body.woocommerce-account .ncp-my-offers .woocommerce-result-count {
	display: none !important;
}

.masques-main .ncp-my-offers .ncp-pagination.woocommerce-pagination .page-numbers {
	border: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.masques-main .ncp-my-offers .ncp-pagination.woocommerce-pagination a.page-numbers,
.masques-main .ncp-my-offers .ncp-pagination.woocommerce-pagination span.page-numbers {
	color: var(--masques-page-blue) !important;
	background: transparent;
	border: 1px solid rgba(62, 176, 247, 0.35);
	padding: 0.25rem 0.6rem;
	margin: 0 0.15rem;
	border-radius: 2px;
}

.masques-main .ncp-my-offers .ncp-pagination.woocommerce-pagination a.page-numbers:hover {
	background: var(--masques-btn-cta-on-light-hover-bg);
}

.masques-main .ncp-my-offers .ncp-pagination.woocommerce-pagination span.page-numbers.current {
	background: var(--masques-page-blue);
	color: #fff !important;
	border-color: var(--masques-page-blue);
}

/* Photo produit : même carré bleu + image contenue que le panier (plugin : petit cadre cover sur le div). */
.masques-main .ncp-my-offers .ncp-offer-product-image {
	flex-shrink: 0 !important;
	width: var(--masques-line-item-thumb-square) !important;
	min-width: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	height: var(--masques-line-item-thumb-square) !important;
	min-height: var(--masques-line-item-thumb-square) !important;
	max-height: var(--masques-line-item-thumb-square) !important;
	box-sizing: border-box !important;
	object-fit: unset !important;
}

.masques-main .ncp-my-offers .ncp-offer-product-image a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	background: var(--masques-page-blue) !important;
	line-height: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.masques-main .ncp-my-offers .ncp-offer-product-image img {
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 100% !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	display: block !important;
	background-color: transparent !important;
}

/*
 * Mes offres — mobile : le DOM est souvent .woocommerce-MyAccount-content > .ncp-my-offers > table (sans dépendre de .masques-main).
 * Un tableau 4 colonnes + vignette fixe 104px rend une colonne « Produit » plus étroite que le contenu → chevauchement.
 * On passe en lignes « carte » (cellules empilées), on réduit les paddings du panneau compte + carte, actions en ligne.
 */
@media (max-width: 782px) {
	/* Panneau blanc Woo : enfant direct = liste d’offres uniquement → moins de marge interne gaspillée. */
	body.woocommerce-account .woocommerce-MyAccount-content:has(> .ncp-my-offers) {
		padding: 0.5rem 0.55rem;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .ncp-my-offers,
	.masques-main .ncp-my-offers {
		overflow-x: hidden;
		max-width: 100%;
	}

	.masques-main .woocommerce .ncp-my-offers,
	.masques-main .ncp-my-offers,
	body.woocommerce-account .woocommerce-MyAccount-content .ncp-my-offers {
		padding: 0.35rem 0.4rem;
	}

	table.ncp-offers-table {
		display: block;
		width: 100%;
		max-width: 100%;
		border-collapse: collapse;
	}

	table.ncp-offers-table thead {
		display: none;
	}

	table.ncp-offers-table tbody {
		display: block;
		width: 100%;
	}

	/* Une offre = une « carte » (4 <td> empilés). */
	table.ncp-offers-table tbody tr.ncp-light:not(:has(td[colspan])),
	table.ncp-offers-table tbody tr.ncp-dark:not(:has(td[colspan])) {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 0 0 1rem;
		padding: 0 0 0.85rem;
		border-bottom: 1px solid rgba(62, 176, 247, 0.28);
	}

	table.ncp-offers-table tbody tr.ncp-light:not(:has(td[colspan])) > td,
	table.ncp-offers-table tbody tr.ncp-dark:not(:has(td[colspan])) > td {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		padding: 0.45rem 0.25rem;
		border: none;
		text-align: center;
	}

	/* Sous-ligne messages (colspan) */
	table.ncp-offers-table tbody tr:has(> td[colspan]) {
		display: block;
		width: 100%;
		margin: 0 0 0.85rem;
		border: none;
	}

	table.ncp-offers-table tbody tr:has(> td[colspan]) > td {
		display: block;
		width: 100% !important;
		padding: 0.35rem 0.2rem;
		border: none;
	}

	table.ncp-offers-table .ncp-status-badge {
		white-space: normal;
		max-width: 100%;
		box-sizing: border-box;
	}

	table.ncp-offers-table .ncp-min-quantity {
		white-space: normal;
	}

	table.ncp-offers-table .ncp-price {
		min-width: 0;
	}

	table.ncp-offers-table .ncp-offer-message,
	table.ncp-offers-table .ncp-customer-message,
	table.ncp-offers-table .ncp-admin-message {
		max-width: 100%;
		box-sizing: border-box;
		overflow-wrap: break-word;
		word-break: break-word;
	}

	/* Pas de césures agressives type « Pro-duit » / « Mi-ckey » sur ce tableau. */
	table.ncp-offers-table tbody td {
		hyphens: manual;
		word-break: break-word;
		overflow-wrap: break-word;
	}

	table.ncp-offers-table .ncp-offers-actions,
	.masques-main .ncp-my-offers .ncp-offers-table .ncp-offers-actions,
	body.woocommerce-account .ncp-my-offers .ncp-offers-table .ncp-offers-actions {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 0.5rem;
	}

	.masques-main .ncp-my-offers .ncp-offer-product-image,
	body.woocommerce-account .ncp-my-offers .ncp-offer-product-image {
		width: 5rem !important;
		min-width: 5rem !important;
		max-width: 5rem !important;
		height: 5rem !important;
		min-height: 5rem !important;
		max-height: 5rem !important;
	}

	table.ncp-offers-table .ncp-offer-product-name {
		max-width: 100%;
	}
}

/* -------------------------------------------------------------------------
   Mon compte : menu blanc + 2 colonnes (nav | contenu)
   Ne jamais mettre float:none sur la nav hors d’un parent flex : ça casse le layout Woo
   quand la nav n’est pas dans le même div.woocommerce (modèle Éditeur de site).
   ------------------------------------------------------------------------- */

/* Demi-hauteur du lien nav (padding 0.45em + 1 ligne) = rayon des bouts de pilule et des coins du panneau */
body.woocommerce-account {
	--masques-account-pill-radius: calc(0.45em + 0.5lh);
}

/* Texte du menu (toutes les vues compte sur fond bleu) */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
	list-style: none;
	padding: 0.2em 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:first-child {
	padding-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	color: #fff !important;
	text-decoration: none;
	text-underline-offset: 0.15em;
	padding: 0.45em 0.55em;
	border-radius: 2px;
	box-sizing: border-box;
}

/* Actif : même lecture que la colonne contenu (bleu sur blanc), pas de soulignement */
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: #fff;
	color: var(--masques-page-blue) !important;
	text-decoration: none;
}

/* Raccord au panneau : bouts de pilule = même rayon que les coins du panneau blanc */
body.woocommerce-account:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-navigation li.is-active a {
	border-radius: var(--masques-account-pill-radius) 0 0 var(--masques-account-pill-radius);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover {
	text-decoration: underline;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:focus-visible {
	text-decoration: underline;
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: 3px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:focus-visible {
	outline: 2px solid var(--masques-page-blue);
	outline-offset: 2px;
}

/*
 * Shell Mon compte (HTML réel : div.woocommerce > nav + .woocommerce-MyAccount-content).
 * Sans .masques-main--page : le modèle Éditeur peut retirer cette classe.
 * :has(> …) = enfant direct uniquement (évite les div.woocommerce internes type wishlist).
 */
body.woocommerce-account div.woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	/* Même hauteur des colonnes : le panneau blanc descend au moins jusqu’au bas du menu */
	align-items: stretch !important;
	/* Pas d’espace entre nav et contenu : le blanc actif et le panneau doivent se toucher */
	gap: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	clear: both !important;
}

body.woocommerce-account div.woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {
	float: none !important;
	width: auto !important;
	max-width: 14rem !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	/* Hauteur = contenu du menu ; la colonne blanche s’étire jusqu’au bas de cette ligne */
	align-self: flex-start !important;
}

body.woocommerce-account div.woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	flex: 1 1 0% !important;
	min-width: 0 !important;
	margin: 0 !important;
	align-self: stretch !important;
	min-height: 100% !important;
}

/* Colonne contenu : même traitement visuel que l’onglet actif (bleu sur blanc) */
body.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	color: var(--masques-page-blue);
	padding: clamp(1rem, 2.5vw, 1.75rem);
	border-radius: 2px;
	box-sizing: border-box;
}

/*
 * Corps du panneau : taille de lecture homogène (adresses, commandes, formulaire détails du compte).
 * Sans ça, le thème parent (TT5) impose font-size « large » sur le flux : le formulaire détail paraît
 * plus grand que les tableaux / autres écrans Mon compte.
 */
body.woocommerce-account .woocommerce-MyAccount-content {
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	font-size: clamp(0.875rem, 0.82rem + 0.2vw, 0.9375rem);
	line-height: 1.5;
}

/* Adresses : titres en h2 + <address> — sans ça, les h2 héritent de la typo globale (très grands) vs commandes / tableau de bord en corps de texte */
body.woocommerce-account .woocommerce-MyAccount-content h2 {
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	font-size: clamp(1rem, 0.94rem + 0.22vw, 1.125rem);
	font-weight: 600;
	line-height: 1.35;
	margin: 0 0 0.5rem;
	color: var(--masques-page-blue);
}

body.woocommerce-account .woocommerce-MyAccount-content address {
	font-size: clamp(0.875rem, 0.82rem + 0.2vw, 0.9375rem);
	line-height: 1.5;
	font-style: normal;
}

/* Quatre coins en quart de cercle, même rayon que les bouts de pilule du lien actif (y compris Mon panier) */
body.woocommerce-account:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content {
	border-radius: var(--masques-account-pill-radius);
}

/* Détails du compte : pas d’arrondi en haut à gauche (raccord avec le lien actif, plus d’échancrure bleue) */
body.woocommerce-account.woocommerce-edit-account:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content {
	border-top-left-radius: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content a.button,
body.woocommerce-account .woocommerce-MyAccount-content button.button,
body.woocommerce-account .woocommerce-MyAccount-content button.woocommerce-Button,
body.woocommerce-account .woocommerce-MyAccount-content input.button[type="submit"] {
	background-color: var(--masques-page-blue) !important;
	color: #fff !important;
	border-color: var(--masques-page-blue) !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .input-text,
body.woocommerce-account .woocommerce-MyAccount-content textarea,
body.woocommerce-account .woocommerce-MyAccount-content select {
	color: #222;
}

/*
 * Liens dans le panneau blanc : .masques-page-entry-content a { color: #fff } (pages sur fond bleu)
 * s’applique aussi aux adresses, wishlist, etc. → texte blanc sur blanc sans cette surcharge.
 */
body.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--masques-page-blue) !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

body.woocommerce-account
	.woocommerce-MyAccount-content
	a:not(.button):not(.woocommerce-button):not(.woocommerce-Button):not(.wp-element-button):hover {
	opacity: 0.88;
}

/*
 * C) Mon compte en page FSE : plusieurs règles rétrécissent et centrent le shell
 * - WP layout contraint sur post-content (~720px) + margin auto sur les enfants
 * - woocommerce-blocktheme.css : .woocommerce-account main .woocommerce { max-width: 1000px }
 * - Bloc classic-shortcode Woo : max-width 1000px + margin auto (client/blocks/classic-shortcode.css)
 * Occuper toute la largeur du groupe .alignwide (comme détail compte / adresses / wishlist).
 * align wide sur post-content ≈ largeur « content » (~720px) centrée → marges bleues plus larges ;
 * le bloc shortcode Woo centre aussi à 1000px sans surcharge.
 */
body.woocommerce-account main.masques-main--page .wp-block-post-content:has(.woocommerce-MyAccount-navigation),
body.woocommerce-account main.masques-main--page .entry-content:has(.woocommerce-MyAccount-navigation),
body.woocommerce-account main.masques-main--page .masques-page-entry-content:has(.woocommerce-MyAccount-navigation),
body.woocommerce-account main.masques-main--cart .wp-block-post-content:has(.woocommerce-MyAccount-navigation),
body.woocommerce-account main.masques-main--cart .entry-content:has(.woocommerce-MyAccount-navigation) {
	max-width: 100% !important;
	width: 100% !important;
	margin-inline: 0 !important;
	box-sizing: border-box !important;
}

body.woocommerce-account main.masques-main--page div[data-block-name="woocommerce/classic-shortcode"]:has(.woocommerce-MyAccount-navigation),
body.woocommerce-account main.masques-main--cart div[data-block-name="woocommerce/classic-shortcode"]:has(.woocommerce-MyAccount-navigation) {
	max-width: 100% !important;
	width: 100% !important;
	margin-inline: 0 !important;
	box-sizing: border-box !important;
}

/*
 * Bat le max-width:1000px de woocommerce-blocktheme sur le shell Mon compte.
 * Uniquement quand le shell est *dans* une colonne .alignwide (page Mon compte / panier modèle thème).
 */
body.woocommerce-account main.masques-main--page .woocommerce:has(> .woocommerce-MyAccount-navigation),
body.woocommerce-account main.masques-main--cart .alignwide .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}

/*
 * Modèle panier souvent surchargé dans l’Éditeur : store-notices + titre dans un .alignwide,
 * puis div.woocommerce (nav + panier) en *frère direct* du main — layout constrained = largeur ~content, pas wide.
 * On force la même bande que les autres pages Mon compte (alignwide / wide-size).
 */
body.woocommerce-account.woocommerce-cart main.masques-main.masques-main--cart.is-layout-constrained > .alignwide {
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	width: 100% !important;
	margin-inline: auto !important;
	box-sizing: border-box !important;
}

body.woocommerce-account.woocommerce-cart main.masques-main.masques-main--cart.is-layout-constrained > div.woocommerce:has(> .woocommerce-MyAccount-navigation) {
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	width: 100% !important;
	margin-inline: auto !important;
	box-sizing: border-box !important;
}

/* Shortcode panier : 2e div.woocommerce dans le panneau (max-width 1000px Woo). */
body.woocommerce-account.woocommerce-cart main.masques-main--cart .masques-account-cart-panel .woocommerce {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
	box-sizing: border-box !important;
}

/* Bloc panier dans le panneau (largeur Woo / alignwide résiduels). */
body.woocommerce-account.woocommerce-cart main.masques-main--cart .masques-account-cart-panel .wp-block-woocommerce-cart {
	max-width: none !important;
	width: 100% !important;
	margin-inline: 0 !important;
	box-sizing: border-box !important;
}

/* Même feuille Woo : .woocommerce-account .wp-block-post-title { max-width: 1000px } */
body.woocommerce-account main.masques-main--page .alignwide > .wp-block-post-title,
body.woocommerce-account main.masques-main--cart .alignwide > .wp-block-post-title {
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	width: 100% !important;
	margin-inline: 0 auto !important;
	box-sizing: border-box !important;
	text-align: center !important;
	text-transform: none !important;
}

/*
 * B) Modèle FSE : nav hors du div.woocommerce (souvent au même niveau que .entry-content
 * dans .alignwide). :not(:has(.woocommerce .woocommerce-MyAccount-navigation)) évite de
 * dupliquer la règle A quand la nav est déjà dans .woocommerce.
 */
body.woocommerce-account .masques-main--page .alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation)) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	/* Espace vertical sous le titre ; aucun espace horizontal nav | contenu */
	row-gap: clamp(1rem, 3vw, 2rem);
	column-gap: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.woocommerce-account .masques-main--page .alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation)) > .wp-block-post-title {
	flex: 0 0 100%;
	width: 100%;
}

body.woocommerce-account .masques-main--page .alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation)) > .woocommerce-MyAccount-navigation {
	float: none !important;
	width: auto !important;
	flex: 0 0 min(14rem, 100%);
	max-width: 100%;
	margin: 0 !important;
	align-self: flex-start;
}

body.woocommerce-account .masques-main--page .alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation)) > .entry-content,
body.woocommerce-account .masques-main--page .alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation)) > .wp-block-post-content {
	float: none !important;
	width: auto !important;
	flex: 1 1 min(0, 1px);
	min-width: 0;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	align-self: stretch;
	min-height: 0;
}

/* La colonne de droite remplit la hauteur alignée sur le menu (nav en dehors du div.woocommerce). */
body.woocommerce-account
	.masques-main--page
	.alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation))
	> .entry-content
	.woocommerce:has(> .woocommerce-MyAccount-navigation),
body.woocommerce-account
	.masques-main--page
	.alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation))
	> .wp-block-post-content
	.woocommerce:has(> .woocommerce-MyAccount-navigation) {
	flex: 1 1 auto;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0 !important;
	min-width: 0;
	min-height: 0;
}

@media (max-width: 782px) {
	body.woocommerce-account div.woocommerce:has(> .woocommerce-MyAccount-navigation) {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		/* Sous le bandeau horizontal : rapprocher le panneau blanc. */
		gap: clamp(0.65rem, 2vw, 1rem) !important;
	}

	body.woocommerce-account div.woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation {
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}

	/* Bandeau horizontal (main seulement) : pas le raccord latéral bureau. */
	body.woocommerce-account main .woocommerce-MyAccount-navigation li.is-active a {
		border-radius: 999px !important;
	}

	body.woocommerce-account:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content {
		border-radius: var(--masques-account-pill-radius);
	}

	/* Nav au-dessus du panneau blanc : coins complets (plus de raccord latéral). */
	body.woocommerce-account.woocommerce-edit-account:has(.woocommerce-MyAccount-navigation) .woocommerce-MyAccount-content {
		border-top-left-radius: var(--masques-account-pill-radius);
	}

	/*
	 * Mobile : slider horizontal sous « Mon compte » (nav dans main), entre titre et corps.
	 * Le burger duplique la même nav en liste verticale (.masques-header__account-tabs).
	 */
	body.woocommerce-account main .woocommerce-MyAccount-navigation {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		align-self: stretch !important;
		margin: 0 !important;
		padding: 0.25rem 0 0.65rem !important;
		box-sizing: border-box !important;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: rgba(255, 255, 255, 0.45) transparent;
	}

	body.woocommerce-account main .woocommerce-MyAccount-navigation::-webkit-scrollbar {
		height: 5px;
	}

	body.woocommerce-account main .woocommerce-MyAccount-navigation::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 0.35);
		border-radius: 999px;
	}

	body.woocommerce-account main .woocommerce-MyAccount-navigation ul {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center;
		gap: 0.45rem;
		width: max-content;
		min-width: 100%;
		margin: 0 !important;
		padding: 0.15rem 0 0.25rem !important;
		list-style: none;
	}

	body.woocommerce-account main .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto !important;
		padding: 0 !important;
	}

	body.woocommerce-account main .woocommerce-MyAccount-navigation a {
		white-space: nowrap;
		padding: 0.4em 0.65em !important;
		border-radius: 999px !important;
		font-size: clamp(0.78rem, 2.8vw, 0.875rem);
		line-height: 1.25;
	}

	body.woocommerce-account
		.masques-main--page
		.alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation)) {
		flex-direction: column;
		row-gap: clamp(0.65rem, 2vw, 1rem);
	}

	body.woocommerce-account
		.masques-main--page
		.alignwide:has(.woocommerce-MyAccount-navigation):not(:has(.woocommerce .woocommerce-MyAccount-navigation))
		> .woocommerce-MyAccount-navigation {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/*
	 * Tiroir burger : 1) liens site (.masques-header__row--nav) 2) trait 3) titre « Mon compte » 4) sections compte (clone JS).
	 */

	.masques-header__account-nav-slot {
		width: 100%;
		margin: 0;
		padding: 0 0 0.5rem;
		border: none;
		box-sizing: border-box;
	}

	.masques-header__drawer-divider {
		display: block;
		width: 100%;
		height: 0;
		margin: 0.35rem 0 0.85rem;
		padding: 0;
		border: none;
		border-top: 1px solid rgba(255, 255, 255, 0.28);
		box-sizing: border-box;
	}

	.masques-header__drawer-guest {
		display: block !important;
		width: 100%;
		margin: 0;
		padding: 0 0 0.35rem;
		box-sizing: border-box;
	}

	.masques-header__drawer-guest .masques-header__drawer-divider {
		margin-top: 0.15rem;
	}

	.masques-header__drawer-login {
		display: inline-flex;
		align-items: center;
		min-height: 2.5rem;
		padding: 0.25rem 0;
		box-sizing: border-box;
		font-size: clamp(0.8125rem, 2.8vw, 0.9375rem);
		font-weight: 600;
		line-height: 1.35;
		color: #fff !important;
		text-decoration: none;
	}

	.masques-header__drawer-login:hover,
	.masques-header__drawer-login:focus {
		color: #fff !important;
		text-decoration: underline;
		opacity: 0.92;
	}

	.masques-header__drawer-account-title {
		margin: 0 0 0.5rem;
		padding: 0;
		font-family: var(--masques-font-blippo), system-ui, sans-serif;
		font-weight: 400;
		font-synthesis: none;
		font-size: clamp(1rem, 2.8vw, 1.2rem);
		line-height: 1.2;
		letter-spacing: 0.03em;
		color: #fff;
		text-transform: none;
	}

	.masques-header__account-tabs {
		width: 100%;
	}

	.masques-header__account-tabs .woocommerce-MyAccount-navigation ul {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch;
		gap: 0.25rem;
		margin: 0 !important;
		padding: 0 !important;
		width: 100%;
		list-style: none;
	}

	.masques-header__account-tabs .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto !important;
		width: 100%;
		padding: 0 !important;
		list-style: none;
	}

	.masques-header__account-tabs .woocommerce-MyAccount-navigation a {
		display: inline-flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 0.35rem;
		width: 100%;
		box-sizing: border-box;
		white-space: normal;
		padding: 0.45em 0.55em !important;
		border-radius: 2px !important;
		font-size: clamp(0.8125rem, 2.8vw, 0.9375rem);
		line-height: 1.35;
	}

	/*
	 * Dans le burger : pas de surbrillance « onglet actif » (le clone hérite sinon du fond blanc / texte bleu Mon compte).
	 * Spécificité > body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a
	 */
	body.woocommerce-account .masques-header__account-tabs .woocommerce-MyAccount-navigation li.is-active a {
		background: transparent !important;
		color: #fff !important;
		text-decoration: none;
		border-radius: 2px !important;
	}

	body.woocommerce-account .masques-header__account-tabs .woocommerce-MyAccount-navigation li.is-active a:hover,
	body.woocommerce-account .masques-header__account-tabs .woocommerce-MyAccount-navigation li.is-active a:focus {
		background: transparent !important;
		color: #fff !important;
		text-decoration: underline;
	}

	body.woocommerce-account .masques-header__account-tabs .woocommerce-MyAccount-navigation li.is-active a:focus-visible {
		outline: 2px solid rgba(255, 255, 255, 0.85);
		outline-offset: 3px;
	}

	.masques-header__account-tabs .masques-header__account-tab-badge {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 1.35rem;
		height: 1.35rem;
		padding: 0 0.4rem;
		box-sizing: border-box;
		border-radius: 999px;
		font-size: 0.68rem;
		font-weight: 800;
		line-height: 1;
		letter-spacing: 0.02em;
		background: rgba(255, 255, 255, 0.95);
		color: var(--masques-page-blue);
		flex-shrink: 0;
	}
}

/* -------------------------------------------------------------------------
   Home hero (cover)
   ------------------------------------------------------------------------- */
.masques-home-hero {
	margin-top: 0 !important;
}

.masques-home-hero .wp-block-cover__image-background {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* -------------------------------------------------------------------------
   Product categories — composant masques-category-polaroid-grid
   ------------------------------------------------------------------------- */
.masques-category-polaroid-grid .wc-block-product-categories-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 3vw, 2rem);
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	text-align: center;
}

@media (max-width: 782px) {
	.masques-category-polaroid-grid .wc-block-product-categories-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Shortcode home list: same density as product row under search (4 cols, compact cards). */
.masques-category-polaroid-grid .wc-block-product-categories-list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: start;
	column-gap: clamp(1.35rem, 4.5vw, 2.75rem);
	/* Espace sous le titre avant la rangée suivante (scale 1.5 resserre visuellement l’interligne). */
	row-gap: clamp(2.25rem, 6vw, 4rem);
	margin-top: clamp(1.25rem, 4vw, 1.75rem);
}

@media (max-width: 782px) {
	.masques-category-polaroid-grid .wc-block-product-categories-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	color: inherit !important;
	text-decoration: none;
	width: 100%;
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item,
.masques-category-polaroid-grid .wc-block-product-categories-list-item > a {
	gap: 0.5rem;
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item:has(.wc-block-product-categories-list-item__image--polaroids),
.masques-category-polaroid-grid .wc-block-product-categories-list-item:has(.wc-block-product-categories-list-item__image--polaroids) > a {
	gap: 0.2rem;
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item__image,
.masques-category-polaroid-grid .wc-block-product-categories-list-item__image img {
	border: none;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item__image img {
	display: block;
}

/* Match home product tiles: square crop, full cell width. */
.masques-category-polaroid-grid .wc-block-product-categories-list-item__image {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	line-height: 0;
}

/* Polaroid stack: no extra padding under the 1:1 cell (padding was the green “gap” in devtools ~0.95rem). */
.masques-category-polaroid-grid .wc-block-product-categories-list-item__image--polaroids {
	overflow: visible;
	padding-bottom: 0;
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.masques-category-polaroid-grid .masques-category-polaroids {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
	isolation: isolate;
}

/* Polaroid width: keep ~46% in sync with theme PHP (fan offset hx=50; fit math uses max 48% width — masques_theme_home_category_polaroid_width_frac_for_fit()). */
.masques-category-polaroid-grid .masques-category-polaroid {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 46%;
	box-sizing: border-box;
	padding: 0;
	background: transparent;
	border-radius: 1px;
	box-shadow:
		0 0.08rem 0.2rem rgba(0, 0, 0, 0.12),
		0 0.35rem 0.65rem rgba(0, 0, 0, 0.18);
	transform-origin: center center;
	pointer-events: none;
	line-height: 0;
}

/* Inner frame: white polaroid border (padding). */
.masques-category-polaroid-grid .masques-category-polaroid__frame {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 0.28rem 0.28rem 0.95rem;
	background: #fff;
	border-radius: 1px;
	overflow: visible;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
	line-height: 0;
}

/* Print area behind the image (transparent PNGs show this instead of white). */
.masques-category-polaroid-grid .masques-category-polaroid__photo {
	display: block;
	width: 100%;
	background: #7ec9e8;
	overflow: hidden;
	line-height: 0;
}

/* WordPress may wrap output in picture/figure; keep media inside the photo cell. */
.masques-category-polaroid-grid .masques-category-polaroid__photo > picture,
.masques-category-polaroid-grid .masques-category-polaroid__photo > figure {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: 100%;
	line-height: 0;
}

.masques-category-polaroid-grid .masques-category-polaroid__img,
.masques-category-polaroid-grid .masques-category-polaroid__photo img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	vertical-align: bottom;
}

/* Polaroid pile layout (translate, rotate, z-index) is set per category in PHP for variety. */

.masques-category-polaroid-grid .masques-category-polaroids--n-1 .masques-category-polaroid--1 {
	width: 72%;
}

.masques-category-polaroid-grid .masques-category-polaroids--n-1 .masques-category-polaroid__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

@media (max-width: 782px) {
	.masques-category-polaroid-grid .masques-category-polaroid {
		width: 48%;
	}

	.masques-category-polaroid-grid .masques-category-polaroid__frame {
		padding: 0.22rem 0.22rem 0.75rem;
	}
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item__name {
	color: #fff !important;
	font-family: var(--masques-product-list-title-font) !important;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.3;
	font-weight: 600;
	font-synthesis: none;
}

/* Title sits just under the polaroid cell; flex gap supplies spacing (no extra margin). */
.masques-category-polaroid-grid .wc-block-product-categories-list-item__image--polaroids + .wc-block-product-categories-list-item__name {
	position: relative;
	z-index: 2;
	margin-top: 0;
}

.masques-category-polaroid-grid .wc-block-product-categories-list-item a {
	color: inherit !important;
	text-decoration: none;
}

/* Same zoom as product tiles (masques-product-card): whole cell — polaroids + category name. */
.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item {
	position: relative;
	z-index: 1;
	min-width: 0;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform: scale(1);
	transform-origin: center center;
}

.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:hover {
	transform: scale(1.07);
	z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item {
		transition: none;
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:hover {
		transform: scale(1);
	}
}

/* Dynamic shortcode categories: 1.5× visual size for polaroid pile + title (hover = 1.5 × 1.07). */
.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item {
	transform: scale(1.5);
	transform-origin: center center;
}

.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:hover {
	transform: scale(1.605);
}

@media (prefers-reduced-motion: reduce) {
	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:hover {
		transform: scale(1.5);
	}
}

/*
 * Mobile 2-col + scale(1.5): later grid items paint on top and overlap the row above’s titles.
 * Higher z-index for earlier rows keeps labels readable; hover must still win.
 */
@media (max-width: 782px) {
	.masques-category-polaroid-grid .wc-block-product-categories-list {
		row-gap: clamp(2.5rem, 12vw, 5.5rem);
		column-gap: clamp(1rem, 4vw, 2.75rem);
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(1),
	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(2) {
		z-index: 12;
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(3),
	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(4) {
		z-index: 11;
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(5),
	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(6) {
		z-index: 10;
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(7),
	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(8) {
		z-index: 9;
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(9),
	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(10) {
		z-index: 8;
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(11),
	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:nth-child(12) {
		z-index: 7;
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list > .wc-block-product-categories-list-item:hover {
		z-index: 40;
	}

	.masques-category-polaroid-grid .wc-block-product-categories-list-item > a {
		gap: 0.35rem;
	}
}

/* -------------------------------------------------------------------------
   Product grids (collection blocks)
   ------------------------------------------------------------------------- */
.masques-product-card .wc-block-components-product-image,
.masques-product-card__image,
.wp-block-woocommerce-product-image {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
}

.masques-product-card .wc-block-components-product-image a,
.masques-product-card__image a {
	margin: 0;
	padding: 0;
	display: block;
	line-height: 0;
}

.wc-block-components-product-image:not(.is-loading) > a {
	background-color: var(--masques-product-image-bg) !important;
}

/* Woo Blocks : overlay absolu avec padding 12px par défaut */
.wc-block-components-product-image .wc-block-components-product-image__inner-container {
	padding: 0 !important;
	inset: 0;
	box-sizing: border-box;
	background: transparent;
	z-index: 2;
}

.masques-product-card .wc-block-components-product-image img,
.masques-product-card__image img,
.wp-block-woocommerce-product-template .wc-block-components-product-image img {
	border: var(--masques-product-image-border) !important;
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	position: relative;
	z-index: 1;
	background-color: var(--masques-product-image-bg) !important;
}

/*
 * Grille produit : zoom identique image + légende (tout le <li>).
 * className masques-product-card est sur le <ul> — on ne cible que chaque <li class="wc-block-product">.
 */
.wc-block-product-template.masques-product-card > li.wc-block-product {
	position: relative;
	z-index: 1;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform: scale(1);
	transform-origin: center center;
}

.wc-block-product-template.masques-product-card > li.wc-block-product:hover {
	transform: scale(1.07);
	z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
	.wc-block-product-template.masques-product-card > li.wc-block-product {
		transition: none;
	}

	.wc-block-product-template.masques-product-card > li.wc-block-product:hover {
		transform: scale(1);
	}
}

/*
 * Accueil — section produits : le pattern WooCommerce « Featured products » n’ajoute pas
 * masques-product-row / masques-product-card ; on aligne grille, zoom et typo sur la boutique.
 */
.masques-section--products .wc-block-product-template > li.wc-block-product {
	position: relative;
	z-index: 1;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transform: scale(1);
	transform-origin: center center;
}

.masques-section--products .wc-block-product-template > li.wc-block-product:hover {
	transform: scale(1.07);
	z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
	.masques-section--products .wc-block-product-template > li.wc-block-product {
		transition: none;
	}

	.masques-section--products .wc-block-product-template > li.wc-block-product:hover {
		transform: scale(1);
	}
}

.masques-section--products .wc-block-product-template .wc-block-components-product-image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	width: 100%;
}

.masques-section--products .wc-block-product .wp-block-post-title,
.masques-section--products .wc-block-product .wp-block-post-title a {
	font-family: var(--masques-product-list-title-font) !important;
	font-weight: 400 !important;
	font-synthesis: none;
	text-transform: none !important;
	text-align: center !important;
	font-size: calc(2 * var(--wp--preset--font-size--small, 0.875rem)) !important;
	color: #fff !important;
}

.masques-section--products .wc-block-components-product-price,
.masques-section--products .wc-block-components-product-price .wc-block-components-product-price__value,
.masques-section--products .wp-block-woocommerce-product-price {
	color: #fff !important;
	text-align: center !important;
}

.masques-section--products .wc-block-components-product-button .wp-block-button__link,
.masques-section--products .wp-block-woocommerce-product-button .wp-block-button__link {
	background-color: #fff !important;
	color: #111 !important;
	border-radius: 999px;
	font-weight: 700;
	padding: 0.5rem 1.25rem;
	text-decoration: none;
}

/*
 * Parent theme (Twenty Twenty-Five): :where(.wp-site-blocks *:focus) adds a 2px solid outline (reads as black).
 * Drop it for pointer activation on shop tiles; keep default for :focus-visible (keyboard).
 */
.wc-block-product-template.masques-product-card li.wc-block-product a:focus:not(:focus-visible),
.masques-archive-grid .wc-block-product-template li.wc-block-product a:focus:not(:focus-visible),
.masques-product-row .wc-block-product-template li.wc-block-product a:focus:not(:focus-visible),
.masques-related-row .wc-block-product-template li.wc-block-product a:focus:not(:focus-visible),
.masques-section--products .wc-block-product-template li.wc-block-product a:focus:not(:focus-visible),
.wc-block-product-categories-list-item > a:focus:not(:focus-visible) {
	outline: none;
}

/* Product images — white frame everywhere else (classic templates, gallery, grids, cart). */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img,
.woocommerce div.product div.images .flex-control-thumbnails img,
.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper img,
.wp-block-woocommerce-product-image-gallery .flex-control-thumbnails img,
.wc-block-grid__product-image img,
.wc-block-mini-cart .wc-block-cart-item__image img,
.wc-block-mini-cart__drawer .wc-block-cart-item__image img,
table.shop_table .product-thumbnail img,
.wc-block-components-product-image img {
	border: var(--masques-product-image-border) !important;
	box-sizing: border-box;
	background-color: var(--masques-product-image-bg) !important;
}

/*
 * Panier blocs (page) : pas le cadre global (#7ec9e8 + bordure blanche) sur l’img —
 * un seul carré 104px bleu site, image en contain.
 */
.masques-main--cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wc-block-components-product-image img,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wc-block-components-product-image img {
	border: 0 !important;
	border-style: none !important;
	background: transparent none !important;
	background-color: transparent !important;
	background-image: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
}

/*
 * Galerie fiche produit : le slider translate des slides pleine largeur ; un margin sur le slide
 * désynchroniserait Flexslider. On crée le vide entre cadres sur le lien / l’image à l’intérieur.
 */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a,
.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a {
	display: block;
	margin-inline: var(--masques-product-gallery-slide-gutter);
	box-sizing: border-box;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image--placeholder > img,
.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image--placeholder > img {
	display: block;
	margin-inline: var(--masques-product-gallery-slide-gutter);
	box-sizing: border-box;
}

/*
 * Zoom au survol (jQuery zoom / WooCommerce) : la cible est toute la slide, alors que le cadre
 * blanc est sur l’img avec marges sur le lien — sans clip, l’image zoomée dépasse le cadre.
 * On masque tout ce qui dépasse la bande centrale (largeur du lien + cadre).
 */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image--placeholder,
.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image--placeholder {
	clip-path: inset(0 var(--masques-product-gallery-slide-gutter) 0 var(--masques-product-gallery-slide-gutter));
}

/*
 * Bouton loupe (lightbox) : WooCommerce utilise right:0.5em sur div.product div.images (spécificité
 * élevée). Sur fiche bloc, la galerie est dans .wp-block-woocommerce-product-image-gallery sans
 * div.images parent — notre première règle ne gagnait pas. On recule right/top pour tomber dans
 * la zone photo (bleu), au-delà du cadre blanc + gouttière du lien.
 */
.woocommerce div.product div.images .woocommerce-product-gallery .woocommerce-product-gallery__trigger,
.woocommerce .wp-block-woocommerce-product-image-gallery .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	right: calc(
		var(--masques-product-gallery-slide-gutter) + var(--masques-product-image-border-width) + 1rem
	);
	top: calc(var(--masques-product-image-border-width) + 0.5rem);
}

/*
 * PhotoSwipe (loupe sur l’image principale) : même fond que le cadre produit (#7ec9e8).
 */
.pswp__bg {
	background: var(--masques-product-image-bg) !important;
}

/*
 * Fiche produit : miniatures sous l’image — une ligne, scroll horizontal ; flèches = image principale (JS).
 */
.masques-product-gallery-thumbs-wrap {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	width: 100%;
	margin-block-start: 0.75rem;
	box-sizing: border-box;
}

.masques-product-gallery-thumbs-wrap--no-overflow .masques-product-gallery-thumbs__btn {
	display: none;
}

.masques-product-gallery-thumbs__scroll {
	direction: ltr;
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

.masques-product-gallery-thumbs__scroll ol.flex-control-thumbs {
	display: flex !important;
	flex-wrap: nowrap !important;
	float: none !important;
	width: max-content !important;
	min-width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden;
	gap: 0.5rem;
	list-style: none;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.masques-product-gallery-thumbs__scroll ol.flex-control-thumbs::-webkit-scrollbar {
	height: 6px;
}

.masques-product-gallery-thumbs__scroll ol.flex-control-thumbs::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.45);
	border-radius: 3px;
}

.woocommerce div.product div.images .masques-product-gallery-thumbs__scroll .flex-control-thumbs li,
.wp-block-woocommerce-product-image-gallery .masques-product-gallery-thumbs__scroll .flex-control-thumbs li {
	float: none !important;
	clear: none !important;
	width: auto !important;
	min-width: 0;
	flex: 0 0 auto;
	margin: 0 !important;
	max-width: none;
	list-style: none;
}

.woocommerce div.product div.images .masques-product-gallery-thumbs__scroll .flex-control-thumbs li img,
.wp-block-woocommerce-product-image-gallery .masques-product-gallery-thumbs__scroll .flex-control-thumbs li img {
	width: clamp(3.25rem, 16vw, 4.75rem);
	height: auto;
	display: block;
	box-sizing: border-box;
}

.masques-product-gallery-thumbs__btn {
	flex: 0 0 2.25rem;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	margin: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--masques-page-blue, #3eb0f7);
	color: #fff;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	transition: background 0.15s ease, opacity 0.15s ease;
}

.masques-product-gallery-thumbs__btn:hover:not(:disabled) {
	filter: brightness(1.06);
}

.masques-product-gallery-thumbs__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.masques-product-gallery-thumbs__btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.masques-product-gallery-thumbs__scroll ol.flex-control-thumbs {
		scroll-behavior: auto;
	}
}

.masques-archive-grid .wc-block-product-template,
.masques-product-row .wc-block-product-template,
.masques-related-row .wc-block-product-template {
	position: relative;
}

/* -------------------------------------------------------------------------
   Archive / search — sorting & counts on blue
   ------------------------------------------------------------------------- */
.masques-main--archive .wc-block-product-results-count,
.masques-main--search .wc-block-product-results-count {
	color: #fff;
}

.masques-main--archive .wc-block-catalog-sorting select,
.masques-main--search .wc-block-catalog-sorting select {
	color: #111;
	border-radius: 6px;
	border: none;
	padding: 0.35rem 0.5rem;
}

/* Pagination */
.masques-main--archive .wp-block-query-pagination a,
.masques-main--search .wp-block-query-pagination a,
.masques-main--archive .wp-block-query-pagination .page-numbers,
.masques-main--search .wp-block-query-pagination .page-numbers {
	color: #fff !important;
	text-decoration: none;
}

.masques-main--archive .wp-block-query-pagination a:hover,
.masques-main--search .wp-block-query-pagination a:hover {
	text-decoration: underline;
}

/*
 * Recherche produit — bloc « aucun résultat » : Twenty Twenty-Five / styles globaux
 * appliquent souvent la couleur « contrast » (#111) aux titres ; elle l’emporte sur
 * has-masques-white-color dans ce contexte WooCommerce.
 */
.masques-main--search .wp-block-woocommerce-product-collection-no-results .wp-block-heading,
.masques-main--search .wp-block-woocommerce-product-collection-no-results p {
	color: #fff !important;
}

/* -------------------------------------------------------------------------
   Single product — prix + panier : mêmes hauteurs de cartouche
   ------------------------------------------------------------------------- */
/*
 * Galerie bloc Woo : max-width 512px (woocommerce/assets/client/blocks/product-image-gallery.css).
 * La colonne gauche peut être plus large (48 %) : sans plafond, prix + boutons dépassent à droite
 * du bloc image + miniatures — on aligne la rangée sur le même max que la galerie.
 */
.masques-main--single-product {
	--masques-single-product-gallery-max: 512px;
}

.masques-main--single-product .wp-block-columns.alignwide > .wp-block-column:first-child > .masques-product-price-cart-row.wp-block-columns {
	max-width: min(var(--masques-single-product-gallery-max), 100%);
	width: 100%;
	box-sizing: border-box;
	align-items: stretch !important;
}

.masques-main--single-product .masques-product-price-cart-row > .wp-block-column {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.masques-main--single-product .masques-product-price-cart-row > .wp-block-column > .masques-action-tile {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

/* Hauteur de la rangée = celle de la colonne boutons (pas d’expansion flex du panier). Le cartouche prix s’aligne en stretch sur cette hauteur. */
.masques-main--single-product .masques-product-price-cart-row > .wp-block-column:first-child > .masques-action-tile {
	flex: 1 1 auto;
	align-self: stretch;
	min-height: 0;
	justify-content: center;
}

/* Colonne panier + offre : deux cartouches empilées */
.masques-main--single-product .masques-product-cart-offer-column {
	gap: 0.4rem;
}

.masques-main--single-product .masques-product-price-cart-row .masques-cart-only-tile {
	flex: 0 0 auto;
	width: 100%;
	justify-content: flex-start;
}

.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile {
	flex: 0 0 auto;
	width: 100%;
	justify-content: flex-start;
}

/* Pas de cartouche blanc autour des boutons panier / offre (fond page visible) */
.masques-main--single-product .masques-product-price-cart-row .masques-cart-only-tile.has-background,
.masques-main--single-product .masques-product-price-cart-row .masques-ncp-offer-tile.has-background {
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.masques-main--single-product .masques-product-price-cart-row .masques-action-tile .wc-block-add-to-cart-form {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-height: 0;
}

.masques-main--single-product .masques-product-price-cart-row .masques-action-tile form.cart {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-height: 0;
	margin: 0 !important;
	gap: 0;
}

.masques-main--single-product .masques-product-price-cart-row .single_add_to_cart_button {
	flex: 0 0 auto;
	align-self: stretch;
	/* Ne pas mettre min-height: 0 ici : avec flex parents à min-height:0, le bouton peut s’effondrer à 0 px. */
	min-height: max(3.25rem, min-content);
	display: flex !important;
	align-items: center;
	justify-content: center;
}

/* Acheter / offre : même contour blanc que le mini-panier (cartouches sans fond → texte sur bleu page). */

/* Nxtal Customer Price — carte séparée sous le panier ; texte noir sur fond blanc (plugin non modifié) */
.masques-main--single-product .masques-cart-only-tile form.variations_form .ncp-offer-wrapper.ncp-variable-product {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

.masques-main--single-product .masques-cart-only-tile form.variations_form {
	position: relative;
}

/* Slot vide = pas d’offre (variable avant choix, ou produit non éligible) */
.masques-main--single-product .masques-ncp-offer-tile:has(.masques-ncp-offer-slot:empty) {
	display: none !important;
}

.masques-main--single-product .masques-ncp-offer-tile .masques-ncp-offer-slot .ncp-offer-wrapper {
	margin: 0 !important;
	width: 100%;
}

.masques-main--single-product .masques-ncp-offer-tile .ncp-offer-btn {
	display: flex !important;
	width: 100% !important;
	justify-content: center !important;
	align-items: center !important;
	box-sizing: border-box !important;
	padding: 1rem !important;
}

.masques-main--single-product .masques-ncp-offer-tile .ncp-offer-status {
	margin-top: 0.35rem;
	font-size: 0.85rem;
	text-align: center;
	color: rgba(255, 255, 255, 0.95);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/* -------------------------------------------------------------------------
   Single product — favori : coin haut-droit du .masques-product-info-card
   (thème seulement — pas de modif du plugin TI Wishlist)
   ------------------------------------------------------------------------- */
.masques-main--single-product .masques-product-info-card,
.masques-main--single-product .masques-product-info-card.is-layout-flow {
	position: relative !important;
	overflow: visible;
	justify-content: flex-start !important;
	align-items: stretch !important;
}

/* Évite qu’un wrapper is-layout-flow devienne le bloc de référence et descende le cœur. */
.masques-main--single-product .masques-product-info-card > .is-layout-flow,
.masques-main--single-product .masques-product-info-card > .wp-block-group-is-layout-flow {
	position: static !important;
}

.masques-main--single-product .masques-product-info-card__title,
.masques-main--single-product .masques-product-info-card .wp-block-post-excerpt,
.masques-main--single-product .masques-product-info-card .wp-block-woocommerce-product-summary,
.masques-main--single-product .masques-product-info-card .wp-block-woocommerce-product-description {
	padding-right: 2.75rem;
	box-sizing: border-box;
}

.masques-main--single-product .masques-product-info-card__title {
	margin-top: 0;
}

/* Corps description (carte) : 18px — au-dessus des tailles imposées par les blocs Woo (~22px). */
.masques-main--single-product .masques-product-info-card .wp-block-woocommerce-product-description,
.masques-main--single-product .masques-product-info-card .wp-block-woocommerce-product-description .wc-block-product-description,
.masques-main--single-product .masques-product-info-card .wp-block-woocommerce-product-summary .wc-block-components-product-summary {
	font-size: var(--masques-product-description-font-size) !important;
}

/*
 * Import Benix : titres de section (col. J + ligne histoire/créateurs) en gras.
 * Cibler la carte, pas seulement product-description : le modèle en prod peut encore
 * utiliser woocommerce/product-summary (.wp-block-woocommerce-product-summary).
 */
.masques-main--single-product .masques-product-info-card .masques-product-desc__lead,
.masques-main--single-product .masques-product-info-card .masques-product-desc__lead strong {
	font-weight: 700 !important;
}

/* Import Benix : ligne libellée fiche (Format:, Poids:, …) — italique, corps légèrement réduit */
.masques-main--single-product .masques-product-info-card .masques-product-desc__spec {
	font-size: 0.93em !important;
	font-style: italic !important;
}

.masques-main--single-product .wp-block-group.masques-product-info-card__wishlist,
.masques-main--single-product .masques-product-info-card__wishlist.is-layout-flow {
	position: absolute !important;
	top: 0 !important;
	right: 0.5rem !important;
	left: auto !important;
	bottom: auto !important;
	z-index: 3;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 2rem;
	min-width: 0;
	float: none !important;
	/* is-layout-flow en flex colonne étirait la hauteur (~94px) et centrait le cœur */
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	justify-content: flex-start !important;
	align-items: center !important;
	align-content: flex-start !important;
	gap: 0 !important;
	row-gap: 0 !important;
	column-gap: 0 !important;
	min-height: 0 !important;
	height: fit-content !important;
	overflow: visible !important;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
	align-self: flex-start !important;
	transform: none !important;
}

/* Annule position/top du plugin TI (ex. above_thumb) qui plaçait le cœur au milieu. */
.masques-main--single-product .masques-product-info-card__wishlist .tinv-wraper.tinv-wishlist {
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	inset: auto !important;
	transform: none !important;
	margin: 0 !important;
	flex: 0 0 auto !important;
	align-self: center !important;
}

.masques-main--single-product .masques-product-info-card__wishlist .tinv-wraper,
.masques-main--single-product .masques-product-info-card__wishlist .tinv-wishlist {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: center !important;
	float: none !important;
	width: fit-content !important;
	max-width: none !important;
	min-height: 0 !important;
	height: auto !important;
	text-align: center;
}

/* TI Wishlist : un <br> avant le lien est traité comme item flex → cœur trop bas */
.masques-main--single-product .masques-product-info-card__wishlist br {
	display: none !important;
}

.masques-main--single-product .masques-product-info-card__wishlist .tinvwl-tooltip {
	display: none !important;
}

.masques-main--single-product .masques-product-info-card__wishlist .tinvwl_add_to_wishlist_button,
.masques-main--single-product .masques-product-info-card__wishlist a.tinvwl_add_to_wishlist_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
	min-width: 0 !important;
	max-width: 1.25rem !important;
	min-height: 0 !important;
	padding: 0 !important;
	/* Aligne l’inset vertical du cœur avec le right: 0.5rem du conteneur */
	margin: 0.5rem 0 0 0 !important;
	color: #111 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	flex: 0 0 1.25rem !important;
	overflow: visible !important;
}

/* Glyphe centré dans la petite boîte = zone cliquable ≈ taille du cœur */
.masques-main--single-product .masques-product-info-card__wishlist .tinvwl_add_to_wishlist_button::before,
.masques-main--single-product .masques-product-info-card__wishlist a.tinvwl_add_to_wishlist_button::before {
	font-size: 1.125rem !important;
	line-height: 1 !important;
	top: 50% !important;
	left: 50% !important;
	margin: 0 !important;
	transform: translate(-50%, -50%) !important;
}

.masques-main--single-product .masques-product-info-card__wishlist .tinvwl_add_to_wishlist-text,
.masques-main--single-product .masques-product-info-card__wishlist .tinvwl_remove_from_wishlist-text,
.masques-main--single-product .masques-product-info-card__wishlist .tinvwl_already_on_wishlist-text,
.masques-main--single-product .masques-product-info-card__wishlist .tinv-wishlist-clear {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.masques-main--single-product .masques-product-info-card__wishlist .tinvwl_add_to_wishlist_button img {
	max-width: 1.5rem;
	max-height: 1.5rem;
	width: auto;
	height: auto;
}

.masques-action-tile .woocommerce div.product form.cart {
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.masques-action-tile .single_add_to_cart_button {
	width: 100%;
	justify-content: center;
	font-weight: 700 !important;
}

/* Fiche produit : pas de sélecteur de quantité visible (le champ reste, qty = 1 par défaut). */
.masques-main--single-product .quantity {
	display: none !important;
}

/* -------------------------------------------------------------------------
   TI Wishlist — loop (when plugin injects into block output)
   ------------------------------------------------------------------------- */
.masques-archive-grid .tinv-wraper,
.masques-product-row .tinv-wraper {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 5;
}

.masques-archive-grid .tinvwl_add_to_wishlist_button,
.masques-product-row .tinvwl_add_to_wishlist_button {
	filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
}

/* -------------------------------------------------------------------------
   Fiche produit — dégagement sous le menu fixe (titre / fil d’Ariane)
   ------------------------------------------------------------------------- */
.masques-main.masques-main--single-product {
	padding-top: calc(
		var(--wp-admin--admin-bar--height, 0px) + clamp(6.75rem, 16vw, 9rem) + 0.5rem
	) !important;
}

/* Pages (À propos, Contact, etc.) : même dégagement sous le menu fixe que la fiche produit */
.masques-main.masques-main--page {
	padding-top: calc(
		var(--wp-admin--admin-bar--height, 0px) + clamp(6.75rem, 16vw, 9rem) + 0.5rem
	) !important;
}

/*
 * Panier avec menu Mon compte : aligner le titre « Mon compte » avec wishlist / Mes offres / page Mon compte
 * (elles utilisent .masques-main--page + ce padding ; le modèle panier seul garde le padding du template).
 */
body.woocommerce-account.woocommerce-cart .masques-main.masques-main--cart {
	padding-top: calc(
		var(--wp-admin--admin-bar--height, 0px) + clamp(6.75rem, 16vw, 9rem) + 0.5rem
	) !important;
}

/*
 * Panier Mon compte : si « store-notices » est le 1er enfant du main (layout constrained),
 * WordPress applique margin-block-start au groupe du titre — titre visuellement plus bas
 * que sur page.html (un seul .alignwide). On annule ce décalage si cette structure réapparaît.
 */
body.woocommerce-account.woocommerce-cart .masques-main.masques-main--cart.is-layout-constrained > .wp-block-woocommerce-store-notices + .wp-block-group.alignwide {
	margin-block-start: 0 !important;
}

/* -------------------------------------------------------------------------
   Fil d’Ariane — fond bleu, texte blanc, liens soulignés.
   Séparateurs : pastille blanche + « > » en #3EB0F7 (woocommerce_breadcrumb_defaults).
   ------------------------------------------------------------------------- */
.wc-block-breadcrumbs .woocommerce-breadcrumb,
body.single-product nav.woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0;
	row-gap: 0.35rem;
	font-weight: 500;
	letter-spacing: 0.01em;
}

/* Lien « racine » : icône SVG = hauteur des capitales (1cap), alignée avec le texte des autres maillons. */
.woocommerce-breadcrumb a.masques-breadcrumb__home {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	text-decoration: none !important;
}

.woocommerce-breadcrumb a.masques-breadcrumb__home .masques-breadcrumb__home-icon {
	display: block;
	width: 1.15em;
	height: 1.15em;
	flex-shrink: 0;
}

@supports (width: 1cap) {
	.woocommerce-breadcrumb a.masques-breadcrumb__home .masques-breadcrumb__home-icon {
		width: 1.05cap;
		height: 1.05cap;
	}
}

.masques-main--single-product .woocommerce-breadcrumb a.masques-breadcrumb__home,
.masques-main--single-product .wc-block-breadcrumbs .woocommerce-breadcrumb a.masques-breadcrumb__home,
body.single-product .woocommerce-breadcrumb a.masques-breadcrumb__home,
body.single-product .wc-block-breadcrumbs .woocommerce-breadcrumb a.masques-breadcrumb__home,
.masques-main--archive .masques-term-hero .woocommerce-breadcrumb a.masques-breadcrumb__home,
.masques-main--archive .masques-term-hero .wc-block-breadcrumbs .woocommerce-breadcrumb a.masques-breadcrumb__home,
body.tax-product_cat .masques-term-hero .woocommerce-breadcrumb a.masques-breadcrumb__home,
body.tax-product_cat .masques-term-hero .wc-block-breadcrumbs .woocommerce-breadcrumb a.masques-breadcrumb__home {
	text-decoration: none !important;
}

.wc-block-breadcrumbs .woocommerce-breadcrumb .masques-breadcrumb__sep,
.woocommerce-breadcrumb .masques-breadcrumb__sep {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1rem;
	height: 1rem;
	margin: 0 0.35rem;
	padding: 0 0.08rem;
	background: #fff !important;
	color: #3eb0f7 !important;
	font-size: 0.58rem;
	font-weight: 800;
	line-height: 1;
	flex-shrink: 0;
	vertical-align: middle;
	font-family: var(--wp--preset--font-family--montserrat, system-ui, sans-serif);
	text-decoration: none !important;
}

.masques-main--single-product .woocommerce-breadcrumb,
.masques-main--single-product .wc-block-breadcrumbs,
body.single-product .woocommerce-breadcrumb,
body.single-product .wc-block-breadcrumbs,
.masques-main--archive .masques-term-hero .woocommerce-breadcrumb,
.masques-main--archive .masques-term-hero .wc-block-breadcrumbs,
body.tax-product_cat .masques-term-hero .woocommerce-breadcrumb,
body.tax-product_cat .masques-term-hero .wc-block-breadcrumbs {
	color: #fff !important;
	text-align: left !important;
	justify-content: flex-start !important;
}

.masques-main--single-product .woocommerce-breadcrumb a,
.masques-main--single-product .wc-block-breadcrumbs a,
body.single-product .woocommerce-breadcrumb a,
body.single-product .wc-block-breadcrumbs a,
.masques-main--archive .masques-term-hero .woocommerce-breadcrumb a,
.masques-main--archive .masques-term-hero .wc-block-breadcrumbs a,
body.tax-product_cat .masques-term-hero .woocommerce-breadcrumb a,
body.tax-product_cat .masques-term-hero .wc-block-breadcrumbs a {
	color: #fff !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	text-decoration-skip-ink: auto;
}

.masques-main--single-product .woocommerce-breadcrumb a:hover,
body.single-product .woocommerce-breadcrumb a:hover,
.masques-main--archive .masques-term-hero .woocommerce-breadcrumb a:hover,
body.tax-product_cat .masques-term-hero .woocommerce-breadcrumb a:hover {
	opacity: 0.9;
}

.masques-main--single-product .wc-block-breadcrumbs .woocommerce-breadcrumb,
body.single-product .wc-block-breadcrumbs .woocommerce-breadcrumb,
.masques-main--archive .masques-term-hero .wc-block-breadcrumbs .woocommerce-breadcrumb,
body.tax-product_cat .masques-term-hero .wc-block-breadcrumbs .woocommerce-breadcrumb {
	text-align: left !important;
	justify-content: flex-start !important;
}

.masques-main--single-product .wp-block-group.alignwide > .wc-block-breadcrumbs,
body.single-product .wc-block-breadcrumbs,
.masques-main--archive .masques-term-hero .wc-block-breadcrumbs,
body.tax-product_cat .masques-term-hero .wc-block-breadcrumbs {
	margin-bottom: 0.75rem;
	padding: 0.35rem 0;
}

/* Titre fiche produit — Blippo (woff2 dans assets/fonts/, voir functions.php) */
.masques-main--single-product .wp-block-post-title {
	font-family: var(--masques-font-blippo) !important;
	font-weight: 400 !important;
	font-synthesis: none;
}

/* Pages statiques (À propos, Contact, etc.) — même fond bleu + titre Blippo que l’accueil / fiche produit */
.masques-main--page .wp-block-post-title {
	font-family: var(--masques-font-blippo) !important;
	font-weight: 400 !important;
	font-synthesis: none;
	text-transform: none !important;
}

.masques-main--page .wp-block-post-content,
.masques-main--page .masques-page-entry-content {
	color: #fff;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
}

.masques-main--page .wp-block-post-content a,
.masques-main--page .masques-page-entry-content a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.masques-main--page .wp-block-post-content a:hover,
.masques-main--page .masques-page-entry-content a:hover {
	opacity: 0.9;
}

.masques-main--page .wp-block-post-content .wp-block-heading,
.masques-main--page .masques-page-entry-content .wp-block-heading {
	color: #fff;
}

.masques-main--page .wp-block-post-content .wp-block-heading.is-style-masques-blippo {
	font-family: var(--masques-font-blippo) !important;
}

/* Page À propos (bloc HTML / pattern ex-Divi) */
.masques-main--page .wp-block-html .masques-about-benix {
	max-width: 48rem;
	margin-left: auto;
	margin-right: auto;
	min-width: 0;
	overflow-x: clip;
}

/* Colonne de contenu : permet au texte/images de rétrécir dans flex (sinon débordement > 100 %) */
.masques-main--page .alignwide,
.masques-main--page .wp-block-post-content {
	min-width: 0;
}

/* Toute image dans le contenu page (HTML ou blocs) : ne pas dépasser la colonne (flex/grid) */
.masques-main--page .wp-block-post-content img,
.masques-main--page .masques-page-entry-content img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

.masques-main--page .wp-block-html .masques-about-benix h1 {
	font-family: var(--masques-font-blippo) !important;
	font-weight: 400 !important;
	font-synthesis: none;
	text-align: center;
	text-transform: none !important;
	color: #fff;
	line-height: 1.15;
	margin: 0 0 1.25rem;
}

.masques-main--page .wp-block-html .masques-about-benix h2 {
	font-family: var(--masques-font-blippo) !important;
	font-weight: 400 !important;
	font-synthesis: none;
	text-transform: none !important;
	color: #fff;
	line-height: 1.2;
	margin: 2rem 0 1rem;
}

.masques-main--page .wp-block-html .masques-about-benix p {
	font-weight: 400;
	line-height: 1.65;
	margin: 0 0 1rem;
	text-align: justify;
	hyphens: auto;
	-webkit-hyphens: auto;
	word-break: normal;
	overflow-wrap: break-word;
}

.masques-main--page .wp-block-html .masques-about-benix figure {
	margin: 1.5rem 0 2rem;
	max-width: 100%;
}

.masques-main--page .wp-block-html .masques-about-benix figure img,
.masques-main--page .wp-block-html .masques-about-benix p > img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	border-radius: 4px;
}

/* Page contact (motif ex-Divi + shortcode masques_contact_form) */
.masques-main--page .masques-contact {
	margin-top: 0.5rem;
}

.masques-main--page .masques-contact .wp-block-heading {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: clamp(1.35rem, 2.5vw, 1.875rem);
	line-height: 1.3;
}

.masques-main--page .masques-contact-form {
	position: relative;
	box-sizing: border-box;
	background: var(--masques-product-image-bg, #7ec9e8);
	color: #ffffff;
	padding: clamp(1.5rem, 4vw, 3.125rem);
	border-bottom: 1px solid #d1d1d1;
	font-size: 16px;
	line-height: 1.5;
}

.masques-main--page .masques-contact-form__hp {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.masques-main--page .masques-contact-form__field {
	margin: 0 0 1rem;
}

.masques-main--page .masques-contact-form__field label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
	color: #fff;
}

.masques-main--page .masques-contact-form__field input,
.masques-main--page .masques-contact-form__field textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.6rem 0.75rem;
	font: inherit;
	color: #111;
	background: #fff;
	border: 1px solid #d1d1d1;
	border-radius: 2px;
}

.masques-main--page .masques-contact-form__field textarea {
	min-height: 8rem;
	resize: vertical;
}

.masques-main--page .masques-contact-form__submit {
	margin: 1.25rem 0 0;
}

/* Même apparence que les filtres Tout / Masques / Moules (.masques-cat-tag-filter__link) */
.masques-main--page .masques-contact-form__button {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0.45rem 0.85rem !important;
	font-family: var(--masques-btn-cta-font) !important;
	font-size: var(--masques-btn-cta-font-size) !important;
	line-height: var(--masques-btn-cta-line-height) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-synthesis: none;
	text-transform: uppercase !important;
	letter-spacing: var(--masques-btn-cta-secondary-letter-spacing) !important;
	text-decoration: none !important;
	text-shadow: none !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	background: transparent !important;
	border: var(--masques-btn-cta-secondary-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	box-shadow: none !important;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transform: translateY(0);
	transition:
		background var(--masques-btn-cta-motion-duration) ease,
		border-color var(--masques-btn-cta-motion-duration) ease,
		color var(--masques-btn-cta-motion-duration) ease,
		opacity var(--masques-btn-cta-motion-duration) ease,
		transform var(--masques-btn-cta-motion-duration) ease,
		box-shadow var(--masques-btn-cta-motion-duration) ease;
}

.masques-main--page .masques-contact-form__button:hover,
.masques-main--page .masques-contact-form__button:focus {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow) !important;
}

.masques-main--page .masques-contact-form__notice {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: 2px;
}

.masques-main--page .masques-contact-form__notice--success {
	background: rgba(255, 255, 255, 0.95);
	color: #1a5c1a;
	border: 1px solid #b8d4b8;
}

.masques-main--page .masques-contact-form__notice--error {
	background: rgba(255, 255, 255, 0.95);
	color: #8b1a1a;
	border: 1px solid #e0b4b4;
}

.masques-main--page .masques-contact__side {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.masques-main--page .masques-contact__blurb {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
	font-size: 18px;
	line-height: 1.45;
}

.masques-main--page .masques-contact__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	background: #d93b5f;
	color: #fff;
}

.masques-main--page .masques-contact__icon svg {
	display: block;
}

.masques-main--page .masques-contact__blurb-body p {
	margin: 0 0 0.35rem;
	color: #fff;
}

.masques-main--page .masques-contact__blurb-body p:last-child {
	margin-bottom: 0;
}

.masques-main--page .masques-contact__blurb-body a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

@media (max-width: 781px) {
	.masques-main--page .masques-contact .wp-block-column {
		flex-basis: 100% !important;
	}
}

/*
 * Accueil — Blippo sur le titre d’intro (même woff2 que la fiche produit).
 * 1) Style de bloc « Blippo (Masques) » dans l’éditeur (recommandé si le modèle est personnalisé en BDD).
 * 2) Sélecteurs structurels pour le modèle par défaut (section bleue après le hero, sans --cta / --products).
 */
.wp-block-heading.is-style-masques-blippo,
.masques-home-tagline,
body.home
	.masques-main
	> .wp-block-shortcode:has(.masques-carousel--hero)
	+ .wp-block-group.masques-section--blue
	.wp-block-heading:first-of-type,
body.home .masques-main > .masques-carousel--hero + .wp-block-group.masques-section--blue .wp-block-heading:first-of-type,
body.home
	.masques-section--blue:not(.masques-section--cta):not(.masques-section--products)
	.wp-block-heading:first-of-type {
	font-family: var(--masques-font-blippo) !important;
	font-weight: 400 !important;
	font-synthesis: none;
	font-feature-settings: normal !important;
	font-variant: normal !important;
	text-transform: none !important;
}

/* -------------------------------------------------------------------------
   Carrousels accueil (Splide)
   ------------------------------------------------------------------------- */
/* Bandeau : 1er enfant = shortcode OU section (selon synchro éditeur / page) */
.masques-main > .wp-block-shortcode:first-child .masques-carousel--strip,
.masques-main > .masques-carousel--strip:first-child {
	padding-top: 0;
}

/* wpautop peut insérer des <p></p> dans le HTML du carrousel → bande blanche (marges par défaut du p) */
.masques-carousel--hero p:empty,
.masques-splide--hero p:empty,
.masques-hero-slide p:empty,
.masques-carousel--strip p:empty {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

/* Accueil : zéro blockGap entre blocs directs (hero en enfant direct OU dans shortcode) */
.masques-main:has(> .masques-carousel--hero).is-layout-flow > * + *,
.masques-main:has(> .wp-block-shortcode .masques-carousel--hero).is-layout-flow > * + * {
	margin-block-start: 0 !important;
}

/* Pas d’espace entre carrousels ni avant la 1re section bleue */
.masques-main > .wp-block-shortcode + .wp-block-shortcode,
.masques-main > .masques-carousel--strip + .wp-block-shortcode,
.masques-main > .wp-block-shortcode + .masques-carousel--hero,
.masques-main > .masques-carousel--strip + .masques-carousel--hero {
	margin-block-start: 0 !important;
}

.masques-main > .wp-block-shortcode + .wp-block-group,
.masques-main > .masques-carousel--hero + .wp-block-group,
.masques-main > .masques-carousel--strip + .wp-block-group {
	margin-block-start: 0 !important;
}

.masques-main .masques-carousel--strip,
.masques-main .masques-carousel--hero {
	margin-bottom: 0;
}

/* Hero : pas de marge résiduelle sur le conteneur (shortcode ou section seule) */
.masques-main > .wp-block-shortcode:has(.masques-carousel--hero),
.masques-main > .masques-carousel--hero {
	margin-block-end: 0 !important;
	padding-block-end: 0 !important;
}

.masques-carousel--hero .splide,
.masques-carousel--hero .splide__track {
	margin: 0;
	padding: 0;
}

/* Section bleue juste après le hero (padding-top 0 : colle au carrousel ; !important si le modèle a été surchargé dans l’éditeur) */
.masques-main > .wp-block-shortcode:has(.masques-carousel--hero) + .wp-block-group.masques-section--blue:not(.masques-section--products),
.masques-main > .masques-carousel--hero + .wp-block-group.masques-section--blue:not(.masques-section--products) {
	margin-top: 0;
	padding-top: 0 !important;
	position: relative;
	z-index: 1;
}

.masques-carousel--strip {
	background: var(--masques-carousel-image-bg);
	padding-bottom: 0;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.masques-splide--strip.splide {
	min-height: min(50vh, 440px);
	background-color: var(--masques-carousel-image-bg);
}

.masques-splide--strip .splide__track,
.masques-splide--strip .splide__list {
	height: 100%;
}

.masques-splide--strip .splide__slide {
	height: auto;
	align-self: stretch;
	display: flex;
}

.masques-splide--strip .splide__slide > .masques-strip-slide {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: min(50vh, 440px);
}

/* Bandeau : fond sous l’image ; calque = bleu haut/bas → transparent */
.masques-strip-slide {
	position: relative;
	overflow: hidden;
	background: var(--masques-carousel-image-bg);
}

.masques-strip-slide::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image:
		linear-gradient(
			to bottom,
			rgba(62, 176, 247, 0.92) 0,
			rgba(62, 176, 247, 0.92) var(--masques-carousel-scrim-header),
			rgba(62, 176, 247, 0) calc(var(--masques-carousel-scrim-header) + var(--masques-carousel-scrim-blend))
		),
		linear-gradient(
			to top,
			var(--masques-page-blue) 0,
			var(--masques-page-blue) calc(var(--masques-carousel-scrim-footer) - var(--masques-carousel-scrim-blend)),
			rgba(62, 176, 247, 0) calc(var(--masques-carousel-scrim-footer) + var(--masques-carousel-scrim-blend))
		);
}

.masques-strip-slide__link {
	display: flex;
	flex: 1;
	min-height: 0;
}

.masques-strip-slide__img {
	width: 100%;
	height: 100%;
	min-height: min(50vh, 440px);
	object-fit: cover;
	object-position: center;
	display: block;
	flex: 1;
}

.masques-splide--strip .splide__pagination {
	bottom: 0.35rem;
	z-index: 2;
}

.masques-splide--strip .splide__pagination__page {
	background: #ccc;
	opacity: 1;
}

.masques-splide--strip .splide__pagination__page.is-active {
	background: #333;
}

.masques-carousel--hero {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: 0;
	left: 0;
	right: 0;
	box-sizing: border-box;
	/* Fond derrière l’image ; le bleu vient des bandeaux sur chaque slide */
	background-color: var(--masques-carousel-image-bg);
}

.masques-splide--hero.splide {
	width: 100%;
	max-width: none;
	min-height: min(78vh, 680px);
	background-color: var(--masques-carousel-image-bg);
}

.masques-splide--hero .splide__track {
	width: 100% !important;
	max-width: none !important;
	height: 100%;
}

.masques-splide--hero .splide__list {
	width: 100% !important;
	max-width: none !important;
	height: 100%;
}

.masques-splide--hero .splide__slide {
	display: flex !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	flex-shrink: 0 !important;
	box-sizing: border-box;
	height: 100%;
}

.masques-hero-slide {
	position: relative;
	flex: 1;
	align-self: stretch;
	width: 100%;
	min-width: 100%;
	min-height: min(78vh, 680px);
	overflow: hidden;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	background: var(--masques-carousel-image-bg);
}

a.masques-hero-slide {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

a.masques-hero-slide:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.masques-hero-slide__media {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}

.masques-hero-slide__media .masques-hero-slide__img,
.masques-hero-slide__media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center;
	display: block;
}

.masques-hero-slide__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 1;
	/* Pas de dégradé haut : le header porte le bleu ; bas inchangé (raccord section). */
	background-image: linear-gradient(
		to top,
		var(--masques-page-blue) 0,
		var(--masques-page-blue) calc(var(--masques-carousel-scrim-footer) - var(--masques-carousel-scrim-blend)),
		rgba(62, 176, 247, 0) calc(var(--masques-carousel-scrim-footer) + var(--masques-carousel-scrim-blend))
	);
}

.masques-hero-slide__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 3vw, 2.5rem);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	min-height: min(78vh, 680px);
}

.masques-hero-slide__copy {
	max-width: min(36rem, 92vw);
}

@media (max-width: 782px) {
	.masques-hero-slide__inner {
		justify-content: center;
		text-align: center;
	}

	.masques-hero-slide__copy {
		margin-left: auto;
		margin-right: auto;
	}
}

.masques-hero-slide__kicker {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 0 0 20px rgba(0, 0, 0, 0.85), 0 2px 8px rgba(0, 0, 0, 0.75);
}

.masques-hero-slide__title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 800;
	line-height: 1.1;
	color: #fff;
	text-shadow: 0 0 22px rgba(0, 0, 0, 0.45), 0 2px 10px rgba(0, 0, 0, 0.4);
}

/* Photo seule : texte clair sur image */
.masques-hero-slide--no-scrim .masques-hero-slide__kicker {
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 0 20px rgba(0, 0, 0, 0.85), 0 2px 8px rgba(0, 0, 0, 0.75);
}

.masques-hero-slide--no-scrim .masques-hero-slide__title {
	color: #fff;
	text-shadow: 0 0 22px rgba(0, 0, 0, 0.45), 0 2px 10px rgba(0, 0, 0, 0.4);
}

/* Flèches : pas de pastille Splide par défaut ; visibles au survol ou au focus clavier (:focus-within) */
.masques-splide--hero .splide__arrow {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.masques-splide--hero:hover .splide__arrow,
.masques-splide--hero:focus-within .splide__arrow {
	opacity: 0.92;
	pointer-events: auto;
}

.masques-splide--hero .splide__arrow svg {
	fill: #fff;
	filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.45)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
}

.masques-splide--hero .splide__pagination {
	bottom: 1.25rem;
}

.masques-splide--hero .splide__pagination__page {
	background: rgba(255, 255, 255, 0.35);
	opacity: 1;
}

.masques-splide--hero .splide__pagination__page.is-active {
	background: #fff;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
}

.masques-carousel-empty {
	text-align: center;
	padding: 1rem;
	background: #fff3cd;
	color: #664d03;
	font-size: 0.9rem;
}

/* -------------------------------------------------------------------------
   Nxtal Customer Price — offre : panneau latéral (même principe que le mini-panier)
   Fond --masques-page-blue, Blippo + Montserrat, fermeture type tiroir Woo.
   ------------------------------------------------------------------------- */

/* Quantité fixée à 1 (champ masqué + valeur forcée en JS dans functions.php). */
#ncp-offer-modal .ncp-form-group:has(#ncp-quantity) {
	display: none !important;
}

#ncp-offer-modal,
#ncp-best-price-modal {
	overflow: hidden !important;
	background-color: var(--masques-drawer-overlay-bg) !important;
	backdrop-filter: var(--masques-drawer-overlay-backdrop) !important;
	-webkit-backdrop-filter: var(--masques-drawer-overlay-backdrop) !important;
}

/* Panneau = tiroir pleine hauteur à droite (comme .wc-block-mini-cart__drawer) */
#ncp-offer-modal .ncp-modal-content,
#ncp-best-price-modal .ncp-modal-content {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	bottom: 0 !important;
	width: min(100vw, 26.5rem) !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100vh !important;
	margin: 0 !important;
	padding: var(--masques-drawer-content-padding-top) var(--masques-drawer-content-padding-x)
		var(--masques-drawer-content-padding-bottom) !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	border-radius: 0 !important;
	border: none !important;
	border-left: var(--masques-drawer-panel-border-left) !important;
	box-shadow: var(--masques-drawer-panel-box-shadow) !important;
	background-color: var(--masques-page-blue) !important;
	background: var(--masques-page-blue) !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	font-size: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem) !important;
	line-height: 1.45;
	animation: masques-ncp-drawer-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
	isolation: isolate;
}

@keyframes masques-ncp-drawer-in {
	from {
		transform: translateX(105%);
	}
	to {
		transform: translateX(0);
	}
}

#ncp-best-price-modal .ncp-modal-content {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: stretch !important;
}

#ncp-offer-modal .ncp-modal-content > *:not(.ncp-close),
#ncp-best-price-modal .ncp-modal-content > *:not(.ncp-close) {
	position: relative;
	z-index: 2;
}

#ncp-offer-modal .ncp-close,
#ncp-best-price-modal .ncp-close {
	position: absolute !important;
	z-index: 4;
	float: none !important;
	box-sizing: border-box;
	width: var(--masques-drawer-close-size);
	height: var(--masques-drawer-close-size);
	top: 0.75rem !important;
	right: 0.75rem !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border: var(--masques-drawer-close-border) !important;
	border-radius: var(--masques-drawer-close-radius) !important;
	background: var(--masques-drawer-close-bg) !important;
	color: var(--masques-drawer-close-color) !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
	font-size: var(--masques-drawer-close-icon-size) !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		opacity 0.15s ease;
	box-shadow: none;
}

#ncp-offer-modal .ncp-close:hover,
#ncp-best-price-modal .ncp-close:hover {
	background: var(--masques-drawer-close-hover-bg) !important;
	border-color: var(--masques-drawer-close-hover-border) !important;
	color: var(--masques-drawer-close-color) !important;
	transform: none;
}

#ncp-offer-modal .ncp-modal-header {
	margin-bottom: 1.25rem !important;
	padding: 0.35rem 2.75rem 0 0 !important;
}

#ncp-offer-modal .ncp-modal-header h2 {
	margin: 0 !important;
	font-family: var(--masques-drawer-title-font) !important;
	font-weight: 400 !important;
	font-synthesis: none;
	font-size: var(--masques-drawer-title-size) !important;
	line-height: var(--masques-drawer-title-line-height) !important;
	letter-spacing: var(--masques-drawer-title-letter-spacing) !important;
	text-transform: none !important;
	color: #fff !important;
	text-shadow: none;
}

#ncp-offer-modal .ncp-form-group {
	margin-bottom: 1.1rem !important;
}

#ncp-offer-modal .ncp-form-group label {
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
	font-weight: 600 !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	color: rgba(255, 255, 255, 0.92) !important;
	margin-bottom: 0.4rem !important;
}

#ncp-offer-modal .ncp-form-group input,
#ncp-offer-modal .ncp-form-group textarea {
	border: 1px solid rgba(255, 255, 255, 0.45) !important;
	border-radius: 2px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	color: #0f1f2a !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
	font-size: clamp(0.9375rem, 0.88rem + 0.2vw, 1rem) !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06) !important;
}

#ncp-offer-modal .ncp-form-group input:focus,
#ncp-offer-modal .ncp-form-group textarea:focus {
	border-color: rgba(255, 255, 255, 0.85) !important;
	box-shadow:
		0 0 0 2px rgba(255, 255, 255, 0.35),
		inset 0 1px 2px rgba(0, 0, 0, 0.06) !important;
	outline: none !important;
}

#ncp-offer-modal #ncp-price-hint {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.88) !important;
	letter-spacing: 0.02em;
}

/* Fil d’échanges : réponse Benix en orange (lisible sur fond tiroir bleu) */
#ncp-offer-modal .ncp-offer-thread {
	border-color: rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.95);
}

#ncp-offer-modal .ncp-thread-line + .ncp-thread-line {
	border-top-color: rgba(255, 255, 255, 0.18);
}

#ncp-offer-modal .ncp-thread-you .ncp-thread-label {
	color: rgba(255, 255, 255, 0.9);
}

#ncp-offer-modal .ncp-thread-you .ncp-thread-body {
	color: rgba(255, 255, 255, 0.92);
}

#ncp-offer-modal .ncp-thread-vendor {
	border-left-color: #f97316;
	background: rgba(249, 115, 22, 0.24);
}

#ncp-offer-modal .ncp-thread-vendor .ncp-thread-label {
	color: #ffedd5;
}

#ncp-offer-modal .ncp-thread-vendor .ncp-thread-body {
	color: rgba(255, 255, 255, 0.96);
}

html[dir="rtl"] #ncp-offer-modal .ncp-modal-content,
html[dir="rtl"] #ncp-best-price-modal .ncp-modal-content {
	right: auto !important;
	left: 0 !important;
	border-left: none !important;
	border-right: 1px solid rgba(255, 255, 255, 0.28) !important;
	box-shadow: 8px 0 24px rgba(0, 0, 0, 0.22) !important;
	animation-name: masques-ncp-drawer-in-rtl;
}

@keyframes masques-ncp-drawer-in-rtl {
	from {
		transform: translateX(-105%);
	}
	to {
		transform: translateX(0);
	}
}

html[dir="rtl"] #ncp-offer-modal .ncp-close,
html[dir="rtl"] #ncp-best-price-modal .ncp-close {
	right: auto !important;
	left: 0.75rem !important;
}

/* Formulaire offre : même base CTA que ci-dessus ; ajustements layout uniquement */
#ncp-offer-modal .ncp-submit-btn {
	margin-top: 0.25rem;
	padding: 0.9rem 1rem !important;
	width: 100%;
	box-sizing: border-box;
}

#ncp-offer-modal #ncp-form-messages {
	border-radius: 2px !important;
	font-family: Montserrat, ui-sans-serif, system-ui, sans-serif !important;
	font-weight: 600;
	font-size: 0.875rem !important;
}

#ncp-offer-modal #ncp-form-messages.success {
	background: rgba(180, 240, 220, 0.55) !important;
	color: #063d2c !important;
	border: 2px solid #0a7a5c !important;
}

#ncp-offer-modal #ncp-form-messages.error {
	background: rgba(255, 210, 220, 0.55) !important;
	color: #5c0a18 !important;
	border: 2px solid #b01030 !important;
}

#ncp-best-price-modal .ncp-alert {
	margin: 0.5rem 2.25rem 0 0 !important;
	padding: 0.85rem 1rem !important;
	border-radius: 2px !important;
	font-family: Montserrat, ui-sans-serif, system-ui, sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 600;
	line-height: 1.45;
}

#ncp-best-price-modal .ncp-alert.ncp-success {
	background: rgba(180, 240, 220, 0.55) !important;
	border: 2px solid #0a7a5c !important;
	color: #063d2c !important;
}

#ncp-best-price-modal .ncp-alert.ncp-error {
	background: rgba(255, 210, 220, 0.55) !important;
	border: 2px solid #b01030 !important;
	color: #5c0a18 !important;
}

@media (prefers-reduced-motion: reduce) {
	#ncp-offer-modal .ncp-modal-content,
	#ncp-best-price-modal .ncp-modal-content {
		animation: none !important;
	}
}

/* -------------------------------------------------------------------------
   Page panier — même lecture que le tiroir mini-panier : bleu page, texte blanc,
   bordures rgba, pas de carte blanche (cf. .wc-block-mini-cart__drawer).
   ------------------------------------------------------------------------- */

/*
 * Lignes produit : plus grandes que le mini-panier (variable :root inchangée pour le tiroir).
 * Ciblage sous le main / le contenu pour ne pas agrandir le mini-panier dans le header.
 */
.masques-main--cart,
.masques-main--cart .entry-content,
.masques-main--cart .wp-block-post-content,
body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-block-post-content {
	--masques-cart-line-font-size: calc(1.48 * clamp(1.03125rem, 0.92rem + 0.45vw, 1.1875rem));
	/* Colonne prix ligne : nettement plus grand que le nom (Woo peut forcer un corps trop petit). */
	--masques-cart-line-price-font-size: clamp(1.1875rem, 1.02rem + 0.75vw, 1.5625rem);
}

.masques-main--cart .entry-content,
.masques-main--cart .wp-block-post-content {
	color: #fff;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
}

/* Titre de page « Panier » : Blippo (pas la colonne totaux). */
.masques-main--cart .wp-block-post-title,
body.woocommerce-cart .wp-block-post-title {
	font-family: var(--masques-font-blippo) !important;
	font-weight: 400 !important;
	font-synthesis: none;
}

.masques-main--cart .wc-block-cart {
	background: transparent !important;
	font-size: var(--masques-cart-line-font-size) !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/*
 * Panier blocs : liste puis totaux en une seule colonne blanche (pas de fente bleue ni totaux plus étroits).
 */
.masques-main--cart .wc-block-cart .wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	row-gap: 0 !important;
	column-gap: 0 !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-main,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar {
	border: none;
	box-sizing: border-box;
}

.masques-main--cart .wc-block-cart .wc-block-components-main,
body.woocommerce-cart .wc-block-cart .wc-block-components-main {
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar {
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
	margin-inline-start: 0 !important;
	margin-top: 0 !important;
}

/*
 * Colonne lignes produit : panneau blanc, texte bleu (même lecture que totaux / wishlist).
 */
.masques-main--cart .wc-block-cart .wc-block-components-main,
body.woocommerce-cart .wc-block-cart .wc-block-components-main {
	background: #fff !important;
	color: var(--masques-page-blue) !important;
	padding: clamp(1rem, 2.5vw, 1.75rem) !important;
	border-radius: 2px 2px 0 0 !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items__header th,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items__row,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-components-product-name,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-components-product-name a,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-components-product-metadata,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-components-product-metadata__description,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-components-product-metadata__description *,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items__row,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-components-product-name a,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-components-product-metadata__description *,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-components-formatted-money-amount {
	color: var(--masques-page-blue) !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items__header th {
	color: rgba(62, 176, 247, 0.88) !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items__row,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items td,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items th,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items__row,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items td,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items th {
	border-color: rgba(62, 176, 247, 0.3) !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-product-price,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-formatted-money-amount,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-formatted-money-amount {
	color: var(--masques-page-blue) !important;
}

/*
 * Carré bleu sur la vignette uniquement : pas sur le <td> (sinon la cellule suit la hauteur
 * de toute la ligne produit → bande bleue continue).
 */
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-item__image > a,
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-item__image > .wc-block-components-product-image,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-item__image > a,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-item__image > .wc-block-components-product-image {
	background: var(--masques-page-blue) !important;
}

/* Icône retirer : picto bleu sur fond clair */
.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-item__remove-link {
	color: var(--masques-page-blue) !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-main .wc-block-cart-item__remove-link::before,
body.woocommerce-cart .wc-block-cart .wc-block-components-main .wc-block-cart-item__remove-link::before {
	background: var(--masques-line-item-remove-icon) center / contain no-repeat;
}

/*
 * Structure enregistrée côté Woo : filled-cart-block > cart-items-block | cart-totals-block.
 * Même colonne que sidebar-layout : pas d’espace bleu entre sous-blocs.
 */
.masques-main--cart .wp-block-woocommerce-filled-cart-block,
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.masques-main--cart .wc-block-cart-items__header th,
.masques-main--cart .wc-block-cart-items__row,
.masques-main--cart .wc-block-components-product-name,
.masques-main--cart .wc-block-components-product-name a,
.masques-main--cart .wc-block-components-product-metadata,
.masques-main--cart .wc-block-components-product-metadata__description,
.masques-main--cart .wc-block-components-formatted-money-amount,
.masques-main--cart .wc-block-components-totals-item,
.masques-main--cart .wc-block-components-totals-item__label,
.masques-main--cart .wc-block-components-totals-item__value,
.masques-main--cart .wc-block-components-totals-item__description {
	color: #fff !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
}

.masques-main--cart .wc-block-cart-items__header th {
	color: rgba(255, 255, 255, 0.92) !important;
}

/*
 * Titre du bloc totaux : masqué — le libellé « Total panier » vient déjà de la ligne (filtre totalLabel).
 */
.masques-main--cart .wc-block-cart__totals-title,
body.woocommerce-cart .wc-block-cart__totals-title {
	display: none !important;
}

.masques-main--cart .wc-block-cart-items__row,
.masques-main--cart .wc-block-cart-items td,
.masques-main--cart .wc-block-cart-items th {
	border-color: rgba(255, 255, 255, 0.28) !important;
}

/* Lignes produit (bloc) : comme le mini-panier — pas de prix sous le nom, vignette plus grande */
.masques-main--cart .wc-block-cart-items {
	font-size: var(--masques-cart-line-font-size) !important;
	line-height: 1.45;
}

/* Nom produit (lien) : taille explicite — les liens dans le contenu peuvent rester plus petits que le corps de ligne */
body.woocommerce-cart .wc-block-cart-items .wc-block-components-product-name,
.masques-main--cart .wc-block-cart-items .wc-block-components-product-name {
	font-size: var(--masques-cart-line-font-size) !important;
	line-height: 1.35 !important;
}

/* Courte description (itemShortDescription) : non affichée sur la page panier */
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-components-product-metadata__description,
.masques-main--cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-components-product-metadata__description {
	display: none !important;
}

/* Prix par ligne : sous le titre dans la colonne produit (colonne Total du tableau masquée) */
.masques-main--cart .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-product-price,
.masques-main--cart .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-formatted-money-amount,
.masques-main--cart .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices .wc-block-components-formatted-money-amount {
	font-size: var(--masques-cart-line-price-font-size) !important;
	line-height: 1.25 !important;
	color: #fff !important;
}

.masques-main--cart .woocommerce-cart-form .shop_table td.product-subtotal,
.masques-main--cart .woocommerce-cart-form .shop_table td.product-subtotal .amount,
body.woocommerce-cart .woocommerce-cart-form .shop_table td.product-subtotal,
body.woocommerce-cart .woocommerce-cart-form .shop_table td.product-subtotal .amount {
	font-size: var(--masques-cart-line-price-font-size) !important;
}

/* Modèle sans wrapper : la variable reste résolue sur body.woocommerce-cart */
body.woocommerce-cart {
	--masques-cart-line-price-font-size: clamp(1.1875rem, 1.02rem + 0.75vw, 1.5625rem);
}

/*
 * Panier blocs : masquer la colonne « Total » — le titre occupe toute la largeur utile ;
 * le montant est dans .wc-block-cart-item__prices (sous le nom), aligné à droite.
 */
.masques-main--cart .wc-block-cart-items__header-total,
.masques-main--cart td.wc-block-cart-item__total,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__header-total,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__row > td.wc-block-cart-item__total {
	display: none !important;
}

.masques-main--cart .wc-block-cart-item__product .wc-block-cart-item__wrap,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-cart-item__wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
}

.masques-main--cart .wc-block-cart-item__product .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.masques-main--cart .wc-block-cart-item__product .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-cart-item__prices {
	display: block !important;
	text-align: right !important;
	width: 100% !important;
	margin: 0.2rem 0 0 !important;
	padding: 0 !important;
}

.masques-main--cart .wc-block-cart-item__product .wc-block-cart-item__prices .price,
body.woocommerce-cart .wc-block-cart-item__product .wc-block-cart-item__prices .price {
	display: block !important;
	text-align: right !important;
	justify-content: flex-end !important;
}

/*
 * Colonne image page panier : alignée sur le tiroir (--masques-cart-thumb-col-width).
 * 1) body.woocommerce-cart = fonctionne même si le modèle en base diffère du fichier thème.
 * 2) Dépendance wc-blocks-packages-style (functions.php) pour gagner contre les paquets Woo.
 * 3) HTML courant : <td><a><img></a></td> (sans wc-block-components-product-image).
 */
/*
 * Page panier (mobile / étroit) : Woo passe les lignes en grille (.is-small / .is-mobile),
 * ce qui chevauche vignette et texte — même rétablissement qu’au mini-panier (tiroir).
 */
.masques-main--cart table.wc-block-cart-items,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) {
	display: table !important;
	table-layout: fixed !important;
	width: 100% !important;
	border-collapse: collapse;
}

.masques-main--cart table.wc-block-cart-items thead,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) thead {
	display: table-header-group !important;
}

.masques-main--cart table.wc-block-cart-items tbody,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) tbody {
	display: table-row-group !important;
}

.masques-main--cart table.wc-block-cart-items .wc-block-cart-items__row,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__row {
	display: table-row !important;
}

.masques-main--cart table.wc-block-cart-items .wc-block-cart-items__header th:not(.wc-block-cart-items__header-total),
.masques-main--cart table.wc-block-cart-items .wc-block-cart-items__row > td:not(.wc-block-cart-item__total),
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__header th:not(.wc-block-cart-items__header-total),
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__row > td:not(.wc-block-cart-item__total) {
	display: table-cell !important;
	vertical-align: top;
}

.masques-main--cart table.wc-block-cart-items .wc-block-cart-items__row > td:not(.wc-block-cart-item__total),
.masques-main--cart table.wc-block-cart-items .wc-block-cart-items__header th:not(.wc-block-cart-items__header-total),
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__row > td:not(.wc-block-cart-item__total),
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__header th:not(.wc-block-cart-items__header-total) {
	grid-column: unset !important;
	grid-row: unset !important;
	grid-column-start: unset !important;
	grid-column-end: unset !important;
	grid-row-start: unset !important;
	align-self: unset !important;
	justify-self: unset !important;
}

/*
 * Colonne Total : ne pas la traiter comme une cellule de tableau (sinon elle repasse en table-cell
 * et la grille Woo remet le prix à droite du titre sur mobile).
 */
.masques-main--cart table.wc-block-cart-items .wc-block-cart-items__header th.wc-block-cart-items__header-total,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__header th.wc-block-cart-items__header-total,
.masques-main--cart table.wc-block-cart-items .wc-block-cart-items__row > td.wc-block-cart-item__total,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__row > td.wc-block-cart-item__total {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.masques-main--cart table.wc-block-cart-items .wc-block-cart-item__quantity,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__quantity {
	grid-column: unset !important;
	grid-row: unset !important;
}

.masques-main--cart .wc-block-cart-item__product,
body.woocommerce-cart .wc-block-cart-item__product {
	padding-left: 0.75rem !important;
	min-width: 0;
}

.masques-main--cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__header-image,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__header-image {
	width: var(--masques-line-item-thumb-square) !important;
	min-width: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
}

.wc-block-mini-cart__drawer .wc-block-cart-items__header-image {
	width: var(--masques-cart-thumb-col-width) !important;
	min-width: var(--masques-cart-thumb-col-width) !important;
	max-width: var(--masques-cart-thumb-col-width) !important;
}

.masques-main--cart td.wc-block-cart-item__image,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image {
	width: var(--masques-line-item-thumb-square) !important;
	min-width: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	vertical-align: top !important;
	box-sizing: border-box !important;
}

.wc-block-mini-cart__drawer td.wc-block-cart-item__image {
	width: var(--masques-cart-thumb-col-width) !important;
	min-width: var(--masques-cart-thumb-col-width) !important;
	max-width: var(--masques-cart-thumb-col-width) !important;
	vertical-align: top !important;
	box-sizing: border-box !important;
}

/* Page panier : pas de fond sur le <td> (hauteur = ligne entière). Bleu = lien / bloc image seulement. */
.masques-main--cart td.wc-block-cart-item__image,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image {
	background: transparent !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

.masques-main--cart .wc-block-cart-item__image > a,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image > a,
.masques-main--cart td.wc-block-cart-item__image > .wc-block-components-product-image,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > .wc-block-components-product-image {
	background: var(--masques-page-blue) !important;
}

.masques-main--cart td.wc-block-cart-item__image .wc-block-components-product-image__inner-container,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wc-block-components-product-image__inner-container {
	background: transparent !important;
}

.masques-main--cart .wc-block-cart-item__image > a,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image > a {
	display: grid !important;
	place-items: center !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-template-rows: minmax(0, 1fr) !important;
	width: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	height: var(--masques-line-item-thumb-square) !important;
	min-height: var(--masques-line-item-thumb-square) !important;
	max-height: var(--masques-line-item-thumb-square) !important;
	line-height: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	position: relative !important;
}

/*
 * Variante ProductImage Woo : <td><div class="…product-image"><a>img + __inner-container</a></div></td>
 * Le <a> est en flex row par défaut → image et inner-container côte à côte (bandes bleues / blanches).
 * Colonne + <a> plein carré + inner vide masqué = même carré que <td><a><img>.
 */
.masques-main--cart td.wc-block-cart-item__image > .wc-block-components-product-image,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > .wc-block-components-product-image {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	position: relative !important;
	width: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	min-width: 0 !important;
	height: var(--masques-line-item-thumb-square) !important;
	min-height: var(--masques-line-item-thumb-square) !important;
	max-height: var(--masques-line-item-thumb-square) !important;
	margin: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	aspect-ratio: unset !important;
}

.masques-main--cart td.wc-block-cart-item__image > .wc-block-components-product-image > a,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > .wc-block-components-product-image > a {
	display: grid !important;
	place-items: center !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-template-rows: minmax(0, 1fr) !important;
	align-self: stretch !important;
	flex: 1 1 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	line-height: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	position: relative !important;
}

.masques-main--cart .wc-block-cart-item__image > a .wc-block-components-product-image,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image > a .wc-block-components-product-image {
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	background: transparent !important;
}

.masques-main--cart td.wc-block-cart-item__image .wc-block-components-product-image .wc-block-components-product-image__inner-container,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wc-block-components-product-image .wc-block-components-product-image__inner-container {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	flex: 0 0 auto !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	position: static !important;
	inset: auto !important;
	z-index: auto !important;
}

/*
 * Inner blocks Woo : souvent une div « vide » avec whitespace → :empty ne matche pas ;
 * :not(:has(> *)) évite une colonne fantôme à côté de l’image (flex row par défaut du <a>).
 */
.masques-main--cart td.wc-block-cart-item__image .wc-block-components-product-image__inner-container:is(:empty, :not(:has(> *))),
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wc-block-components-product-image__inner-container:is(:empty, :not(:has(> *))) {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	flex: 0 0 0 !important;
}

/* Badge promo dans le lien : hors flux pour ne pas casser la grille 104×104 ni élargir le carré. */
.masques-main--cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wp-block-woocommerce-product-sale-badge,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wp-block-woocommerce-product-sale-badge,
.masques-main--cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wc-block-components-product-sale-badge,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wc-block-components-product-sale-badge {
	position: absolute !important;
	top: 2px !important;
	right: 2px !important;
	left: auto !important;
	bottom: auto !important;
	margin: 0 !important;
	z-index: 2 !important;
	max-width: calc(100% - 6px) !important;
	pointer-events: none !important;
}

.masques-main--cart .wc-block-cart-item__image img,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image img {
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	max-height: 100% !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	display: block !important;
	aspect-ratio: auto !important;
	border: 0 !important;
	border-style: none !important;
	background: transparent none !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* Image directement dans la cellule : le carré bleu est sur l’<img> (pas sur le <td>). */
.masques-main--cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > img,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > img {
	width: var(--masques-line-item-thumb-square) !important;
	height: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	max-height: var(--masques-line-item-thumb-square) !important;
	object-fit: contain !important;
	object-position: center !important;
	background-color: var(--masques-page-blue) !important;
	border: 0 !important;
	box-sizing: border-box !important;
}

/* Attributs width/height WordPress sur <img> */
.masques-main--cart .wc-block-cart-item__image img[width],
.masques-main--cart .wc-block-cart-item__image img[height],
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image img[width],
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image img[height] {
	max-width: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	height: auto !important;
}

@media (max-width: 782px) {
	.masques-main--cart .wc-block-cart-item__image > a,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image > a {
		display: grid !important;
		place-items: center !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: minmax(0, 1fr) !important;
		width: var(--masques-line-item-thumb-square) !important;
		max-width: var(--masques-line-item-thumb-square) !important;
		height: var(--masques-line-item-thumb-square) !important;
		min-height: var(--masques-line-item-thumb-square) !important;
		max-height: var(--masques-line-item-thumb-square) !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		position: relative !important;
	}

	.masques-main--cart td.wc-block-cart-item__image > .wc-block-components-product-image,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > .wc-block-components-product-image {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		width: var(--masques-line-item-thumb-square) !important;
		max-width: var(--masques-line-item-thumb-square) !important;
		height: var(--masques-line-item-thumb-square) !important;
		min-height: var(--masques-line-item-thumb-square) !important;
		max-height: var(--masques-line-item-thumb-square) !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		aspect-ratio: unset !important;
	}

	.masques-main--cart td.wc-block-cart-item__image > .wc-block-components-product-image > a,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > .wc-block-components-product-image > a {
		display: grid !important;
		place-items: center !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: minmax(0, 1fr) !important;
		align-self: stretch !important;
		flex: 1 1 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		height: 100% !important;
		min-height: 0 !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
		position: relative !important;
	}

	.masques-main--cart td.wc-block-cart-item__image .wc-block-components-product-image .wc-block-components-product-image__inner-container,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image .wc-block-components-product-image .wc-block-components-product-image__inner-container {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		flex: 0 0 auto !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.masques-main--cart .wc-block-cart-item__image img,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 100% !important;
		min-height: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
		aspect-ratio: unset !important;
		border: 0 !important;
		background: transparent none !important;
		background-color: transparent !important;
		box-shadow: none !important;
	}

	.masques-main--cart .wc-block-cart-item__image img[width],
	.masques-main--cart .wc-block-cart-item__image img[height],
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image img[width],
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__image img[height] {
		max-width: 100% !important;
		max-height: 100% !important;
		width: auto !important;
		height: auto !important;
	}

	/* Image directement dans la cellule : carré bleu sur l’image, pas sur le <td>. */
	.masques-main--cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > img,
	body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) td.wc-block-cart-item__image > img {
		width: var(--masques-line-item-thumb-square) !important;
		height: var(--masques-line-item-thumb-square) !important;
		max-width: var(--masques-line-item-thumb-square) !important;
		max-height: var(--masques-line-item-thumb-square) !important;
		object-fit: contain !important;
		object-position: center !important;
		background-color: var(--masques-page-blue) !important;
		box-sizing: border-box !important;
	}

	/*
	 * Mini-panier (tiroir) : hauteur fixe historique (non carrée).
	 */
	.wc-block-mini-cart__drawer td.wc-block-cart-item__image {
		height: var(--masques-cart-thumb-img-fixed-height) !important;
		max-height: var(--masques-cart-thumb-img-fixed-height) !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__image > a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		height: var(--masques-cart-thumb-img-fixed-height) !important;
		min-height: var(--masques-cart-thumb-img-fixed-height) !important;
		max-height: var(--masques-cart-thumb-img-fixed-height) !important;
		overflow: hidden !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__image .wc-block-components-product-image {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		height: var(--masques-cart-thumb-img-fixed-height) !important;
		min-height: var(--masques-cart-thumb-img-fixed-height) !important;
		max-height: var(--masques-cart-thumb-img-fixed-height) !important;
		overflow: hidden !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__image .wc-block-components-product-image__inner-container {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		max-height: none !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__image img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 100% !important;
		min-height: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
		aspect-ratio: unset !important;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__image img[width],
	.wc-block-mini-cart__drawer .wc-block-cart-item__image img[height] {
		max-width: 100% !important;
		max-height: 100% !important;
		width: auto !important;
		height: auto !important;
	}

	.wc-block-mini-cart__drawer table.wc-block-cart-items td.wc-block-cart-item__image > img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 100% !important;
		object-fit: contain !important;
	}
}

.masques-main--cart .wc-block-components-sidebar .wc-block-components-panel,
.masques-main--cart .wc-block-components-sidebar .wc-block-components-panel__button {
	color: #fff !important;
}

.masques-main--cart .wc-block-components-sidebar .wc-block-components-panel__button:hover {
	color: #fff !important;
	opacity: 0.92;
}

.masques-main--cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.masques-main--cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus {
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: rgba(255, 255, 255, 0.45) !important;
	color: #fff !important;
	font-size: inherit !important;
}

.masques-main--cart .wc-block-components-totals-coupon__form .wc-block-components-button {
	background: transparent !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border: var(--masques-btn-cta-secondary-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	font-size: var(--masques-cart-cta-font-size) !important;
}

.masques-main--cart .wc-block-components-totals-coupon__form .wc-block-components-button:hover:not(:disabled) {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
}

/*
 * Colonne droite (totaux, code promo, Commander) : panneau blanc, texte et montants bleus — comme wishlist / Mon compte.
 */
.masques-main--cart .wc-block-cart .wc-block-components-sidebar,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar {
	background: #fff !important;
	color: var(--masques-page-blue) !important;
	padding: clamp(1rem, 2.5vw, 1.75rem) !important;
	border-radius: 0 0 2px 2px !important;
	box-sizing: border-box !important;
}

/* Contenu interne Woo (récap, CTA) : même largeur que la liste produits */
.masques-main--cart .wc-block-cart .wc-block-components-sidebar > *,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar > * {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-formatted-money-amount,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__label,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__value,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__description,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item__label,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item__value,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-formatted-money-amount,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-item__description,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item__label,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-footer-item__value {
	color: var(--masques-page-blue) !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-panel,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-panel__button,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-panel,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-panel__button {
	color: var(--masques-page-blue) !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-panel__button:hover,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-panel__button:hover {
	color: var(--masques-page-blue) !important;
	opacity: 0.88;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus {
	background: #fff !important;
	border-color: rgba(0, 0, 0, 0.22) !important;
	color: #222 !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-button,
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-button {
	background: transparent !important;
	color: var(--masques-page-blue) !important;
	border: 2px solid var(--masques-page-blue) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-button:hover:not(:disabled),
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-coupon__form .wc-block-components-button:hover:not(:disabled) {
	background: rgba(62, 176, 247, 0.08) !important;
	border-color: var(--masques-page-blue) !important;
	color: var(--masques-page-blue) !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar a:not(.wc-block-components-button),
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar a:not(.wc-block-components-button) {
	color: var(--masques-page-blue) !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* CTA Commander dans la colonne totaux : plein bleu comme les boutons Mon compte / wishlist */
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link),
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit-container .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit-container .wc-block-components-button:not(.is-link) {
	background: var(--masques-page-blue) !important;
	color: #fff !important;
	border: 2px solid var(--masques-page-blue) !important;
}

.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):hover:not(:disabled),
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):focus:not(:disabled),
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):hover:not(:disabled),
.masques-main--cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):focus:not(:disabled),
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):hover:not(:disabled),
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):focus:not(:disabled),
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):hover:not(:disabled),
body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):focus:not(:disabled) {
	background: var(--masques-page-blue) !important;
	color: #fff !important;
	border-color: var(--masques-page-blue) !important;
	opacity: 0.92;
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow) !important;
}

/* Retirer — picto bleu sur le panneau blanc (pas blanc sur blanc). Mini-panier : icône blanche inchangée. */
.masques-main--cart .wc-block-cart-item__remove-link,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0 !important;
	margin: 0;
	box-sizing: border-box;
	position: relative;
	border: 0;
	background: transparent !important;
	color: var(--masques-page-blue) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	text-indent: -9999px;
	overflow: visible;
	white-space: nowrap;
	cursor: pointer;
	vertical-align: middle;
	box-shadow: none !important;
}

.masques-main--cart .wc-block-cart-item__remove-link:hover,
.masques-main--cart .wc-block-cart-item__remove-link:focus,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link:focus {
	background: transparent !important;
}

.masques-main--cart .wc-block-cart-item__remove-link::before,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link::before {
	content: "";
	display: block;
	width: 1.35rem;
	height: 1.35rem;
	flex-shrink: 0;
	text-indent: 0;
	transform: translateY(0);
	filter: none;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
	background: var(--masques-line-item-remove-icon) center / contain no-repeat;
}

.masques-main--cart .wc-block-cart-item__remove-link:hover::before,
.masques-main--cart .wc-block-cart-item__remove-link:focus::before,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link:hover::before,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link:focus::before {
	transform: translateY(var(--masques-btn-cta-hover-lift));
	filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.22));
}

.masques-main--cart .wc-block-cart-item__remove-link svg,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link svg {
	display: none !important;
}

.masques-main--cart .wc-block-cart-item__remove-link:focus-visible,
body.woocommerce-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-item__remove-link:focus-visible {
	outline: none;
}

/* Pas de +/- sur la page panier (même règle métier que le mini-panier) */
.masques-main--cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	display: none !important;
}

/* Panier classique (shortcode) : masquer quantité + prix unitaire (comme le tiroir : total uniquement à droite) */
.masques-main--cart .woocommerce-cart-form .shop_table th.product-quantity,
.masques-main--cart .woocommerce-cart-form .shop_table td.product-quantity,
.masques-main--cart .woocommerce-cart-form .shop_table th.product-price,
.masques-main--cart .woocommerce-cart-form .shop_table td.product-price {
	display: none !important;
}

.masques-main--cart .woocommerce-cart-form td.product-thumbnail,
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail {
	width: var(--masques-line-item-thumb-square);
	min-width: var(--masques-line-item-thumb-square);
	max-width: var(--masques-line-item-thumb-square);
	vertical-align: top;
	box-sizing: border-box;
	background: transparent !important;
}

.masques-main--cart .woocommerce-cart-form td.product-thumbnail > a,
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail > a {
	display: grid !important;
	place-items: center !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-template-rows: minmax(0, 1fr) !important;
	width: var(--masques-line-item-thumb-square) !important;
	max-width: var(--masques-line-item-thumb-square) !important;
	height: var(--masques-line-item-thumb-square) !important;
	min-height: var(--masques-line-item-thumb-square) !important;
	max-height: var(--masques-line-item-thumb-square) !important;
	background: var(--masques-page-blue) !important;
	line-height: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	position: relative !important;
}

.masques-main--cart .woocommerce-cart-form .product-thumbnail img,
body.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 100% !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	border: 0 !important;
	border-style: none !important;
	background: transparent none !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* Panier classique : lien retirer = même poubelle que le panier blocs. */
.masques-main--cart .woocommerce-cart-form td.product-remove a.remove,
body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-width: 2.5rem !important;
	min-height: 2.5rem !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--masques-page-blue) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-decoration: none !important;
	text-indent: -9999px !important;
	overflow: visible !important;
	white-space: nowrap !important;
	vertical-align: middle !important;
	box-shadow: none !important;
	position: relative !important;
}

.masques-main--cart .woocommerce-cart-form td.product-remove a.remove::before {
	content: "" !important;
	display: block !important;
	width: 1.35rem !important;
	height: 1.35rem !important;
	flex-shrink: 0 !important;
	text-indent: 0 !important;
	transform: translateY(0) !important;
	filter: none !important;
	background: var(--masques-line-item-remove-icon) center / contain no-repeat !important;
	transition:
		transform var(--masques-btn-cta-motion-duration) ease,
		filter var(--masques-btn-cta-motion-duration) ease;
}

.masques-main--cart .woocommerce-cart-form td.product-remove a.remove:hover,
.masques-main--cart .woocommerce-cart-form td.product-remove a.remove:focus,
body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:hover,
body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:focus {
	background: transparent !important;
	color: var(--masques-page-blue) !important;
}

.masques-main--cart .woocommerce-cart-form td.product-remove a.remove:hover::before,
.masques-main--cart .woocommerce-cart-form td.product-remove a.remove:focus::before,
body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:hover::before,
body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:focus::before {
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	filter: drop-shadow(0 5px 16px rgba(0, 0, 0, 0.22)) !important;
}

.masques-main--cart .woocommerce table.shop_table,
.masques-main--cart .woocommerce table.shop_table th,
.masques-main--cart .woocommerce table.shop_table td {
	border-color: rgba(255, 255, 255, 0.28) !important;
	color: #fff !important;
}

.masques-main--cart .woocommerce table.shop_table a {
	color: #fff !important;
}

.masques-main--cart .woocommerce .cart-collaterals,
body.woocommerce-cart .woocommerce .cart-collaterals {
	color: #fff !important;
}

/* Panier classique : écarter le bloc totaux de la liste produits */
.masques-main--cart .woocommerce .cart-collaterals,
body.woocommerce-cart .woocommerce .cart-collaterals {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

@media (min-width: 768px) {
	.masques-main--cart .woocommerce .cart-collaterals,
	body.woocommerce-cart .woocommerce .cart-collaterals {
		margin-top: 0;
		margin-left: clamp(1.75rem, 4.5vw, 3.25rem);
	}
}

/* Panier classique : totaux à droite — panneau blanc / texte bleu (aligné wishlist / Mon compte). */
.masques-main--cart .woocommerce .cart_totals,
body.woocommerce-cart .woocommerce .cart_totals {
	background: #fff !important;
	color: var(--masques-page-blue) !important;
	padding: clamp(1rem, 2.5vw, 1.75rem) !important;
	border-radius: 2px !important;
	box-sizing: border-box !important;
}

.masques-main--cart .woocommerce .cart_totals table.shop_table,
.masques-main--cart .woocommerce .cart_totals table.shop_table th,
.masques-main--cart .woocommerce .cart_totals table.shop_table td,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table th,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table td {
	border-color: rgba(62, 176, 247, 0.35) !important;
	color: var(--masques-page-blue) !important;
}

.masques-main--cart .woocommerce .cart_totals table.shop_table a,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table a {
	color: var(--masques-page-blue) !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.masques-main--cart .woocommerce .cart_totals .woocommerce-shipping-calculator .shipping-calculator-form input,
.masques-main--cart .woocommerce .cart_totals .woocommerce-shipping-calculator .shipping-calculator-form select,
body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-calculator .shipping-calculator-form input,
body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-calculator .shipping-calculator-form select {
	color: #222 !important;
}

.masques-main--cart .woocommerce .cart_totals a.checkout-button,
.masques-main--cart .woocommerce .cart_totals .checkout-button,
body.woocommerce-cart .woocommerce .cart_totals a.checkout-button,
body.woocommerce-cart .woocommerce .cart_totals .checkout-button {
	background: var(--masques-page-blue) !important;
	color: #fff !important;
	border: 2px solid var(--masques-page-blue) !important;
}

.masques-main--cart .woocommerce .cart_totals h2 {
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
	font-weight: 600 !important;
	color: var(--masques-page-blue) !important;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem) !important;
}

/* Panier classique : liste produits — même panneau blanc que les blocs. */
.masques-main--cart .woocommerce-cart-form,
body.woocommerce-cart .woocommerce-cart-form {
	background: #fff !important;
	color: var(--masques-page-blue) !important;
	padding: clamp(1rem, 2.5vw, 1.75rem) !important;
	border-radius: 2px !important;
	box-sizing: border-box !important;
}

.masques-main--cart .woocommerce-cart-form table.shop_table,
.masques-main--cart .woocommerce-cart-form table.shop_table th,
.masques-main--cart .woocommerce-cart-form table.shop_table td,
body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .woocommerce-cart-form table.shop_table th,
body.woocommerce-cart .woocommerce-cart-form table.shop_table td {
	border-color: rgba(62, 176, 247, 0.35) !important;
	color: var(--masques-page-blue) !important;
}

.masques-main--cart .woocommerce-cart-form table.shop_table a,
body.woocommerce-cart .woocommerce-cart-form table.shop_table a {
	color: var(--masques-page-blue) !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}


.masques-main--cart .woocommerce-cart-form .shop_table {
	font-size: var(--masques-cart-line-font-size) !important;
}

.masques-main--cart .wc-block-cart__empty-cart__title,
.masques-main--cart .wp-block-woocommerce-empty-cart-block h2 {
	color: #fff !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
	font-weight: 600 !important;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem) !important;
}

.masques-main--cart .wc-block-cart__empty-cart-wrapper a,
.masques-main--cart .wp-block-woocommerce-empty-cart-block a {
	color: #fff !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.masques-main--cart .wc-block-cart__empty-cart-wrapper a:hover,
.masques-main--cart .wp-block-woocommerce-empty-cart-block a:hover {
	opacity: 0.92;
}

/* CTA « Commander » : même contour / animation lift + ombre que mini-panier et fiche produit */
.masques-main--cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link),
.masques-main--cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link) {
	position: relative !important;
	overflow: visible !important;
	cursor: pointer;
	font-family: var(--masques-btn-cta-font) !important;
	font-size: var(--masques-cart-cta-font-size) !important;
	line-height: var(--masques-btn-cta-line-height) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-synthesis: none;
	background: transparent !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border: var(--masques-btn-cta-secondary-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	box-shadow: none !important;
	text-transform: uppercase !important;
	letter-spacing: var(--masques-btn-cta-secondary-letter-spacing) !important;
	text-shadow: none !important;
	transform: translateY(0) !important;
	transition:
		background var(--masques-btn-cta-motion-duration) ease,
		border-color var(--masques-btn-cta-motion-duration) ease,
		color var(--masques-btn-cta-motion-duration) ease,
		opacity var(--masques-btn-cta-motion-duration) ease,
		transform var(--masques-btn-cta-motion-duration) ease,
		box-shadow var(--masques-btn-cta-motion-duration) ease;
}

.masques-main--cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):hover:not(:disabled),
.masques-main--cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):focus:not(:disabled),
.masques-main--cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):hover:not(:disabled),
.masques-main--cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):focus:not(:disabled),
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):hover:not(:disabled),
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):focus:not(:disabled),
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):hover:not(:disabled),
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):focus:not(:disabled) {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
	transform: translateY(var(--masques-btn-cta-hover-lift)) !important;
	box-shadow: var(--masques-btn-cta-hover-shadow) !important;
}

.masques-main--cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):focus-visible,
.masques-main--cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):focus-visible,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):focus-visible,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):focus-visible {
	outline: none;
}

.masques-main--cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):disabled,
.masques-main--cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):disabled,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):disabled,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):disabled {
	opacity: var(--masques-btn-cta-disabled-opacity) !important;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.masques-main--cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link),
	.masques-main--cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link),
	body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link),
	body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link) {
		transition: none;
	}

	.masques-main--cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):hover,
	.masques-main--cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):focus,
	.masques-main--cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):hover,
	.masques-main--cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):focus,
	body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):hover,
	body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:not(.is-link):focus,
	body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):hover,
	body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):focus {
		transform: none !important;
		box-shadow: none !important;
	}
}

/* -------------------------------------------------------------------------
   Page caisse — alignée sur la page panier (bleu, texte blanc, même échelle UI).
   ------------------------------------------------------------------------- */

.masques-main--checkout .entry-content,
.masques-main--checkout .wp-block-post-content {
	color: #fff;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
}

.masques-main--checkout .wc-block-checkout {
	background: transparent !important;
	color: #fff !important;
	font-size: var(--masques-cart-line-font-size) !important;
}

.masques-main--checkout .wc-block-checkout .wc-block-components-sidebar-layout {
	gap: 1rem 1.25rem;
	align-items: flex-start;
}

.masques-main--checkout .wc-block-checkout .wc-block-components-main,
.masques-main--checkout .wc-block-checkout .wc-block-components-sidebar {
	background: transparent !important;
	border: none;
	box-sizing: border-box;
	padding: 0 !important;
	color: #fff !important;
}

/* Titres d’étapes + récap : même échelle que le panier */
.masques-main--checkout .wc-block-components-title,
.masques-main--checkout .wc-block-components-checkout-step__title,
.masques-main--checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
	color: #fff !important;
	font-family: var(--masques-drawer-title-font) !important;
	font-weight: 400 !important;
	font-size: var(--masques-cart-drawer-title-size) !important;
	line-height: var(--masques-drawer-title-line-height) !important;
	letter-spacing: var(--masques-drawer-title-letter-spacing) !important;
}

.masques-main--checkout .wc-block-components-checkout-step__description {
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
	font-size: var(--masques-cart-line-font-size) !important;
	opacity: 0.95;
}

.masques-main--checkout .wc-block-components-product-name,
.masques-main--checkout .wc-block-components-product-name a,
.masques-main--checkout .wc-block-components-product-metadata,
.masques-main--checkout .wc-block-components-formatted-money-amount,
.masques-main--checkout .wc-block-components-totals-item,
.masques-main--checkout .wc-block-components-totals-item__label,
.masques-main--checkout .wc-block-components-totals-item__value,
.masques-main--checkout .wc-block-components-totals-item__description,
.masques-main--checkout .wc-block-components-order-summary-item__individual-prices,
.masques-main--checkout .wc-block-components-order-summary-item__total-price,
.masques-main--checkout label,
.masques-main--checkout .wc-block-components-text-input label,
.masques-main--checkout .wc-block-components-checkbox__label,
.masques-main--checkout .wc-block-components-radio-control__label,
.masques-main--checkout .wc-block-components-radio-control__option-layout,
.masques-main--checkout .wc-block-components-address-card,
.masques-main--checkout .wc-block-components-address-card address {
	color: #fff !important;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif !important;
}

.masques-main--checkout .wc-block-components-order-summary-item {
	border-color: rgba(255, 255, 255, 0.28) !important;
}

.masques-main--checkout .wc-block-components-order-summary-item__image img,
.masques-main--checkout .wc-block-components-order-summary-item .wc-block-components-product-image img {
	width: auto !important;
	max-width: var(--masques-cart-thumb-col-width) !important;
	height: auto !important;
	max-height: var(--masques-cart-thumb-img-min-height) !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	border: var(--masques-product-image-border) !important;
	background: var(--masques-product-image-bg) !important;
	box-sizing: border-box !important;
}

.masques-main--checkout .wc-block-components-checkout-step {
	border-color: rgba(255, 255, 255, 0.28) !important;
}

.masques-main--checkout .wc-block-components-checkout-step::after {
	border-color: rgba(255, 255, 255, 0.28) !important;
}

.masques-main--checkout a:not(.wc-block-components-button):not(.wc-block-cart-item__remove-link) {
	color: #fff !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.masques-main--checkout a:not(.wc-block-components-button):not(.wc-block-cart-item__remove-link):hover {
	opacity: 0.92;
}

/* Champs texte / textarea : même traitement que coupon page panier */
.masques-main--checkout .wc-block-components-text-input input,
.masques-main--checkout .wc-block-components-text-input textarea,
.masques-main--checkout textarea.wc-block-components-textarea {
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: rgba(255, 255, 255, 0.45) !important;
	color: #fff !important;
	font-size: inherit !important;
}

/*
 * Libellé « Pays : » au-dessus du champ (fond bleu) — pas dans la ligne blanche du <select>
 * (sinon texte blanc illisible sur le fond blanc du composant Woo).
 */
.masques-main--checkout .wc-block-components-address-form__country:has(select#billing-country),
.masques-main--checkout .wc-block-components-address-form__country:has(select#shipping-country) {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
}

.masques-main--checkout .wc-block-components-address-form__country:has(select#billing-country)::before,
.masques-main--checkout .wc-block-components-address-form__country:has(select#shipping-country)::before {
	content: "Pays : ";
	color: #fff;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	font-size: var(--masques-cart-line-font-size);
	line-height: 1.3;
	white-space: nowrap;
}


.masques-main--checkout .wc-block-components-select:has(select#billing_country)::before,
.masques-main--checkout .wc-block-components-select:has(select#shipping_country)::before {
	content: "Pays : ";
	color: #fff;
	font-family: var(--wp--preset--font-family--montserrat), system-ui, sans-serif;
	font-size: var(--masques-cart-line-font-size);
	line-height: 1.3;
	white-space: nowrap;
	display: block;
	margin-bottom: 0.35rem;
}

/* Éviter doublon avec le libellé Woo « Pays/Région » (le préfixe le remplace visuellement). */
.masques-main--checkout .wc-blocks-components-select__container:has(select#billing-country) > .wc-blocks-components-select__label,
.masques-main--checkout .wc-blocks-components-select__container:has(select#shipping-country) > .wc-blocks-components-select__label {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

/*
 * <select> : ne pas appliquer texte blanc — le rendu natif du libellé choisi repasse souvent
 * sur fond blanc (OS / Woo) → blanc sur blanc. Fond clair + texte foncé pour le champ fermé.
 * Hauteur + line-height explicites : sinon le line-height hérité du bloc (≈1.45) décale le texte vers le bas.
 */
.masques-main--checkout .wc-block-components-select select,
.masques-main--checkout .wc-blocks-components-select select,
.masques-main--checkout select {
	background: #fff !important;
	border-color: rgba(0, 0, 0, 0.16) !important;
	border-width: 1px !important;
	border-style: solid !important;
	color: #1a1a1a !important;
	font-size: inherit !important;
	box-sizing: border-box !important;
	/* Aligné sur la hauteur visuelle des champs texte voisins (~3rem avec bordures). */
	min-height: 3rem !important;
	height: 3rem !important;
	padding: 0 2.5rem 0 0.875rem !important;
	margin: 0 !important;
	line-height: calc(3rem - 2px) !important;
	vertical-align: middle;
}

/* Pays (WC Blocks, id en tirets) : centrage vertical — height fixe + line-height se bat avec le composant */
.masques-main--checkout select#billing-country,
.masques-main--checkout select#shipping-country {
	height: auto !important;
	min-height: 2.875rem !important;
	max-height: none !important;
	padding: 0.5rem 2.35rem 0.55rem 0.75rem !important;
	line-height: 1.45 !important;
}

/*
 * Liste déroulante native : options cohérentes avec le champ.
 */
.masques-main--checkout select option,
.masques-main--checkout select optgroup {
	color: #1a1a1a !important;
	background-color: #fff !important;
}

.masques-main--checkout .wc-block-components-text-input input:focus,
.masques-main--checkout .wc-block-components-text-input textarea:focus,
.masques-main--checkout textarea.wc-block-components-textarea:focus {
	background: rgba(255, 255, 255, 0.14) !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
	color: #fff !important;
	outline: none;
}

.masques-main--checkout .wc-block-components-select select:focus,
.masques-main--checkout .wc-blocks-components-select select:focus,
.masques-main--checkout select:focus {
	background: #fff !important;
	border-color: rgba(0, 0, 0, 0.28) !important;
	color: #1a1a1a !important;
	outline: none;
	min-height: 3rem !important;
	height: 3rem !important;
	padding: 0 2.5rem 0 0.875rem !important;
	line-height: calc(3rem - 2px) !important;
}

.masques-main--checkout select#billing-country:focus,
.masques-main--checkout select#shipping-country:focus {
	height: auto !important;
	min-height: 2.875rem !important;
	padding: 0.5rem 2.35rem 0.55rem 0.75rem !important;
	line-height: 1.45 !important;
}

.masques-main--checkout .wc-block-components-text-input input::placeholder,
.masques-main--checkout textarea::placeholder,
.masques-main--checkout select::placeholder {
	color: rgba(255, 255, 255, 0.65) !important;
}

.masques-main--checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.masques-main--checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus {
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: rgba(255, 255, 255, 0.45) !important;
	color: #fff !important;
	font-size: inherit !important;
}

.masques-main--checkout .wc-block-components-totals-coupon__form .wc-block-components-button {
	background: transparent !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border: var(--masques-btn-cta-secondary-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	font-size: var(--masques-cart-cta-font-size) !important;
}

.masques-main--checkout .wc-block-components-totals-coupon__form .wc-block-components-button:hover:not(:disabled) {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
}

/* Bloc paiement / méthodes : pas de carte blanche sur le bleu page */
.masques-main--checkout .wc-block-components-payment-method,
.masques-main--checkout .wc-block-components-radio-control-accordion-option,
.masques-main--checkout .wc-block-components-panel,
.masques-main--checkout .wc-block-components-panel__button {
	background: transparent !important;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.28) !important;
}

.masques-main--checkout .wc-block-components-panel__button:hover {
	color: #fff !important;
	opacity: 0.92;
}

.masques-main--checkout .wc-block-checkout__terms,
.masques-main--checkout .wc-block-checkout__terms a {
	color: #fff !important;
}

.masques-main--checkout .wc-block-components-checkbox__mark {
	border-color: rgba(255, 255, 255, 0.55) !important;
}

.masques-main--checkout .wc-block-components-validation-error {
	color: #ffe0e8 !important;
}

/* Bouton principal : même contour blanc + taille que « Commander » panier (pas le style « sur fond clair » global) */
body.woocommerce-checkout .masques-main--checkout #place_order,
body.woocommerce-checkout .masques-main--checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button {
	position: relative !important;
	overflow: visible !important;
	cursor: pointer;
	font-family: var(--masques-btn-cta-font) !important;
	font-size: var(--masques-cart-cta-font-size) !important;
	line-height: var(--masques-btn-cta-line-height) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-synthesis: none;
	background: transparent !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border: var(--masques-btn-cta-secondary-border) !important;
	border-radius: var(--masques-btn-cta-secondary-radius) !important;
	box-shadow: none !important;
	text-transform: uppercase !important;
	letter-spacing: var(--masques-btn-cta-secondary-letter-spacing) !important;
	text-shadow: none !important;
	text-decoration: none !important;
	transition:
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease,
		opacity 0.15s ease;
}

body.woocommerce-checkout .masques-main--checkout #place_order:hover:not(:disabled),
body.woocommerce-checkout .masques-main--checkout #place_order:focus:not(:disabled),
body.woocommerce-checkout .masques-main--checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover:not(:disabled),
body.woocommerce-checkout .masques-main--checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:focus:not(:disabled) {
	background: var(--masques-btn-cta-secondary-hover-bg) !important;
	color: var(--masques-btn-cta-secondary-color) !important;
	border-color: var(--masques-btn-cta-secondary-color) !important;
}

body.woocommerce-checkout .masques-main--checkout #place_order:focus-visible,
body.woocommerce-checkout .masques-main--checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:focus-visible {
	outline: none;
}

body.woocommerce-checkout .masques-main--checkout #place_order:disabled,
body.woocommerce-checkout .masques-main--checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:disabled {
	opacity: var(--masques-btn-cta-disabled-opacity) !important;
	cursor: not-allowed !important;
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-checkout .masques-main--checkout #place_order,
	body.woocommerce-checkout .masques-main--checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button {
		transition: none;
	}
}
