/* ==========================================================================
   Panier (WooCommerce) habillé aux couleurs du château.

   1. La liste des articles (filets dorés continus, noms en DM Serif)
   2. Le récapitulatif, sur un panneau de marbre
   3. Le bouton « Valider la commande »
   4. Le lien « Continuer mes achats » (ajouté par le thème)
   5. Le panier vide
   6. Téléphone
   ========================================================================== */

body.woocommerce-cart .wp-block-woocommerce-cart {
	max-width: 1120px;
	margin-inline: auto;
	padding-bottom: var(--wp--preset--spacing--60);
}

/* --------------------------------------------------------------------------
   1. La liste des articles
   -------------------------------------------------------------------------- */

table.wc-block-cart-items {
	border: 0 !important;
	border-collapse: collapse !important;
}

.wc-block-cart-items__header th {
	padding-bottom: 0.8rem !important;
	border-bottom: 1px solid rgba(201, 162, 78, 0.6) !important;
	color: #8a7a6a;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* Le filet doré est porté par la ligne entière (et non par chaque cellule,
   que WooCommerce dispose en grille avec des hauteurs différentes) :
   un trait continu, d'un bord à l'autre. */
table.wc-block-cart-items tr.wc-block-cart-items__row {
	border: 0 !important;
	border-bottom: 1px solid rgba(201, 162, 78, 0.45) !important;
}

table.wc-block-cart-items tr.wc-block-cart-items__row > td {
	padding-block: 1.6rem !important;
	border: 0 !important;
	box-shadow: none !important;
	vertical-align: top !important;
}

/* La photo */
.wc-block-cart-item__image a,
.wc-block-cart-item__image img {
	display: block;
}

.wc-block-cart-item__image img {
	width: 96px !important;
	max-width: none !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: #f7f2ea;
}

/* Le nom du produit */
.wc-block-cart-item__product .wc-block-components-product-name {
	color: var(--wp--preset--color--noir-chaud) !important;
	font-family: var(--wp--preset--font-family--dm-serif-display);
	font-size: 1.2rem !important;
	line-height: 1.25;
	text-decoration: none !important;
	transition: color 0.25s ease;
}

.wc-block-cart-item__product .wc-block-components-product-name:hover {
	color: #a8873f !important;
}

/* Le prix unitaire, suivi de « l'unité » pour le distinguer du total. */
.wc-block-cart-item__prices {
	margin-top: 0.25rem;
	color: #6b5d50;
	font-size: 0.9rem;
}

.wc-block-cart-item__prices .wc-block-components-product-price::after {
	content: " l’unité";
	color: #8a7a6a;
	font-size: 0.8rem;
}

.wc-block-components-product-metadata {
	color: #8a7a6a;
	font-size: 0.85rem;
	font-weight: 300;
}

/* La quantité et la corbeille */
.wc-block-cart-item__quantity {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 0.9rem;
}

.wc-block-components-quantity-selector {
	border: 1px solid #c9b79c !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.wc-block-components-quantity-selector::after {
	display: none !important;
}

.wc-block-components-quantity-selector input {
	color: var(--wp--preset--color--noir-chaud) !important;
	font-size: 0.95rem;
}

.wc-block-components-quantity-selector button {
	color: #8a7a6a !important;
}

.wc-block-components-quantity-selector button:hover {
	color: var(--wp--preset--color--noir-chaud) !important;
}

.wc-block-cart-item__remove-link {
	color: #8a7a6a !important;
	transition: color 0.25s ease;
}

.wc-block-cart-item__remove-link:hover {
	color: #a8873f !important;
}

/* Le total de la ligne */
.wc-block-cart-item__total {
	color: var(--wp--preset--color--noir-chaud);
	font-family: var(--wp--preset--font-family--dm-serif-display);
	font-size: 1.05rem;
}

/* --------------------------------------------------------------------------
   2. Le récapitulatif, sur un panneau de marbre
   -------------------------------------------------------------------------- */

