/* ============================================================
   CART – desktop 1920px base, mobile 390px base
   ============================================================ */

.cart-page {
	background: #efefef;
	min-height: 100vh;
	    padding-top: 4vw;
}

.woocommerce-cart .site-header {
	background-color: #010101;
}

/* ===== HERO ===== */
.cart-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding: 4.84vw 12.66vw 2.08vw;
	margin-bottom: 6vw;
}

.cart-title {
	font-size: 6.25vw;
	font-weight: 400;
	color: #080607;
	line-height: 0.79;
	margin: 0;
}

.cart-continue {
	display: flex;
	align-items: center;
	gap: 1.52vw;
	color: #010101;
	font-size: 1.15vw;
	font-weight: 400;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.2s ease;
	font-family: 'IvyMode';
}

.cart-continue:hover {
	opacity: 0.7;
}

.cart-continue svg {
	width: 2.19vw;
	height: 2.19vw;
	flex-shrink: 0;
}

/* ===== MAIN ===== */
.cart-main {
	padding: 0 12.55vw 5.21vw 12.6vw;
}

/* ===== LAYOUT: table + totals ===== */
.cart-layout {
	display: grid;
	grid-template-columns: 53.65vw 19.48vw;
	column-gap: 1.72vw;
	align-items: start;
}

/* ===== SEPARATOR ===== */
/* .cart-sep {
	width: 100%;
	height: 1px;
	background: #707070;
	margin: 0;
} */

.cart-sep-light {
	width: 100%;
	height: 1px;
	background: rgba(112,112,112,0.3);
}

/* ===== TABLE HEADER ===== */
.cart-table-head {
	display: flex;
	align-items: center;
	padding-bottom: 1.25vw;
	color: #010101;
	font-size: 0.885vw;
	font-weight: 400;
}

.cart-head-product {
	flex: 1;
}

.cart-head-qty {
	width: 5.21vw;
	text-align: center;
}

.cart-head-total {
	width: 5.73vw;
	text-align: right;
	padding-right: 2.08vw;
}

/* ===== CART ITEMS ===== */
.woocommerce-cart-form {
	padding-top: 0;
}

.cart-item {
	display: flex;
	align-items: center;
	gap: 1.04vw;
	padding: 2.08vw 0;
	border-top: 1px solid #707070;
}

.cart-item-product {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 1.25vw;
	min-width: 0;
}

