/*
 * Esthéti'Canin — Boutique
 * Habillage du balisage généré par WooCommerce (cartes produit, quantités, panier, commande).
 * Les couleurs --gcid-ec-* sont les couleurs globales Divi « Boutique — … ».
 */

.ec-shop-section {
	--ec-gold: var(--gcid-ec-gold, #c4923e);
	--ec-ink: var(--gcid-ec-ink, #113036);
	--ec-line: var(--gcid-ec-line, #ede8e0);
	--ec-text: var(--gcid-ec-text, #2a2a2a);
	--ec-muted: var(--gcid-ec-muted, #7a7a7a);
	--ec-teal: var(--gcid-secondary-color, #477d92);
	--ec-gold-shadow: rgba(196, 146, 62, 0.35);
	--ec-font: "Nunito", "Quicksand", Helvetica, Arial, sans-serif;
}

/* Le pied de page garde une marge haute sur mobile : elle prend le fond crème de la boutique. */
body.ec-shop-area #page-container,
body.ec-shop-area #et-boc,
body.ec-shop-area #main-content {
	background: var(--gcid-ec-cream, #faf7f2);
}

/* ---------- En-tête : icône panier (le style du menu est dans le module Code de l'en-tête) ---------- */

/* La pastille du menu reste à la hauteur du texte même si l'élément de liste repasse en align-items: stretch. */
.header-section .header-top-menu .et_pb_menu__menu .et-menu > li > a {
	align-self: center;
}

.header-section .et_pb_menu__cart-button {
	position: relative;
	margin-left: 28px;
	color: #fff !important;
}

.header-section .et_pb_menu__cart-button::after {
	color: #fff;
	font-size: 28px;
}

.header-section .et_pb_menu__cart-button .et_pb_menu__cart-count {
	position: absolute;
	top: 50%;
	right: -13px;
	min-width: 20px;
	margin-top: -26px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--gcid-ec-gold, #c4923e);
	color: #fff;
	font: 700 12px/20px "Nunito", "Quicksand", sans-serif;
	text-align: center;
}

body.woocommerce-cart .header-section .et_pb_menu__cart-button::after {
	color: var(--gcid-ec-gold, #c4923e);
}

/* ---------- Liens retour ---------- */

.ec-back a {
	text-decoration: none;
}

.ec-back a:hover {
	text-decoration: underline;
}

/* ---------- Pastilles de catégories ---------- */

.ec-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.ec-pill {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 20px;
	border: 2px solid var(--ec-gold);
	border-radius: 999px;
	background: #fff;
	color: var(--ec-gold) !important;
	font: 700 14px/20px "Quicksand", sans-serif;
	transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.ec-pill:hover,
.ec-pill.is-active {
	background: var(--ec-gold);
	color: #fff !important;
}

.ec-pill.is-active {
	box-shadow: 0 4px 6px var(--ec-gold-shadow);
}

.ec-count {
	margin: 0;
	padding: 0;
	color: var(--ec-ink);
	font: 600 14px/20px var(--ec-font);
}

/* ---------- Grille et cartes produit ---------- */

.ec-products .woocommerce-result-count,
.ec-products .woocommerce-ordering,
.ec-products .et_overlay,
.ec-products .added_to_cart {
	display: none !important;
}

.ec-products ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px 32px;
	margin: 0 !important;
	padding: 0 !important;
}

.ec-products ul.products::before,
.ec-products ul.products::after {
	display: none !important;
}

.ec-products ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	overflow: hidden;
	border: 1.5px solid var(--ec-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
	font-family: var(--ec-font);
	transition: box-shadow 0.2s, transform 0.2s;
}

.ec-products ul.products li.product:hover {
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
}

.ec-products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-bottom: 12px;
}

.ec-products li.product .et_shop_image {
	display: block;
	height: 160px;
	margin-bottom: 12px;
}

.ec-products li.product .et_shop_image img {
	width: 100%;
	height: 160px !important;
	margin: 0 !important;
	object-fit: contain;
	box-shadow: none !important;
}

.ec-products li.product .ec-card__cat {
	padding: 0 12px;
	color: var(--ec-gold);
	font: 700 12px/16px var(--ec-font);
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.ec-products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 4px 12px 0 !important;
	color: var(--ec-text);
	font: 700 14px/19.25px var(--ec-font) !important;
}

.ec-products li.product .ec-card__desc {
	display: -webkit-box;
	max-width: 245px;
	margin: 0;
	padding: 6px 12px 0;
	overflow: hidden;
	color: var(--ec-muted);
	font: 400 12px/16px var(--ec-font);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.ec-products li.product .price {
	display: block;
	margin: auto 0 0 !important;
	padding: 28px 60px 0 12px;
	color: var(--ec-text) !important;
	font: 900 16px/24px var(--ec-font) !important;
}

.ec-products li.product .price del {
	margin-right: 6px;
	color: var(--ec-muted);
	font-weight: 600;
}

.ec-products li.product .price ins {
	text-decoration: none;
}

.ec-products li.product .ec-card__add {
	position: absolute;
	right: 12px;
	bottom: 12px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--ec-gold);
	color: #fff !important;
	font: 700 12px/16px var(--ec-font);
	transition: background-color 0.2s, transform 0.2s;
}

.ec-products li.product .ec-card__add::after {
	display: none !important;
}

.ec-products li.product .ec-card__add:hover {
	transform: scale(1.1);
}

.ec-products li.product .ec-card__add.loading {
	opacity: 0.6;
	pointer-events: none;
}

.ec-products li.product .ec-card__add.added {
	background: var(--ec-teal);
}

.ec-products li.product .ec-card__soldout {
	position: absolute;
	right: 12px;
	bottom: 16px;
	color: var(--ec-muted);
	font: 700 11px/16px var(--ec-font);
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.ec-products li.product .onsale {
	top: 12px !important;
	left: 12px !important;
	border-radius: 999px !important;
	background: var(--ec-gold) !important;
	font: 700 12px/16px var(--ec-font) !important;
}

.ec-products .woocommerce-pagination {
	margin-top: 32px;
}

/* ---------- Sélecteur de quantité (boutons ajoutés par shop.js) ---------- */

.ec-shop-section .quantity.ec-qty {
	display: inline-flex;
	align-items: center;
	width: auto !important;
	margin: 0 !important;
	overflow: hidden;
	border: 2px solid var(--ec-line);
	border-radius: 999px;
	background: #fff;
}

.ec-shop-section .ec-qty .ec-qty__btn {
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ec-teal);
	font: 700 18px/1 var(--ec-font);
	cursor: pointer;
}

.ec-shop-section .ec-qty .ec-qty__btn:hover {
	background: var(--gcid-ec-cream, #faf7f2);
}

.ec-shop-section .ec-qty input.qty {
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--ec-text) !important;
	font: 900 16px/40px var(--ec-font) !important;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.ec-shop-section .ec-qty input.qty::-webkit-outer-spin-button,
.ec-shop-section .ec-qty input.qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* ---------- Boutons principaux WooCommerce ---------- */

.ec-shop-section .single_add_to_cart_button,
.ec-shop-section .wc-proceed-to-checkout .checkout-button,
.ec-shop-section #place_order,
.ec-shop-section .return-to-shop .button {
	display: block;
	width: 100%;
	margin: 0 !important;
	padding: 16px 24px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: var(--ec-gold) !important;
	box-shadow: 0 8px 12px var(--ec-gold-shadow);
	color: #fff !important;
	font: 900 18px/28px var(--ec-font) !important;
	text-align: center;
	transition: filter 0.2s, transform 0.2s;
}

.ec-shop-section .single_add_to_cart_button::after,
.ec-shop-section .wc-proceed-to-checkout .checkout-button::after,
.ec-shop-section #place_order::after,
.ec-shop-section .return-to-shop .button::after {
	display: none !important;
}

.ec-shop-section .single_add_to_cart_button:hover,
.ec-shop-section .wc-proceed-to-checkout .checkout-button:hover,
.ec-shop-section #place_order:hover,
.ec-shop-section .return-to-shop .button:hover {
	padding: 16px 24px !important;
	filter: brightness(1.06);
	transform: translateY(-1px);
}

/* ---------- Fiche produit ---------- */

.ec-product-card {
	overflow: hidden;
}

.ec-product-image .woocommerce-product-gallery {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

.ec-product-image .woocommerce-product-gallery__image img {
	display: block;
	width: auto !important;
	max-width: 100%;
	max-height: 460px;
	margin: 0 auto;
	object-fit: contain;
}

.ec-product-image .woocommerce-product-gallery__image a {
	display: block;
}

.ec-product-cat .product_meta {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 0;
}

.ec-product-cat .product_meta a {
	color: var(--ec-gold);
	font: 400 14px/20px "Fredoka One", sans-serif;
	letter-spacing: 1.4px;
	text-transform: uppercase;
}

.ec-buy {
	display: grid !important;
	grid-template-areas: "price qty" "stock stock" "button button";
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

/* Le stock, la quantité et le bouton sont générés dans un même formulaire : on les remonte dans la grille. */
.ec-buy .ec-product-cart,
.ec-buy .ec-product-cart > .et_pb_module_inner,
.ec-buy .ec-product-cart form.cart {
	display: contents;
}

.ec-buy .ec-product-price {
	grid-area: price;
}

.ec-product-price .price {
	margin: 0;
	padding: 2px 0;
	color: var(--ec-text) !important;
	font: 900 36px/40px var(--ec-font) !important;
}

.ec-product-price .price del {
	margin-right: 10px;
	color: var(--ec-muted);
	font-size: 22px;
	font-weight: 600;
}

.ec-product-price .price ins {
	text-decoration: none;
}

.ec-buy .quantity {
	grid-area: qty;
}

.ec-buy .stock {
	grid-area: stock;
	margin: 0 0 4px !important;
	padding-top: 3px;
	color: var(--ec-teal) !important;
	font: 400 13px/22.75px "Quicksand", sans-serif !important;
	text-align: right;
}

.ec-buy .stock.out-of-stock {
	color: var(--ec-muted) !important;
	font-weight: 600 !important;
	text-align: left;
}

.ec-buy .single_add_to_cart_button {
	grid-area: button;
}

.ec-product-image .woocommerce-product-gallery__trigger {
	display: none !important;
}

.ec-reassure p {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 18px;
	padding: 0;
}

/* ---------- Panier : une carte par article ---------- */

.ec-cart-items table.shop_table,
.ec-cart-items table.shop_table tbody {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}

.ec-cart-items table.shop_table thead,
.ec-cart-items td::before,
.ec-cart-items .coupon {
	display: none !important;
}

.ec-cart-items table.shop_table tr.cart_item {
	display: grid !important;
	grid-template-areas: "thumb name qty subtotal remove" "thumb price qty subtotal remove";
	grid-template-columns: 80px minmax(0, 1fr) auto auto auto;
	column-gap: 16px;
	align-items: center;
	padding: 16px;
	border: 1.5px solid var(--ec-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 1px 1.5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.1);
	font-family: var(--ec-font);
}

.ec-cart-items table.shop_table tr.cart_item td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
}

.ec-cart-items td.product-thumbnail {
	grid-area: thumb;
	width: 80px !important;
	height: 80px;
	overflow: hidden;
	border-radius: 12px;
	background: #f0ebe3 !important;
}

.ec-cart-items td.product-thumbnail img {
	display: block;
	width: 80px !important;
	height: 80px;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.ec-cart-items td.product-name {
	grid-area: name;
	align-self: end;
}

.ec-cart-items td.product-name a {
	color: var(--ec-text) !important;
	font: 700 14px/19.25px var(--ec-font);
}

.ec-cart-items .ec-cart__cat {
	display: block;
	margin-bottom: 2px;
	color: var(--ec-gold);
	font: 900 12px/16px var(--ec-font);
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.ec-cart-items td.product-price {
	grid-area: price;
	align-self: start;
	padding-top: 4px !important;
	color: var(--ec-text);
	font: 900 16px/24px var(--ec-font);
}

.ec-cart-items td.product-quantity {
	grid-area: qty;
}

.ec-cart-items .ec-qty .ec-qty__btn {
	width: 36px;
	height: 36px;
	font-size: 16px;
}

.ec-cart-items .ec-qty input.qty {
	width: 32px !important;
	height: 36px !important;
	font: 900 14px/36px var(--ec-font) !important;
}

.ec-cart-items td.product-subtotal {
	grid-area: subtotal;
	min-width: 64px;
	color: var(--ec-text);
	font: 900 16px/24px var(--ec-font);
	text-align: right !important;
}

.ec-cart-items td.product-remove {
	grid-area: remove;
}

.ec-cart-items td.product-remove a.remove {
	display: block;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: none !important;
	color: #99a1af !important;
	font: 400 24px/28px var(--ec-font);
	text-align: center;
}

.ec-cart-items td.product-remove a.remove:hover {
	background: #f0ebe3 !important;
	color: var(--ec-text) !important;
}

/* La ligne d'actions ne garde que le bouton de mise à jour, déclenché par shop.js. */
.ec-cart-items td.actions {
	display: block;
	height: 0;
	padding: 0 !important;
	overflow: hidden;
	border: 0 !important;
}

.ec-cart-items .cart-empty {
	margin: 0 0 16px !important;
}

body.ec-cart-empty .ec-cart-aside {
	display: none;
}

/* ---------- Panier : récapitulatif ---------- */

/* WooCommerce empile ses tableaux sous 768 px : on garde ici deux colonnes libellé / montant. */
.ec-shop-section .cart_totals table.shop_table tr,
.ec-shop-section table.woocommerce-checkout-review-order-table tr {
	display: table-row !important;
}

.ec-shop-section .cart_totals table.shop_table th,
.ec-shop-section .cart_totals table.shop_table td,
.ec-shop-section table.woocommerce-checkout-review-order-table th,
.ec-shop-section table.woocommerce-checkout-review-order-table td {
	display: table-cell !important;
}

.ec-shop-section .cart_totals table.shop_table td::before,
.ec-shop-section table.woocommerce-checkout-review-order-table td::before {
	display: none !important;
}

.ec-cart-totals .cart_totals {
	float: none !important;
	width: 100% !important;
	font-family: var(--ec-font);
}

.ec-cart-totals .cart_totals h2,
.ec-checkout-card h3 {
	margin: 0 0 16px;
	padding: 0 0 16px;
	border-bottom: 1px solid var(--ec-line);
	color: var(--ec-text);
	font: 900 20px/28px var(--ec-font);
}

.ec-shop-section .cart_totals table.shop_table,
.ec-shop-section table.woocommerce-checkout-review-order-table {
	width: 100%;
	margin: 0 0 16px !important;
	border: 0 !important;
	border-collapse: collapse;
	border-radius: 0 !important;
}

.ec-shop-section .cart_totals table.shop_table th,
.ec-shop-section .cart_totals table.shop_table td,
.ec-shop-section table.woocommerce-checkout-review-order-table th,
.ec-shop-section table.woocommerce-checkout-review-order-table td {
	padding: 4px 0 !important;
	border: 0 !important;
	background: none !important;
	color: #6a6a6a;
	font: 400 14px/20px var(--ec-font);
	text-align: left;
	vertical-align: top;
}

.ec-shop-section .cart_totals table.shop_table td,
.ec-shop-section table.woocommerce-checkout-review-order-table td:last-child,
.ec-shop-section table.woocommerce-checkout-review-order-table th:last-child {
	color: var(--ec-text);
	font-weight: 600;
	text-align: right;
}

.ec-shop-section .cart_totals tr.order-total th,
.ec-shop-section .cart_totals tr.order-total td,
.ec-shop-section table.woocommerce-checkout-review-order-table tr.order-total th,
.ec-shop-section table.woocommerce-checkout-review-order-table tr.order-total td {
	padding-top: 16px !important;
	border-top: 1px solid var(--ec-line) !important;
	color: var(--ec-text);
	font: 900 18px/32px var(--ec-font);
}

.ec-shop-section .cart_totals tr.order-total td,
.ec-shop-section table.woocommerce-checkout-review-order-table tr.order-total td {
	font-size: 24px;
}

/* « (dont 3,92 € TVA) » : sous le total, en petit, plutôt qu'à la taille du montant. */
.ec-shop-section tr.order-total .includes_tax,
.ec-shop-section tr.order-total .includes_tax .woocommerce-Price-amount {
	display: block;
	color: var(--ec-muted);
	font: 400 12px/18px var(--ec-font);
}

.ec-shop-section tr.order-total .includes_tax .woocommerce-Price-amount {
	display: inline;
}

.ec-shop-section tr.cart-subtotal + tr.shipping th,
.ec-shop-section tr.cart-subtotal + tr.shipping td {
	padding-bottom: 16px !important;
}

.ec-shop-section #shipping_method {
	margin: 0;
	padding: 0 !important;
	list-style: none;
}

.ec-shop-section #shipping_method label {
	font-weight: 600;
}

.ec-shop-section .woocommerce-shipping-destination,
.ec-shop-section .woocommerce-shipping-calculator {
	display: none;
}

.ec-shop-section .wc-proceed-to-checkout {
	padding: 0 !important;
}

.ec-summary-list p {
	padding-bottom: 8px;
}

.ec-summary-list {
	padding-top: 8px;
	border-top: 1px solid var(--ec-line);
}

/* ---------- Commande ---------- */

.ec-shop-section .woocommerce-checkout .form-row {
	margin: 0 0 14px !important;
	padding: 0 !important;
}

.ec-shop-section .woocommerce-checkout .form-row-first,
.ec-shop-section .woocommerce-checkout .form-row-last {
	float: left;
	width: calc(50% - 8px) !important;
}

.ec-shop-section .woocommerce-checkout .form-row-last {
	float: right;
}

.ec-shop-section .woocommerce-checkout .form-row-wide,
.ec-shop-section .woocommerce-checkout .notes {
	clear: both;
	float: none;
	width: 100% !important;
}

.ec-shop-section .woocommerce-checkout .form-row label,
.ec-shop-section .woocommerce-checkout .form-row .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}

.ec-shop-section .woocommerce-checkout .form-row label {
	margin-bottom: 4px;
	color: var(--ec-ink);
	font: 600 13px/20px var(--ec-font);
}

.ec-shop-section .woocommerce-checkout .form-row label.screen-reader-text {
	display: none;
}

.ec-shop-section .woocommerce-checkout .col2-set .col-1,
.ec-shop-section .woocommerce-checkout .col2-set .col-2 {
	float: none;
	width: 100%;
}

.ec-shop-section .woocommerce-checkout input.input-text,
.ec-shop-section .woocommerce-checkout textarea,
.ec-shop-section .woocommerce-checkout select {
	box-sizing: border-box;
	width: 100% !important;
}

.ec-shop-section .woocommerce-checkout textarea {
	min-height: 96px;
}

.ec-shop-section .woocommerce-checkout input.input-text,
.ec-shop-section .woocommerce-checkout textarea,
.ec-shop-section .woocommerce-checkout select,
.ec-shop-section .woocommerce-checkout .select2-selection {
	height: auto;
	padding: 12px 14px !important;
	border: 1.5px solid var(--ec-line) !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: var(--ec-text) !important;
	font: 500 14px/20px "Quicksand", sans-serif !important;
}

.ec-shop-section .woocommerce-checkout input.input-text:focus,
.ec-shop-section .woocommerce-checkout textarea:focus,
.ec-shop-section .woocommerce-checkout select:focus {
	border-color: var(--ec-gold) !important;
	outline: 0;
}

/* Créneau de retrait : deux choix côte à côte, le bouton radio masqué derrière son libellé. */
.ec-shop-section .woocommerce-checkout .ec-pickup-slots .woocommerce-input-wrapper {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.ec-shop-section .woocommerce-checkout .ec-pickup-slots input.input-radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ec-shop-section .woocommerce-checkout .ec-pickup-slots label.radio {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	padding: 12px 10px;
	border: 1.5px solid var(--ec-line);
	border-radius: 12px;
	background: #fff;
	color: var(--ec-text);
	font: 600 14px/20px var(--ec-font);
	text-align: center;
	cursor: pointer;
}

.ec-shop-section .woocommerce-checkout .ec-pickup-slots label.radio .required {
	display: none;
}

.ec-shop-section .woocommerce-checkout .ec-pickup-slots input.input-radio:checked + label.radio {
	border-color: var(--ec-gold);
	background: var(--gcid-ec-cream, #faf7f2);
	color: var(--ec-ink);
	font-weight: 800;
}

.ec-shop-section .woocommerce-checkout .ec-pickup-slots input.input-radio:focus-visible + label.radio {
	outline: 2px solid var(--ec-gold);
	outline-offset: 2px;
}

.ec-shop-section #payment,
.ec-shop-section .ec-checkout-payment,
.ec-shop-section .ec-checkout-payment .woocommerce-checkout-payment,
.ec-shop-section .ec-checkout-payment .place-order {
	padding: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}

.ec-shop-section #payment ul.payment_methods {
	margin: 0 0 16px !important;
	padding: 0 !important;
	border: 0 !important;
}

.ec-shop-section #payment ul.payment_methods li {
	margin: 0 0 8px;
	padding: 12px 14px;
	border: 1.5px solid var(--ec-line);
	border-radius: 12px;
	color: var(--ec-text);
	font: 700 14px/20px var(--ec-font);
	list-style: none;
}

.ec-shop-section #payment div.payment_box {
	margin: 8px 0 0 !important;
	padding: 10px 12px !important;
	border-radius: 8px;
	background: var(--gcid-ec-cream, #faf7f2) !important;
	color: var(--ec-muted) !important;
	font: 400 13px/18px var(--ec-font);
}

.ec-shop-section #payment div.payment_box::before {
	display: none !important;
}

.ec-shop-section #payment .place-order {
	margin: 0 !important;
	padding: 0 !important;
}

.ec-shop-section .woocommerce-privacy-policy-text p {
	padding-bottom: 16px;
	color: var(--ec-muted);
	font: 400 12px/18px var(--ec-font);
}

.ec-shop-section table.woocommerce-checkout-review-order-table thead th {
	padding-bottom: 8px !important;
	color: var(--ec-muted);
	font-size: 12px;
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

/* ---------- Confirmation de commande ---------- */

body.woocommerce-order-received .ec-checkout-main,
body.woocommerce-order-received .ec-checkout-order,
body.woocommerce-order-received .ec-summary-list,
body.woocommerce-order-received .ec-back {
	display: none !important;
}

body.woocommerce-order-received .ec-shop-section .et_pb_row {
	justify-content: center;
}

.ec-shop-section .woocommerce-order ul.order_details::before,
.ec-shop-section .woocommerce-order ul.order_details::after {
	display: none !important;
}

/* Sélecteur renforcé : Divi force margin-right: 0 sur la dernière colonne, ce qui poussait la carte à droite. */
body.woocommerce-order-received .ec-shop-section .et_pb_row > .et_pb_column.ec-checkout-aside {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 760px !important;
	margin: 0 auto !important;
}

.ec-shop-section .woocommerce-order {
	color: var(--ec-text);
	font: 400 14px/22px var(--ec-font);
}

.ec-shop-section .woocommerce-order .woocommerce-thankyou-order-received {
	margin: 0 0 20px !important;
	padding: 0 !important;
	background: none !important;
	color: var(--ec-ink) !important;
	font: 900 24px/32px var(--ec-font) !important;
}

.ec-shop-section .woocommerce-order ul.order_details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 24px;
	margin: 0 0 24px !important;
	padding: 16px !important;
	border-radius: 12px;
	background: var(--gcid-ec-cream, #faf7f2);
	list-style: none;
}

.ec-shop-section .woocommerce-order ul.order_details li {
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--ec-muted);
	font: 700 11px/16px var(--ec-font);
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.ec-shop-section .woocommerce-order ul.order_details li strong {
	display: block;
	color: var(--ec-text);
	font: 900 15px/22px var(--ec-font);
	letter-spacing: 0;
	text-transform: none;
}

.ec-shop-section .ec-pickup-summary {
	margin: 0 0 24px;
	padding: 14px 16px;
	border: 1.5px solid var(--ec-line);
	border-left: 4px solid var(--ec-gold);
	border-radius: 12px;
	background: #fff;
}

.ec-shop-section .woocommerce-order .ec-pickup-summary h2 {
	margin: 0;
	color: var(--ec-muted);
	font: 700 11px/16px var(--ec-font);
	letter-spacing: 0.3px;
	text-transform: uppercase;
}

.ec-shop-section .ec-pickup-summary p {
	padding: 0;
	color: var(--ec-ink);
	font: 900 16px/24px var(--ec-font);
}

.ec-shop-section .woocommerce-order h2 {
	margin: 24px 0 12px;
	padding: 0;
	color: var(--ec-text);
	font: 900 20px/28px var(--ec-font);
}

.ec-shop-section .woocommerce-order table.shop_table {
	width: 100%;
	margin: 0 !important;
	border: 1.5px solid var(--ec-line) !important;
	border-radius: 12px !important;
}

.ec-shop-section .woocommerce-order table.shop_table th,
.ec-shop-section .woocommerce-order table.shop_table td {
	padding: 10px 14px !important;
	border-color: var(--ec-line) !important;
	font: 600 14px/20px var(--ec-font);
}

.ec-shop-section .woocommerce-order table.shop_table a {
	color: var(--ec-gold);
}

.ec-shop-section .woocommerce-order address {
	padding: 14px !important;
	border: 1.5px solid var(--ec-line) !important;
	border-radius: 12px !important;
	font-style: normal;
}

/* ---------- Messages WooCommerce (ajout au panier, erreurs, informations) ---------- */

.ec-shop-section .woocommerce-message,
.ec-shop-section .woocommerce-info,
.ec-shop-section .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin: 0 0 16px !important;
	padding: 14px 16px 14px 18px !important;
	border: 1.5px solid var(--ec-line) !important;
	border-left: 5px solid var(--ec-gold) !important;
	border-radius: 16px !important;
	background: #fff !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	color: var(--ec-ink) !important;
	font: 600 14px/20px var(--ec-font) !important;
	list-style: none;
}

.ec-shop-section .woocommerce-info {
	border-left-color: var(--ec-teal) !important;
}

.ec-shop-section .woocommerce-error {
	border-left-color: #c0392b !important;
}

.ec-shop-section .woocommerce-message::before,
.ec-shop-section .woocommerce-info::before,
.ec-shop-section .woocommerce-error::before,
.ec-shop-section .woocommerce-message::after,
.ec-shop-section .woocommerce-info::after,
.ec-shop-section .woocommerce-error::after {
	display: none !important;
}

.ec-shop-section .woocommerce-error li {
	display: flex;
	flex: 1 1 100%;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ec-shop-section .woocommerce-message a:not(.button),
.ec-shop-section .woocommerce-info a:not(.button),
.ec-shop-section .woocommerce-error a:not(.button) {
	color: var(--ec-gold) !important;
	text-decoration: underline;
}

/* Bouton du bandeau (« Voir le panier ») : pastille, lisible au repos comme au survol. */
.ec-shop-section .woocommerce-message .button,
.ec-shop-section .woocommerce-info .button,
.ec-shop-section .woocommerce-error .button,
.ec-shop-section .woocommerce-message .button:hover,
.ec-shop-section .woocommerce-info .button:hover,
.ec-shop-section .woocommerce-error .button:hover {
	float: none;
	flex: 0 0 auto;
	order: 2;
	margin: 0 0 0 auto !important;
	padding: 6px 18px !important;
	border: 2px solid var(--ec-gold) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--ec-gold) !important;
	font: 700 14px/20px "Quicksand", sans-serif !important;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

/* Le module « Woo Notice » de Divi impose un fond blanc au bouton (sélecteur avec #et-boc) : on reprend le même préfixe. */
.ec-shop-section .woocommerce-message .button:hover,
.ec-shop-section .woocommerce-info .button:hover,
.ec-shop-section .woocommerce-error .button:hover,
.ec-shop-section .woocommerce-message .button:focus-visible,
.ec-shop-section .woocommerce-info .button:focus-visible,
.ec-shop-section .woocommerce-error .button:focus-visible,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-message .button:hover,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-info .button:hover,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-error .button:hover,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-message .button:focus-visible,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-info .button:focus-visible,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-error .button:focus-visible {
	background: var(--ec-gold) !important;
	background-color: var(--ec-gold) !important;
	color: #fff !important;
}

.ec-shop-section .woocommerce-message .button::before,
.ec-shop-section .woocommerce-info .button::before,
.ec-shop-section .woocommerce-error .button::before,
.ec-shop-section .woocommerce-message .button::after,
.ec-shop-section .woocommerce-info .button::after,
.ec-shop-section .woocommerce-error .button::after,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-message .button:hover::after,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-info .button:hover::after,
.et-db #et-boc .et-l .ec-shop-section .woocommerce-error .button:hover::after {
	display: none !important;
	content: none !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1100px) {
	.ec-products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (max-width: 980px) {
	.ec-shop-section {
		background-size: 1400px auto !important;
	}

	.ec-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.ec-product-image .woocommerce-product-gallery__image img {
		max-height: 340px;
	}
}

@media (max-width: 479px) {
	.ec-shop-section {
		background-size: 900px auto !important;
	}

	.ec-products ul.products {
		grid-template-columns: minmax(0, 1fr);
	}

	.ec-product-price .price {
		font-size: 30px !important;
	}

	.ec-shop-section .woocommerce-message .button,
	.ec-shop-section .woocommerce-info .button,
	.ec-shop-section .woocommerce-error .button,
	.ec-shop-section .woocommerce-message .button:hover,
	.ec-shop-section .woocommerce-info .button:hover,
	.ec-shop-section .woocommerce-error .button:hover {
		margin-left: 0 !important;
	}

	.ec-cart-items table.shop_table tr.cart_item {
		grid-template-areas: "thumb name remove" "thumb price remove" "qty qty subtotal";
		grid-template-columns: 64px minmax(0, 1fr) auto;
		row-gap: 4px;
	}

	.ec-cart-items table.shop_table td.product-thumbnail,
	.ec-cart-items table.shop_table td.product-thumbnail img {
		width: 64px !important;
		height: 64px;
	}

	.ec-cart-items table.shop_table tr.cart_item td.product-quantity {
		padding-top: 10px !important;
	}

	.ec-shop-section .woocommerce-checkout .form-row-first,
	.ec-shop-section .woocommerce-checkout .form-row-last {
		float: none;
		width: 100% !important;
	}
}
