/**
 * Panier Blocks — mise en page type maquette (structure) :
 * liste à gauche (cartes ligne) + récapitulatif à droite.
 * Colonne droite : prix puis qty en dessous (comme l’exemple).
 * Couleurs Richard, border-radius 0.
 */

:root {
	--tc-cart-navy: var(--wp--preset--color--on-background, #082b4e);
	--tc-cart-promo: var(--wp--preset--color--promo, #287d63);
	--tc-cart-soft: var(--wp--preset--color--surface-soft, #fafafa);
	--tc-cart-border: 1px solid color-mix(in srgb, var(--tc-cart-navy) 14%, transparent);
}

/* ========== Page ========== */

.woocommerce-cart .techniconcept-shop-page,
body.woocommerce-cart .techniconcept-shop-page {
	background: var(--tc-cart-soft);
}

.woocommerce-cart .wc-block-cart,
.techniconcept-shop-page .wc-block-cart {
	padding-top: 0;
}

/* Colonne items + sidebar récap */
.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
.techniconcept-shop-page .wp-block-woocommerce-filled-cart-block {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1.5rem 2rem;
	margin: 0;
}

.woocommerce-cart .wp-block-woocommerce-cart-items-block,
.techniconcept-shop-page .wp-block-woocommerce-cart-items-block {
	flex: 1 1 0;
	min-width: min(100%, 28rem);
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
.techniconcept-shop-page .wp-block-woocommerce-cart-totals-block {
	flex: 0 1 22rem;
	width: 22rem !important;
	max-width: 100%;
	padding: 0 !important;
	box-sizing: border-box;
	position: sticky;
	top: 1.25rem;
}

/* ========== Tableau : masquer en-têtes ========== */

.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header {
	display: none !important;
}

.woocommerce-cart .wc-block-cart table.wc-block-cart-items,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 0.85rem;
}

.woocommerce-cart .wc-block-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__row,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items:not(.wc-block-mini-cart-items) .wc-block-cart-items__row {
	border-bottom: 0 !important;
}

/*
 * Carte ligne : image | infos | bloc prix+qty (droite).
 * Qty sous le prix, comme la maquette.
 */
.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 7.5rem minmax(0, 1fr) auto !important;
	column-gap: 1.25rem;
	align-items: start;
	width: 100%;
	margin: 0;
	padding: 1.25rem !important;
	background: #fff;
	border: var(--tc-cart-border);
	border-radius: 0 !important;
	box-sizing: border-box;
}

/* Image : pas de bordure, entièrement visible (pas de crop Woo) */
.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
	grid-column: 1 !important;
	grid-row: 1 / span 8 !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 7.5rem;
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
	background: transparent !important;
}

.woocommerce-cart .wc-block-cart-item__image a,
.techniconcept-shop-page .wc-block-cart-item__image a {
	display: block !important;
	border: 0 !important;
	border-radius: 0 !important;
	line-height: 0;
	overflow: visible !important;
	background: transparent !important;
	position: static !important;
}

.woocommerce-cart .wc-block-cart-item__image a::after,
.techniconcept-shop-page .wc-block-cart-item__image a::after {
	display: none !important;
	content: none !important;
}

.woocommerce-cart .wc-block-cart-item__image img,
.techniconcept-shop-page .wc-block-cart-item__image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: center;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
	display: contents !important;
}

.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata {
	grid-column: 2 !important;
	max-width: none !important;
}

/* Pas de filet Woo au-dessus des prix / cellule produit */
.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none !important;
}

/* Colonne droite : prix (ligne + unité) puis qty */
.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
	grid-column: 3 !important;
	grid-row: 1 !important;
	justify-self: end;
	align-self: start;
	text-align: right;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.15rem;
}

/* Prix barré (× qty) + total courant sur la même ligne */
.woocommerce-cart .wc-block-cart-item__total .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.techniconcept-shop-page .wc-block-cart-item__total .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: flex-end;
	gap: 0.45rem;
}

