/*
 * Module WooCommerce du thème 2Twenty.
 * Reproduit la fiche produit du modèle Elementor Pro (26895) et les pages boutique / catégorie /
 * panier / compte telles que Neve les rendait. Chargé après woocommerce-general.
 * Points de rupture : mobile < 768, tablette 768 à 1024, bureau >= 1025.
 */

:root {
	--cw-woo-titre: #54595f;      /* couleur globale « secondaire » d'Elementor */
	--cw-woo-vert: #669a80;
	--cw-woo-texte: #272626;
	--cw-woo-bleu: #2f5aae;       /* accent Neve (onglets, pagination) */
	--cw-woo-bouton: #61ce70;     /* couleur globale « accent » d'Elementor (ajout au panier) */
	--cw-woo-bouton-boucle: #a0ce4e;
	--cw-woo-bordure: #8c8c8c;
	--cw-woo-gris-clair: #f4f5f7;
}

.cw-woo {
	color: var(--cw-woo-texte);
}

.cw-woo a {
	text-decoration: none;
}

/* Champs de formulaire communs (Neve) */
.cw-woo .quantity input.qty,
.woocommerce-page .cw-woo select,
.cw-woo select.orderby,
.cw-woo table.variations select {
	border: 2px solid var(--cw-woo-bordure);
	border-radius: 3px;
	background-color: #fff;
	color: var(--cw-woo-texte);
	font-family: inherit;
}

/* =========================================================================
 * Fiche produit
 * ====================================================================== */

.cw-fiche.product {
	max-width: 1140px;
	margin: 0 auto;
}

.cw-fiche__haut {
	display: flex;
	align-items: flex-start;
}

.cw-fiche__galerie {
	width: 55%;
	padding: 4px;
	box-sizing: border-box;
	position: relative;
}

.woocommerce div.product.cw-fiche .cw-fiche__resume {
	width: 45%;
	float: none;
	margin: 0;
	padding: 4px 9px 24px;
	box-sizing: border-box;
}

.woocommerce div.product.cw-fiche .cw-fiche__galerie div.images {
	width: 100%;
	float: none;
	margin: 0 0 36px;
}

.cw-fiche__galerie,
.cw-fiche__resume {
	min-width: 0;
}

/* Titre mobile au-dessus de la galerie (modèle FR et nl_BEl) */
.cw-fiche__entete-mobile {
	display: none;
}

/* Titre (couleur et typographie globales Elementor) */
.woocommerce div.product.cw-fiche .product_title {
	font-size: 40px;
	line-height: 1;
	font-weight: 500;
	color: var(--cw-woo-titre);
	margin: 0;
	padding: 0;
	clear: none;
}

/* Prix */
.woocommerce div.product.cw-fiche .cw-fiche__resume > p.price bdi,
.woocommerce div.product.cw-fiche .cw-fiche__entete-mobile p.price bdi,
.woocommerce div.product.cw-fiche .woocommerce-variation-price .price bdi {
	color: var(--cw-woo-texte);
}

.woocommerce div.product.cw-fiche .cw-fiche__resume > p.price,
.woocommerce div.product.cw-fiche .cw-fiche__entete-mobile p.price,
.woocommerce div.product.cw-fiche .woocommerce-variation-price .price {
	display: block;
	color: var(--cw-woo-vert);
	font-size: 22.5px;
	font-weight: 500;
	margin: 0 0 20px;
}

.woocommerce div.product.cw-fiche .cw-fiche__resume > p.price ins,
.woocommerce div.product.cw-fiche .cw-fiche__entete-mobile p.price ins,
.woocommerce div.product.cw-fiche .woocommerce-variation-price .price ins {
	color: #0c0c0c;
	font-size: 23px;
	font-weight: 200;
	text-decoration: none;
}

.woocommerce div.product.cw-fiche .cw-fiche__resume > p.price del,
.woocommerce div.product.cw-fiche .cw-fiche__entete-mobile p.price del,
.woocommerce div.product.cw-fiche .woocommerce-variation-price .price del {
	display: block; /* « price_block » du widget Elementor */
	opacity: .6;
}