.wc-block-cart__sidebar {
	padding: 1.75rem 1.75rem 2rem !important;
	background:
		linear-gradient(rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.55)),
		#f4f3f1 var(--tl-marbre) center / 900px auto;
}

.wc-block-cart__totals-title {
	margin: 0 0 0.6rem !important;
	padding-bottom: 0.8rem;
	border-bottom: 1px solid rgba(201, 162, 78, 0.6);
	color: #8a7a6a !important;
	font-family: var(--wp--preset--font-family--mukta) !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	border-color: rgba(201, 162, 78, 0.45) !important;
}

.wc-block-cart__sidebar .wc-block-components-panel__button {
	color: var(--wp--preset--color--noir-chaud);
	font-size: 0.9rem;
}

/* Le total, en DM Serif. */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--wp--preset--color--noir-chaud);
	font-family: var(--wp--preset--font-family--dm-serif-display);
	font-size: 1.35rem !important;
	font-weight: 400 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
	color: #8a7a6a;
	font-size: 0.8rem;
}

/* --------------------------------------------------------------------------
   3. Le bouton « Valider la commande » : noir et or, cadre doré décalé
   -------------------------------------------------------------------------- */

.wc-block-cart__submit-container {
	position: relative;
	isolation: isolate;
	margin-top: 1.5rem;
	padding: 0 14px 10px 0;
}

.wc-block-cart__submit-button {
	position: relative;
	width: 100%;
	min-height: 52px;
	border: 1px solid var(--wp--preset--color--noir-chaud) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--noir-chaud) !important;
	color: var(--wp--preset--color--or) !important;
	font-family: var(--wp--preset--font-family--bodoni-moda) !important;
	font-size: 0.95rem !important;
	font-style: italic;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transition: color 0.3s ease;
}

.wc-block-cart__submit-button::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 10px;
	right: -14px;
	bottom: -10px;
	left: 48px;
	border: 1px solid var(--wp--preset--color--or);
	pointer-events: none;
}

.wc-block-cart__submit-button:hover {
	color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   4. Le lien « Continuer mes achats » (inc/etapes-commande.php)
   -------------------------------------------------------------------------- */

.tl-continuer {
	margin: -1.5rem 0 2rem;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
}

.tl-continuer a {
	color: #8a6420;
	text-decoration: none;
}

.tl-continuer a:hover {
	color: var(--wp--preset--color--noir-chaud);
}

/* --------------------------------------------------------------------------
   5. Le panier vide : fleurons, titre en DM Serif, bouton noir et or,
      et « Nouveau dans la boutique » en grille à filets dorés.
   -------------------------------------------------------------------------- */

.wp-block-woocommerce-empty-cart-block {
	text-align: center;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	color: var(--wp--preset--color--noir-chaud);
	font-family: var(--wp--preset--font-family--dm-serif-display);
	font-size: clamp(1.6rem, 2.4vw, 2rem) !important;
	font-weight: 400;
}

/* Les fleurons dorés à la place du visage triste. */
.wc-block-cart__empty-cart__title::before {
	width: 7rem !important;
	height: 2rem !important;
	margin: 0 auto 1.25rem !important;
	background-color: #c9a24e !important;
	opacity: 1 !important;
	-webkit-mask:
		var(--tl-orn-divider-left) left center / 46% auto no-repeat,
		var(--tl-orn-divider-right) right center / 46% auto no-repeat !important;
	mask:
		var(--tl-orn-divider-left) left center / 46% auto no-repeat,
		var(--tl-orn-divider-right) right center / 46% auto no-repeat !important;
}

/* « Parcourir la boutique » en bouton noir et or, avec son cadre décalé. */
.wp-block-woocommerce-empty-cart-block p:has(> a) {
	position: relative;
	isolation: isolate;
	text-align: center;
}

.wp-block-woocommerce-empty-cart-block p > a {
	position: relative;
	display: inline-block;
	margin: 0.5rem 14px 10px 0;
	padding: 0.85rem 1.9rem;
	border: 1px solid var(--wp--preset--color--noir-chaud);
	background: var(--wp--preset--color--noir-chaud);
	color: var(--wp--preset--color--or) !important;
	font-family: var(--wp--preset--font-family--bodoni-moda);
	font-size: 0.95rem;
	font-style: italic;
	letter-spacing: 0.08em;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: color 0.3s ease;
}

.wp-block-woocommerce-empty-cart-block p > a::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 10px;
	right: -14px;
	bottom: -10px;
	left: 48px;
	border: 1px solid var(--wp--preset--color--or);
}

