/**
 * Nzele Premium Luxury Checkout & Cart Stylesheet
 */

/* Background Layout Override */
.woocommerce-checkout,
.woocommerce-cart {
	background-color: var(--nzle-bg-primary) !important;
}

.woocommerce-checkout #nzle-page-content,
.woocommerce-cart #nzle-page-content {
	padding: var(--nzle-space-xl) 0 !important;
}

/* Forms layout constraints */
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce {
	max-width: var(--nzle-container-width);
	margin: 0 auto;
	padding: 0 var(--nzle-space-md);
}

/* Headings */
.woocommerce-checkout h3,
.woocommerce-checkout h4,
.woocommerce-checkout #order_review_heading,
.woocommerce-cart h3,
.woocommerce-cart h4 {
	font-family: var(--nzle-font-headings) !important;
	font-weight: 300 !important;
	color: var(--nzle-text-primary) !important;
	margin-top: 0 !important;
}

.woocommerce-checkout h3,
.woocommerce-cart h3 {
	font-size: 1.6rem !important;
	border-bottom: 1px solid var(--nzle-border) !important;
	padding-bottom: 12px !important;
	margin-bottom: var(--nzle-space-md) !important;
}

.woocommerce-checkout h4,
.woocommerce-checkout #order_review_heading,
.woocommerce-cart h4 {
	font-size: 1.25rem !important;
	border-bottom: 1px solid var(--nzle-border) !important;
	padding-bottom: 12px !important;
	margin-bottom: var(--nzle-space-md) !important;
}

/* 2-Column Grid on Desktop checkout */
@media (min-width: 992px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: 1.2fr 0.8fr;
		gap: var(--nzle-space-xl);
		align-items: start;
	}
	
	.woocommerce-checkout #customer_details {
		grid-column: 1;
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}
	
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review {
		grid-column: 2;
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}
	
	.woocommerce-checkout #order_review_heading {
		grid-row: 1;
	}
	
	.woocommerce-checkout #order_review {
		grid-row: 2;
	}
}

/* Fields & Input Styling */
.woocommerce-checkout .form-row {
	margin-bottom: var(--nzle-space-sm) !important;
	padding: 0 !important;
}

.woocommerce-checkout label {
	font-family: var(--nzle-font-body) !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	text-transform: uppercase;
	letter-spacing: var(--nzle-letter-spacing-wide);
	color: var(--nzle-text-secondary) !important;
	margin-bottom: 6px !important;
	display: block;
}

.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	border: 1px solid var(--nzle-border) !important;
	background-color: var(--nzle-bg-secondary) !important;
	border-radius: 0 !important; /* Pure geometric layout */
	padding: 12px 14px !important;
	font-family: var(--nzle-font-body) !important;
	font-size: 0.9rem !important;
	font-weight: 300 !important;
	color: var(--nzle-text-primary) !important;
	outline: none !important;
	box-shadow: none !important;
	transition: var(--nzle-transition-default) !important;
	width: 100%;
	box-sizing: border-box;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: var(--nzle-accent) !important;
}

/* Address select dropdown rules */
.woocommerce-checkout .select2-container--default .select2-selection--single {
	border: 1px solid var(--nzle-border) !important;
	border-radius: 0 !important;
	height: 42px !important;
	background-color: var(--nzle-bg-secondary) !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 42px !important;
	padding-left: 14px !important;
	font-family: var(--nzle-font-body) !important;
	font-size: 0.9rem !important;
	color: var(--nzle-text-primary) !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 40px !important;
}

/* Frameless summary cards */
.nzle-checkout-summary-card {
	border: 1px solid var(--nzle-border);
	padding: var(--nzle-space-md);
	background: var(--nzle-bg-secondary);
	margin-bottom: var(--nzle-space-md);
}

.nzle-summary-item {
	display: flex;
	gap: var(--nzle-space-md);
	margin-bottom: var(--nzle-space-md);
}

.nzle-summary-thumbnail img {
	width: 72px;
	height: auto;
	object-fit: cover;
	border: 1px solid var(--nzle-border);
}

.nzle-summary-details {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex-grow: 1;
}

.nzle-summary-artist {
	font-family: var(--nzle-font-body);
	font-size: 0.7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: var(--nzle-letter-spacing-wide);
	color: var(--nzle-accent);
}

.nzle-summary-title {
	font-family: var(--nzle-font-headings) !important;
	font-size: 1.15rem !important;
	border-bottom: none !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.25 !important;
}

.nzle-summary-medium,
.nzle-summary-dimensions {
	font-family: var(--nzle-font-body);
	font-size: 0.8rem;
	color: var(--nzle-text-secondary);
}

