/* =========================================================
   PANIER
   AG INFORMATIQUE 81 SHOP
========================================================= */

body.woocommerce-cart {
	background: var(--color-background-alt);
}

body.woocommerce-cart .ag-shop-main,
body.woocommerce-cart .site-main {
	min-height: 600px;

	padding:
		58px
		0
		90px;
}


/* =========================================================
   TITRE DE PAGE
========================================================= */

body.woocommerce-cart
.entry-title,
body.woocommerce-cart
.wp-block-post-title {
	width:
		min(
			calc(100% - 40px),
			var(--container-width)
		);

	margin:
		0
		auto
		35px;

	color: var(--color-dark);

	font-size:
		clamp(
			2.7rem,
			5vw,
			4.6rem
		);

	font-weight: 860;

	letter-spacing: -0.055em;

	line-height: 1;
}


/* =========================================================
   CONTENEUR
========================================================= */

body.woocommerce-cart
.woocommerce,
body.woocommerce-cart
.wp-block-woocommerce-cart {
	width:
		min(
			calc(100% - 40px),
			var(--container-width)
		);

	margin-right: auto;
	margin-left: auto;
}


/* =========================================================
   PANIER MODERNE : LAYOUT
========================================================= */

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-sidebar-layout {
	display: grid !important;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(390px, 430px) !important;

	align-items: start;

	gap: 38px !important;

	width: 100% !important;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-main {
	width: 100% !important;
	max-width: none !important;

	padding: 0 !important;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-sidebar {
	width: 100% !important;
	max-width: none !important;

	padding: 0 !important;
}


/* =========================================================
   LISTE PRODUITS
========================================================= */

body.woocommerce-cart
.wc-block-cart-items {
	overflow: hidden;

	width: 100%;

	margin: 0 !important;

	border:
		1px solid
		var(--color-border) !important;

	border-radius: 20px;

	background: #ffffff;

	box-shadow:
		var(--shadow-small);
}

body.woocommerce-cart
.wc-block-cart-items
th {
	padding:
		17px !important;

	border-color:
		var(--color-border) !important;

	background:
		var(--color-background-alt);

	color: var(--color-dark);

	font-size: 0.75rem;
	font-weight: 800;
}

body.woocommerce-cart
.wc-block-cart-items
td {
	padding:
		20px !important;

	border-color:
		var(--color-border) !important;
}

body.woocommerce-cart
.wc-block-cart-item__image
img {
	border:
		1px solid
		var(--color-border);

	border-radius: 10px;

	background: #ffffff;

	object-fit: contain;
}

body.woocommerce-cart
.wc-block-components-product-name {
	color: var(--color-dark);

	font-weight: 730;
}

body.woocommerce-cart
.wc-block-components-product-name:hover {
	color: var(--color-primary);

	text-decoration: none;
}

body.woocommerce-cart
.wc-block-components-product-metadata {
	color: var(--color-text-muted);

	font-size: 0.75rem;
}


/* =========================================================
   QUANTITÉ
========================================================= */

body.woocommerce-cart
.wc-block-components-quantity-selector {
	border:
		1px solid
		var(--color-border) !important;

	border-radius: 9px !important;

	background: #ffffff;
}

body.woocommerce-cart
.wc-block-components-quantity-selector
input {
	color: var(--color-dark);

	font-weight: 700;
}


/* =========================================================
   SUPPRESSION
========================================================= */

body.woocommerce-cart
.wc-block-cart-item__remove-link {
	color: var(--color-error);

	font-size: 0.74rem;
	font-weight: 700;
}


/* =========================================================
   CARTE TOTAL PANIER
========================================================= */

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-cart__sidebar {
	position: sticky;

	top: 100px;

	overflow: hidden;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	border:
		1px solid
		var(--color-border);

	border-radius: 20px;

	background: #ffffff;

	box-shadow:
		var(--shadow-small);

	box-sizing: border-box;
}


/* =========================================================
   TITRE TOTAL PANIER
========================================================= */

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-cart__totals-title {
	box-sizing: border-box;

	width: 100% !important;

	margin: 0 !important;

	padding:
		30px
		30px
		22px !important;

	color: var(--color-dark);

	font-size: 1rem;
	font-weight: 850;

	line-height: 1.3;

	text-align: left;
}


/* =========================================================
   BLOCS INTERNES
========================================================= */

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-cart__sidebar
.wc-block-components-totals-wrapper {
	box-sizing: border-box;

	width: 100% !important;

	margin: 0 !important;

	padding:
		24px
		30px !important;

	border-top:
		1px solid
		var(--color-border) !important;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-cart__sidebar
.wc-block-components-panel {
	box-sizing: border-box;

	width: 100% !important;

	margin: 0 !important;

	padding:
		22px
		30px !important;

	border-top:
		1px solid
		var(--color-border);
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-cart__sidebar
.wc-block-cart__submit-container {
	box-sizing: border-box;

	width: 100% !important;

	margin: 0 !important;

	padding:
		24px
		30px
		30px !important;

	border-top:
		1px solid
		var(--color-border);
}


/* =========================================================
   CODE PROMO
========================================================= */

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-panel__button {
	width: 100%;

	margin: 0;

	padding: 0 !important;

	color: var(--color-primary);

	font-size: 0.82rem;
	font-weight: 750;

	line-height: 1.45;

	text-align: left;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-panel__content {
	padding-top: 16px;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-text-input
input {
	width: 100%;

	border:
		1px solid
		var(--color-border) !important;

	border-radius: 9px !important;

	background: #ffffff !important;
}


/* =========================================================
   TOTAL
========================================================= */

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-totals-item {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 25px;

	width: 100%;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-totals-item__label {
	color: var(--color-text-muted);

	font-size: 0.82rem;
	font-weight: 650;

	line-height: 1.4;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-totals-item__value {
	margin-left: auto;

	color: var(--color-dark);

	font-weight: 780;

	white-space: nowrap;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {
	color: var(--color-primary);

	font-size: 1.35rem;
	font-weight: 850;
}


/* =========================================================
   BOUTON COMMANDER
========================================================= */

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-cart__submit-button {
	display: flex;

	align-items: center;
	justify-content: center;

	box-sizing: border-box;

	width: 100% !important;

	min-height: 56px;

	margin: 0 !important;

	padding:
		13px
		20px !important;

	border: 0;

	border-radius: 11px;

	background:
		linear-gradient(
			135deg,
			var(--color-primary-light),
			var(--color-primary-dark)
		);

	box-shadow:
		0 10px 24px
		rgba(
			8,
			104,
			215,
			0.20
		);

	color: #ffffff;

	font-size: 0.9rem;
	font-weight: 800;

	line-height: 1.3;

	text-align: center;
	text-decoration: none;
}

body.woocommerce-cart
.wp-block-woocommerce-cart
.wc-block-cart__submit-button:hover {
	color: #ffffff;

	transform: translateY(-1px);
}


/* =========================================================
   ANCIEN PANIER WOOCOMMERCE
========================================================= */

body.woocommerce-cart
.woocommerce-cart-form {
	overflow: hidden;

	border:
		1px solid
		var(--color-border);

	border-radius: 20px;

	background: #ffffff;

	box-shadow:
		var(--shadow-small);
}

body.woocommerce-cart
table.shop_table {
	margin: 0;

	border: 0;

	border-collapse: collapse;
}

body.woocommerce-cart
table.shop_table
th {
	padding:
		17px
		16px;

	border-bottom:
		1px solid
		var(--color-border);

	background:
		var(--color-background-alt);

	color: var(--color-dark);

	font-size: 0.76rem;
	font-weight: 800;
}

body.woocommerce-cart
table.shop_table
td {
	padding:
		18px
		16px;

	border-top:
		1px solid
		var(--color-border);
}

body.woocommerce-cart
.product-thumbnail
img {
	width: 84px !important;
	height: 84px !important;

	padding: 5px;

	border:
		1px solid
		var(--color-border);

	border-radius: 10px;

	object-fit: contain;
}

body.woocommerce-cart
.product-name
a {
	color: var(--color-dark);

	font-weight: 730;
}

body.woocommerce-cart
.quantity
.qty {
	width: 72px;

	min-height: 42px;

	border:
		1px solid
		var(--color-border);

	border-radius: 9px;

	text-align: center;
}


/* =========================================================
   ANCIEN TOTAL PANIER
========================================================= */

body.woocommerce-cart
.cart-collaterals {
	display: flex;

	justify-content: flex-end;

	margin-top: 28px;
}

body.woocommerce-cart
.cart_totals {
	float: none !important;

	width:
		min(
			460px,
			100%
		) !important;

	padding: 30px;

	border:
		1px solid
		var(--color-border);

	border-radius: 20px;

	background: #ffffff;

	box-shadow:
		var(--shadow-small);
}

body.woocommerce-cart
.cart_totals
h2 {
	margin:
		0
		0
		20px;

	color: var(--color-dark);
}

body.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button {
	display: flex;

	align-items: center;
	justify-content: center;

	width: 100%;

	min-height: 52px;

	border-radius: 11px;

	background: var(--color-primary);

	color: #ffffff;
}


/* =========================================================
   PANIER VIDE
========================================================= */

body.woocommerce-cart
.cart-empty,
body.woocommerce-cart
.wc-block-cart__empty-cart__title {
	padding: 30px;

	border:
		1px solid
		var(--color-border);

	border-radius: 18px;

	background: #ffffff;

	color: var(--color-dark);

	text-align: center;
}


/* =========================================================
   TABLETTE
========================================================= */

@media (max-width: 1000px) {

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-components-sidebar-layout {
		grid-template-columns:
			minmax(0, 1fr)
			340px !important;

		gap: 24px !important;
	}

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__totals-title {
		padding:
			26px
			24px
			20px !important;
	}

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__sidebar
	.wc-block-components-totals-wrapper,
	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__sidebar
	.wc-block-components-panel {
		padding:
			21px
			24px !important;
	}

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__sidebar
	.wc-block-cart__submit-container {
		padding:
			22px
			24px
			26px !important;
	}

}


/* =========================================================
   UNE COLONNE
========================================================= */

@media (max-width: 820px) {

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-components-sidebar-layout {
		grid-template-columns:
			minmax(0, 1fr) !important;

		gap: 25px !important;
	}

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__sidebar {
		position: static;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

	body.woocommerce-cart
	.ag-shop-main,
	body.woocommerce-cart
	.site-main {
		padding:
			40px
			0
			60px;
	}

	body.woocommerce-cart
	.entry-title,
	body.woocommerce-cart
	.wp-block-post-title,
	body.woocommerce-cart
	.woocommerce,
	body.woocommerce-cart
	.wp-block-woocommerce-cart {
		width:
			calc(
				100% - 24px
			);
	}

	body.woocommerce-cart
	.entry-title,
	body.woocommerce-cart
	.wp-block-post-title {
		font-size:
			clamp(
				2.4rem,
				12vw,
				3.6rem
			);
	}

}


/* =========================================================
   PETITS ÉCRANS
========================================================= */

@media (max-width: 430px) {

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__totals-title {
		padding:
			24px
			20px
			18px !important;
	}

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__sidebar
	.wc-block-components-totals-wrapper,
	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__sidebar
	.wc-block-components-panel {
		padding:
			20px !important;
	}

	body.woocommerce-cart
	.wp-block-woocommerce-cart
	.wc-block-cart__sidebar
	.wc-block-cart__submit-container {
		padding:
			20px
			20px
			24px !important;
	}

}


/* =========================================================
   ACCESSIBILITÉ
========================================================= */

@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;

		transition-duration:
			0.01ms !important;

		animation-duration:
			0.01ms !important;
	}

}