/**
 * WooCommerce Blocks cart polish — load after wc-blocks-style.
 */

body.dhyan-wc-cart .dhyan-wc-page.dhyan-section {
	padding-top: 2.5rem;
	padding-bottom: 3rem;
}

body.dhyan-wc-cart .dhyan-wc-page .dhyan-container {
	max-width: 68rem;
}

.dhyan-wc-cart .wp-block-post-content {
	max-width: none !important;
	width: 100% !important;
}

.dhyan-wc-cart .wp-block-post-content > :where(:not(.alignleft):not(.alignright)) {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ── Cart block layout (items + sidebar) ──
   Let WooCommerce Blocks handle the two-column layout via
   .wc-block-components-sidebar-layout (same approach as checkout). */
.dhyan-wc-cart .wp-block-woocommerce-cart,
.dhyan-wc-cart .wc-block-cart,
.dhyan-wc-cart .dhyan-cart-block {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.dhyan-wc-cart .wc-block-components-sidebar-layout {
	flex-wrap: nowrap !important;
	gap: 2rem !important;
	align-items: start !important;
}

.dhyan-wc-cart .wc-block-cart__main,
.dhyan-wc-cart .wc-block-cart__sidebar {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

@media (min-width: 960px) {
	.dhyan-wc-cart .wc-block-cart__main {
		flex: 1 1 0 !important;
	}

	.dhyan-wc-cart .wc-block-cart__sidebar {
		flex: 0 0 min(22rem, 100%) !important;
		width: min(22rem, 100%) !important;
		max-width: 22rem !important;
	}
}

.dhyan-wc-cart .wc-block-cart__main,
.dhyan-wc-cart .wc-block-cart__sidebar {
	box-sizing: border-box !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 0.75rem !important;
	background: #fff !important;
	box-shadow: 0 1px 2px 0 rgb(15 23 42 / 0.04) !important;
}

.dhyan-wc-cart .wc-block-cart__main {
	padding: 1rem 1.25rem !important;
}

.dhyan-wc-cart .wc-block-cart__sidebar {
	padding: 1.25rem !important;
}

@media (min-width: 960px) {
	.dhyan-wc-cart .wc-block-cart__sidebar {
		position: sticky !important;
		top: 6rem !important;
	}
}

/* ── Cart table header ── */
.dhyan-wc-cart .wc-block-cart-items__header {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 1rem !important;
	margin: 0 0 0.75rem !important;
	padding: 0 0 0.75rem !important;
	border-bottom: 1px solid #e2e8f0 !important;
	color: #64748b !important;
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.dhyan-wc-cart .wc-block-cart-items__header .wc-block-cart-items__header-image {
	display: none !important;
}

.dhyan-wc-cart .wc-block-cart-items__header .wc-block-cart-items__header-product {
	grid-column: 1 !important;
}

.dhyan-wc-cart .wc-block-cart-items__header .wc-block-cart-items__header-total {
	grid-column: 2 !important;
	text-align: right !important;
}

/* ── Cart line items ── */
.dhyan-wc-cart .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 4.5rem minmax(0, 1fr) auto !important;
	grid-template-areas:
		'image product total'
		'image quantity total' !important;
	gap: 0.5rem 0.875rem !important;
	align-items: start !important;
	padding: 1rem 0 !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

.dhyan-wc-cart .wc-block-cart-items__row:last-child {
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.dhyan-wc-cart .wc-block-cart-item__image {
	grid-area: image !important;
	width: auto !important;
	padding: 0 !important;
}

.dhyan-wc-cart .wc-block-cart-item__image img {
	width: 4.5rem !important;
	height: 4.5rem !important;
	border-radius: 0.5rem !important;
	border: 1px solid #e2e8f0 !important;
	object-fit: cover !important;
}

.dhyan-wc-cart .wc-block-cart-item__product {
	grid-area: product !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.dhyan-wc-cart .wc-block-cart-item__wrap {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.375rem !important;
	min-width: 0 !important;
}

.dhyan-wc-cart .wc-block-components-product-name {
	display: block !important;
	color: #0f172a !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
}

.dhyan-wc-cart .wc-block-components-product-name:hover {
	color: var(--dhyan-color-primary) !important;
}

.dhyan-wc-cart .wc-block-cart-item__prices,
.dhyan-wc-cart .wc-block-cart-item__product .wc-block-components-product-price {
	display: none !important;
}

.dhyan-wc-cart .wc-block-components-product-metadata__description {
	display: none !important;
}

.dhyan-wc-cart .wc-block-components-product-details {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.15rem !important;
	margin-top: 0.25rem !important;
	font-size: 0.75rem !important;
	line-height: 1.4 !important;
	color: #64748b !important;
}

.dhyan-wc-cart .wc-block-components-product-details > span {
	display: block !important;
}

.dhyan-wc-cart .wc-block-components-product-details span[aria-hidden='true'] {
	display: none !important;
}

.dhyan-wc-cart .wc-block-components-product-details__name {
	font-weight: 600 !important;
	color: #475569 !important;
}

.dhyan-wc-cart .wc-block-components-product-details__add-ons-subtotal .wc-block-components-product-details__name,
.dhyan-wc-cart .wc-block-components-product-details__add-ons-subtotal .wc-block-components-product-details__value {
	font-weight: 700 !important;
	color: #0f172a !important;
}

.dhyan-wc-cart .wc-block-cart-item__total {
	grid-area: total !important;
	align-self: start !important;
	padding: 0 !important;
	text-align: right !important;
}

.dhyan-wc-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
	color: #0f172a !important;
	font-size: 1.0625rem !important;
	font-weight: 700 !important;
}

.dhyan-wc-cart .wc-block-cart-item__quantity {
	grid-area: quantity !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.75rem !important;
	margin: 0 !important;
	padding-top: 0.25rem !important;
}

/* ── Quantity stepper (unified − / qty / +) ── */
.dhyan-wc-cart .wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: stretch !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 0.5rem !important;
	background: #fff !important;
	overflow: hidden !important;
	box-shadow: none !important;
	gap: 0 !important;
}

.dhyan-wc-cart .wc-block-components-quantity-selector__button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 2.5rem !important;
	width: 2.5rem !important;
	min-width: 2.5rem !important;
	height: 2.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #64748b !important;
	font-size: 1.125rem !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: background-color 0.15s ease, color 0.15s ease !important;
}

.dhyan-wc-cart .wc-block-components-quantity-selector__button:hover {
	background: #f8fafc !important;
	color: var(--dhyan-color-primary) !important;
}

.dhyan-wc-cart .wc-block-components-quantity-selector__button:disabled {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
}

.dhyan-wc-cart .wc-block-components-quantity-selector__input {
	flex: 0 0 3rem !important;
	width: 3rem !important;
	min-width: 3rem !important;
	height: 2.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid #e2e8f0 !important;
	border-right: 1px solid #e2e8f0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	text-align: center !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
	box-shadow: none !important;
	-moz-appearance: textfield !important;
}

.dhyan-wc-cart .wc-block-components-quantity-selector__input:focus {
	outline: none !important;
	box-shadow: inset 0 0 0 2px rgb(var(--dhyan-color-primary-rgb) / 0.15) !important;
}

.dhyan-wc-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.dhyan-wc-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* Remove item */
.dhyan-wc-cart .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2.25rem !important;
	height: 2.25rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 0.5rem !important;
	background: #fff !important;
	color: #64748b !important;
	text-decoration: none !important;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease !important;
}

.dhyan-wc-cart .wc-block-cart-item__remove-link:hover {
	border-color: #fecaca !important;
	background: #fef2f2 !important;
	color: #dc2626 !important;
}

.dhyan-wc-cart .wc-block-cart-item__remove-link svg {
	width: 1.125rem !important;
	height: 1.125rem !important;
	fill: currentColor !important;
}

/* ── Sidebar totals ── */
.dhyan-wc-cart .wc-block-cart__totals-title,
.dhyan-wc-cart .wp-block-woocommerce-cart-totals-block h2 {
	margin: 0 0 1rem !important;
	padding: 0 0 1rem !important;
	border-bottom: 1px solid #e2e8f0 !important;
	color: #0f172a !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}

.dhyan-wc-cart .wc-block-components-totals-item {
	padding: 0.375rem 0 !important;
}

.dhyan-wc-cart .wc-block-components-totals-footer-item {
	margin-top: 0.25rem !important;
	padding-top: 0.75rem !important;
	border-top: 1px solid #e2e8f0 !important;
}

.dhyan-wc-cart .wc-block-components-totals-item__label {
	color: #64748b !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
}

.dhyan-wc-cart .wc-block-components-totals-item__value {
	color: #0f172a !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
}

.dhyan-wc-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.dhyan-wc-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: #0f172a !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
}

.dhyan-wc-cart .wc-block-components-totals-coupon {
	margin: 0.5rem 0 0.75rem !important;
	padding: 0.75rem 0 !important;
	border-top: 1px solid #e2e8f0 !important;
	border-bottom: 0 !important;
}

.dhyan-wc-cart .wc-block-components-totals-coupon__button,
.dhyan-wc-cart .wc-block-components-panel__button {
	color: var(--dhyan-color-primary) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
}

/* Coupon field: static label above input (no floating-label overlap). */
body.dhyan-wc-cart .wc-block-components-totals-coupon__form {
	display: flex !important;
	align-items: flex-end !important;
	gap: 0.5rem !important;
	margin-top: 0.625rem !important;
}

body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	min-width: 0 !important;
	margin: 0 !important;
}

body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input label,
body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input.is-active label,
body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input:focus-within label {
	order: -1 !important;
	position: static !important;
	transform: none !important;
	top: auto !important;
	left: auto !important;
	display: block !important;
	margin: 0 0 0.375rem !important;
	padding: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	color: #0f172a !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	white-space: normal !important;
}

body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input.is-active input,
body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input:focus-within input {
	height: 2.5rem !important;
	min-height: 0 !important;
	padding: 0 0.75rem !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 0.5rem !important;
	background: #fff !important;
	color: #0f172a !important;
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	box-shadow: none !important;
}

body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus {
	border-color: var(--dhyan-color-primary) !important;
	box-shadow: 0 0 0 3px rgb(var(--dhyan-color-primary-rgb) / 0.12) !important;
	outline: none !important;
}

body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-button {
	flex: 0 0 auto !important;
	min-height: 2.5rem !important;
	height: 2.5rem !important;
	margin: 0 !important;
	padding: 0 1rem !important;
	border-radius: 0.5rem !important;
	background: var(--dhyan-color-primary) !important;
	color: #fff !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

body.dhyan-wc-cart .wc-block-components-totals-coupon__form .wc-block-components-button:hover {
	background: var(--dhyan-color-primary-dark) !important;
	color: #fff !important;
}

.dhyan-wc-cart .wc-block-cart__submit-container {
	margin-top: 1.25rem !important;
}

.dhyan-wc-cart .wc-block-cart__submit-button,
.dhyan-wc-cart .wc-block-components-button.wc-block-cart__submit-button {
	display: flex !important;
	width: 100% !important;
	min-height: 3rem !important;
	align-items: center !important;
	justify-content: center !important;
	border: 0 !important;
	border-radius: 0.5rem !important;
	background: var(--dhyan-color-primary) !important;
	color: #fff !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	box-shadow: 0 1px 2px 0 rgb(15 23 42 / 0.06) !important;
	transition: background-color 0.15s ease !important;
}

.dhyan-wc-cart .wc-block-cart__submit-button:hover,
.dhyan-wc-cart .wc-block-components-button.wc-block-cart__submit-button:hover {
	background: var(--dhyan-color-primary-dark) !important;
	color: #fff !important;
}

/* ── Empty cart ── */
.dhyan-wc-cart .wc-block-cart__empty-cart__title {
	margin: 2rem 0 1rem !important;
	color: #0f172a !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
}

.dhyan-wc-cart .wc-block-cart__empty-cart__description {
	color: #64748b !important;
	font-size: 1rem !important;
}

.dhyan-wc-cart .wc-block-cart__empty-cart__button {
	display: inline-flex !important;
	min-height: 2.75rem !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 1.5rem !important;
	border-radius: 0.5rem !important;
	background: var(--dhyan-color-primary) !important;
	color: #fff !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.dhyan-wc-cart .wc-block-cart__empty-cart__button:hover {
	background: var(--dhyan-color-primary-dark) !important;
	color: #fff !important;
}

@media (max-width: 781px) {
	.dhyan-wc-cart .wc-block-cart-items__header {
		display: none !important;
	}

	.dhyan-wc-cart .wc-block-cart-items__row {
		grid-template-columns: 4.5rem minmax(0, 1fr) !important;
		grid-template-areas:
			'image product'
			'image total'
			'quantity quantity' !important;
	}

	.dhyan-wc-cart .wc-block-cart-item__total {
		text-align: left !important;
	}

	.dhyan-wc-cart .wc-block-cart-item__quantity {
		justify-content: space-between !important;
	}
}