.cart-item-img {
	width: 9.9vw;
	height: 10.63vw;
	background: #fff;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

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

.cart-item-photo {
	width: 85%;
	height: 85%;
	object-fit: contain;
	display: block;
}

.cart-item-info {
	flex: 1;
	min-width: 0;
}

.cart-item-name {
	font-size: 1.04vw;
	font-weight: 400;
	color: #010101;
	display: block;
	margin-bottom: 0.26vw;
}

.cart-item-name a {
	color: #010101;
	text-decoration: none;
}

.cart-item-variations {
	display: flex;
	flex-direction: column;
	margin-top: 0.26vw;
}

.cart-item-variation {
	font-size: 0.885vw;
	font-weight: 400;
	color: #707070;
	line-height: 1.5;
}
.woocommerce-message a.button.wc-forward {
    display: none;
}
/* Qty */
.cart-item-qty {
	width: 5.21vw;
	flex-shrink: 0;
}

.cart-item-qty .quantity {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 5.21vw;
	height: 2.86vw;
	border: 1px solid #707070;
	background: transparent;
}

.cart-item-qty .qty {
	width: 100%;
	height: 100%;
	background: transparent;
	border: none;
	outline: none;
	color: #010101;
	font-size: 0.833vw;
	font-weight: 400;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
	padding: 0 1.25vw;
	z-index: 1;
}

.cart-item-qty .qty::-webkit-outer-spin-button,
.cart-item-qty .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.cart-qty-btn {
	position: absolute;
	top: 0;
	height: 100%;
	background: none;
	border: none;
	color: #707070;
	font-size: 0.833vw;
	cursor: pointer;
	line-height: 1;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 0.83vw;
	z-index: 2;
	transition: color 0.2s ease;
}

.cart-qty-minus { left: 0.26vw; }
.cart-qty-plus  { right: 0.26vw; }
.cart-qty-btn:hover { color: #010101; }

/* Subtotal */
.cart-item-subtotal {
	width: 5.73vw;
	text-align: right;
	flex-shrink: 0;
}

.cart-item-subtotal .woocommerce-Price-amount,
.cart-item-subtotal .price {
	font-size: 1.04vw;
	font-weight: 400;
	color: #010101;
}

/* Remove */
.cart-item-remove {
	width: 2.08vw;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cart-remove {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s ease;
}

.cart-remove svg {
	width: 2.08vw;
	height: 2.08vw;
}

.cart-remove:hover {
	opacity: 0.6;
}

/* ===== COUPON ROW ===== */
.cart-coupon-row {
	display: flex;
	align-items: center;
	gap: 0;
	margin-top: 2.08vw;
}

.cart-coupon-input-wrap {
	width: 10.73vw;
	height: 3.54vw;
	border: 1px solid #707070;
}

.cart-coupon-input {
	width: 100%;
	height: 100%;
	background: transparent;
	border: none;
	outline: none;
	padding: 0 0.83vw;
	font-size: 1.04vw;
	font-weight: 400;
	color: #707070;
}

.cart-coupon-input::placeholder {
	color: #707070;
}

.cart-coupon-btn {
	width: 10.73vw;
	height: 3.54vw;
	border: 1px solid #010101;
	border-left: none;
	color: #010101;
	font-size: 0.885vw;
	font-weight: 400;
	font-family: 'IvyMode';
	text-transform: uppercase;
	cursor: pointer;
	letter-spacing: 0.05em;
	transition: all 0.2s ease;
}

.cart-coupon-btn:hover {
	background-color: #010101;
	color: #efefef;
}

.cart-update-btn {
	display: none;
}

/* ===== TOTALS BOX ===== */
.cart-totals-box {
	border: 0.5px solid #707070;
	padding: 1.30vw 1.72vw 1.72vw;
}

.cart-totals-title {
	font-size: 0.885vw;
	    font-weight: 400;
    font-family: 'Inter';
	color: #010101;
	margin: 0 0 1.25vw;
	text-transform: none;
}

.cart-totals-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.94vw 0;
	font-size: 0.885vw;
	font-weight: 400;
	color: #010101;
}

.cart-totals-grand {
	font-weight: 400;
}

.cart-totals-val .woocommerce-Price-amount,
.cart-totals-val {
	font-size: 1.04vw;
	font-weight: 400;
	color: #010101;
}

/* .cart-totals-box .cart-sep {
	margin: 0.52vw 0;
} */

.cart-totals-box .cart-sep-light {
	margin: 0;
}

/* ===== CHECKOUT BUTTON ===== */
.cart-checkout-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 3.75vw;
	border: 1px solid #707070;
	padding: 0 1.04vw 0 1.56vw;
	text-decoration: none;
	color: #010101;
	font-size: 1.15vw;
	font-weight: 400;
	margin-top: 1.30vw;
	font-family: 'IvyMode';
	box-sizing: border-box;
	transition: border-color 0.2s ease;
}

.cart-checkout-btn:hover {
	border-color: #010101;
}

.cart-checkout-btn svg {
	width: 2.19vw;
	height: 2.19vw;
	flex-shrink: 0;
}

/* ===== NOTICES ===== */
.cart-main .woocommerce-message,
.cart-main .woocommerce-error,
.cart-main .woocommerce-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.04vw;
	padding: 1.04vw 0;
	font-size: 0.885vw;
	font-weight: 400;
	color: #010101;
	background: transparent;
	border: none;
	border-top: 3px solid #010101;
	list-style: none;
	margin: 0 0 1.56vw;
	outline: none;
}

.cart-main .woocommerce-notices-wrapper {
	outline: none;
}

