/* CHOLLEY cart page — matched to the one-page checkout visual system. */

.cart-page-main + #checkout-cart,
#checkout-cart.ch-cart {
	--cart-ink: #222321;
	--cart-muted: #777771;
	--cart-line: #deddd8;
	--cart-line-soft: #ecebe7;
	--cart-white: #fff;
	--cart-accent: #dcb86c;
	--cart-accent-hover: #cfa85a;
	--cart-error: #a93e37;
	color: var(--cart-ink);
}

/* Component buttons intentionally do not use Bootstrap's .btn class. */
#checkout-cart .ch-cart-item__remove,
#checkout-cart .ch-cart-coupon__button {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	margin: 0;
	font-family: inherit;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	user-select: none;
}

#checkout-cart .ch-cart-summary__checkout {
	box-sizing: border-box;
	font-family: inherit;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	user-select: none;
}

.cart-page-main h1 small {
	font-size: .42em;
	font-weight: 400;
	color: var(--cart-muted);
}

#checkout-cart.ch-cart {
	padding-top: 18px;
	padding-bottom: 90px;
	overflow: visible;
}

#checkout-cart.ch-cart > .row,
#checkout-cart.ch-cart #content {
	overflow: visible;
}

#checkout-cart.ch-cart .alert {
	margin-bottom: 24px;
	padding: 14px 48px 14px 16px;
	border-radius: 0;
	box-shadow: none;
}

.ch-cart__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 410px);
	gap: clamp(34px, 5vw, 76px);
	align-items: start;
}

.ch-cart__products,
.ch-cart__form {
	min-width: 0;
}

.ch-cart__list {
	border-top: 1px solid var(--cart-ink);
}

.ch-cart-item {
	position: relative;
	display: grid;
	grid-template-columns: 118px minmax(170px, 1fr) 105px 156px 105px;
	gap: 22px;
	align-items: center;
	min-height: 160px;
	padding: 24px 36px 24px 0;
	border-bottom: 1px solid var(--cart-line);
}

.ch-cart-item__image {
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 112px;
	background: #faf9f6;
}

.ch-cart-item__image a {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}

.ch-cart-item__image img {
	display: block;
	width: 100%;
	height: 130px;
	padding: 8px;
	object-fit: contain;
	border: 0;
	border-radius: 0;
	mix-blend-mode: multiply;
}

.ch-cart-item__info {
	min-width: 0;
}

.ch-cart-item__name {
	display: inline-block;
	margin: 0 0 9px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--cart-ink);
	text-decoration: none;
}

.ch-cart-item__name:hover,
.ch-cart-item__name:focus {
	color: var(--cart-muted);
	text-decoration: none;
}

.ch-cart-item__model,
.ch-cart-item__options,
.ch-cart-item__meta {
	font-size: 12px;
	line-height: 1.55;
	color: var(--cart-muted);
}

.ch-cart-item__options {
	margin-top: 3px;
}

.ch-cart-item__stock {
	color: var(--cart-error);
}

.ch-cart-item__unit-price,
.ch-cart-item__total {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	white-space: nowrap;
	text-align: right;
}

.ch-cart-item__total {
	font-size: 14px;
}

.ch-cart-item__mobile-label {
	display: none;
}

.ch-cart-item__quantity .input-group {
	display: flex;
	width: 100%;
	max-width: 156px !important;
	align-items: stretch;
}

#checkout-cart .ch-cart-item__quantity .input-group-prepend,
#checkout-cart .ch-cart-item__quantity .input-group-btn {
	display: flex;
}

#checkout-cart .ch-cart-item__quantity .form-control,
#checkout-cart .ch-cart-item__quantity .js-cart-qty-input {
	flex: 1 1 auto;
	width: 48px;
	min-width: 48px;
	max-width: 48px;
	height: 44px;
	padding: 0 5px;
	background: #fff;
	border: 1px solid #cecdc7;
	border-left: 0;
	border-right: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: 13px;
	line-height: 44px;
	text-align: center;
	color: var(--cart-ink);
}