.wp-block-woocommerce-empty-cart-block p > a:hover {
	color: #ffffff !important;
}

/* Un filet doré à la place des points de séparation. */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
	width: 7rem !important;
	max-width: 7rem !important;
	margin: 3rem auto !important;
	border: 0 !important;
	border-top: 1px solid rgba(201, 162, 78, 0.6) !important;
	background: none !important;
}

.wp-block-woocommerce-empty-cart-block .wp-block-separator::before {
	display: none !important;
}

.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
	margin-bottom: 1.75rem !important;
	text-align: center;
}

/* « Nouveau dans la boutique » : même grille que le catalogue. */
.wp-block-woocommerce-empty-cart-block :is(ul.wc-block-product-template, ul.wc-block-grid__products) {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0 !important;
	max-width: 1120px;
	margin: 0 auto !important;
	padding: 0 !important;
	border-top: 1px solid rgba(201, 162, 78, 0.45);
	border-left: 1px solid rgba(201, 162, 78, 0.45);
}

.wp-block-woocommerce-empty-cart-block :is(ul.wc-block-product-template, ul.wc-block-grid__products) > li {
	width: auto !important;
	max-width: none !important;
	flex: none !important;
	margin: 0 !important;
	padding: 24px 20px 28px !important;
	border: 0 !important;
	border-right: 1px solid rgba(201, 162, 78, 0.45) !important;
	border-bottom: 1px solid rgba(201, 162, 78, 0.45) !important;
	text-align: center !important;
}

.wp-block-woocommerce-empty-cart-block li img {
	display: block;
	width: 100% !important;
	aspect-ratio: 1 / 1;
	margin: 0 0 1rem !important;
	object-fit: cover;
	background: #f7f2ea;
}

.wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-title, .wp-block-post-title, .wp-block-post-title a) {
	color: var(--wp--preset--color--noir-chaud) !important;
	font-family: var(--wp--preset--font-family--dm-serif-display);
	font-size: 1.15rem !important;
	text-decoration: none !important;
}

/* --------------------------------------------------------------------------
   6. Téléphone : photo plus petite et espacée du texte, « Total » au-dessus
      du prix de la ligne (les intitulés de colonnes y sont masqués),
      bouton collé en bas de l'écran sur fond crème.
   -------------------------------------------------------------------------- */

@media (max-width: 781px) {
	.wc-block-cart-items__row {
		column-gap: 1rem !important;
	}

	.wc-block-cart-item__image {
		padding-right: 1rem !important;
	}

	.wc-block-cart-item__image img {
		width: 80px !important;
	}

	.wc-block-cart-item__total {
		display: flex !important;
		flex-direction: column;
		align-items: flex-end;
	}

	.wc-block-cart-item__total::before {
		content: "Total";
		display: block;
		margin-bottom: 0.2rem;
		color: #8a7a6a;
		font-family: var(--wp--preset--font-family--mukta);
		font-size: 0.7rem;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.wc-block-cart__submit-container--sticky {
		padding: 12px 26px 22px 12px;
		background: var(--wp--preset--color--creme) !important;
	}

	.tl-continuer {
		margin-top: -1.75rem;
	}

	.wp-block-woocommerce-empty-cart-block :is(ul.wc-block-product-template, ul.wc-block-grid__products) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