.cart-main .woocommerce-message::before,
.cart-main .woocommerce-error::before,
.cart-main .woocommerce-info::before {
	display: none;
}

.cart-main .woocommerce-error {
	border-top-color: #b00;
	color: #b00;
}

.cart-main .woocommerce-info {
	border-top-color: #707070;
}

.cart-main .woocommerce-message .button,
.cart-main .woocommerce-message a,
.cart-main .woocommerce-info .button,
.cart-main .woocommerce-info a {
	font-size: 0.78vw;
	font-weight: 400;
	color: #010101;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-family: 'IvyMode';
	border-bottom: 1px solid #010101;
	white-space: nowrap;
	flex-shrink: 0;
	background: none;
	border-top: none;
	border-left: none;
	border-right: none;
	padding: 0;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.cart-main .woocommerce-message .button:hover,
.cart-main .woocommerce-info .button:hover,
.cart-main .woocommerce-message a:hover,
.cart-main .woocommerce-info a:hover {
	opacity: 0.6;
}

/* ===== EMPTY CART ===== */
.cart-empty {
	text-align: center;
	padding: 5.21vw 0;
	color: #010101;
	font-size: 1.04vw;
}

.cart-empty-link {
	display: inline-block;
	margin-top: 1.04vw;
	color: #010101;
	font-size: 0.885vw;
	border-bottom: 1px solid #010101;
	text-decoration: none;
}


/* ===== RELATED PRODUCTS ===== */
.cart-related {
	background: transparent;
	padding-top: 3.65vw;
	padding-bottom: 5vw;
}

.cart-related-title {
	font-size: 1.72vw;
	font-weight: 400;
	color: #080607;
	margin: 0 0 2.08vw 8.54vw;
	line-height: 1;
}

.cart-related-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.57vw;
}

.cart-rcard {
	display: block;
	text-decoration: none;
	background: #fff;
}

.cart-rcard-img {
	width: 100%;
	height: 34.74vw;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cart-rcard-photo {
	width: 88%;
	height: 88%;
	object-fit: contain;
	display: block;
	transition: transform 0.4s ease;
}

.cart-rcard:hover .cart-rcard-photo {
	transform: scale(1.04);
}

.cart-rcard-meta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0.99vw 1.46vw 0;
	background: #efefef;
}

.cart-rcard-name {
	font-size: 1.05vw;
	line-height: 1.25vw;
	font-weight: 400;
	color: #010101;
}

.cart-rcard-price,
.cart-rcard-price .price,
.cart-rcard-price .woocommerce-Price-amount {
	font-size: 1.04vw;
	font-weight: 400;
	color: #010101;
	white-space: nowrap;
	margin-left: 0.5vw;
}

/* ============================================================
   MOBILE  max-width: 767px
   ============================================================ */