/* Disponibilité : masquée sur la fiche (CSS du widget « similaires » du modèle, global à la page) */
.single-product .cw-woo .stock {
	display: none;
}

/* Extrait */
.cw-fiche .woocommerce-product-details__short-description {
	font-size: 17px;
	line-height: 19px;
	font-weight: 400;
	text-align: left;
}

.cw-fiche .woocommerce-product-details__short-description p {
	margin: 0 0 20px;
}

.cw-fiche .woocommerce-product-details__short-description ul,
.cw-fiche .woocommerce-product-details__short-description ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Méta : UGS, catégories, en ligne */
.woocommerce div.product.cw-fiche .product_meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	margin: 0 -4px;
	padding: 20px 0 0;
	border: 0;
	font-size: 14.58px;
	line-height: 1.7;
}

.cw-fiche .product_meta .detail-container {
	margin: 0 4px;
}

.cw-fiche .product_meta .detail-label {
	font-weight: 700;
}

.cw-fiche .product_meta a {
	color: var(--cw-woo-vert);
}

/* Ajout au panier */
.woocommerce div.product.cw-fiche form.cart {
	margin: 0;
	display: block;
}

.woocommerce div.product.cw-fiche form.cart::before,
.woocommerce div.product.cw-fiche form.cart::after {
	display: none;
}

.woocommerce div.product.cw-fiche form.cart:not(.variations_form) {
	display: flex;
	align-items: flex-start;
}

.woocommerce div.product.cw-fiche form.cart div.quantity {
	float: none;
	display: inline-block;
	vertical-align: top;
	margin: 0 4px 0 0;
}

.cw-fiche .quantity input.qty {
	width: 65px;
	height: 45px;
	box-sizing: border-box;
	padding: 10px 0 10px 12px;
	font-size: 18px;
	color: rgba(81, 81, 81, .81);
	text-align: center;
}

.woocommerce div.product.cw-fiche form.cart .button.single_add_to_cart_button {
	float: none;
	vertical-align: top;
	margin: 0 0 0 4px;
	padding: 8px 12px;
	min-height: 42px;
	border: 0;
	border-radius: 0;
	background-color: var(--cw-woo-bouton);
	color: #fff;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 700;
	text-transform: none;
}

.woocommerce div.product.cw-fiche form.cart .button.single_add_to_cart_button:hover {
	background-color: var(--cw-woo-bouton);
	color: #fff;
	opacity: .9;
}

/* Produit variable */
.woocommerce div.product.cw-fiche form.cart table.variations {
	width: 45%;
	margin: 0 0 33px;
	border: 0;
	border-spacing: 0;
}

.woocommerce div.product.cw-fiche form.cart table.variations td {
	font-size: 16.2px;
	line-height: 2;
}

.woocommerce div.product.cw-fiche form.cart table.variations th {
	line-height: 36px;
}

.woocommerce div.product.cw-fiche form.cart table.variations th,
.woocommerce div.product.cw-fiche form.cart table.variations td {
	display: block;
	padding: 0;
	border: 0;
	text-align: left;
	background: none;
}

.woocommerce div.product.cw-fiche form.cart table.variations label {
	font-size: 16px;
	font-weight: 700;
}

.woocommerce div.product.cw-fiche form.cart table.variations select {
	width: 100%;
	min-width: 0;
	padding: 10px 20px 10px 12px;
	font-size: 16.2px;
	line-height: 2;
}

.woocommerce div.product.cw-fiche form.cart .reset_variations {
	display: block;
	font-size: 13.446px;
	line-height: 32.4px;
	color: var(--cw-woo-vert);
}

.woocommerce div.product.cw-fiche .woocommerce-variation-add-to-cart {
	display: flex;
}

.woocommerce div.product.cw-fiche .woocommerce-variation-add-to-cart .button.single_add_to_cart_button {
	flex: 1 1 auto;
}

.woocommerce div.product.cw-fiche .woocommerce-variation-price .price {
	margin-bottom: 10px;
}

