/* ==========================================================
   R27 Luxury - Cart + Checkout
   Uses Luchiana's native .c-cart__wrap columns; no generic grid.
   ========================================================== */

.woocommerce-cart .c-cart__wrap,
.woocommerce-checkout .c-cart__wrap {
	align-items: flex-start !important;
}

.woocommerce-cart .c-cart__col-1,
.woocommerce-checkout .c-cart__col-1 {
	min-width: 0 !important;
}

/* Cards built on actual Luchiana containers. */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-checkout .c-cart__customer-details,
.woocommerce-cart .c-cart__collaterals,
.woocommerce-checkout .c-cart__collaterals {
	border: 1px solid var(--r27-line) !important;
	border-radius: var(--r27-radius) !important;
	background: #fff !important;
	box-shadow: var(--r27-shadow) !important;
}

.woocommerce-cart .woocommerce-cart-form {
	padding: 26px 28px !important;
}

.woocommerce-checkout .c-cart__customer-details {
	padding: 30px 34px !important;
}

.woocommerce-cart .c-cart__collaterals,
.woocommerce-checkout .c-cart__collaterals {
	padding: 26px 28px 30px !important;
}

.woocommerce-cart .c-cart__collaterals:after,
.woocommerce-checkout .c-cart__collaterals:after {
	display: none !important;
}

@media (min-width: 1190px) {
	.woocommerce-cart .c-cart__col-2,
	.woocommerce-checkout .c-cart__col-2 {
		width: 420px !important;
	}

	.h-ltr .woocommerce-cart .c-cart__col-2,
	.h-ltr .woocommerce-checkout .c-cart__col-2 {
		margin-left: 42px !important;
	}
}

/* Section headings */
.c-cart .c-cart__sub-header,
.c-cart .c-cart__header,
.c-cart .c-cart__col-1--checkout h3 {
	margin-bottom: 18px !important;
	color: var(--r27-navy) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
}

.c-cart .c-cart__sub-header {
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--r27-line) !important;
}

/* Inputs */
.c-cart .c-cart__form label {
	padding-bottom: 6px !important;
	color: var(--r27-navy) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	letter-spacing: .075em !important;
	text-transform: uppercase !important;
}

.c-cart .c-cart__form input.input-text,
.c-cart .c-cart__form select,
.c-cart .c-cart__form textarea,
.c-cart .c-cart__form .select2-selection--single {
	width: 100% !important;
	min-height: 48px !important;
}

.c-cart .c-cart__form .form-row {
	margin-bottom: 14px !important;
}

.c-cart .c-cart__form--shipping-fields {
	margin-top: 32px !important;
}

.c-cart .c-cart__form--additional-fields {
	margin-top: 24px !important;
}

/* Cart product table */
.woocommerce-cart .c-cart__shop-th,
.woocommerce-cart .c-cart__shop-thead .c-cart__shop-th {
	color: #727a88 !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
}

.woocommerce-cart .c-cart__shop-td--product-name,
.woocommerce-checkout .c-cart__totals-product-name {
	color: var(--r27-navy) !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
	letter-spacing: .055em !important;
}

.woocommerce-cart .c-cart__shop-td--product-price,
.woocommerce-cart .c-cart__shop-td--product-subtotal,
.c-cart .c-cart__totals-price {
	color: var(--r27-navy) !important;
	font-weight: 500 !important;
}

.woocommerce-cart .c-cart__shop-tr.cart_item:hover {
	background: #fdfcf9 !important;
}

/* Review order */
.woocommerce-checkout .c-cart__review-order .c-cart__totals-table {
	margin-top: 2px !important;
}

.woocommerce-checkout .c-cart__review-order .c-cart__totals-product {
	font-size: 13px !important;
}

.woocommerce-checkout .c-cart__review-order .c-cart__totals-product-name {
	padding-right: 14px !important;
}

.c-cart .c-cart__totals-price--total strong .amount,
.c-cart .order-total .c-cart__totals-price .amount {
	color: var(--r27-gold) !important;
	font-size: 20px !important;
}

/* Shipping cards from R27 Shipping, harmonized with Luchiana. */
.c-cart .woocommerce-shipping-methods li.r27-method-card {
	margin: 0 0 10px !important;
	padding: 14px 14px !important;
	border-color: var(--r27-line-cool) !important;
	border-radius: 5px !important;
	background: #fff !important;
}

.c-cart .woocommerce-shipping-methods li.r27-method-card.is-selected {
	border-color: var(--r27-gold) !important;
	box-shadow: 0 0 0 1px var(--r27-gold) inset !important;
	background: #fffdf9 !important;
}