@media only screen and (max-width: 767px) {
	.cart-page {
	    padding-top: 20vw;
	}

	.cart-hero {
		flex-direction: column;
		align-items: flex-start;
		 padding: 10vw 6.15vw 0;
        gap: 15vw;
	}

	.cart-title {
		font-size: 8vw;
		line-height: 0.85;
		        text-align: center;
        width: 100%;
	}

	.cart-continue {
		font-size: 3.59vw;
		gap: 2.05vw;
		align-self: flex-end;
	}

	.cart-continue svg {
		width: 7.69vw;
		height: 7.69vw;
	}

	.cart-main {
		padding: 0 6.15vw 10.26vw;
	}

	.cart-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.cart-table-head {
		padding-bottom: 3.08vw;
		font-size: 3.08vw;
	}

	.cart-head-qty {
		display: none;
	}

	.cart-head-total {
		width: 20vw;
		padding-right: 0;
	}

	.cart-item {
		padding: 4.1vw 0 0;
        margin-bottom: 4vw;
		position: relative;
	}

	.cart-item-img {
		width: 23.08vw;
		height: 25.64vw;
	}

	.cart-item-name {
		font-size: 3.59vw;
	}

	.cart-item-variations {
		margin-top: 1vw;
	}

	.cart-item-variation {
		font-size: 3.08vw;
	}

	div.cart-item-qty {
		width: 15vw;
		position: absolute;
        left: 26vw;
        bottom: 0;
	}

	.cart-item-qty .quantity {
		width: 15vw;
        height: 8vw;
	}
	.cart-item-info {
			position: absolute;
			top: 5vw;
			left: 26vw;
			flex: 1;
			min-width: 0;
	}
	.cart-item-product {
    	flex: unset;
		gap: 0;
	}
	.cart-item-qty .qty {
		font-size: 3vw;
		padding: 0 5.13vw;
	}

	.cart-qty-btn {
		font-size: 3.5vw;
		width: 3.59vw;
	}

	.cart-item-subtotal {
		width: 20vw;
		position: absolute;
        right: 0;
        bottom: 0;
	}

	.cart-item-subtotal .woocommerce-Price-amount,
	.cart-item-subtotal .price {
		font-size: 3.59vw;
	}

	.cart-item-remove {
		width: 7.69vw;
		position: absolute;
        right: -2vw;
        top: 30%;
	}

	.cart-remove svg {
		width: 7.69vw;
		height: 7.69vw;
	}

	.cart-coupon-row {
		margin-top: 5.13vw;
		flex-wrap: wrap;
		gap: 0;
	}

	.cart-coupon-input-wrap {
		width: 50%;
		height: 12.82vw;
	}

	.cart-coupon-input {
		font-size: 3.59vw;
		padding: 0 3.08vw;
	}

	.cart-coupon-btn {
		width: 50%;
		height: 12.82vw;
		font-size: 3.08vw;
	}

	.cart-totals-wrap {
		margin-top: 6.15vw;
	}

	.cart-totals-box {
		padding: 4.1vw 4.1vw 5.13vw;
	}

	.cart-totals-title {
		font-size: 3.59vw;
		margin-bottom: 3.08vw;
	}

	.cart-totals-row {
		font-size: 3.59vw;
		padding: 2.56vw 0;
	}

	.cart-totals-val .woocommerce-Price-amount,
	.cart-totals-val {
		font-size: 3.59vw;
	}

	.cart-checkout-btn {
		height: 15.38vw;
		font-size: 4.1vw;
		padding: 0 4.1vw;
		margin-top: 4.1vw;
	}

	.cart-checkout-btn svg {
		width: 7.69vw;
		height: 7.69vw;
	}

	.cart-related {
		padding-top: 10.26vw;
		padding-bottom: 10vw;
	}

	.cart-related-title {
		font-size: 5.13vw;
		margin-left: 6.15vw;
		margin-bottom: 5.13vw;
	}

	.cart-related-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.28vw;
	}

	.cart-rcard-img {
		height: 60vw;
	}

	.cart-rcard {
		margin-bottom: 8vw;
	}

	.cart-rcard-meta {
		padding: 2.56vw 0 0;
		flex-direction: column;
		gap: 2.5vw;
	}

	.cart-rcard-name {
		font-size: 3.5vw;
		line-height: 1.3;
	}

	.cart-rcard-price,
	.cart-rcard-price .price,
	.cart-rcard-price .woocommerce-Price-amount {
		font-size: 3.5vw;
		line-height: 1.3;
	}
	.cart-empty {
		font-size: 3.5vw;
	}

	.cart-empty-link {
		font-size: 3.5vw;
	}
	.cart-main .woocommerce-message .button, .cart-main .woocommerce-message a, .cart-main .woocommerce-info .button, .cart-main .woocommerce-info a {
		font-size: 3.5vw;
	}
}

@media only screen and (max-width: 767px) {
	.cart-main .woocommerce-message,
	.cart-main .woocommerce-error,
	.cart-main .woocommerce-info {
		padding: 4.1vw 0;
		font-size: 3.2vw;
		flex-direction: column;
		align-items: flex-start;
		gap: 2.56vw;
	}

	.cart-main .woocommerce-message .button,
	.cart-main .woocommerce-info .button {
		font-size: 3.08vw;
	}
}