/* Boutons de partage (Elementor : boxed, icône seule, carré, couleurs officielles) */
.cw-partage {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px;
	margin: 20px;
}

.cw-partage__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 47px;
	height: 45px;
	box-sizing: border-box;
	border: 2px solid currentColor;
	color: #fff;
	transition: opacity .3s;
}

.cw-partage__btn:hover {
	opacity: .9;
}

.cw-partage__btn svg {
	width: 17px;
	height: 17px;
	fill: #fff;
}

.cw-partage__btn--facebook { background: #3b5998; border-color: #3b5998; }
.cw-partage__btn--twitter { background: #1da1f2; border-color: #1da1f2; }
.cw-partage__btn--pinterest { background: #bd081c; border-color: #bd081c; }
.cw-partage__btn--email { background: #ea4335; border-color: #ea4335; }

/* Galerie */
.woocommerce div.product.cw-fiche div.images .flex-control-thumbs {
	margin: 5px -5px 0;
	padding: 0;
}

.woocommerce div.product.cw-fiche div.images .flex-control-thumbs li {
	width: 25%;
	padding: 5px;
	box-sizing: border-box;
}

/* Modèles traduits (en, de, es, nl, pt, be) : vignettes à 16,5 %, sans gouttière (CSS du widget) */
.woocommerce div.product.cw-fiche--trad div.images .flex-control-thumbs {
	margin: 5px 0 0;
}

.woocommerce div.product.cw-fiche--trad div.images .flex-control-thumbs li {
	width: 16.5%;
	padding: 5px 0 0;
}

.woocommerce div.product.cw-fiche--trad div.images .flex-control-thumbs li img {
	padding: 0 2px;
	box-sizing: border-box;
}

.woocommerce div.product.cw-fiche div.images .woocommerce-product-gallery__trigger {
	top: 18px;
	right: 18px;
}

/* Badge promo (Neve) */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	top: 0;
	left: 0;
	right: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0 5px;
	border-radius: 0;
	background-color: #824c9e;
	color: #fff;
	font-size: 15.43px;
	line-height: 26px;
	font-weight: 500;
}

.cw-fiche__images {
	position: relative;
}

/* Séparateurs (deux widgets « divider » de 1 px #cbcbcb) */
.cw-fiche__separateurs {
	padding: 15px 0 26px;
}

.cw-fiche__separateur {
	display: block;
	border-top: 1px solid #cbcbcb;
}

.cw-fiche__separateur + .cw-fiche__separateur {
	margin-top: 50px;
}

.cw-fiche__trustpilot {
	margin: 25px 0 0;
	padding: 0 10px;
	line-height: 27px;
}

.cw-fiche__trustpilot a {
	color: var(--cw-woo-vert);
}

.cw-fiche__trustpilot + .cw-fiche__separateur {
	margin-top: 25px !important;
}

.cw-fiche__bas {
	margin: 4px;
	padding-top: 30px;
}

/* Onglets */
.woocommerce div.product.cw-fiche .woocommerce-tabs {
	margin: 0;
}

.woocommerce div.product.cw-fiche .woocommerce-tabs ul.tabs {
	display: block;
	margin: 0 0 40px;
	padding: 0;
	overflow: visible;
	border: 0;
}

.woocommerce div.product.cw-fiche .woocommerce-tabs ul.tabs::before,
.woocommerce div.product.cw-fiche .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product.cw-fiche .woocommerce-tabs ul.tabs li::after {
	display: none;
}

.woocommerce div.product.cw-fiche .woocommerce-tabs ul.tabs li {
	display: inline-block;
	margin: 0 40px 0 0;
	padding: 0;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: none;
}

.woocommerce div.product.cw-fiche .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--cw-woo-bleu);
}

.woocommerce div.product.cw-fiche .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 14.4px 21.6px;
	font-size: 18px;
	line-height: 1;
	font-weight: 500;
	color: var(--cw-woo-texte);
}

.woocommerce div.product.cw-fiche .woocommerce-tabs ul.tabs li.active a {
	color: var(--cw-woo-bleu);
}

