/*
 * LEO Commerce UI — Carrinho
 * v0.5.6.1 — stepper conceitual removido
 */

/* Fail-closed visual: se algum snippet legado ainda emitir o stepper antigo, ele nunca reaparece. */
body.woocommerce-cart .leo-cart-steps {
	display: none !important;
}


/* ============================================================
 * CARRINHO DESKTOP — BASE HOMOLOGADA v0.9.9.1
 * Migrado do snippet original sem alteração visual.
 * ============================================================ */

@media (min-width: 1025px) {


/* ============================================================
   FUNDO
   ============================================================ */

body.woocommerce-cart,
body.woocommerce-cart .site-main,
body.woocommerce-cart .content-area {

	background: #f4f5f6 !important;
}


/* ============================================================
   GRID PRINCIPAL
   ============================================================ */

body.woocommerce-cart
.ct-woocommerce-cart-form {

	grid-template-columns:
		minmax(0, 1fr)
		340px !important;

	column-gap: 30px !important;

	align-items: start !important;
}


/* ============================================================
   CARD PRODUTOS
   ============================================================ */

body.woocommerce-cart
.ct-woocommerce-cart-form
> .woocommerce-cart-form {

	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 20px !important;

	background: #ffffff !important;

	border: 1px solid #dde1e5 !important;
	border-radius: 12px !important;

	box-shadow: none !important;

	box-sizing: border-box !important;
}


/* ============================================================
   TABELA PRODUTOS
   ============================================================ */

body.woocommerce-cart
.woocommerce-cart-form
table.shop_table.cart {

	width: 100% !important;

	margin: 0 !important;

	border: 0 !important;

	background: transparent !important;

	box-shadow: none !important;
}


body.woocommerce-cart
table.shop_table.cart
thead th {

	padding: 10px 10px 18px !important;

	color: #171717 !important;

	font-size: 13px !important;
	font-weight: 700 !important;

	background: transparent !important;

	border: 0 !important;
	border-bottom: 1px solid #e5e7e9 !important;
}


body.woocommerce-cart
table.shop_table.cart
tr.cart_item td {

	padding-top: 22px !important;
	padding-bottom: 22px !important;

	background: transparent !important;

	border: 0 !important;
	border-bottom: 1px solid #eeeeee !important;

	vertical-align: middle !important;
}


/* ============================================================
   IMAGENS
   ============================================================ */

body.woocommerce-cart
td.product-thumbnail img {

	max-width: 76px !important;
	max-height: 84px !important;

	object-fit: contain !important;
}


/* ============================================================
   CUPOM
   ============================================================ */

body.woocommerce-cart
table.shop_table.cart
td.actions {

	position: relative !important;

	padding-top: 18px !important;
	padding-bottom: 0 !important;

	border: 0 !important;

	background: transparent !important;
}


body.woocommerce-cart
.coupon {

	display: flex !important;

	align-items: center !important;

	gap: 10px !important;

	float: none !important;
}


body.woocommerce-cart
.coupon
#coupon_code {

	width: 220px !important;
	height: 42px !important;

	margin: 0 !important;

	padding: 0 14px !important;

	background: #ffffff !important;

	border: 1px solid #d9dde0 !important;
	border-radius: 7px !important;

	box-shadow: none !important;

	box-sizing: border-box !important;
}


body.woocommerce-cart
.coupon button {

	height: 42px !important;

	margin: 0 !important;

	border-radius: 7px !important;
}


/* ============================================================
   ATUALIZAR CARRINHO OCULTO
   ============================================================ */

body.woocommerce-cart
button[name="update_cart"] {

	position: absolute !important;

	left: -99999px !important;

	width: 1px !important;
	height: 1px !important;

	min-width: 1px !important;
	min-height: 1px !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;

	opacity: 0 !important;

	pointer-events: none !important;
}


/* ============================================================
   COLUNA DIREITA
   ============================================================ */

body.woocommerce-cart
.ct-woocommerce-cart-form
> .cart-collaterals {

	width: 340px !important;
	min-width: 340px !important;
	max-width: 340px !important;

	margin: 0 !important;
}


