/**
 * Cart block layout.
 *
 * WooCommerce sizes the image from the table header (80px) and, under a
 * 699px container, from grid-template-columns. Both have to move together.
 * Line-item type is hardcoded to the small preset (14px), so 1rem must
 * land on the same nodes, not only the row.
 * The sharp file comes from cmfl_cart_block_item_images(). This file only
 * sets the cell size. The img width and height attributes stay 80.
 */

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header .wc-block-cart-items__header-image,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image {
	width: 180px;
	min-width: 180px;
}

.wc-block-cart .wc-block-cart-item__image img {
	width: 100%;
	height: auto;
}

@container (max-width: 699px) {
	.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
		grid-template-columns: 180px minmax(0, 1fr);
	}
}

.is-medium table.wc-block-cart-items .wc-block-cart-items__row,
.is-mobile table.wc-block-cart-items .wc-block-cart-items__row,
.is-small table.wc-block-cart-items .wc-block-cart-items__row {
	grid-template-columns: 180px minmax(0, 1fr);
}

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices,
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total,
.wc-block-cart .wc-block-components-product-metadata,
.wc-block-cart .wc-block-components-product-metadata .wc-block-components-product-metadata__description > :is(h1, h2, h3, h4, h5, h6, p),
.wc-block-cart .wc-block-components-product-price {
	font-size: 1rem;
}

/*
 * Proceed to Checkout, Place Order, and Add to Cart.
 * Same tokens as .button-primary.
 * Cart is body.woocommerce-cart. Checkout is body.woocommerce-checkout.
 * Neither has body.woocommerce (that class is shop and product only).
 * .elementor a:not(.wp-block-button__link.has-black-color) is (0,3,1)
 * with !important, so these selectors stay at (0,3,2) or higher.
 */
:is(body.woocommerce, body.woocommerce-cart, body.woocommerce-checkout).woocommerce-page :is(
	a.wc-block-cart__submit-button,
	.wc-block-cart__submit-button,
	a.checkout-button,
	button.wc-block-components-checkout-place-order-button,
	button[name="woocommerce_checkout_place_order"],
	button.single_add_to_cart_button,
	a.single_add_to_cart_button,
	a.add_to_cart_button,
	button.add_to_cart_button,
	.wc-block-components-product-button__button
) {
	background-color: var(--button-primary-bg) !important;
	color: var(--button-primary-color) !important;
	border: 2px solid var(--button-primary-border) !important;
	border-radius: var(--button-primary-radius);
	box-shadow: none;
	cursor: pointer;
	font-family: "Cubano", sans-serif;
	font-size: 1.25rem !important;
	font-weight: normal;
	letter-spacing: 5%;
	line-height: 1;
	padding: 14px 20px 15px;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

:is(body.woocommerce, body.woocommerce-cart, body.woocommerce-checkout).woocommerce-page :is(
	a.wc-block-cart__submit-button,
	a.add_to_cart_button,
	.wc-block-components-product-button__button,
	button.wc-block-components-checkout-place-order-button
) :is(.wc-block-components-button__text, .wc-block-components-checkout-place-order-button__text) {
	background: none !important;
	border: 0 !important;
	color: var(--button-primary-color) !important;
	padding: 0;
}

:is(body.woocommerce, body.woocommerce-cart, body.woocommerce-checkout).woocommerce-page :is(
	a.wc-block-cart__submit-button,
	.wc-block-cart__submit-button,
	a.checkout-button,
	button.wc-block-components-checkout-place-order-button,
	button[name="woocommerce_checkout_place_order"],
	button.single_add_to_cart_button,
	a.single_add_to_cart_button,
	a.add_to_cart_button,
	button.add_to_cart_button,
	.wc-block-components-product-button__button
):is(:hover, :focus, :focus-visible, :active) {
	background-color: var(--button-primary-hover-bg) !important;
	color: var(--button-primary-hover-color) !important;
	border-color: var(--button-primary-hover-border) !important;
	box-shadow: none;
}

:is(body.woocommerce, body.woocommerce-cart, body.woocommerce-checkout).woocommerce-page :is(
	a.wc-block-cart__submit-button,
	a.add_to_cart_button,
	.wc-block-components-product-button__button,
	button.wc-block-components-checkout-place-order-button
):is(:hover, :focus, :focus-visible, :active) :is(.wc-block-components-button__text, .wc-block-components-checkout-place-order-button__text) {
	background: none !important;
	border: 0 !important;
	color: var(--button-primary-hover-color) !important;
}

:is(body.woocommerce, body.woocommerce-cart, body.woocommerce-checkout).woocommerce-page :is(
	a.wc-block-cart__submit-button,
	.wc-block-cart__submit-button,
	a.checkout-button,
	button.wc-block-components-checkout-place-order-button,
	button[name="woocommerce_checkout_place_order"],
	button.single_add_to_cart_button,
	a.single_add_to_cart_button,
	a.add_to_cart_button,
	button.add_to_cart_button,
	.wc-block-components-product-button__button
):focus-visible {
	outline: 2px solid var(--black);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	:is(body.woocommerce, body.woocommerce-cart, body.woocommerce-checkout).woocommerce-page :is(
		a.wc-block-cart__submit-button,
		.wc-block-cart__submit-button,
		a.checkout-button,
		button.wc-block-components-checkout-place-order-button,
		button[name="woocommerce_checkout_place_order"],
		button.single_add_to_cart_button,
		a.single_add_to_cart_button,
		a.add_to_cart_button,
		button.add_to_cart_button,
		.wc-block-components-product-button__button
	) {
		transition: none;
	}
}

/*
 * Order received.
 * Thank-you line matches the h2 on this page (1.5em / 24px). h3 is 1.17em.
 * Download link is WooCommerce .button.alt (purple). Same tokens as .button-primary.
 * .elementor a is (0,3,1) with !important, so these stay at (0,4,1).
 */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-size: 1.5em;
	line-height: 1.2;
}

body.woocommerce-order-received.woocommerce-page a.woocommerce-MyAccount-downloads-file.button,
body.woocommerce-order-received.woocommerce-page a.woocommerce-MyAccount-downloads-file.button:visited {
	background-color: var(--button-primary-bg) !important;
	color: var(--button-primary-color) !important;
	border: 2px solid var(--button-primary-border) !important;
	border-radius: var(--button-primary-radius);
	box-shadow: none;
	cursor: pointer;
	display: inline-block;
	font-family: "Cubano", sans-serif;
	font-size: 1.25rem !important;
	font-weight: normal;
	letter-spacing: 5%;
	line-height: 1;
	padding: 14px 20px 15px;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

body.woocommerce-order-received.woocommerce-page a.woocommerce-MyAccount-downloads-file.button:is(:hover, :focus, :focus-visible, :active) {
	background-color: var(--button-primary-hover-bg) !important;
	color: var(--button-primary-hover-color) !important;
	border-color: var(--button-primary-hover-border) !important;
	box-shadow: none;
}

body.woocommerce-order-received.woocommerce-page a.woocommerce-MyAccount-downloads-file.button:focus-visible {
	outline: 2px solid var(--black);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-order-received.woocommerce-page a.woocommerce-MyAccount-downloads-file.button {
		transition: none;
	}
}
