/* ===================================================
   05. WooCommerce：カートページ
=================================================== */

/* ---------- 05-1. カートページ基本 ---------- */

body.woocommerce-cart {
	background: #f5f7fa;
}

.order-lub-cart-template {
	background: #f5f7fa;
	padding: 48px 0 72px;
}

.order-lub-cart-container {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}


/* ---------- 05-2. カートページ見出し ---------- */

.order-lub-cart-header {
	margin-bottom: 28px;
	padding: 36px 40px;
	background: linear-gradient(135deg, #ffffff, #eef5fb);
	border-radius: 20px;
	border: 1px solid #e5edf3;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.order-lub-cart-header h1 {
	margin: 0 0 12px;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 800;
	color: #14213d;
}

.order-lub-cart-header p:not(.order-lub-label) {
	margin: 0;
	color: #52616f;
	line-height: 1.9;
}


/* ---------- 05-3. カート白枠 ---------- */

.order-lub-cart-content {
	background: #fff;
	padding: 32px;
	border-radius: 20px;
	border: 1px solid #e5edf3;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
	box-sizing: border-box;
}

.order-lub-cart-content .woocommerce,
.order-lub-cart-content .woocommerce-cart-form {
	width: 100%;
	max-width: 100%;
}

.order-lub-cart-content table.shop_table {
	width: 100%;
}

.order-lub-cart-content .cart-collaterals {
	margin-top: 32px;
}

.order-lub-cart-content .cart_totals {
	width: 100% !important;
	max-width: 520px;
	margin-left: auto;
}


/* ---------- 05-4. カートページ不要エリア非表示 ---------- */

body.woocommerce-cart .vk_posts,
body.woocommerce-cart .subSection,
body.woocommerce-cart .side-section,
body.woocommerce-cart .sideSection,
body.woocommerce-cart aside {
	display: none !important;
}


/* ---------- 05-5. WooCommerceブロックカート補正 ---------- */

body.woocommerce-cart .order-lub-cart-content .wp-block-woocommerce-cart.alignwide,
body.woocommerce-cart .order-lub-cart-content .alignwide,
body.woocommerce-cart .order-lub-cart-content .alignfull {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.woocommerce-cart .order-lub-cart-content .wp-block-woocommerce-cart {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	text-align: center;
}

body.woocommerce-cart .order-lub-cart-content hr,
body.woocommerce-cart .order-lub-cart-content .wp-block-separator {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.woocommerce-cart .order-lub-cart-content .wc-block-grid,
body.woocommerce-cart .order-lub-cart-content .wp-block-product-new,
body.woocommerce-cart .order-lub-cart-content .wp-block-woocommerce-product-new {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.woocommerce-cart .order-lub-cart-content .wc-block-grid__products {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

body.woocommerce-cart .order-lub-cart-content .wc-block-grid__product {
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.woocommerce-cart .order-lub-cart-content .wc-block-grid__product-image img {
	width: 100%;
	height: auto;
	display: block;
}

body.woocommerce-cart .order-lub-cart-content .wc-block-cart__empty-cart__title {
	margin-top: 0 !important;
	text-align: center;
}


/* ---------- 05-6. カートページレスポンシブ ---------- */

@media (max-width: 900px) {
	body.woocommerce-cart .order-lub-cart-content .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.order-lub-cart-template {
		padding: 32px 0 56px;
	}

	.order-lub-cart-container {
		width: min(100% - 24px, 1180px);
	}

	.order-lub-cart-header {
		padding: 28px 22px;
		border-radius: 16px;
	}

	.order-lub-cart-content {
		padding: 20px;
		border-radius: 16px;
	}

	.order-lub-cart-content .cart_totals {
		max-width: 100%;
		margin-left: 0;
	}
}

@media (max-width: 600px) {
	body.woocommerce-cart .order-lub-cart-content .wc-block-grid__products {
		grid-template-columns: 1fr;
	}
}



/* shop.cssへ分離済み */