#checkout-cart .ch-cart-item__quantity .btn,
#checkout-cart .ch-cart-item__quantity .js-cart-qty-minus,
#checkout-cart .ch-cart-item__quantity .js-cart-qty-plus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 44px;
	padding: 0 10px;
	background: #fff;
	border: 1px solid #cecdc7;
	border-radius: 0;
	box-shadow: none;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	color: var(--cart-ink);
}

#checkout-cart .ch-cart-item__quantity .btn:hover,
#checkout-cart .ch-cart-item__quantity .btn:focus {
	background: #f5f3ee;
	border-color: #aeadA7;
	outline: 0;
}

#checkout-cart .js-cart-qty-minus .fa:before {
	content: "−";
	font-family: Arial, sans-serif;
}

#checkout-cart .js-cart-qty-plus .fa:before {
	content: "+";
	font-family: Arial, sans-serif;
}

#checkout-cart .ch-cart-item__remove {
	position: absolute;
	top: 18px;
	right: 0;
	width: 28px;
	min-width: 28px;
	height: 28px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: 24px;
	font-weight: 300;
	line-height: 28px;
	color: #8c8b85;
}

#checkout-cart .ch-cart-item__remove:hover,
#checkout-cart .ch-cart-item__remove:focus,
#checkout-cart .ch-cart-item__remove:active {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: var(--cart-ink);
	outline: 0;
}

.ch-cart-item--voucher {
	grid-template-columns: 118px minmax(170px, 1fr) 105px 156px 105px;
}

.ch-cart__sidebar {
	position: relative;
	align-self: stretch;
	height: 100%;
	min-width: 0;
	overflow: visible;
}

.ch-cart-summary {
	position: -webkit-sticky;
	position: sticky;
	top: 24px;
	padding: 30px;
	background: #fff;
	border: 1px solid var(--cart-line);
}

.ch-cart-summary__title {
	margin: 0 0 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--cart-ink);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: -.01em;
	color: var(--cart-ink);
}

.ch-cart-coupon {
	margin-bottom: 25px;
	padding-bottom: 25px;
	border-bottom: 1px solid var(--cart-line);
}

.ch-cart-coupon__label {
	display: block;
	margin: 0 0 9px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #555650;
}

.ch-cart-coupon__control {
	display: flex;
	align-items: stretch;
}

.ch-cart-coupon .form-control {
	flex: 1 1 auto;
	min-width: 0;
	height: 50px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #cecdc7;
	border-right: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: 13px;
	color: var(--cart-ink);
}

.ch-cart-coupon .form-control:focus {
	border-color: var(--cart-ink);
	box-shadow: none;
	outline: 0;
}

#checkout-cart .ch-cart-coupon__button {
	flex: 0 0 auto;
	height: 50px;
	padding: 0 18px;
	background: var(--cart-ink);
	border: 1px solid var(--cart-ink);
	border-radius: 0;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff;
}

#checkout-cart .ch-cart-coupon__button:hover,
#checkout-cart .ch-cart-coupon__button:focus,
#checkout-cart .ch-cart-coupon__button:active {
	background: #000;
	border-color: #000;
	box-shadow: none;
	color: #fff;
	outline: 0;
}

#checkout-cart .ch-cart-coupon__button.is-loading {
	opacity: .65;
}

.ch-cart-coupon__error {
	min-height: 0;
	margin-top: 7px;
	font-size: 12px;
	line-height: 1.4;
	color: var(--cart-error);
}

.ch-cart-coupon__error:empty {
	display: none;
}

.ch-cart-summary__totals {
	margin-top: 2px;
}

.ch-cart-summary__total {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 7px 0;
	font-size: 12px;
	line-height: 1.45;
	color: #555650;
}