.nzle-summary-price {
	font-family: var(--nzle-font-body);
	font-size: 0.9rem;
	font-weight: 500;
	margin-top: 2px;
	color: var(--nzle-text-primary);
}

.nzle-summary-totals {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.nzle-summary-row {
	display: flex;
	justify-content: space-between;
	font-size: 0.85rem;
	color: var(--nzle-text-secondary);
}

.nzle-summary-row.total-row {
	font-size: 1.1rem;
	color: var(--nzle-text-primary);
	font-weight: 500;
	border-top: 1px solid var(--nzle-border);
	padding-top: 10px;
	margin-top: 6px;
}

/* Collector Assurance Block (Frameless box) */
.nzle-checkout-assurance-block {
	border: 1px solid var(--nzle-border);
	padding: var(--nzle-space-md);
	background: var(--nzle-bg-secondary);
	margin-bottom: var(--nzle-space-md);
}

.nzle-assurance-title {
	margin-top: 0 !important;
	border-bottom: 1px solid var(--nzle-border) !important;
	padding-bottom: var(--nzle-space-xs) !important;
	font-size: 1.05rem !important;
	margin-bottom: var(--nzle-space-sm) !important;
}

.nzle-assurance-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nzle-assurance-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--nzle-font-body);
	font-size: 0.8rem;
	color: var(--nzle-text-secondary);
}

.nzle-assurance-list li svg {
	color: var(--nzle-accent);
	flex-shrink: 0;
}

/* Payment Gateway Selector */
#payment {
	background: var(--nzle-bg-secondary) !important;
	border: 1px solid var(--nzle-border) !important;
	padding: var(--nzle-space-md) !important;
	border-radius: 0 !important;
}

#payment ul.payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 var(--nzle-space-md) 0 !important;
	border-bottom: 1px solid var(--nzle-border) !important;
}

#payment ul.payment_methods li.wc_payment_method {
	border-bottom: 1px solid var(--nzle-border) !important;
	padding: 14px 0 !important;
}

#payment ul.payment_methods li.wc_payment_method:last-child {
	border-bottom: none !important;
}

#payment ul.payment_methods li.wc_payment_method label {
	display: inline-block !important;
	font-family: var(--nzle-font-body) !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	color: var(--nzle-text-primary) !important;
	cursor: pointer !important;
	margin: 0 !important;
}

#payment ul.payment_methods li.wc_payment_method input[type=radio] {
	display: inline-block !important;
	margin-right: 10px !important;
	accent-color: var(--nzle-accent) !important;
	cursor: pointer !important;
	transform: scale(1.05);
}

#payment div.payment_box {
	background-color: var(--nzle-bg-primary) !important;
	border: 1px solid var(--nzle-border) !important;
	border-radius: 0 !important;
	color: var(--nzle-text-secondary) !important;
	font-family: var(--nzle-font-body) !important;
	font-size: 0.8rem !important;
	line-height: 1.6 !important;
	margin: 10px 0 0 0 !important;
	padding: var(--nzle-space-sm) !important;
}

#payment div.payment_box::before {
	display: none !important;
}

/* Hide Default WooCommerce review table & coupon details */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.woocommerce-checkout table.shop_table {
	display: none !important;
}

/* Cart Page Overrides */
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .coupon,
.woocommerce-cart .cart-empty + .return-to-shop {
	display: none !important;
}

.woocommerce-cart .cart_totals {
	float: none !important;
	width: 100% !important;
	max-width: 480px !important;
	margin-left: auto !important;
	background: var(--nzle-bg-secondary) !important;
	border: 1px solid var(--nzle-border) !important;
	border-radius: 0 !important;
	padding: var(--nzle-space-md) !important;
}

.woocommerce-cart .cart-collaterals {
	padding-top: var(--nzle-space-lg) !important;
}

.woocommerce-cart .checkout-button {
	background-color: var(--nzle-black) !important;
	border: 1px solid var(--nzle-black) !important;
	border-radius: 0 !important;
	padding: 14px 24px !important;
	font-family: var(--nzle-font-body) !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: var(--nzle-letter-spacing-wide) !important;
	color: var(--nzle-white) !important;
	transition: var(--nzle-transition-default) !important;
	display: block !important;
	text-align: center !important;
}

.woocommerce-cart .checkout-button:hover {
	background-color: var(--nzle-accent) !important;
	border-color: var(--nzle-accent) !important;
}

/* Responsive checkout rules */
@media (max-width: 991px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		gap: var(--nzle-space-lg);
	}
	
	.woocommerce-checkout #customer_details {
		order: 2;
	}
	
	.woocommerce-checkout #order_review_heading {
		order: 1;
		margin-top: var(--nzle-space-md) !important;
	}
	
	.woocommerce-checkout #order_review {
		order: 1;
	}
}
