/**
 * TAPTOCLIQ Cart page — CSS re-skin over WooCommerce's real Cart
 * block markup (Store API / wc/store/v1 blocks). Deliberately NOT a
 * template replacement: the underlying cart functionality (quantity
 * updates, coupon logic, remove-item, totals calculation) all stays
 * 100% WooCommerce's own code, untouched. This file only restyles
 * the existing block classnames to match the TAPTOCLIQ navy/gold
 * brand used on the Shop and Single Product pages.
 *
 * Loaded only on the Cart page (see class-taptocliq-cart-styles.php),
 * so it never affects any other part of the site.
 *
 * @package Taptocliq_Core
 */

:root {
	--tclq-navy: #000080;
	--tclq-navy-mid: #0a0a5c;
	--tclq-gold: #C9A84C;
	--tclq-gray-50: #f8fafc;
	--tclq-gray-100: #f1f4f9;
	--tclq-gray-200: #e2e8f3;
	--tclq-gray-500: #64748b;
	--tclq-gray-600: #475569;
	--tclq-r12: 12px;
	--tclq-r16: 16px;
}

/* ---------------------------------------------------------------------
 * Page heading (theme page-title banner above the Cart block)
 * ------------------------------------------------------------------ */
body.woocommerce-cart .entry-header,
body.woocommerce-cart .page-header {
	background: linear-gradient(135deg, var(--tclq-navy), var(--tclq-navy-mid)) !important;
}
body.woocommerce-cart .entry-header .entry-title,
body.woocommerce-cart .page-header .entry-title,
body.woocommerce-cart .entry-header h1,
body.woocommerce-cart .page-header h1 {
	color: #fff !important;
	font-family: Georgia, serif;
	font-weight: 800;
}

/* ---------------------------------------------------------------------
 * Overall cart block container
 * ------------------------------------------------------------------ */
.wp-block-woocommerce-cart {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 32px !important;
}

/* Page-level top/bottom breathing room — offsets the shared fixed nav
   (70px) plus extra space, responsive down to mobile. Applied to the
   <main> wrapper in cart-page.php. */
.tclq-page-main {
	padding: 126px 0 60px;
	min-height: 50vh;
}

.wp-block-woocommerce-cart .wc-block-components-notice-banner {
	border-radius: var(--tclq-r12);
	border-width: 1.5px;
}

/* ---------------------------------------------------------------------
 * Line items table (wc-block-cart-items)
 * ------------------------------------------------------------------ */
.wc-block-cart-items {
	border: none !important;
}

.wc-block-cart-items th {
	color: var(--tclq-navy);
	font-weight: 800;
	font-size: .78rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--tclq-gray-200) !important;
	padding-bottom: 14px !important;
}

.wc-block-cart-items__row {
	border-bottom: 1px solid var(--tclq-gray-200) !important;
	padding: 20px 0 !important;
}

.wc-block-components-product-name {
	color: #111 !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	text-decoration: none !important;
}
a.wc-block-components-product-name:hover {
	color: var(--tclq-navy) !important;
}

.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description {
	color: var(--tclq-gray-600) !important;
	font-size: .85rem !important;
}

.wc-block-components-product-price .wc-block-components-formatted-money-amount,
.wc-block-cart-item__total-price-and-sale-badge-wrapper .wc-block-components-formatted-money-amount,
.wc-block-components-totals-item__value {
	color: var(--tclq-navy) !important;
	font-weight: 800 !important;
}

/* Product thumbnail */
.wc-block-cart-item__image img,
.wc-block-components-product-image img {
	border-radius: var(--tclq-r12) !important;
	border: 1.5px solid var(--tclq-gray-200);
}

/* Quantity stepper */
.wc-block-components-quantity-selector {
	border: 1.5px solid var(--tclq-gray-200) !important;
	border-radius: 999px !important;
	overflow: hidden;
}
.wc-block-components-quantity-selector__button {
	color: var(--tclq-navy) !important;
	font-weight: 700 !important;
}
.wc-block-components-quantity-selector__button:hover {
	background: var(--tclq-gray-100) !important;
}
.wc-block-components-quantity-selector__input {
	font-weight: 700 !important;
	color: #111 !important;
}