.ch-cart-summary__total strong {
	font-weight: 500;
	color: var(--cart-ink);
}

.ch-cart-summary__total--final {
	align-items: baseline;
	margin-top: 14px;
	padding-top: 18px;
	border-top: 1px solid var(--cart-ink);
	font-size: 17px;
	color: var(--cart-ink);
}

.ch-cart-summary__total--final strong {
	font-size: 21px;
	font-weight: 500;
}

#checkout-cart .ch-cart-summary__checkout {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 58px;
	margin-top: 28px;
	padding: 0 24px;
	background: var(--cart-accent);
	border: 1px solid var(--cart-accent);
	border-radius: 0;
	box-shadow: none;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #000;
}

#checkout-cart .ch-cart-summary__checkout:visited {
	background: var(--cart-accent);
	border-color: var(--cart-accent);
	color: #000;
}

#checkout-cart .ch-cart-summary__checkout:hover,
#checkout-cart .ch-cart-summary__checkout:focus,
#checkout-cart .ch-cart-summary__checkout:active {
	background: var(--cart-accent-hover);
	border-color: var(--cart-accent-hover);
	box-shadow: none;
	color: #000;
	text-decoration: none;
	outline: 0;
}

.ch-cart-summary__continue {
	display: block;
	margin-top: 18px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .06em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--cart-ink);
}

.ch-cart-summary__continue:hover,
.ch-cart-summary__continue:focus {
	color: var(--cart-muted);
}

#checkout-cart .cart-qty-loading {
	opacity: .65;
	pointer-events: none;
}

@media (max-width: 1199px) {
	.ch-cart__layout {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 34px;
	}

	.ch-cart-item {
		grid-template-columns: 100px minmax(150px, 1fr) 130px 95px;
		gap: 18px;
	}

	.ch-cart-item__unit-price {
		display: none;
	}
}

@media (max-width: 991px) {
	.ch-cart__layout {
		display: block;
	}

	.ch-cart__sidebar {
		height: auto;
		margin-top: 38px;
	}

	.ch-cart-summary {
		position: static;
	}
}

@media (max-width: 767px) {
	#checkout-cart.ch-cart {
		padding-top: 4px;
		padding-bottom: 60px;
	}

	.ch-cart-item {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 15px;
		min-height: 0;
		padding: 20px 32px 20px 0;
	}

	.ch-cart-item__image {
		grid-row: 1 / span 3;
		min-height: 104px;
	}

	.ch-cart-item__image img {
		height: 104px;
	}

	.ch-cart-item__info {
		grid-column: 2;
	}

	.ch-cart-item__unit-price {
		display: none;
	}

	.ch-cart-item__quantity {
		grid-column: 2;
	}

	.ch-cart-item__total {
		grid-column: 2;
		text-align: left;
	}

	.ch-cart-item__mobile-label {
		display: inline;
		margin-right: 8px;
		font-size: 10px;
		font-weight: 500;
		letter-spacing: .05em;
		text-transform: uppercase;
		color: var(--cart-muted);
	}

	.ch-cart-summary {
		padding: 24px 20px;
	}
}

@media (max-width: 420px) {
	.ch-cart-item {
		grid-template-columns: 76px minmax(0, 1fr);
	}

	.ch-cart-item__image img {
		height: 92px;
	}

	.ch-cart-coupon__control {
		display: block;
	}

	.ch-cart-coupon .form-control {
		border-right: 1px solid #cecdc7;
	}

	#checkout-cart .ch-cart-coupon__button {
		width: 100%;
		margin-top: 10px;
	}
}


#checkout-cart .ch-cart-item {
    transition: opacity 0.18s ease;
}

#checkout-cart .ch-cart-item.is-removing {
    opacity: 0.45;
    pointer-events: none;
}

#checkout-cart .ch-cart-item__remove.is-loading {
    opacity: 0.55;
    cursor: wait;
}
