/*
--------------------------------------
Containers
--------------------------------------
*/

.woocommerce-cart .woocommerce {
	max-width: 100%;
	padding: 0;
}

.bwa-cart {
	padding-block: 3.5rem 4.5rem;
}

.bwa-cart__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}

.bwa-cart__form.is-loading {
	opacity: 0.5;
	pointer-events: none;
	transition: opacity var(--transition-normal);
}

/*
--------------------------------------
Fil d'Ariane + titre
--------------------------------------
*/

.bwa-cart__breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	font-size: calc(12px + (13 - 12) * ((100vw - 320px) / (1920 - 320)));
	color: var(--muted-foreground);
}

.bwa-cart__breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.bwa-cart__breadcrumb a:hover {
	color: var(--forest);
}

.bwa-cart__breadcrumb [aria-current] {
	color: var(--foreground);
}

.bwa-cart__title {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	margin: 0 0 2rem;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: calc(32px + (40 - 32) * ((100vw - 320px) / (1920 - 320)));
	line-height: 1.1;
	color: var(--forest);
}

.bwa-cart__count {
	font-size: calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	color: var(--wood-deep);
}

/*
--------------------------------------
Carte des articles
--------------------------------------
*/

.bwa-cart__items,
.bwa-cart__summary {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius-3xl);
}

.bwa-cart__items {
	padding: 1.5rem;
}

.bwa-cart__item {
	position: relative;
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr) auto;
	gap: 1.5rem;
	align-items: stretch;
}

.bwa-cart__item + .bwa-cart__item {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--border);
}

.bwa-cart__item-thumb {
	width: 128px;
	height: 128px;
	border-radius: var(--radius-xl);
	overflow: hidden;
	background: var(--muted);
}

.bwa-cart__item-thumb a {
	display: block;
	height: 100%;
}

.bwa-cart__item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bwa-cart__item-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.bwa-cart__item-name {
	margin: 0.15rem 0 0.35rem;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: calc(17px + (19 - 17) * ((100vw - 320px) / (1920 - 320)));
	line-height: 1.25;
}

.bwa-cart__item-name a {
	color: var(--foreground);
	text-decoration: none;
}

.bwa-cart__item-name a:hover {
	color: var(--forest);
}

.bwa-cart__item-brand,
.bwa-cart__item-info .variation {
	margin: 0;
	font-size: calc(12px + (13 - 12) * ((100vw - 320px) / (1920 - 320)));
	color: var(--muted-foreground);
}

/*
--------------------------------------
Quantité
--------------------------------------
*/

.bwa-cart__qty {
	display: inline-flex;
	align-items: center;
	margin-top: auto;
	padding: 3px;
	border: 1px solid var(--border);
	border-radius: 50px;
}

.bwa-cart__qty-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--muted-foreground);
	cursor: pointer;
	transition: color var(--transition-fast), background-color var(--transition-fast);
}

.bwa-cart__qty-btn:hover:not(:disabled) {
	color: var(--foreground);
	background-color: color-mix(in oklch, var(--foreground) 6%, transparent);
}

.bwa-cart__qty-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.bwa-cart__qty-input {
	width: 2.5rem;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--foreground);
	appearance: textfield;
	-moz-appearance: textfield;
}

.bwa-cart__qty-input::-webkit-outer-spin-button,
.bwa-cart__qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.bwa-cart__qty-input:focus {
	outline: none;
}

/*
--------------------------------------
Prix + suppression
--------------------------------------
*/

.bwa-cart__item-prices {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	gap: 0.15rem;
	text-align: right;
}

.bwa-cart__item-unit,
.bwa-cart__item-total {
	margin: 0;
}

.bwa-cart__item-unit {
	font-size: calc(12px + (13 - 12) * ((100vw - 320px) / (1920 - 320)));
	color: var(--muted-foreground);
}

.bwa-cart__item-total {
	font-size: calc(14px + (15 - 14) * ((100vw - 320px) / (1920 - 320)));
	font-weight: 600;
	color: var(--foreground);
}

.bwa-cart__item-remove {
	position: absolute;
	top: 0.1rem;
	right: 0.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--muted-foreground);
	background: none;
	transition: color var(--transition-fast);
}

.bwa-cart__item-remove:hover {
	color: var(--forest);
	background: none;
}

/*
--------------------------------------
Récapitulatif
--------------------------------------
*/

.bwa-cart__summary {
	display: flex;
	flex-direction: column;
	padding: 1.5rem;
}

.bwa-cart__summary-title {
	margin: 0 0 1.25rem;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: calc(19px + (22 - 19) * ((100vw - 320px) / (1920 - 320)));
	color: var(--forest);
}