.woocommerce div.product.cw-fiche .woocommerce-tabs .panel {
	margin: -1px 0 40px;
	padding: 20px;
	border-top: 1px solid #d3ced2;
	background: none;
}

.woocommerce div.product.cw-fiche .woocommerce-tabs .panel ul {
	list-style: circle;
	margin: 0 0 15px;
	padding: 0 0 0 15px;
}

.woocommerce div.product.cw-fiche .woocommerce-tabs .panel li {
	margin: 0 0 10px;
}

.woocommerce div.product.cw-fiche .woocommerce-tabs .panel h2 {
	font-size: 22px;
	line-height: 1.2;
	font-weight: 300;
	color: #7a7a7a;
	margin: 0 0 30px;
}

/* Produits similaires et ventes incitatives (widgets Elementor) */
.cw-fiche section.related,
.cw-fiche section.up-sells {
	clear: both;
	margin: 0;
}

.cw-fiche section.related > h2,
.cw-fiche section.up-sells > h2 {
	font-size: 22px;
	line-height: 1.2;
	font-weight: 500;
	color: var(--cw-woo-vert);
	margin: 0 0 30px;
}

.woocommerce .cw-fiche section.related ul.products,
.woocommerce .cw-fiche section.up-sells ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
}

.woocommerce .cw-fiche section.related ul.products::before,
.woocommerce .cw-fiche section.related ul.products::after,
.woocommerce .cw-fiche section.up-sells ul.products::before,
.woocommerce .cw-fiche section.up-sells ul.products::after {
	display: none;
}

.woocommerce .cw-fiche section.related ul.products li.product,
.woocommerce .cw-fiche section.up-sells ul.products li.product {
	width: auto;
	float: none;
	margin: 0;
	padding: 0;
}

.woocommerce .cw-fiche ul.products li.product .woocommerce-LoopProduct-link {
	width: 100%;
}

.woocommerce .cw-fiche ul.products li.product a img {
	margin: 0;
}

.woocommerce .cw-fiche ul.products li.product .woocommerce-loop-product__title {
	font-size: 20px;
	line-height: 1.2;
	font-weight: 200;
	color: var(--cw-woo-titre);
	padding: 0 0 10px;
	margin: 0;
}

.woocommerce .cw-fiche ul.products li.product .price {
	display: block;
	font-size: 20px;
	line-height: 1.7;
	font-weight: 500;
	color: var(--cw-woo-vert);
	margin: 0 0 10px;
}

.woocommerce .cw-fiche ul.products li.product .button {
	display: inline-block;
	margin: 0;
	padding: 8px 12px;
	text-transform: none;
	border-radius: 0;
	background-color: var(--cw-woo-bouton-boucle);
	color: #fff;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
}

.woocommerce .cw-fiche ul.products li.product .added_to_cart {
	font-size: 14px;
	color: var(--cw-woo-vert);
}

/* =========================================================================
 * Cartes produit communes (img-wrap et bandeau rupture Neve)
 * ====================================================================== */

ul.products .img-wrap {
	position: relative;
}

ul.products .img-wrap img {
	display: block;
	width: 100%;
	height: auto;
}

ul.products .img-wrap .out-of-stock-badge {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	padding: 15px 0;
	background: var(--cw-woo-gris-clair);
	color: var(--cw-woo-texte);
	font-size: 18px;
	line-height: 1.7;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	opacity: .9;
}

/* Titre de carte collé à l'image (Neve), y compris dans les grilles insérées dans les pages */
.woocommerce ul.products li.product a.woocommerce-loop-product__link > h2,
.woocommerce ul.products li.product a.woocommerce-loop-product__link > h3 {
	padding-top: 0;
}

/* =========================================================================
 * Boutique et catégories (Neve)
 * ====================================================================== */

.cw-boutique {
	margin: 60px auto;
	padding: 0 15px;
	font-size: 18px;
}

.cw-boutique .nv-bc-count-wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0 0 20px;
	font-size: 14px;
}

.woocommerce .cw-boutique .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
	font-size: 14px;
	color: var(--cw-woo-texte);
}