/* ============================================================
   CONTAINER TOTAL
   ============================================================ */

body.woocommerce-cart
.cart_totals {

	float: none !important;

	width: 100% !important;
	max-width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;
	border-radius: 0 !important;

	box-shadow: none !important;
}


body.woocommerce-cart
.cart_totals > h2 {

	display: none !important;
}


/* ============================================================
   PILHA
   ============================================================ */

body.woocommerce-cart
.cart_totals
table.shop_table {

	display: block !important;

	width: 100% !important;

	margin: 0 !important;

	border: 0 !important;

	background: transparent !important;
}


body.woocommerce-cart
.cart_totals
table.shop_table
tbody {

	display: flex !important;

	flex-direction: column !important;

	width: 100% !important;
}


/* ============================================================
   CARD ENTREGA
   ============================================================ */

body.woocommerce-cart
.cart_totals
tr.woocommerce-shipping-totals.shipping {

	order: 1 !important;

	display: block !important;

	width: 100% !important;

	margin: 0 0 16px !important;

	padding: 16px !important;

	background: #ffffff !important;

	border: 1px solid #dde1e5 !important;
	border-radius: 12px !important;

	box-sizing: border-box !important;
}


/* ============================================================
   TÍTULO ENTREGA
   ============================================================ */

body.woocommerce-cart
tr.woocommerce-shipping-totals.shipping
> th {

	display: block !important;

	width: 100% !important;

	margin: 0 0 12px !important;

	padding: 0 !important;

	color: transparent !important;

	font-size: 0 !important;
	line-height: 0 !important;

	border: 0 !important;

	background: transparent !important;
}


body.woocommerce-cart
tr.woocommerce-shipping-totals.shipping
> th::before {

	content: "Entrega" !important;

	display: block !important;

	color: #111111 !important;

	font-size: 15px !important;
	font-weight: 700 !important;

	line-height: 1.4 !important;
}


body.woocommerce-cart
tr.woocommerce-shipping-totals.shipping
> td {

	display: block !important;

	width: 100% !important;
	max-width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;

	background: transparent !important;

	text-align: left !important;

	box-sizing: border-box !important;
}


/* ============================================================
   RECEBER / RETIRAR
   ============================================================ */

body.woocommerce-cart
#shipping_method {

	display: grid !important;

	grid-template-columns:
		repeat(
			2,
			minmax(0, 1fr)
		) !important;

	gap: 3px !important;

	width: 100% !important;

	margin: 0 0 14px !important;

	padding: 3px !important;

	background: #f1f1f1 !important;

	border: 0 !important;
	border-radius: 999px !important;

	box-shadow:
		0 3px 10px
		rgba(0,0,0,.09) !important;

	box-sizing: border-box !important;
}


body.woocommerce-cart
#shipping_method:has(> li:only-child) {

	grid-template-columns:
		1fr !important;
}


body.woocommerce-cart
#shipping_method
> li:has(
	input.shipping_method:not([value^="local_pickup"])
) {

	order: 1 !important;
}


body.woocommerce-cart
#shipping_method
> li:has(
	input[value^="local_pickup"]
) {

	order: 2 !important;
}


body.woocommerce-cart
#shipping_method
> li {

	position: relative !important;

	display: block !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}


/* ============================================================
   RADIO NATIVO
   ============================================================ */

body.woocommerce-cart
#shipping_method
input.shipping_method {

	position: absolute !important;

	width: 1px !important;
	height: 1px !important;

	opacity: 0 !important;
}


/* ============================================================
   ABAS
   ============================================================ */

body.woocommerce-cart
#shipping_method
label {

	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;

	min-height: 38px !important;

	margin: 0 !important;

	padding: 0 10px !important;

	background: transparent !important;

	border: 1px solid transparent !important;
	border-radius: 999px !important;

	color: #999999 !important;

	font-size: 0 !important;

	cursor: pointer !important;

	box-sizing: border-box !important;
}