.bwa-cart__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding-block: 0.3rem;
	font-size: calc(14px + (15 - 14) * ((100vw - 320px) / (1920 - 320)));
	color: var(--muted-foreground);
}

.bwa-cart__row .woocommerce-Price-amount,
.bwa-cart__row bdi {
	color: var(--foreground);
}

.bwa-cart__row--total {
	margin-top: 1rem;
	padding-top: 1.1rem;
	border-top: 1px solid var(--border);
	font-size: calc(16px + (17 - 16) * ((100vw - 320px) / (1920 - 320)));
	font-weight: 600;
	color: var(--foreground);
}

.bwa-cart__coupon-remove {
	margin-left: 0.4rem;
	font-size: 12px;
	color: var(--wood-deep);
}

.bwa-cart__free-shipping {
	margin: 0.9rem 0 0;
	padding: 0.7rem 1rem;
	border-radius: var(--radius-xl);
	background: var(--muted);
	font-size: calc(12px + (13 - 12) * ((100vw - 320px) / (1920 - 320)));
	line-height: 1.4;
	color: var(--muted-foreground);
}

.bwa-cart__free-shipping.is-reached {
	color: var(--forest);
}

/*
--------------------------------------
Code promo
--------------------------------------
*/

.bwa-cart__coupon {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--border);
}

.bwa-cart__coupon-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--font-body);
	font-size: calc(14px + (15 - 14) * ((100vw - 320px) / (1920 - 320)));
	color: var(--foreground);
	cursor: pointer;
}

.bwa-cart__coupon-toggle:hover {
	color: var(--forest);
	background: none;
}

.bwa-cart__coupon-form {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.8rem;
}

.bwa-cart__coupon-form[hidden] {
	display: none;
}

.bwa-cart__coupon-input {
	flex: 1;
	min-width: 0;
	padding: 0.65rem 1rem;
	border: 1px solid var(--border);
	border-radius: 50px;
	background: var(--card);
	font-size: 14px;
}

.bwa-cart__coupon-submit {
	padding: 0.65rem 1.1rem;
	border: 1px solid var(--forest);
	border-radius: 50px;
	background: transparent;
	font-size: 14px;
	font-weight: 600;
	color: var(--forest);
	cursor: pointer;
	transition: background-color var(--transition-fast), color var(--transition-fast);
}

.bwa-cart__coupon-submit:hover {
	background: var(--forest);
	color: #fff;
}

/*
--------------------------------------
Boutons
--------------------------------------
*/

.bwa-cart__checkout {
	display: block;
	margin-top: 1rem;
	padding: 1rem;
	border-radius: 50px;
	background: var(--forest);
	text-align: center;
	font-size: calc(14px + (15 - 14) * ((100vw - 320px) / (1920 - 320)));
	font-weight: 600;
	color: #fff;
	text-decoration: none;
	transition: background-color var(--transition-fast);
}

.bwa-cart__checkout:hover {
	background: color-mix(in oklch, var(--forest) 90%, black);
	color: #fff;
}

.bwa-cart__continue {
	display: block;
	margin-top: 0.9rem;
	text-align: center;
	font-size: calc(14px + (15 - 14) * ((100vw - 320px) / (1920 - 320)));
	color: var(--muted-foreground);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.bwa-cart__continue:hover {
	color: var(--foreground);
}

/*
--------------------------------------
Panier vide
--------------------------------------
*/

.bwa-cart__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 4.5rem 1.5rem;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius-3xl);
	text-align: center;
}

.bwa-cart__empty-icon {
	color: var(--sage);
	opacity: 0.7;
}

.bwa-cart__empty-title {
	margin: 1.25rem 0 0.5rem;
	font-family: var(--font-display);
	font-weight: 400;
	font-size: calc(19px + (22 - 19) * ((100vw - 320px) / (1920 - 320)));
	color: var(--foreground);
}

.bwa-cart__empty-text {
	max-width: 32rem;
	margin: 0;
	font-size: calc(14px + (15 - 14) * ((100vw - 320px) / (1920 - 320)));
	line-height: 1.5;
	color: var(--muted-foreground);
}

.bwa-cart__empty-btn {
	display: inline-block;
	margin-top: 1.75rem;
	padding: 0.85rem 1.75rem;
}

/*
--------------------------------------
Réassurance
--------------------------------------
*/

.bwa-cart__reassurance {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	margin: 1.5rem 0 0;
	padding: 1.5rem 0 0;
	border-top: 1px solid var(--border);
	list-style: none;
}

.bwa-cart__reassurance li {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0;
	font-size: calc(12px + (13 - 12) * ((100vw - 320px) / (1920 - 320)));
	color: var(--muted-foreground);
}

.bwa-cart__reassurance svg {
	flex-shrink: 0;
}
