.tm-clear-cart {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--sm, 16px);
	margin-block-end: var(--wp--preset--spacing--2-xs, 8px);
}

.tm-clear-cart__heading {
	font-size: var(--wp--preset--font-size--xs, 14px);
	font-weight: 600;
}

button.tm-clear-cart__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 44px;
	max-width: 100%;
	padding: 8px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast-3, #474645);
	font: inherit;
	font-size: var(--wp--preset--font-size--xs, 14px);
	line-height: 1.4;
	cursor: pointer;
}

.tm-clear-cart__button svg {
	width: 16px;
	height: 16px;
	flex: none;
}

button.tm-clear-cart__button:hover:not(:disabled) {
	background: transparent;
	color: var(--wp--preset--color--contrast, #000);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wc-block-mini-cart__footer.tm-clear-cart-footer .wc-block-mini-cart__footer-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--wp--preset--spacing--2-xs, 8px) var(--wp--preset--spacing--sm, 16px);
	align-items: center;
}

.tm-clear-cart-footer .wc-block-mini-cart__footer-actions > .tm-clear-cart {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
}

.wc-block-mini-cart__footer.tm-clear-cart-footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart {
	grid-column: 1;
	grid-row: 1;
	justify-content: flex-start;
	min-height: 44px;
	padding-inline: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast-2, #302c2c);
	font-size: var(--wp--preset--font-size--xs, 14px);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wc-block-mini-cart__footer.tm-clear-cart-footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout {
	grid-column: 1 / -1;
	grid-row: 2;
	width: 100%;
	min-height: 44px;
	margin: 0;
}

html.tm-clear-cart-modal-open {
	overflow: hidden;
}

dialog.tm-clear-cart-dialog {
	box-sizing: border-box;
	width: min(420px, calc(100% - 32px));
	max-height: calc(100dvh - 32px);
	padding: var(--wp--preset--spacing--md, 24px);
	border: 0;
	border-radius: var(--wp--custom--radius--lg, 16px);
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast-2, #302c2c);
	box-shadow: 0 16px 48px rgb(0 0 0 / 18%);
	font: inherit;
	font-size: var(--wp--preset--font-size--xs, 14px);
	line-height: 1.5;
}

.tm-clear-cart-dialog::backdrop {
	background: rgb(0 0 0 / 40%);
}

.tm-clear-cart-dialog .tm-clear-cart-dialog__title {
	margin: 0 0 var(--wp--preset--spacing--sm, 16px);
	font-size: var(--wp--preset--font-size--xl, 24px);
	line-height: 1.2;
}

.tm-clear-cart-dialog__message {
	margin: 0;
}

.tm-clear-cart-dialog__error {
	margin-block: var(--wp--preset--spacing--sm, 16px) 0;
	color: var(--wp--preset--color--sale, #b42318);
}

.tm-clear-cart-dialog__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--sm, 16px);
	margin-block-start: var(--wp--preset--spacing--lg, 24px);
}

.tm-clear-cart-dialog__actions button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--md, 8px);
	font: inherit;
	line-height: 1.4;
	cursor: pointer;
}

.tm-clear-cart-dialog__actions .tm-clear-cart-dialog__cancel {
	border-color: var(--wp--preset--color--line-base, #e6e4e2);
	background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast-2, #302c2c);
}

.tm-clear-cart-dialog__actions .tm-clear-cart-dialog__cancel:hover:not(:disabled) {
	background: var(--wp--preset--color--base-3, #f6f4f2);
}

.tm-clear-cart-dialog__actions .tm-clear-cart-dialog__confirm {
	background: var(--wp--preset--color--contrast-2, #302c2c);
	color: var(--wp--preset--color--base, #fff);
}

.tm-clear-cart-dialog__actions .tm-clear-cart-dialog__confirm:hover:not(:disabled) {
	background: var(--wp--preset--color--contrast, #000);
}

button.tm-clear-cart__button:focus-visible,
.tm-clear-cart-dialog__actions button:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast, #000);
	outline-offset: 3px;
}

button.tm-clear-cart__button:disabled,
.tm-clear-cart-dialog__actions button:disabled {
	opacity: .6;
	cursor: wait;
}

.tm-clear-cart-dialog__spinner {
	display: none;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
}

.tm-clear-cart-dialog[aria-busy="true"] .tm-clear-cart-dialog__spinner {
	display: inline-block;
	animation: tm-clear-cart-spin .7s linear infinite;
}

@keyframes tm-clear-cart-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.tm-clear-cart-dialog[aria-busy="true"] .tm-clear-cart-dialog__spinner {
		animation: none;
	}
}