.woocommerce-cart .wc-block-cart-item__total .techniconcept-cart-line-regular,
.techniconcept-shop-page .wc-block-cart-item__total .techniconcept-cart-line-regular {
	display: inline;
	font-size: var(--wp--preset--font-size--body, 1rem);
	font-weight: 400 !important;
	color: var(--tc-cart-navy);
	opacity: 0.55;
	text-decoration: line-through;
}

.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices {
	grid-column: 3 !important;
	grid-row: 2 !important;
	justify-self: end;
	align-self: start;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: baseline !important;
	justify-content: flex-end !important;
	gap: 0.2rem !important;
	margin-top: 0.15rem;
}

/* Le barré unitaire reste en source JS ; affiché en total ligne (× qty) */
.woocommerce-cart .wc-block-cart-item__prices del,
.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price__regular,
.techniconcept-shop-page .wc-block-cart-item__prices del,
.techniconcept-shop-page .wc-block-cart-item__prices .wc-block-components-product-price__regular {
	display: none !important;
}

.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
	grid-column: 3 !important;
	grid-row: 3 !important;
	justify-self: end;
	align-self: start;
	display: inline-flex !important;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
	margin: 0.65rem 0 0;
	padding: 0 !important;
}

/* Masquer « Économisez … » */
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-sale-badge,
.woocommerce-cart .wc-block-components-product-badge.wc-block-components-sale-badge,
.techniconcept-shop-page .wc-block-cart-item__total .wc-block-components-sale-badge,
.techniconcept-shop-page .wc-block-components-product-badge.wc-block-components-sale-badge {
	display: none !important;
}

/* ========== Typographie ligne ========== */

.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name,
.techniconcept-shop-page .wc-block-cart-items__row .wc-block-components-product-name {
	font-family: var(--wp--preset--font-family--suisse-intl, SuisseIntl, Arial, Helvetica, sans-serif);
	font-size: var(--wp--preset--font-size--body, 1rem) !important;
	font-weight: 700 !important;
	line-height: 1.35;
	color: var(--tc-cart-navy);
	text-decoration: none;
}

.woocommerce-cart .wc-block-cart-item__total,
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount,
.woocommerce-cart .wc-block-cart-item__total .woocommerce-Price-amount,
.techniconcept-shop-page .wc-block-cart-item__total,
.techniconcept-shop-page .wc-block-cart-item__total .woocommerce-Price-amount {
	font-size: var(--wp--preset--font-size--body, 1rem) !important;
	font-weight: 700 !important;
	color: var(--tc-cart-navy);
}

/* Prix unitaire (par pièce) — 2e ligne, sans barré */
.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-cart-item__prices .price,
.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price,
.woocommerce-cart .wc-block-cart-item__prices .woocommerce-Price-amount,
.woocommerce-cart .wc-block-cart-item__prices ins,
.techniconcept-shop-page .wc-block-cart-item__prices,
.techniconcept-shop-page .wc-block-cart-item__prices .woocommerce-Price-amount,
.techniconcept-shop-page .wc-block-cart-item__prices ins {
	font-size: var(--wp--preset--font-size--body-sm, 0.875rem) !important;
	font-weight: 700 !important;
	color: var(--tc-cart-navy);
	text-decoration: none !important;
}

/* Suffixe « / pièce » (injecté en JS si qty > 1) */
.woocommerce-cart .techniconcept-cart-unit-suffix,
.techniconcept-shop-page .techniconcept-cart-unit-suffix {
	display: inline;
	font-size: var(--wp--preset--font-size--body-sm, 0.875rem);
	font-weight: 400;
	color: var(--tc-cart-navy);
	margin-inline-start: 0.2em;
}

/* Qty = 1 : pas besoin du prix unitaire (égal au total) */
.woocommerce-cart .wc-block-cart-items__row[data-tc-qty='1'] .wc-block-cart-item__prices,
.techniconcept-shop-page .wc-block-cart-items__row[data-tc-qty='1'] .wc-block-cart-item__prices {
	display: none !important;
}