.c-cart .r27-rate-title,
.c-cart .r27-rate-price {
	font-size: 13px !important;
	line-height: 1.45 !important;
}

.c-cart .r27-rate-title {
	color: var(--r27-navy) !important;
	font-weight: 500 !important;
}

.c-cart .r27-rate-price,
.c-cart .r27-rate-price--free {
	color: var(--r27-gold) !important;
	font-weight: 600 !important;
}

.c-cart .r27-rate-meta,
.c-cart .r27-rate-status {
	font-size: 11px !important;
	line-height: 1.5 !important;
}

.c-cart .r27-cart-pickup-option,
.c-cart .r27-pickup-card {
	border-radius: 4px !important;
}

/* Payment methods as cards using actual Luchiana markup. */
.woocommerce-checkout .c-cart__payment-methods > li {
	display: grid !important;
	grid-template-columns: 20px minmax(0, 1fr) !important;
	column-gap: 11px !important;
	row-gap: 8px !important;
	align-items: start !important;
	margin: 0 0 10px !important;
	padding: 14px !important;
	border: 1px solid var(--r27-line-cool) !important;
	border-radius: 5px !important;
	background: #fff !important;
}

.woocommerce-checkout .c-cart__payment-methods > li:has(input:checked) {
	border-color: var(--r27-gold) !important;
	box-shadow: 0 0 0 1px var(--r27-gold) inset !important;
	background: #fffdf9 !important;
}

.woocommerce-checkout .c-cart__payment-method-radio {
	grid-column: 1 !important;
	grid-row: 1 !important;
	margin: 3px 0 0 !important;
}

.woocommerce-checkout .c-cart__payment-methods-title {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: 100% !important;
	color: var(--r27-navy) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

.woocommerce-checkout .c-cart__payment-methods-box {
	grid-column: 2 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #6e7582 !important;
	font-size: 11px !important;
	line-height: 1.55 !important;
}

.woocommerce-checkout .c-cart__payment-methods-box p {
	margin: 0 !important;
}

/* Terms and checkout CTA */
.woocommerce-checkout .c-cart__place-order {
	align-items: stretch !important;
}

.woocommerce-checkout .c-cart__place-order-btn,
.woocommerce-cart .c-cart__checkout-btn {
	width: 100% !important;
	min-height: 50px !important;
	margin-top: 22px !important;
	background: var(--r27-gold) !important;
	border-color: var(--r27-gold) !important;
	color: #fff !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .1em !important;
}

.woocommerce-checkout .c-cart__place-order-btn:hover,
.woocommerce-cart .c-cart__checkout-btn:hover {
	background: var(--r27-navy) !important;
	border-color: var(--r27-navy) !important;
	color: #fff !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	color: #747c89 !important;
	font-size: 11px !important;
	line-height: 1.55 !important;
}

/* Cart shipping destination / calculator */
.woocommerce-cart .c-cart__shipping-destination {
	padding-top: 8px !important;
	color: #6e7582 !important;
	font-size: 11px !important;
}

.woocommerce-cart .c-cart__shipping-calculator-button {
	color: var(--r27-gold) !important;
	font-weight: 500 !important;
}

@media (max-width: 1023px) and (min-width: 768px) {
	.woocommerce-cart .c-cart__col-2,
	.woocommerce-checkout .c-cart__col-2 {
		width: 340px !important;
	}
}

@media (max-width: 767px) {
	.woocommerce-cart .woocommerce-cart-form,
	.woocommerce-checkout .c-cart__customer-details,
	.woocommerce-cart .c-cart__collaterals,
	.woocommerce-checkout .c-cart__collaterals {
		border-radius: 6px !important;
		box-shadow: none !important;
	}

	.woocommerce-cart .woocommerce-cart-form,
	.woocommerce-checkout .c-cart__customer-details {
		padding: 18px !important;
	}

	.woocommerce-cart .c-cart__collaterals,
	.woocommerce-checkout .c-cart__collaterals {
		padding: 18px !important;
	}

	.woocommerce-cart .c-cart__col-1,
	.woocommerce-checkout .c-cart__col-1,
	.woocommerce-cart .c-cart__col-2,
	.woocommerce-checkout .c-cart__col-2 {
		max-width: 100% !important;
		width: 100% !important;
	}

	.woocommerce-cart .c-cart__col-2,
	.woocommerce-checkout .c-cart__col-2 {
		margin-top: 28px !important;
	}

	.woocommerce-cart .c-cart__col-2:before,
	.woocommerce-checkout .c-cart__col-2:before {
		display: none !important;
	}
}