body.woocommerce-cart
#shipping_method
input.shipping_method:not([value^="local_pickup"])
+ label::before {

	content: "RECEBER";

	font-size: 11px !important;
	font-weight: 600 !important;
}


body.woocommerce-cart
#shipping_method
input[value^="local_pickup"]
+ label::before {

	content: "RETIRAR";

	font-size: 11px !important;
	font-weight: 600 !important;
}


body.woocommerce-cart
#shipping_method
label
.woocommerce-Price-amount {

	display: none !important;
}


body.woocommerce-cart
#shipping_method
input.shipping_method:checked
+ label {

	color: #d79f00 !important;

	background: #ffffff !important;

	border-color: #ffc400 !important;

	box-shadow:
		0 2px 7px
		rgba(0,0,0,.08) !important;
}


/* ============================================================
   DADO DE PRAZO NÃO APARECE
   ============================================================ */

.leo-delivery-days-data {

	display: none !important;
}


/* ============================================================
   DESTINO NATIVO
   ============================================================ */

body.woocommerce-cart
.woocommerce-shipping-destination {

	display: none !important;
}


/* ============================================================
   HEADLINE CEP
   ============================================================ */

.leo-delivery-headline {

	display: block !important;

	width: 100% !important;

	margin: 0 0 10px !important;

	padding-right: 55px !important;

	color: #111111 !important;

	font-size: 12px !important;
	font-weight: 600 !important;

	line-height: 1.4 !important;

	box-sizing: border-box !important;
}


.leo-delivery-headline strong {

	color: #e3aa00 !important;

	font-weight: 700 !important;
}


/* ============================================================
   ALTERAR NATIVO
   ============================================================ */

body.woocommerce-cart
.woocommerce-shipping-calculator {

	position: relative !important;

	display: block !important;

	width: 100% !important;

	margin: 0 !important;
}


body.woocommerce-cart
.shipping-calculator-button {

	position: absolute !important;

	right: 0 !important;
	top: -31px !important;

	z-index: 10 !important;

	display: inline-block !important;

	margin: 0 !important;
	padding: 0 !important;

	color: #888888 !important;

	font-size: 11px !important;
	font-weight: 600 !important;

	line-height: 1.4 !important;

	text-decoration: underline !important;

	cursor: pointer !important;
}


/* ============================================================
   FORMULÁRIO NATIVO
   ============================================================ */

body.woocommerce-cart
.shipping-calculator-form {

	margin: 12px 0 4px !important;

	padding: 14px !important;

	background: #fafafa !important;

	border: 1px solid #e1e3e5 !important;
	border-radius: 9px !important;

	box-shadow: none !important;

	box-sizing: border-box !important;
}


body.woocommerce-cart
.shipping-calculator-form
.form-row {

	margin: 0 0 11px !important;

	padding: 0 !important;
}


body.woocommerce-cart
.shipping-calculator-form
label {

	display: block !important;

	margin: 0 0 5px !important;

	color: #444444 !important;

	font-size: 11px !important;
	font-weight: 600 !important;

	line-height: 1.3 !important;
}


body.woocommerce-cart
.shipping-calculator-form
input.input-text,

body.woocommerce-cart
.shipping-calculator-form
select,

body.woocommerce-cart
.shipping-calculator-form
.select2-container
.select2-selection {

	width: 100% !important;

	min-height: 40px !important;
	height: 40px !important;

	margin: 0 !important;

	background: #ffffff !important;

	border: 1px solid #d9dde1 !important;
	border-radius: 6px !important;

	box-shadow: none !important;

	box-sizing: border-box !important;
}


body.woocommerce-cart
.shipping-calculator-form
input.input-text {

	padding: 0 11px !important;

	color: #444444 !important;

	font-size: 12px !important;
}


body.woocommerce-cart
.shipping-calculator-form
.select2-container {

	width: 100% !important;
}


body.woocommerce-cart
.shipping-calculator-form
.select2-container
.select2-selection__rendered {

	line-height: 38px !important;

	padding-left: 11px !important;

	color: #444444 !important;

	font-size: 12px !important;
}


