/**
 * Mini-cart drawer overrides — must load after wc-blocks-style.
 */

.wc-block-components-drawer {
	--drawer-width: min(420px, calc(100vw - 1rem)) !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer {
	width: var(--drawer-width) !important;
	max-width: 100vw !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__content,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	box-sizing: border-box !important;
	max-width: 100vw !important;
	overflow-x: hidden !important;
}

.wc-block-mini-cart h2.wc-block-mini-cart__title {
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	padding: 1rem 1.25rem !important;
	mask-image: none !important;
	background: #fff !important;
	border-bottom: 1px solid #e2e8f0 !important;
	z-index: 1 !important;
}

.wc-block-mini-cart__items,
.wc-block-mini-cart__products-table {
	padding-left: 1rem !important;
	padding-right: 1rem !important;
}

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

.wc-block-mini-cart .wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 4.25rem minmax(0, 1fr) auto !important;
	grid-template-areas:
		'image product total'
		'image actions actions' !important;
	gap: 0.5rem 0.75rem !important;
	align-items: start !important;
	padding: 1rem 0 !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

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

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

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

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

.wc-block-mini-cart .wc-block-cart-item__total {
	display: block !important;
	grid-area: total !important;
	width: auto !important;
	min-width: 0 !important;
	padding: 0 !important;
	text-align: right !important;
}

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

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

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

.wc-block-mini-cart .wc-block-cart-item__product .wc-block-cart-item__prices,
.wc-block-mini-cart .wc-block-components-product-metadata,
.wc-block-mini-cart .wc-block-components-product-metadata__description,
.wc-block-mini-cart .wc-block-components-product-metadata__description * {
	display: none !important;
}

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

.wc-block-mini-cart .wc-block-cart-item__quantity {
	display: flex !important;
	grid-area: actions !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem !important;
	margin: 0 !important;
	padding-top: 0.25rem !important;
}

.wc-block-mini-cart .wc-block-components-quantity-selector,
.wc-block-mini-cart .wc-block-components-quantity-selector__input,
.wc-block-mini-cart .wc-block-components-quantity-selector__button {
	display: none !important;
}

.wc-block-mini-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-left: auto !important;
	padding: 0 !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 0.5rem !important;
	background: #fff !important;
	color: #64748b !important;
}

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

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

.wc-block-mini-cart__footer {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 1rem 1.25rem 1.25rem !important;
	border-top: 1px solid #e2e8f0 !important;
	background: #f8fafc !important;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-subtotal {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem !important;
	margin-bottom: 0.5rem !important;
}

.wc-block-mini-cart__footer .wc-block-components-totals-item__label {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: #0f172a !important;
}

.wc-block-mini-cart__footer .wc-block-components-totals-item__value {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: #0f172a !important;
}

.wc-block-mini-cart__footer .wc-block-components-totals-item__description {
	display: block !important;
	margin: 0 0 1rem !important;
	font-size: 0.75rem !important;
	line-height: 1.5 !important;
	color: #64748b !important;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions,
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions > .block-editor-inner-blocks > .block-editor-block-list__layout {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.625rem !important;
	width: 100% !important;
	max-width: 100% !important;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions > *,
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block,
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
}

.wc-block-mini-cart__footer .wc-block-components-button,
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-cart,
.wc-block-mini-cart__footer .wc-block-mini-cart__footer-checkout {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 2.75rem !important;
	box-sizing: border-box !important;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-cart {
	border: 1px solid #e2e8f0 !important;
	background: #fff !important;
	color: #0f172a !important;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-cart:hover {
	border-color: rgb(var(--dhyan-color-primary-rgb) / 0.4) !important;
	background: var(--dhyan-color-primary-soft) !important;
	color: var(--dhyan-color-primary) !important;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-checkout {
	border: 0 !important;
	background: var(--dhyan-color-primary) !important;
	color: #fff !important;
}

.wc-block-mini-cart__footer .wc-block-mini-cart__footer-checkout:hover {
	background: var(--dhyan-color-primary-dark) !important;
	color: #fff !important;
}

.wc-block-mini-cart__footer .wc-block-components-button__text {
	white-space: normal !important;
}

@media (min-width: 481px) {
	.wc-block-components-drawer {
		--drawer-width: 420px !important;
	}

	.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions,
	.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions > .block-editor-inner-blocks > .block-editor-block-list__layout {
		flex-direction: row !important;
	}

	.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions > *,
	.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-cart-button-block,
	.wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wp-block-woocommerce-mini-cart-checkout-button-block {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
	}
}

@media (max-width: 480px) {
	.wc-block-components-drawer {
		--drawer-width: 100vw !important;
	}
}

/*
 * WooCommerce block buttons (mini-cart "Start shopping", cart "Proceed to Checkout")
 * share the site button size and radius (--dhyan-btn-*), matching dhyan-site-theme.
 * They rendered 43px tall, under the 44px touch target.
 */
.wc-block-components-button.wp-element-button:not(.is-link) {
	min-height: 3rem;
	border-radius: var(--dhyan-btn-radius);
}