.woocommerce .cw-boutique .woocommerce-breadcrumb a {
	color: #24478c;
	text-decoration: underline;
}

.cw-boutique .nv-breadcrumb-delimiter {
	margin: 0 7px;
}

.woocommerce .cw-boutique .woocommerce-result-count {
	float: none;
	margin: 0;
	font-size: 14px;
	text-align: right;
}

.cw-boutique .nv-woo-filters {
	margin: 0 0 40px;
}

.woocommerce .cw-boutique .woocommerce-ordering {
	float: none;
	margin: 0;
}

.cw-boutique select.orderby {
	width: 296px;
	max-width: 100%;
	height: 55px;
	padding: 10px 20px 10px 12px;
	font-size: 18px;
}

.cw-boutique .woocommerce-products-header {
	padding: 0;
}

.cw-boutique .term-description p,
.cw-boutique .page-description p {
	margin: 0 0 20px;
}

.woocommerce .cw-boutique ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 3.8%;
	margin: 0 0 18px;
}

.woocommerce .cw-boutique ul.products::before,
.woocommerce .cw-boutique ul.products::after {
	display: none;
}

.woocommerce .cw-boutique ul.products li.product {
	width: auto;
	float: none;
	margin: 0 0 40px;
	padding: 0;
}

.woocommerce .cw-boutique ul.products li.product a img {
	margin: 0 0 18px;
}

.woocommerce .cw-boutique ul.products li.product .woocommerce-loop-product__title {
	font-size: 22.5px;
	line-height: 1.2;
	font-weight: 100;
	color: var(--cw-woo-texte);
	padding: 0 0 11.25px;
	margin: 0;
}

.woocommerce .cw-boutique ul.products li.product .price {
	display: block;
	font-size: 16px;
	line-height: 1.7;
	font-weight: 400;
	color: var(--cw-woo-texte);
	margin: 0 0 8px;
}

.woocommerce .cw-boutique ul.products li.product .price .stock,
.woocommerce .cw-boutique ul.products li.product .stock {
	margin: 0 0 20px;
	font-size: inherit;
}

.woocommerce .cw-boutique ul.products li.product .onsale {
	margin: 0;
}

/* Pagination */
.woocommerce .cw-boutique nav.woocommerce-pagination {
	text-align: left;
}

.woocommerce .cw-boutique nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce .cw-boutique nav.woocommerce-pagination ul li {
	margin: 0 20px;
	border: 0;
	float: none;
	overflow: visible;
}

.woocommerce .cw-boutique nav.woocommerce-pagination ul li a,
.woocommerce .cw-boutique nav.woocommerce-pagination ul li span {
	display: block;
	min-width: 40px;
	box-sizing: border-box;
	padding: 12px 15px;
	border-radius: 3px;
	background: var(--cw-woo-gris-clair);
	color: var(--cw-woo-texte);
	font-size: 18px;
	line-height: 1;
}

.woocommerce .cw-boutique nav.woocommerce-pagination ul li span.current {
	background: var(--cw-woo-bleu);
	color: #fff;
}

.woocommerce .cw-boutique nav.woocommerce-pagination ul li span.dots {
	background: none;
}

/* =========================================================================
 * Panier (shortcode dans la page, rendu Neve)
 * ====================================================================== */

.woocommerce-cart .woocommerce {
	font-size: 18px;
}

.woocommerce-cart table.shop_table {
	border: 0;
	border-radius: 5px;
	border-collapse: collapse;
	margin: 0 -1px 24px 0;
}

.woocommerce-cart table.shop_table th {
	font-size: 22.5px;
	line-height: 1.5;
	font-weight: 700;
	padding: 15px;
	border: 0;
}

.woocommerce-cart table.shop_table td {
	font-size: 16px;
	line-height: 1.5;
	padding: 15px;
	border: 0;
}

