/**
 * Cart Page Styles - Fashion/Luxury Style
 * 
 * @package Understrap
 */

/* Cart Page Wrapper */
.woocommerce-cart .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 20px;
}

/* Page Title */
.woocommerce-cart .page-title,
.woocommerce-cart h1 {
	font-family: "Georgia", serif;
	font-size: 36px;
	font-weight: 400;
	font-style: italic;
	text-align: center;
	color: #333;
	margin-bottom: 50px;
}

/* Cart Table */
.woocommerce-cart table.shop_table {
	border: none;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 40px;
}

.woocommerce-cart table.shop_table th {
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #888;
	padding: 15px 0;
	border-bottom: 1px solid #e5e5e5;
	background: transparent;
}

.woocommerce-cart table.shop_table td {
	padding: 25px 15px;
	border-bottom: 1px solid #e5e5e5;
	vertical-align: middle;
}

.woocommerce-cart table.shop_table td.product-remove {
	padding-left: 0;
	width: 40px;
}

/* Remove Button */
.woocommerce-cart table.shop_table .remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid #ddd;
	border-radius: 50%;
	color: #999 !important;
	font-size: 18px;
	text-decoration: none;
	transition: all 0.2s;
}

.woocommerce-cart table.shop_table .remove:hover {
	background: #333;
	border-color: #333;
	color: #fff !important;
}

/* Product Thumbnail */
.woocommerce-cart table.shop_table td.product-thumbnail {
	width: 120px;
	padding-right: 0;
}

.woocommerce-cart table.shop_table td.product-thumbnail img {
	width: 100px;
	height: 130px;
	object-fit: cover;
	border-radius: 4px;
}

/* Product Name */
.woocommerce-cart table.shop_table td.product-name {
	font-family: "Georgia", serif;
	font-size: 15px;
	font-style: italic;
}

.woocommerce-cart table.shop_table td.product-name a {
	color: #333;
	text-decoration: none;
	transition: color 0.2s;
}

.woocommerce-cart table.shop_table td.product-name a:hover {
	color: #c4a07a;
}

.woocommerce-cart table.shop_table td.product-name .variation {
	display: block;
	margin-top: 8px;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-style: normal;
	color: #888;
}

.woocommerce-cart table.shop_table td.product-name .variation dt,
.woocommerce-cart table.shop_table td.product-name .variation dd {
	display: inline;
	margin: 0;
}

.woocommerce-cart table.shop_table td.product-name .variation dt {
	font-weight: 600;
	text-transform: uppercase;
}

.woocommerce-cart table.shop_table td.product-name .variation dd p {
	display: inline;
	margin: 0;
}

/* Price */
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #333;
}

/* Quantity */
.woocommerce-cart table.shop_table td.product-quantity {
	width: 150px;
}

.woocommerce-cart .quantity {
	display: flex;
	align-items: center;
	border: 1px solid #e5e5e5;
	width: fit-content;
}

.woocommerce-cart .quantity .qty {
	width: 50px;
	height: 40px;
	border: none;
	text-align: center;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	-moz-appearance: textfield;
}

.woocommerce-cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Custom Quantity Buttons */
.woocommerce-cart .quantity-btn {
	width: 40px;
	height: 40px;
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 18px;
	color: #666;
	transition: all 0.2s;
}

.woocommerce-cart .quantity-btn:hover {
	background: #f5f5f5;
	color: #333;
}

/* Actions Row */
.woocommerce-cart table.shop_table td.actions {
	padding: 25px 0;
	border-bottom: none;
}

.woocommerce-cart .coupon {
	display: flex;
	gap: 10px;
	float: left;
}

.woocommerce-cart .coupon label {
	display: none;
}

.woocommerce-cart .coupon #coupon_code {
	width: 200px;
	height: 45px;
	padding: 0 15px;
	border: 1px solid #e5e5e5;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
}

.woocommerce-cart .coupon #coupon_code::placeholder {
	color: #999;
}

.woocommerce-cart .coupon .button,
.woocommerce-cart button[name="update_cart"] {
	height: 45px;
	padding: 0 25px;
	background: #333;
	color: #fff;
	border: none;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s;
}

.woocommerce-cart .coupon .button:hover,
.woocommerce-cart button[name="update_cart"]:hover {
	background: #000;
}

.woocommerce-cart button[name="update_cart"] {
	float: right;
	background: transparent;
	color: #333;
	border: 1px solid #333;
}

.woocommerce-cart button[name="update_cart"]:hover {
	background: #333;
	color: #fff;
}

.woocommerce-cart button[name="update_cart"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Cart Collaterals - Totals */
.woocommerce-cart .cart-collaterals {
	display: flex;
	justify-content: flex-end;
}

.woocommerce-cart .cart_totals {
	width: 100%;
	max-width: 450px;
	background: #faf8f6;
	padding: 30px;
}

.woocommerce-cart .cart_totals h2 {
	font-family: "Georgia", serif;
	font-size: 20px;
	font-weight: 400;
	font-style: italic;
	color: #333;
	margin: 0 0 25px 0;
	padding-bottom: 15px;
	border-bottom: 1px solid #e5e5e5;
}

.woocommerce-cart .cart_totals table {
	border: none;
	margin-bottom: 25px;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	padding: 12px 0;
	border: none;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
}

.woocommerce-cart .cart_totals table th {
	font-weight: 400;
	color: #666;
	text-align: left;
}

.woocommerce-cart .cart_totals table td {
	text-align: right;
	color: #333;
}

.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
	font-size: 16px;
	font-weight: 600;
	padding-top: 20px;
	border-top: 1px solid #e5e5e5;
}

