/* Drawer shell */
.wc-block-mini-cart__drawer {
	background-color: color-mix(in srgb, var(--wp--preset--color--bg) 70%, transparent);
	transition: visibility 0s linear 0s;
	visibility: visible;
	width: min(420px, 100%);
}

/* Keep the closed drawer out of the tab order. Inert is managed by mini-cart.js so WooCommerce can
   focus the drawer during its open handler, including when reduced motion is enabled. */
@media (prefers-reduced-motion: no-preference) {
	.wc-block-mini-cart__drawer[aria-hidden="true"] {
		transition-delay: 300ms;
		visibility: hidden;
	}
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__screen-overlay {
	background-color: color-mix(in srgb, var(--wp--preset--color--bg) 70%, transparent);
}

.wc-block-mini-cart__drawer .components-modal__frame,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
	background-color: var(--wp--preset--color--surface);
	border-left: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--sheet) 0 0 var(--wp--custom--radius--sheet);
	box-shadow: none;
	max-width: 420px;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close,
.wc-block-mini-cart__drawer .components-modal__header button {
	align-items: center;
	background-color: var(--wp--preset--color--surface-2);
	border: 0;
	border-radius: var(--wp--custom--radius--control);
	color: var(--wp--preset--color--text);
	display: inline-flex;
	height: var(--wp--custom--control--size);
	justify-content: center;
	margin: 0;
	min-height: var(--wp--custom--control--size);
	min-width: var(--wp--custom--control--size);
	padding: var(--wp--custom--control--icon);
	width: var(--wp--custom--control--size);
}

/* Mini-cart content */
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	background-color: var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--text);
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-block {
	align-items: baseline;
	border-bottom: 1px solid var(--wp--preset--color--line);
	gap: var(--wp--preset--spacing--card);
	padding: var(--wp--preset--spacing--card-lg);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-label-block {
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--h-2);
	font-weight: 700;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__items-counter,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-items-counter-block {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--meta);
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-items-block {
	padding: var(--wp--preset--spacing--card-lg);
}

/* Product rows */
.wc-block-mini-cart__drawer .wc-block-mini-cart-items,
.wc-block-mini-cart__drawer .wc-block-cart-items {
	margin: 0;
}

.wc-block-mini-cart__drawer table.wc-block-cart-items .wc-block-cart-items__row {
	border-bottom: 1px solid var(--wp--preset--color--line);
	display: grid;
	grid-template-columns: var(--wp--custom--size--mini-cart-image) minmax(0, 1fr) auto;
	column-gap: var(--wp--preset--spacing--card);
	padding: var(--wp--preset--spacing--card) 0;
}

.wc-block-mini-cart__drawer table.wc-block-cart-items .wc-block-cart-item__image {
	align-self: flex-start;
	background-color: var(--wp--preset--color--surface-2);
	border-radius: var(--wp--custom--radius--control);
	grid-column: 1;
	height: var(--wp--custom--size--mini-cart-image);
	overflow: hidden;
	width: var(--wp--custom--size--mini-cart-image);
}

.wc-block-mini-cart__drawer table.wc-block-cart-items .wc-block-cart-item__product {
	grid-column: 2;
	min-width: 0;
}

.wc-block-mini-cart__drawer table.wc-block-cart-items .wc-block-cart-item__total {
	grid-column: 3;
	grid-row: 1;
	align-self: start;
	text-align: end;
	white-space: nowrap;
}

.wc-block-mini-cart__drawer .wc-block-cart-item__image img {
	display: block;
	height: var(--wp--custom--size--mini-cart-image);
	object-fit: contain;
	width: var(--wp--custom--size--mini-cart-image);
}

.wc-block-mini-cart__drawer .wc-block-components-product-name,
.wc-block-mini-cart__drawer .wc-block-cart-item__product a {
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--card-title);
	font-weight: 600;
	text-decoration: none;
}

.wc-block-mini-cart__drawer .wc-block-components-product-metadata,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__value {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--meta);
}

.wc-block-mini-cart__drawer .wc-block-components-product-price,
.wc-block-mini-cart__drawer .wc-block-components-formatted-money-amount {
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
	border-color: var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--control);
	min-height: var(--wp--custom--control--size);
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__button {
	color: var(--wp--preset--color--text);
	min-height: var(--wp--custom--control--size);
	min-width: var(--wp--custom--control--size);
}

.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input {
	color: var(--wp--preset--color--text);
	min-height: var(--wp--custom--control--size);
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
	color: var(--wp--preset--color--muted);
}

.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:hover,
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link:focus-visible {
	color: var(--wp--preset--color--bad);
}

/* Footer and actions */
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-footer-block {
	border-top: 1px solid var(--wp--preset--color--line);
	padding: var(--wp--preset--spacing--card-lg);
}

.wc-block-mini-cart__drawer .wc-block-components-totals-wrapper,
.wc-block-mini-cart__drawer .wc-block-components-totals-item {
	border: 0;
}

.wc-block-mini-cart__drawer .wc-block-components-totals-item__label {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--meta);
}

.wc-block-mini-cart__drawer .wc-block-components-totals-item__value {
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions {
	gap: var(--wp--preset--spacing--card);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions a,
.wc-block-mini-cart__drawer .wc-block-components-button {
	border-radius: var(--wp--custom--radius--control);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--custom--font--button);
	font-weight: 600;
	height: var(--wp--custom--button--height);
	min-height: var(--wp--custom--button--height);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions a:first-child {
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions a:last-child,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-shopping-button-block a {
	background-color: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent);
}

/* Empty state */
.wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block {
	align-items: center;
	color: var(--wp--preset--color--muted);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--card-lg);
	justify-content: center;
	min-height: var(--wp--custom--size--mini-cart-empty-height);
	padding: var(--wp--preset--spacing--card-lg);
	text-align: center;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-shopping-button-block,
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-shopping-button-block a {
	width: 100%;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-shopping-button-block a {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: var(--wp--custom--button--height);
	text-decoration: none;
}

@media (max-width: 781px) {
	/* Mobile bottom sheet */
	.wc-block-mini-cart__drawer .components-modal__frame,
	.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
		border: 0;
		border-radius: var(--wp--custom--radius--sheet) var(--wp--custom--radius--sheet) 0 0;
		max-width: none;
		width: 100%;
	}

	.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link {
		align-items: center;
		display: inline-flex;
		justify-content: center;
		min-height: var(--wp--custom--control--size);
		min-width: var(--wp--custom--control--size);
	}

	.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-title-block,
	.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-items-block,
	.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-footer-block {
		padding: var(--wp--preset--spacing--gutter);
	}
}