.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-components-product-details,
.woocommerce-cart .wc-block-components-product-details__name,
.woocommerce-cart .wc-block-components-product-details__value,
.techniconcept-shop-page .wc-block-components-product-metadata,
.techniconcept-shop-page .wc-block-components-product-details {
	font-size: var(--wp--preset--font-size--body-sm, 0.875rem) !important;
	line-height: 1.4;
	color: var(--tc-cart-navy);
}

/* Un attribut par ligne (masque les « / » Woo) */
.woocommerce-cart .wc-block-components-product-details,
.techniconcept-shop-page .wc-block-components-product-details {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0.15rem;
	margin-top: 0.35rem;
}

.woocommerce-cart .wc-block-components-product-details > span,
.techniconcept-shop-page .wc-block-components-product-details > span {
	display: block !important;
}

.woocommerce-cart .wc-block-components-product-details [aria-hidden='true'],
.techniconcept-shop-page .wc-block-components-product-details [aria-hidden='true'] {
	display: none !important;
}

/* ========== Qty / suppression ========== */

.woocommerce-cart .wc-block-components-quantity-selector,
.techniconcept-shop-page .wc-block-components-quantity-selector {
	border: var(--tc-cart-border);
	border-radius: 0 !important;
	width: 7.75rem;
	min-height: 2.75rem;
	background: #fff;
}

.woocommerce-cart .wc-block-cart-item__remove-link,
.techniconcept-shop-page .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	color: var(--tc-cart-navy) !important;
	text-decoration: none !important;
	border: var(--tc-cart-border);
	background: #fff;
	border-radius: 0 !important;
	padding: 0;
}