/* Shipping */
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
	margin-top: 15px;
}

.woocommerce-cart .cart_totals .shipping-calculator-button {
	font-size: 12px;
	color: #c4a07a;
	text-decoration: underline;
}

/* Checkout Button */
.woocommerce-cart .wc-proceed-to-checkout {
	padding: 0;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	padding: 16px 30px;
	background: #333;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	border: none;
	border-radius: 0;
	transition: background 0.2s;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background: #000;
}

/* Place Order Button */
.woocommerce-cart .cart-place-order {
	width: 100%;
	max-width: 450px;
	margin-top: 20px;
}

.woocommerce-cart .place-order-btn {
	display: block;
	width: 100%;
	padding: 18px 30px;
	background: #0e5f76;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	border: none;
	border-radius: 0;
	transition: background 0.3s ease;
}

.woocommerce-cart .place-order-btn:hover {
	background: #1a8a9e;
	color: #fff;
}

/* Continue Shopping Link */
.woocommerce-cart .return-to-shop {
	text-align: center;
	margin-top: 30px;
}

.woocommerce-cart .return-to-shop .button {
	background: transparent;
	color: #333;
	border: 1px solid #333;
	padding: 14px 30px;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.2s;
}

.woocommerce-cart .return-to-shop .button:hover {
	background: #333;
	color: #fff;
}

/* Empty Cart */
.woocommerce-cart .cart-empty {
	text-align: center;
	padding: 60px 20px;
}

.woocommerce-cart .cart-empty.woocommerce-info {
	background: transparent;
	border: none;
	font-family: "Georgia", serif;
	font-size: 18px;
	font-style: italic;
	color: #666;
}

.woocommerce-cart .cart-empty.woocommerce-info::before {
	display: none;
}

/* Free Shipping Notice */
.woocommerce-cart .free-shipping-notice {
	background: #f0f7f0;
	padding: 15px 20px;
	margin-bottom: 30px;
	text-align: center;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	color: #333;
}

.woocommerce-cart .free-shipping-notice strong {
	color: #4caf50;
}

/* Cross-sells */
.woocommerce-cart .cross-sells {
	margin-top: 60px;
	padding-top: 40px;
	border-top: 1px solid #e5e5e5;
}

.woocommerce-cart .cross-sells h2 {
	font-family: "Georgia", serif;
	font-size: 24px;
	font-weight: 400;
	font-style: italic;
	text-align: center;
	margin-bottom: 30px;
}

.woocommerce-cart .cross-sells ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-cart .cross-sells ul.products li.product {
	margin: 0;
}

/* Responsive */
@media (max-width: 991px) {
	.woocommerce-cart .cart-collaterals {
		justify-content: center;
	}
	
	.woocommerce-cart .cross-sells ul.products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.woocommerce-cart table.shop_table,
	.woocommerce-cart table.shop_table thead,
	.woocommerce-cart table.shop_table tbody,
	.woocommerce-cart table.shop_table th,
	.woocommerce-cart table.shop_table td,
	.woocommerce-cart table.shop_table tr {
		display: block;
	}
	
	.woocommerce-cart table.shop_table thead {
		display: none;
	}
	
	.woocommerce-cart table.shop_table tr {
		position: relative;
		padding: 20px 0;
		border-bottom: 1px solid #e5e5e5;
	}
	
	.woocommerce-cart table.shop_table td {
		padding: 5px 0;
		border: none;
		text-align: left !important;
	}
	
	.woocommerce-cart table.shop_table td.product-remove {
		position: absolute;
		top: 20px;
		right: 0;
	}
	
	.woocommerce-cart table.shop_table td.product-thumbnail {
		width: 100%;
		margin-bottom: 15px;
	}
	
	.woocommerce-cart table.shop_table td.product-thumbnail img {
		width: 80px;
		height: 100px;
	}
	
	.woocommerce-cart table.shop_table td::before {
		content: attr(data-title) ": ";
		font-weight: 600;
		font-size: 11px;
		text-transform: uppercase;
		color: #888;
	}
	
	.woocommerce-cart table.shop_table td.product-thumbnail::before,
	.woocommerce-cart table.shop_table td.product-remove::before,
	.woocommerce-cart table.shop_table td.actions::before {
		display: none;
	}
	
	.woocommerce-cart .coupon {
		float: none;
		width: 100%;
		margin-bottom: 15px;
	}
	
	.woocommerce-cart .coupon #coupon_code {
		flex: 1;
	}
	
	.woocommerce-cart button[name="update_cart"] {
		float: none;
		width: 100%;
	}
	
	.woocommerce-cart .cart_totals {
		max-width: 100%;
	}
}

@media (max-width: 480px) {
	.woocommerce-cart .woocommerce {
		padding: 40px 15px;
	}
	
	.woocommerce-cart .page-title,
	.woocommerce-cart h1 {
		font-size: 28px;
		margin-bottom: 30px;
	}
	
	.woocommerce-cart .cross-sells ul.products {
		grid-template-columns: 1fr;
	}
}