@media (min-width: 768px) {
	.woocommerce-cart table.cart th.product-remove { width: 68px; box-sizing: border-box; }
	.woocommerce-cart table.cart th.product-thumbnail { width: 150px; box-sizing: border-box; }
	.woocommerce-cart table.cart th.product-price { width: 139px; box-sizing: border-box; }
	.woocommerce-cart table.cart th.product-quantity { width: 183px; box-sizing: border-box; }
	.woocommerce-cart table.cart th.product-subtotal { width: 211px; box-sizing: border-box; }
	.woocommerce-cart table.cart td.product-remove { padding-right: 0; }
}

.woocommerce-cart table.shop_table th.product-subtotal,
.woocommerce-cart table.shop_table td.product-subtotal {
	text-align: right;
}

.woocommerce-cart table.cart tr.cart_item td {
	border-bottom: 2px solid var(--cw-woo-texte);
}

.woocommerce-cart table.cart td.product-name a {
	color: var(--cw-woo-texte);
}

.woocommerce-cart table.cart td.product-thumbnail img {
	width: 120px;
}

.woocommerce-cart table.cart a.remove {
	width: 30px;
	height: 30px;
	font-size: 30px;
	line-height: 30px;
	font-weight: 700;
	color: var(--cw-woo-texte) !important;
	margin: 0 auto;
}

.woocommerce-cart table.cart a.remove:hover {
	background: none;
	color: #c00 !important;
}

.woocommerce-cart table.cart td.product-quantity input.qty {
	width: 86px;
	height: 48px;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 2px solid var(--cw-woo-bordure);
	border-radius: 3px;
	font-size: 16px;
	text-align: center;
}

.woocommerce-cart table.cart td.actions {
	padding: 40px 0;
	text-align: right;
}

.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-account .woocommerce .button {
	border: 0;
	border-radius: 0;
	background-color: var(--cw-woo-bouton-boucle);
	color: #fff;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 700;
	text-transform: none;
	padding: 9.888px 16px;
}

.woocommerce-cart table.cart td.actions .button {
	color: var(--cw-woo-texte);
}

/* Panier vide : « Retour à la boutique » */
.woocommerce .return-to-shop .button,
.woocommerce .return-to-shop a.button {
	display: inline-block;
	border: 0;
	border-radius: 0;
	background-color: var(--cw-woo-bouton-boucle);
	color: #fff;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 700;
	text-align: center;
	text-transform: none;
	padding: 8px 12px;
}

.woocommerce .return-to-shop .button:hover {
	background-color: var(--cw-woo-bouton-boucle);
	color: #fff;
	opacity: .9;
}

.woocommerce-cart table.cart td.actions .button:disabled,
.woocommerce-cart table.cart td.actions .button:disabled[disabled] {
	opacity: .75;
	color: var(--cw-woo-texte);
	padding: 9.888px 16px;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
	font-size: 24px;
	line-height: 1.2;
	font-weight: 100;
	color: var(--cw-woo-titre);
	margin: 0 0 30px;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
	border: 0;
	margin: 0 0 6px;
}

.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td {
	padding: 20px 15px;
	font-size: 16.2px;
	line-height: 1.5;
	border-top: 1px solid #e9e6ed;
	border-bottom: 2px solid var(--cw-woo-texte);
}

.woocommerce-cart .cart-collaterals .cart_totals table th {
	font-weight: 300;
	width: 35%;
}

.woocommerce-cart .cart-collaterals .cart_totals table td {
	text-align: right;
}