.woocommerce-cart .wc-block-cart-item__remove-link svg,
.techniconcept-shop-page .wc-block-cart-item__remove-link svg {
	width: 1.15rem;
	height: 1.15rem;
	fill: currentColor;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover,
.techniconcept-shop-page .wc-block-cart-item__remove-link:hover {
	color: var(--tc-cart-promo) !important;
	border-color: var(--tc-cart-promo);
}

/* ========== Récapitulatif ========== */

.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
.techniconcept-shop-page .wp-block-woocommerce-cart-order-summary-block {
	background: #fff;
	border: var(--tc-cart-border);
	border-radius: 0 !important;
	padding: 1.25rem 1.35rem;
	margin-bottom: 0.85rem;
}

/* Titre « Récapitulatif » : taille modérée, pas de capitales */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block,
.techniconcept-shop-page .wp-block-woocommerce-cart-order-summary-heading-block,
.woocommerce-cart .wc-block-cart .wc-block-cart__totals-title,
.techniconcept-shop-page .wc-block-cart .wc-block-cart__totals-title,
.woocommerce-cart .wc-block-cart .wc-block-components-title,
.techniconcept-shop-page .wc-block-cart .wc-block-components-title {
	font-family: var(--wp--preset--font-family--suisse-intl, SuisseIntl, Arial, Helvetica, sans-serif);
	font-size: var(--wp--preset--font-size--body, 1rem) !important;
	font-weight: 700 !important;
	line-height: 1.35;
	color: var(--tc-cart-navy);
	margin: 0 0 1rem !important;
	border: 0 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.woocommerce-cart .wc-block-components-totals-item,
.techniconcept-shop-page .wc-block-components-totals-item {
	color: var(--tc-cart-navy);
	font-size: var(--wp--preset--font-size--body, 1rem);
}

.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-item__label strong,
.techniconcept-shop-page .wc-block-components-totals-item__label,
.techniconcept-shop-page .wc-block-components-totals-item__label strong {
	text-transform: none !important;
}

.woocommerce-cart .wc-block-components-totals-item__value,
.techniconcept-shop-page .wc-block-components-totals-item__value {
	font-weight: 700;
}

/* Un seul filet avant le total (supprime les border-top Woo en double) */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block,
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper,
.techniconcept-shop-page .wp-block-woocommerce-cart-order-summary-totals-block,
.techniconcept-shop-page .wp-block-woocommerce-cart-order-summary-block > .wc-block-components-totals-wrapper {
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item,
.techniconcept-shop-page .wc-block-components-totals-footer-item {
	border-top: var(--tc-cart-border);
	padding-top: 0.85rem;
	margin-top: 0;
}

/* Total estimé : un cran au-dessus du body, plus le headline */
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.techniconcept-shop-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.techniconcept-shop-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--tc-cart-navy);
	text-transform: none !important;
}

/*
 * Bloc « Ajouter des codes promo » : carte séparée sous le récap
 * (sorti du summary via JS, ou filet de secours si encore imbriqué).
 */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.techniconcept-shop-page .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.woocommerce-cart .wc-block-cart__sidebar > .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.techniconcept-shop-page .wc-block-cart__sidebar > .wp-block-woocommerce-cart-order-summary-coupon-form-block {
	background: #fff;
	border: var(--tc-cart-border) !important;
	border-radius: 0 !important;
	padding: 0.9rem 1.15rem;
	margin: 0 0 0.85rem;
	box-sizing: border-box;
	/* Évite le 2e filet Woo (.totals-wrapper { border-top }) collé au récap */
	border-top-color: color-mix(in srgb, var(--tc-cart-navy) 14%, transparent) !important;
	box-shadow: none !important;
}

.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.techniconcept-shop-page .wp-block-woocommerce-cart-order-summary-block .wp-block-woocommerce-cart-order-summary-coupon-form-block {
	/* Secours si le JS n’a pas encore déplacé le bloc : un seul filet haut */
	margin: 0.85rem -1.35rem -1.25rem;
	border: 0 !important;
	border-top: var(--tc-cart-border) !important;
	padding: 0.9rem 1.35rem;
	box-shadow: none !important;
}

.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
.techniconcept-shop-page .wc-block-components-totals-coupon .wc-block-components-panel__button {
	font-size: var(--wp--preset--font-size--body, 1rem) !important;
	font-weight: 700 !important;
	color: var(--tc-cart-navy) !important;
	text-transform: none !important;
	padding: 0 !important;
}

.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit,
.woocommerce-cart .wc-block-cart__submit-button,
.techniconcept-shop-page .wc-block-cart__submit-button {
	border-radius: 0 !important;
	background: var(--tc-cart-navy) !important;
	color: #fff !important;
	font-weight: 700;
}

.woocommerce-cart .wc-block-cart__submit-button:hover,
.techniconcept-shop-page .wc-block-cart__submit-button:hover {
	background: var(--wp--preset--color--primary-dark, #002b4d) !important;
}

/* ========== Mobile ========== */

@media (max-width: 767px) {
	.woocommerce-cart .wp-block-woocommerce-filled-cart-block,
	.techniconcept-shop-page .wp-block-woocommerce-filled-cart-block {
		flex-direction: column;
	}

	.woocommerce-cart .wp-block-woocommerce-cart-items-block,
	.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
	.techniconcept-shop-page .wp-block-woocommerce-cart-items-block,
	.techniconcept-shop-page .wp-block-woocommerce-cart-totals-block {
		flex: 1 1 auto;
		width: 100% !important;
		position: static;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
	.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
		grid-template-columns: 5.5rem minmax(0, 1fr) !important;
		row-gap: 0.65rem;
		padding: 1rem !important;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
	.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata,
	.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
	.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-metadata {
		grid-column: 2 !important;
	}

	.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
	.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
	.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
	.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
	.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
	.techniconcept-shop-page .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
		grid-column: 2 !important;
		justify-self: start;
		align-items: flex-start !important;
		text-align: left;
	}
}