body.woocommerce-cart
.shipping-calculator-form
.select2-container
.select2-selection__arrow {

	height: 38px !important;
}


body.woocommerce-cart
.shipping-calculator-form
button {

	width: 100% !important;
	height: 40px !important;

	margin: 2px 0 0 !important;

	padding: 0 12px !important;

	background: #111111 !important;

	color: #ffffff !important;

	border: 0 !important;
	border-radius: 6px !important;

	font-size: 12px !important;
	font-weight: 700 !important;

	box-shadow: none !important;
}


/* ============================================================
   CARD MODALIDADE
   ============================================================ */

.leo-delivery-method-card {

	display: grid !important;

	grid-template-columns:
		minmax(0, 1fr)
		auto !important;

	align-items: center !important;

	gap: 12px !important;

	width: 100% !important;

	min-height: 60px !important;

	margin: 0 !important;

	padding: 10px 12px !important;

	background: #ffffff !important;

	border: 1px solid #dde1e5 !important;
	border-radius: 8px !important;

	box-sizing: border-box !important;
}


.leo-delivery-method-main {

	min-width: 0 !important;
}


.leo-delivery-method-title {

	display: block !important;

	margin: 0 0 4px !important;

	color: #222222 !important;

	font-size: 12px !important;
	font-weight: 700 !important;

	line-height: 1.3 !important;
}


/* ============================================================
   PRAZO DE ENTREGA
   ÚNICA ALTERAÇÃO DA v0.9.9.1
   ============================================================ */

.leo-delivery-method-subtitle {

	display: block !important;

	color: #777777 !important;

	font-size: 13px !important;

	font-weight: 400 !important;

	line-height: 1.4 !important;
}


.leo-delivery-method-price {

	color: #888888 !important;

	font-size: 11px !important;
	font-weight: 600 !important;

	white-space: nowrap !important;
}


.leo-delivery-method-price.is-free {

	color: #19875c !important;

	font-weight: 700 !important;
}


/* ============================================================
   CARD TOTAIS
   ============================================================ */

body.woocommerce-cart
.cart_totals
tr.cart-subtotal {

	order: 2 !important;

	display: grid !important;

	grid-template-columns:
		1fr auto !important;

	align-items: center !important;

	width: 100% !important;

	margin: 0 !important;

	padding: 18px 16px 13px !important;

	background: #ffffff !important;

	border-top: 1px solid #dde1e5 !important;
	border-left: 1px solid #dde1e5 !important;
	border-right: 1px solid #dde1e5 !important;

	border-radius: 12px 12px 0 0 !important;

	box-sizing: border-box !important;
}


body.woocommerce-cart
.cart_totals
tr.cart-subtotal
> th,

body.woocommerce-cart
.cart_totals
tr.cart-subtotal
> td {

	display: block !important;

	width: auto !important;

	margin: 0 !important;

	padding: 0 0 13px !important;

	background: transparent !important;

	border: 0 !important;
	border-bottom: 1px solid #ededed !important;
}


/* ============================================================
   ENTREGA NO RESUMO
   ============================================================ */

body.woocommerce-cart
.cart_totals
tr.leo-shipping-cost-row {

	order: 3 !important;

	display: grid !important;

	grid-template-columns:
		1fr auto !important;

	align-items: center !important;

	width: 100% !important;

	margin: 0 !important;

	padding: 0 16px 13px !important;

	background: #ffffff !important;

	border-left: 1px solid #dde1e5 !important;
	border-right: 1px solid #dde1e5 !important;

	box-sizing: border-box !important;
}


body.woocommerce-cart
tr.leo-shipping-cost-row
> th,

body.woocommerce-cart
tr.leo-shipping-cost-row
> td {

	display: block !important;

	width: auto !important;

	margin: 0 !important;

	padding: 0 0 13px !important;

	background: transparent !important;

	border: 0 !important;
	border-bottom: 1px solid #ededed !important;
}


/* ============================================================
   TOTAL
   ============================================================ */