.woocommerce-cart .cart-collaterals .cart_totals tr.cart-subtotal th,
.woocommerce-cart .cart-collaterals .cart_totals tr.cart-subtotal td {
	border-top: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals tr.order-total th,
.woocommerce-cart .cart-collaterals .cart_totals tr.order-total td {
	font-size: 14.4px;
}

.woocommerce-cart .cart-collaterals .cart_totals tr.order-total th {
	font-weight: 700;
}

.woocommerce-cart .cart-collaterals .shipping-calculator-button {
	color: var(--cw-woo-vert);
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding: 41px 0 16px;
	text-align: right;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: inline-block;
	margin: 0 0 16px;
	padding: 15px 40px;
	font-size: 16px;
}

/* Avis WooCommerce (panier, compte) */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
	text-align: left;
	border: 0;
	background: #fff;
	color: #747474;
	border-radius: 3px;
	padding: 15px 15px 15px 60px;
	margin: 0 0 36px;
	outline: 0;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-account .woocommerce-message::before {
	color: #747474;
}

/* Alerte d'information (panier vide, etc.) : bandeau bleu Neve, texte et icône blancs */
.woocommerce .woocommerce-info,
.woocommerce-cart .woocommerce-info,
.woocommerce-account .woocommerce-info {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	background: var(--cw-woo-bleu);
	color: #fff;
}

.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-info a {
	color: #fff;
}

/* =========================================================================
 * Mon compte (connexion Neve)
 * ====================================================================== */

.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce-account .woocommerce form.lost_reset_password {
	margin: 36px 0;
	padding: 20px;
	border: 1px solid rgba(39, 38, 38, .2);
	border-radius: 0;
}

.woocommerce-account .woocommerce h2 {
	font-size: 22px;
	line-height: 1.2;
	font-weight: 100;
	color: var(--cw-woo-titre);
	margin: 0 0 30px;
}

.woocommerce-account .woocommerce form .form-row {
	margin: 0 0 10px;
	padding: 3px;
}

.woocommerce-account .woocommerce form .form-row label {
	font-size: 16px;
	line-height: 32px;
}

.woocommerce-account .woocommerce form .form-row input.input-text {
	height: 55px;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 2px solid var(--cw-woo-bordure);
	border-radius: 3px;
	font-size: 18px;
	color: var(--cw-woo-texte);
}

.woocommerce-account .woocommerce .woocommerce-form-login__rememberme {
	display: block;
	margin: 0 0 10px;
	line-height: 32px;
}

.woocommerce-account .woocommerce form.login .button {
	display: block;
	width: 100%;
	margin: 0;
	padding: 8px 12px;
}

.woocommerce-account .woocommerce .lost_password {
	text-align: center;
	font-size: 16.2px;
	margin: 12px 0 0;
}

.woocommerce-account .woocommerce .lost_password a,
.woocommerce-account .woocommerce-MyAccount-navigation a {
	color: var(--cw-woo-vert);
}

/* =========================================================================
 * Tablette (768 à 1024)
 * ====================================================================== */

@media (max-width: 1024px) {
	.cw-fiche__galerie {
		padding: 34px;
	}

	.woocommerce div.product.cw-fiche .cw-fiche__resume {
		padding: 34px;
	}

	.woocommerce div.product.cw-fiche .product_title {
		font-size: 38px;
	}

	.woocommerce .cw-fiche section.related ul.products,
	.woocommerce .cw-fiche section.up-sells ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.cw-boutique .nv-bc-count-wrap {
		display: block;
	}

	.cw-boutique .woocommerce-breadcrumb {
		margin-bottom: 14px !important;
	}

	.woocommerce .cw-boutique .woocommerce-result-count {
		text-align: left;
	}
}

@media (min-width: 1025px) {
	.cw-boutique {
		max-width: 819px;
		box-sizing: border-box;
	}
}

/* =========================================================================
 * Mobile (< 768)
 * ====================================================================== */

@media (max-width: 767px) {
	.cw-fiche__haut {
		display: block;
	}

	.cw-fiche__galerie {
		width: auto;
		padding: 0 10px;
	}

	.cw-fiche--trad .cw-fiche__galerie {
		padding: 0 15px;
	}

	.woocommerce div.product.cw-fiche .cw-fiche__resume {
		width: auto;
		padding: 24px;
	}

	/* Modèle FR : titre, prix, stock au-dessus de la galerie ; le titre de droite disparaît. */
	.cw-fiche__entete-mobile {
		display: block;
		margin: 0 0 20px;
	}

	.cw-fiche__entete-mobile .product_title {
		margin: 0 10px 20px !important;
	}

	.cw-fiche__entete-mobile .price {
		margin: 0 0 0 10px !important;
	}

	.cw-fiche__entete-mobile ~ div.images {
		margin-top: 0;
	}

	.cw-fiche__galerie:has(.cw-fiche__entete-mobile) + .cw-fiche__resume .product_title,
	.cw-fiche__galerie:has(.cw-fiche__entete-mobile) + .cw-fiche__resume > p.price,
	.cw-fiche__galerie:has(.cw-fiche__entete-mobile) + .cw-fiche__resume > .cw-stock {
		display: none !important;
	}

	.woocommerce div.product.cw-fiche .product_title {
		font-size: 36px;
	}

	.woocommerce div.product.cw-fiche form.cart .button.single_add_to_cart_button {
		font-size: 15px;
	}

	.cw-fiche__bas {
		margin: 4px 14px;
	}

	/* Boutons et libellés plus petits sur téléphone (Neve) */
	.woocommerce .return-to-shop .button,
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.woocommerce-account .woocommerce .button,
	.woocommerce .cw-fiche ul.products li.product .button {
		font-size: 15px;
		line-height: 1.6;
	}

	.woocommerce-cart table.cart td.actions .button,
	.woocommerce-cart table.cart td.actions .button:disabled,
	.woocommerce-cart table.cart td.actions .button:disabled[disabled] {
		font-size: 15px;
		line-height: 1.6;
		padding: 9.27px 15px;
	}

	.woocommerce-account .woocommerce form .form-row label {
		font-size: 15px;
		line-height: 30px;
	}

	.cw-fiche section.related,
	.cw-fiche section.up-sells {
		margin-left: 6px;
		margin-right: 6px;
	}

	.woocommerce .cw-fiche section.related ul.products,
	.woocommerce .cw-fiche section.up-sells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Neve sert 2 colonnes aux téléphones (détection d'appareil) */
	.woocommerce .cw-boutique ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 15px;
	}

	.woocommerce .cw-boutique ul.products li.product .woocommerce-loop-product__title {
		line-height: 1.3;
	}

	.woocommerce .cw-boutique ul.products li.product {
		margin-bottom: 53.856px;
	}

	.woocommerce .cw-boutique ul.products li.product .price {
		line-height: 1.6;
		font-size: 15px;
		margin-bottom: 7.5px;
	}

	.cw-boutique select.orderby {
		height: 53px;
	}

	/* Panier : le tableau WooCommerce passe en blocs (woocommerce-smallscreen) */
	.woocommerce-cart table.shop_table_responsive tr.cart_item td {
		border-bottom: 0;
	}

	.woocommerce-cart table.shop_table_responsive tr.cart_item {
		display: block;
		padding-bottom: 20px;
		border-bottom: 2px solid var(--cw-woo-texte);
	}

	.woocommerce-cart table.shop_table_responsive tr td,
	.woocommerce-cart table.shop_table_responsive tr:nth-child(2n) td {
		background: none;
	}

	.woocommerce-cart table.cart td {
		font-size: 15px;
		padding: 10px 0;
	}

	.woocommerce-cart table.cart td.product-remove {
		float: left;
		width: auto;
		padding: 10px 0;
	}

	.woocommerce-cart table.cart td.product-remove::before {
		display: none;
	}

	.woocommerce-cart table.cart td.product-remove a.remove {
		margin: 0;
		width: 23px;
		font-size: 20px;
	}

	.woocommerce-cart table.cart td.product-thumbnail {
		display: block;
		text-align: right;
	}

	.woocommerce-cart table.cart td.product-thumbnail::before {
		display: none;
	}

	.woocommerce-cart table.cart td.product-thumbnail img {
		width: 60px;
	}

	.woocommerce-cart table.cart td.actions {
		margin-top: 20px;
		padding: 40px 0;
	}

	.woocommerce-cart .cart-collaterals {
		margin-top: 20px;
	}

	.woocommerce-cart .cart-collaterals .cart_totals h2 {
		font-size: 20px;
		line-height: 1.3;
	}

	.woocommerce-cart .wc-proceed-to-checkout {
		display: flex;
		justify-content: flex-end;
		padding: 18px 0;
	}

	.woocommerce-cart .woocommerce-message,
	.woocommerce-cart .woocommerce-info {
		padding-left: 45px;
	}
}