/* Remove-item link */
.wc-block-cart-item__remove-link,
.wc-block-components-product-metadata a.wc-block-cart-item__remove-link,
button.wc-block-cart-item__remove-link {
	color: #b91c1c !important;
	font-weight: 700 !important;
	font-size: .78rem !important;
	text-decoration: none !important;
}
.wc-block-cart-item__remove-link:hover {
	text-decoration: underline !important;
}

/* ---------------------------------------------------------------------
 * Sidebar totals panel
 * ------------------------------------------------------------------ */
.wc-block-cart__totals-title,
.wc-block-components-totals-wrapper .wc-block-components-panel__button,
h2.wc-block-components-title {
	color: var(--tclq-navy) !important;
	font-weight: 800 !important;
}

.wp-block-woocommerce-cart-totals-block {
	background: var(--tclq-gray-50);
	border-radius: var(--tclq-r16);
	padding: 28px !important;
	border: 1.5px solid var(--tclq-gray-200);
}

.wc-block-components-totals-item {
	border-top: 1px solid var(--tclq-gray-200) !important;
	padding: 12px 0 !important;
}
.wc-block-components-totals-item__label {
	color: var(--tclq-gray-600) !important;
	font-weight: 600 !important;
}

.wc-block-components-totals-item.wc-block-cart__totals-block .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--tclq-navy) !important;
	font-size: 1.25rem !important;
	font-weight: 800 !important;
}

/* Coupon form toggle */
.wc-block-components-totals-coupon-link {
	color: var(--tclq-navy) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
}
.wc-block-components-totals-coupon__input input,
.wc-block-components-text-input input {
	border-radius: 8px !important;
	border: 1.5px solid var(--tclq-gray-200) !important;
}
.wc-block-components-totals-coupon__button {
	border-radius: 8px !important;
	background: var(--tclq-navy) !important;
	color: #fff !important;
	font-weight: 700 !important;
	border: none !important;
}

/* ---------------------------------------------------------------------
 * Proceed to Checkout button
 * ------------------------------------------------------------------ */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-cart__submit-container a.wp-element-button,
a.wc-block-cart__submit-button {
	background: var(--tclq-navy) !important;
	color: #fff !important;
	border-radius: 12px !important;
	font-weight: 800 !important;
	padding: 16px !important;
	font-size: 1rem !important;
	text-transform: none !important;
	transition: background .2s, color .2s;
	border: none !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover {
	background: var(--tclq-gold) !important;
	color: var(--tclq-navy) !important;
}

/* ---------------------------------------------------------------------
 * Empty-cart state
 * ------------------------------------------------------------------ */
.wc-block-cart__empty-cart__title {
	color: var(--tclq-navy) !important;
	font-family: Georgia, serif;
	font-weight: 800 !important;
}

.wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
	color: var(--tclq-navy) !important;
	font-weight: 800 !important;
}

/* "New in store" cross-sell grid on empty cart */
.wc-block-grid__product-title {
	color: #111 !important;
	font-weight: 700 !important;
}
.wc-block-grid__product-price {
	color: var(--tclq-navy) !important;
	font-weight: 800 !important;
}
.wc-block-grid__product-onsale,
.wc-block-grid .added_to_cart,
.wc-block-grid__product .add_to_cart_button,
.wc-block-grid__product-add-to-cart a.button {
	background: var(--tclq-navy) !important;
	color: #fff !important;
	border-radius: 8px !important;
	border: none !important;
	font-weight: 700 !important;
}
.wc-block-grid__product-add-to-cart a.button:hover {
	background: var(--tclq-gold) !important;
	color: var(--tclq-navy) !important;
}

/* ---------------------------------------------------------------------
 * Mobile responsiveness — line items stack, totals panel full width
 * ------------------------------------------------------------------ */
@media (max-width: 768px) {
	.tclq-page-main {
		padding: 96px 0 40px;
	}
	.wp-block-woocommerce-cart {
		padding: 0 16px !important;
	}
	.wc-block-cart-items__row {
		padding: 16px 0 !important;
	}
	.wp-block-woocommerce-cart-totals-block {
		padding: 20px !important;
		margin-top: 24px !important;
	}
	.wc-block-components-product-name {
		font-size: .92rem !important;
	}
	.wc-block-components-totals-item.wc-block-cart__totals-block .wc-block-components-totals-item__value,
	.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
		font-size: 1.1rem !important;
	}
}

@media (max-width: 400px) {
	.tclq-page-main {
		padding: 88px 0 32px;
	}
	.wp-block-woocommerce-cart {
		padding: 0 12px !important;
	}
}
