/* Purchase pages, same materials as the product page. */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
	background: #fff9f2;
	color: #241812;
}
.casgal-shop {
	padding: 7.6rem 20px 4.5rem;
	background: linear-gradient(180deg, #fff7ec 0 180px, #fff9f2 180px);
	color: #241812;
	font-family: "Noto Sans SC", "PingFang SC", "Segoe UI", sans-serif;
}
.casgal-shop-wrap { max-width: 1080px; margin: 0 auto; }
.casgal-shop-title {
	margin: 0 0 18px;
	color: #241812;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: -0.03em;
}
.casgal-shop a { color: #c45a2a; }
.casgal-shop .woocommerce-notices-wrapper,
.casgal-shop .woocommerce-message,
.casgal-shop .woocommerce-info,
.casgal-shop .woocommerce-error {
	background: #fff;
	color: #241812;
	border: 1px solid #f3ddc8;
	border-radius: 14px;
	margin: 0 0 14px;
	box-shadow: none;
}
.casgal-shop .woocommerce { color: #241812; }
@media (min-width: 900px) {
	.woocommerce-cart .casgal-shop .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.72fr);
		gap: 18px 22px;
		align-items: start;
	}
	.woocommerce-cart .casgal-shop .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.woocommerce-cart .casgal-shop .woocommerce-cart-form { grid-column: 1; }
	.woocommerce-cart .casgal-shop .cart-collaterals { grid-column: 2; grid-row: 2; }
	.woocommerce-cart .casgal-shop .woocommerce-notices-wrapper + .woocommerce-cart-form { grid-row: 2; }
}
.casgal-shop table.shop_table {
	background: #fff;
	border: 1px solid #f3ddc8 !important;
	border-radius: 18px;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
	width: 100%;
}
.casgal-shop table.shop_table th {
	background: #fff7ec;
	color: #7a3e1d;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-weight: 800;
}
.casgal-shop table.shop_table td,
.casgal-shop table.shop_table th {
	border-color: #f6e6d6 !important;
	padding: 14px 16px;
	vertical-align: middle;
}
.casgal-shop td.product-thumbnail img,
.casgal-shop .product-thumbnail img {
	width: 72px;
	height: 96px;
	object-fit: cover;
	border-radius: 12px;
	border: 1px solid #f0d7c4;
	background: #fff;
}
.casgal-shop td.product-name a { color: #241812; font-weight: 800; text-decoration: none; }
.casgal-shop .cart_totals,
.casgal-shop #order_review,
.casgal-shop .woocommerce-checkout-review-order,
.casgal-shop .woocommerce-order {
	background: #fff;
	border: 1px solid #f3ddc8;
	border-radius: 18px;
	padding: 18px 18px 16px;
}
.casgal-shop .cart_totals h2,
.casgal-shop #order_review_heading,
.casgal-shop .woocommerce-billing-fields h3,
.casgal-shop .woocommerce-additional-fields h3 {
	margin: 0 0 12px;
	color: #241812;
	font-size: 1.15rem;
	font-weight: 900;
}
.casgal-shop .quantity .qty,
.casgal-shop form .form-row input.input-text,
.casgal-shop form .form-row textarea,
.casgal-shop form .form-row select,
.casgal-shop .coupon input.input-text {
	background: #fff9f2 !important;
	border: 1px solid #f0d7c4 !important;
	border-radius: 12px !important;
	color: #241812 !important;
	min-height: 44px;
	padding: 0 12px;
	box-shadow: none !important;
}
.casgal-shop form .form-row input.input-text:focus,
.casgal-shop form .form-row textarea:focus,
.casgal-shop form .form-row select:focus {
	border-color: #f47b2a !important;
	box-shadow: 0 0 0 3px rgba(244, 123, 42, 0.16) !important;
	outline: none;
}
.casgal-shop a.button,
.casgal-shop button.button,
.casgal-shop input.button,
.casgal-shop #place_order,
.casgal-shop .checkout-button {
	background: #7a3e1d !important;
	color: #fff9f2 !important;
	border: 0 !important;
	border-radius: 14px !important;
	min-height: 48px;
	padding: 0 18px !important;
	font-weight: 800 !important;
	line-height: 48px !important;
	box-shadow: none !important;
	text-align: center;
}
.casgal-shop .checkout-button,
.casgal-shop #place_order { display: block; width: 100%; }
.casgal-shop a.button:hover,
.casgal-shop button.button:hover,
.casgal-shop #place_order:hover { background: #5e2f16 !important; color: #fff9f2 !important; }
.casgal-shop .coupon { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.casgal-shop .coupon .button {
	background: #fff !important;
	color: #7a3e1d !important;
	border: 1px solid #e7cbb6 !important;
}
.casgal-shop #payment { background: transparent; }
.casgal-shop #payment ul.payment_methods {
	border: 1px solid #f3ddc8;
	border-radius: 14px;
	background: #fff9f2;
	padding: 10px 12px;
}
.casgal-shop #payment div.payment_box { background: #fff; color: #241812; border-radius: 10px; }
.casgal-shop #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review { width: 100%; float: none; }
@media (min-width: 900px) {
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr); gap: 8px 28px; align-items: start; }
	.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; width: auto; float: none; }
	.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; width: auto; float: none; margin: 0; }
	.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2; width: auto; float: none; }
}
.casgal-shop .woocommerce-MyAccount-navigation,
.casgal-shop .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid #f3ddc8;
	border-radius: 18px;
	padding: 8px 16px;
}
.casgal-shop .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.casgal-shop .woocommerce-MyAccount-navigation a { display: block; padding: 12px 2px; color: #241812; text-decoration: none; font-weight: 700; border-bottom: 1px solid #f6e6d6; }
.casgal-shop .woocommerce-MyAccount-navigation .is-active a { color: #c45a2a; }
@media (max-width: 720px) {
	.casgal-shop { padding: 6.6rem 12px 3rem; }
	.casgal-shop-title { font-size: 1.7rem; }
	.casgal-shop table.shop_table td,
	.casgal-shop table.shop_table th { padding: 10px 8px; }
	.casgal-shop .coupon .button,
	.casgal-shop button.button,
	.casgal-shop a.button { width: 100%; }
	.casgal-shop td.product-remove { width: 32px; }
}

.woocommerce-cart .casgal-shop .cart-collaterals,
.woocommerce-cart .casgal-shop .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}

/* Checkout columns were stuck at WooCommerce 48% float, so the form sat in a narrow strip. */
.woocommerce-checkout .casgal-shop .col2-set,
.woocommerce-checkout .casgal-shop .col2-set .col-1,
.woocommerce-checkout .casgal-shop .col2-set .col-2 {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}
.woocommerce-checkout .casgal-shop .form-row-first,
.woocommerce-checkout .casgal-shop .form-row-last {
	float: left !important;
	width: calc(50% - 8px) !important;
}
.woocommerce-checkout .casgal-shop .form-row-first { margin-right: 16px !important; }
.woocommerce-checkout .casgal-shop .form-row-last { margin-right: 0 !important; }
.woocommerce-checkout .casgal-shop .form-row-wide { float: none !important; width: 100% !important; clear: both; }
.woocommerce-checkout .casgal-shop .select2-container { width: 100% !important; }
.casgal-shop .checkout-button { font-size: 16px !important; }
.casgal-shop .coupon { align-items: center; }
.casgal-shop .coupon .input-text {
	flex: 1 1 180px;
	width: auto !important;
	min-width: 0;
	max-width: none !important;
}
.woocommerce-account .casgal-shop .woocommerce-form-login {
	max-width: 440px;
	margin: 8px auto 0;
	background: #fff;
	border: 1px solid #f3ddc8;
	border-radius: 18px;
	padding: 22px 22px 8px;
}
.woocommerce-account .casgal-shop .woocommerce-form-login .form-row { padding: 0; margin: 0 0 12px; }
.woocommerce-account .casgal-shop .woocommerce-form-login__submit { min-width: 148px; }
@media (max-width: 720px) {
	.woocommerce-checkout .casgal-shop .form-row-first,
	.woocommerce-checkout .casgal-shop .form-row-last {
		float: none !important;
		width: 100% !important;
		margin-right: 0 !important;
	}
	.casgal-shop .coupon { flex-direction: column; align-items: stretch; }
	.casgal-shop .coupon .input-text,
	.casgal-shop .coupon .button { width: 100% !important; flex: none; }
}