body.woocommerce-cart
.cart_totals
tr.order-total {

	order: 4 !important;

	display: grid !important;

	grid-template-columns:
		1fr auto !important;

	align-items: center !important;

	width: 100% !important;

	margin: 0 !important;

	padding: 0 16px 18px !important;

	background: #ffffff !important;

	border-left: 1px solid #dde1e5 !important;
	border-right: 1px solid #dde1e5 !important;
	border-bottom: 1px solid #dde1e5 !important;

	border-radius: 0 0 12px 12px !important;

	box-sizing: border-box !important;
}


body.woocommerce-cart
.cart_totals
tr.order-total
> th,

body.woocommerce-cart
.cart_totals
tr.order-total
> td {

	display: block !important;

	width: auto !important;

	margin: 0 !important;

	padding: 0 !important;

	background: transparent !important;

	border: 0 !important;

	color: #111111 !important;

	font-size: 14px !important;
	font-weight: 700 !important;
}


/* ============================================================
   FECHAR PEDIDO
   ============================================================ */

body.woocommerce-cart
.wc-proceed-to-checkout {

	margin: 16px 0 0 !important;

	padding: 0 !important;
}


body.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button {

	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	height: 46px !important;

	margin: 0 !important;

	padding: 0 15px !important;

	color: #ffffff !important;

	background: #22aa73 !important;

	border: 0 !important;
	border-radius: 8px !important;

	font-size: 13px !important;
	font-weight: 700 !important;

	box-shadow: none !important;
}

}


/* ============================================================
   v0.5.11.73 — CARRINHO: TIPOGRAFIA FINANCEIRA + RETIRADA SAFE

   IMPORTANTE:
   - Base direta na v0.5.11.71.
   - Checkout NÃO é alterado.
   - Somente tipografia/espaçamento visual do resumo do CARRINHO.
   - ZERO alteração em cálculo, frete, AJAX, quantidade ou pagamento.
   ============================================================ */

/* "Retirar na loja" / "Receber no endereço" */
body.woocommerce-cart .leo-delivery-headline {
	margin-bottom: 12px !important;
	color: #374151 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

body.woocommerce-cart .leo-delivery-headline strong {
	font-size: 14px !important;
	font-weight: 700 !important;
}

/* Card da modalidade */
body.woocommerce-cart .leo-delivery-method-card {
	min-height: 72px !important;
	padding: 14px 15px !important;
	border-radius: 9px !important;
	gap: 14px !important;
}

/* Título da modalidade: "Retirada no local" */
body.woocommerce-cart .leo-delivery-method-title {
	margin-bottom: 4px !important;
	color: #172033 !important;
	font-size: 14.5px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}

/* Subtexto: "Retire seu pedido na loja" */
body.woocommerce-cart .leo-delivery-method-subtitle {
	color: #737b87 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

/* Preço / Grátis da modalidade */
body.woocommerce-cart .leo-delivery-method-price,
body.woocommerce-cart .leo-delivery-method-price.is-free {
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}

/* Subtotal + Entrega — mesmo tamanho, melhor leitura */
body.woocommerce-cart .cart_totals tr.cart-subtotal > th,
body.woocommerce-cart .cart_totals tr.cart-subtotal > td,
body.woocommerce-cart .cart_totals tr.leo-shipping-cost-row > th,
body.woocommerce-cart .cart_totals tr.leo-shipping-cost-row > td {
	color: #4b5563 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

/* Valores à direita */
body.woocommerce-cart .cart_totals tr.cart-subtotal > td,
body.woocommerce-cart .cart_totals tr.leo-shipping-cost-row > td {
	text-align: right !important;
	white-space: nowrap !important;
}

/* Total — um degrau acima, mas sem exagero */
body.woocommerce-cart .cart_totals tr.order-total > th,
body.woocommerce-cart .cart_totals tr.order-total > td,
body.woocommerce-cart .cart_totals tr.order-total > td .amount,
body.woocommerce-cart .cart_totals tr.order-total > td .woocommerce-Price-amount {
	color: #111827 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	white-space: nowrap !important;
}

/* Um pouco mais de respiro entre as linhas financeiras */
body.woocommerce-cart .cart_totals tr.cart-subtotal {
	padding-top: 19px !important;
	padding-bottom: 14px !important;
}

body.woocommerce-cart .cart_totals tr.leo-shipping-cost-row {
	padding-bottom: 14px !important;
}

body.woocommerce-cart .cart_totals tr.order-total {
	padding-bottom: 19px !important;
}

/* Tablet: mantém a mesma hierarquia, sem voltar para 11/12px. */
@media (min-width: 690px) and (max-width: 1024px) {
	body.woocommerce-cart .leo-delivery-headline {
		font-size: 14px !important;
	}

	body.woocommerce-cart .leo-delivery-method-title {
		font-size: 14px !important;
	}

	body.woocommerce-cart .leo-delivery-method-subtitle {
		font-size: 12.5px !important;
	}

	body.woocommerce-cart .leo-delivery-method-price,
	body.woocommerce-cart .leo-delivery-method-price.is-free {
		font-size: 13.5px !important;
	}

	body.woocommerce-cart .cart_totals tr.cart-subtotal > th,
	body.woocommerce-cart .cart_totals tr.cart-subtotal > td,
	body.woocommerce-cart .cart_totals tr.leo-tablet-shipping-summary > th,
	body.woocommerce-cart .cart_totals tr.leo-tablet-shipping-summary > td,
	body.woocommerce-cart .cart_totals tr.leo-shipping-cost-row > th,
	body.woocommerce-cart .cart_totals tr.leo-shipping-cost-row > td {
		font-size: 14px !important;
		font-weight: 600 !important;
	}

	body.woocommerce-cart .cart_totals tr.order-total > th,
	body.woocommerce-cart .cart_totals tr.order-total > td,
	body.woocommerce-cart .cart_totals tr.order-total > td .amount,
	body.woocommerce-cart .cart_totals tr.order-total > td .woocommerce-Price-amount {
		font-size: 15px !important;
		font-weight: 800 !important;
	}
}

/* Celular: preserva legibilidade sem estourar o card. */
@media (max-width: 689.98px) {
	body.woocommerce-cart .leo-delivery-headline {
		font-size: 13.5px !important;
	}

	body.woocommerce-cart .leo-delivery-method-card {
		min-height: 68px !important;
		padding: 13px 14px !important;
	}

	body.woocommerce-cart .leo-delivery-method-title {
		font-size: 14px !important;
	}

	body.woocommerce-cart .leo-delivery-method-subtitle {
		font-size: 12.5px !important;
	}

	body.woocommerce-cart .leo-delivery-method-price,
	body.woocommerce-cart .leo-delivery-method-price.is-free {
		font-size: 13.5px !important;
	}

	body.woocommerce-cart .cart_totals tr.cart-subtotal > th,
	body.woocommerce-cart .cart_totals tr.cart-subtotal > td,
	body.woocommerce-cart .cart_totals tr.leo-m8-summary-shipping > th,
	body.woocommerce-cart .cart_totals tr.leo-m8-summary-shipping > td,
	body.woocommerce-cart .cart_totals tr.leo-shipping-cost-row > th,
	body.woocommerce-cart .cart_totals tr.leo-shipping-cost-row > td {
		font-size: 14px !important;
		font-weight: 600 !important;
	}

	body.woocommerce-cart .cart_totals tr.order-total > th,
	body.woocommerce-cart .cart_totals tr.order-total > td,
	body.woocommerce-cart .cart_totals tr.order-total > td .amount,
	body.woocommerce-cart .cart_totals tr.order-total > td .woocommerce-Price-amount {
		font-size: 15px !important;
		font-weight: 800 !important;
	}
}


/* ============================================================
   v0.5.11.74 — CARRINHO MOBILE/TABLET: NOMES EM NEGRITO SAFE
   Somente tipografia; desktop e checkout permanecem intactos.
   ============================================================ */

@media (max-width: 1024px) {
	body.woocommerce-cart
	.woocommerce-cart-form
	td.product-name,
	body.woocommerce-cart
	.woocommerce-cart-form
	td.product-name > a,
	body.woocommerce-cart
	.woocommerce-cart-form
	.product-name,
	body.woocommerce-cart
	.woocommerce-cart-form
	.product-name > a {
		color: #172033 !important;
		font-weight: 700 !important;
		line-height: 1.38 !important;
	}

	body.woocommerce-cart
	.woocommerce-cart-form
	td.product-name > a,
	body.woocommerce-cart
	.woocommerce-cart-form
	.product-name > a {
		text-decoration: none !important;
	}
}


/* ============================================================
   v0.5.11.84 — CARRINHO EM CELULARES ESTREITOS: FOTO VISÍVEL
   Alguns temas ocultam td.product-thumbnail em breakpoints estreitos.
   Restaura a célula real, sem duplicar a foto e sem alterar iPhone normal,
   tablet, mini carrinho ou checkout.
   ============================================================ */
@media (max-width: 389.98px) {
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-thumbnail,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-thumbnail {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 56px !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 8px 8px 2px 0 !important;
		text-align: left !important;
		float: left !important;
		clear: none !important;
		box-sizing: border-box !important;
	}

	/* O pseudo-rótulo 'Imagem:' do modo tabela responsiva não deve
	   ocupar a largura da foto nem criar dois títulos sobre o card. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-thumbnail::before,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-thumbnail::before {
		content: none !important;
		display: none !important;
	}

	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-thumbnail > a,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-thumbnail > a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 52px !important;
		max-width: 52px !important;
		height: 52px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-thumbnail img,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-thumbnail img {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 48px !important;
		max-width: 48px !important;
		height: 48px !important;
		max-height: 48px !important;
		margin: 0 !important;
		object-fit: contain !important;
	}
}


/* v0.5.11.86 — HOTFIX mínimo: em celulares estreitos, a foto restaurada passa a ocupar um quadrado menor para não colidir com quantidade e subtotal. */


/* ============================================================
   v0.5.11.87 — CARRINHO MOBILE ESTREITO: LARGURA REAL DO NOME
   BASE .86: preserva quadrado 52px da foto, stepper, valor e AJAX.
   A .85 (grid/reordenação do produto) NÃO FAZ PARTE desta versão.

   Motivo: reduzir somente a imagem não limita a largura intrínseca
   do td.product-name, e nomes/metadados longos continuam criando
   overflow horizontal. Limita o conteúdo à coluna direita, SEM
   alterar display/ordem/posição das células de preço e quantidade.
   ============================================================ */

@media (max-width: 389.98px) {
	/* Não permitir que uma palavra comprida amplie o formulário/tabela.
	   A largura dos controles e o subtotal continuam sendo os da .86. */
	html body.woocommerce-cart .ct-woocommerce-cart-form,
	html body.woocommerce-cart .ct-woocommerce-cart-form > .woocommerce-cart-form,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tbody,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tbody {
		min-inline-size: 0 !important;
		max-inline-size: 100% !important;
		box-sizing: border-box !important;
	}

	/* Reserva espaço para a miniatura compacta (56px), recuo do card
	   e um pequeno intervalo. O nome NÃO pode impor largura própria à
	   linha de quantidade e preço. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name {
		min-width: 0 !important;
		min-inline-size: 0 !important;
		width: auto !important;
		max-width: min(100%, calc(100vw - 148px)) !important;
		max-inline-size: min(100%, calc(100dvw - 148px)) !important;
		box-sizing: border-box !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	/* O tema coloca um <a> dentro de td.product-name. Limitar só o td
	   não resolve quando esse link tem min-width ou nowrap próprios. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > a,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > a {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
	}

	/* Metadados por m²/caixa podem conter trechos longos não quebráveis. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name dl.variation,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name .leo-cart-meta,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name dl.variation,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name .leo-cart-meta {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name dl.variation *,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name .leo-cart-meta *,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name dl.variation *,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name .leo-cart-meta * {
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}
}


/* ============================================================
   v0.5.11.89 — MINI HOTFIX CARRINHO MOBILE: ACTIONS REAIS

   HTML real (confirmado via DevTools): td.product-name contém
   div.product-mobile-actions.product-remove com:
   .leo-qty-stepper + .ct-product-multiply-symbol +
   .woocommerce-Price-amount.amount + a.remove.

   Por isso a .88 (td.product-subtotal/td.product-quantity) não teve
   efeito: no mobile essas células não são a linha visível do produto.
   Mantém a foto compacta, o nome e o restante da .87 intactos.
   ============================================================ */
@media (max-width: 389.98px) {
	/* O preço recebe espaço prioritário. Se não couber junto do
	   stepper, muda de linha por inteiro — nunca quebra centavos. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > .product-mobile-actions,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > .product-mobile-actions {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		flex-wrap: wrap !important;
		gap: 6px 8px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		min-height: 40px !important;
		margin-top: 10px !important;
		padding: 0 24px 0 0 !important;
		box-sizing: border-box !important;
		white-space: normal !important;
	}

	/* Reduz apenas o controle da linha móvel REAL, mantendo suas três
	   colunas proporcionais e os eventos originais da quantidade. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > .product-mobile-actions > .leo-qty-stepper,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > .product-mobile-actions > .leo-qty-stepper {
		flex: 0 0 108px !important;
		width: 108px !important;
		min-width: 108px !important;
		max-width: 108px !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		grid-template-columns: 30px minmax(46px, 1fr) 30px !important;
		margin: 0 !important;
		align-self: center !important;
		box-sizing: border-box !important;
	}

	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > .product-mobile-actions > .leo-qty-stepper .leo-qty-btn,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > .product-mobile-actions > .leo-qty-stepper .leo-qty-btn {
		flex: 0 0 30px !important;
		width: 30px !important;
		min-width: 30px !important;
		max-width: 30px !important;
		height: 38px !important;
		min-height: 38px !important;
		max-height: 38px !important;
		line-height: 38px !important;
	}

	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > .product-mobile-actions > .leo-qty-stepper .leo-qty-input,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > .product-mobile-actions > .leo-qty-stepper .leo-qty-input {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: 38px !important;
		min-height: 38px !important;
		max-height: 38px !important;
		line-height: 38px !important;
	}

	/* O sinal de multiplicação é apenas decorativo; no celular estreito
	   ele consome o espaço necessário para a quantia inteira. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > .product-mobile-actions > .ct-product-multiply-symbol,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > .product-mobile-actions > .ct-product-multiply-symbol {
		display: none !important;
	}

	/* Esta é a quantia VISÍVEL na captura do DevTools — não é o
	   td.product-subtotal da tabela Woo. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > .product-mobile-actions > .woocommerce-Price-amount.amount,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > .product-mobile-actions > .woocommerce-Price-amount.amount {
		display: inline-flex !important;
		align-items: center !important;
		flex: 0 0 auto !important;
		width: max-content !important;
		min-width: max-content !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #172033 !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > .product-mobile-actions > .woocommerce-Price-amount.amount bdi,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > .product-mobile-actions > .woocommerce-Price-amount.amount bdi {
		display: inline !important;
		white-space: nowrap !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
	}

	/* Lixeira está dentro do mesmo div no HTML real: reservar seu
	   canto sem reduzir a coluna do número/preço nem sobrepor o texto. */
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table.cart tr.cart_item td.product-name > .product-mobile-actions > a.remove,
	html body.woocommerce-cart .woocommerce-cart-form table.shop_table_responsive tr.cart_item td.product-name > .product-mobile-actions > a.remove {
		position: absolute !important;
		top: 7px !important;
		right: 0 !important;
		left: auto !important;
		inset-inline-end: 0 !important;
		inset-inline-start: auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: none !important;
		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		min-height: 24px !important;
		margin: 0 !important;
		padding: 0 !important;
		z-index: 2 !important;
	}
}
