/*
 * LEO Commerce UI — Quantidade unificada
 * v0.5.11.64 — CHECKOUT TYPOGRAPHY POLISH SAFE
 *
 * Objetivo desta hotfix:
 * - preservar o comportamento homologado do carrinho/checkout;
 * - manter o stepper solicitado (- | quantidade | +);
 * - remover overrides estruturais agressivos do mini carrinho;
 * - impedir overflow horizontal no drawer Blocksy;
 * - alinhar visualmente também o seletor nativo da página de produto,
 *   sem trocar sua lógica.
 */

:root {
	--leo-qty-height: 42px;
	--leo-qty-radius: 8px;
	--leo-qty-border: #d8e0ea;
	--leo-qty-divider: #e8edf3;
	--leo-qty-bg: #ffffff;
	--leo-qty-side-bg: #f8fafc;
	--leo-qty-text: #0f172a;
	--leo-qty-muted: #64748b;
	--leo-qty-focus: #123b82;
}

/* ============================================================
   STEPPER GERADO PELO LEO UI
   ============================================================ */
.leo-qty-stepper {
	display: inline-grid !important;
	grid-template-columns: 38px minmax(48px, 1fr) 38px !important;
	align-items: stretch !important;
	width: 132px !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: var(--leo-qty-height) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: var(--leo-qty-bg) !important;
	border: 1px solid var(--leo-qty-border) !important;
	border-radius: var(--leo-qty-radius) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	vertical-align: middle !important;
}

.leo-qty-stepper .leo-qty-btn,
.leo-qty-stepper .leo-qty-input {
	min-width: 0 !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	line-height: 40px !important;
}

.leo-qty-stepper .leo-qty-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	background: var(--leo-qty-side-bg) !important;
	color: var(--leo-qty-muted) !important;
	font-size: 17px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
	transition: background-color .16s ease, color .16s ease !important;
}

.leo-qty-stepper .leo-qty-btn--minus {
	border-right: 1px solid var(--leo-qty-divider) !important;
}

.leo-qty-stepper .leo-qty-btn--plus {
	border-left: 1px solid var(--leo-qty-divider) !important;
}

.leo-qty-stepper .leo-qty-btn:hover:not(:disabled),
.leo-qty-stepper .leo-qty-btn:focus-visible:not(:disabled) {
	background: #eef4ff !important;
	color: var(--leo-qty-focus) !important;
}

.leo-qty-stepper .leo-qty-btn:focus-visible,
.leo-qty-stepper .leo-qty-input:focus-visible {
	outline: 2px solid rgba(29, 95, 209, .45) !important;
	outline-offset: -2px !important;
}

.leo-qty-stepper .leo-qty-btn:disabled {
	color: #b8c0cb !important;
	background: #fbfcfd !important;
	cursor: not-allowed !important;
}

.leo-qty-stepper .leo-qty-input {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	background: #fff !important;
	color: var(--leo-qty-text) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: center !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.leo-qty-stepper.is-busy {
	opacity: .62 !important;
	pointer-events: none !important;
}

/* ============================================================
   PÁGINA DE PRODUTO — SOMENTE ACABAMENTO VISUAL DO CONTROLE NATIVO
   Não troca eventos, input, estoque nem add-to-cart.
   ============================================================ */
body.single-product form.cart > .quantity,
body.single-product .leo-product-buy-column form.cart > .quantity,
body.single-product .leo-tablet-buy-area form.cart > .quantity,
body.single-product .leo-mobile-product-info form.cart > .quantity {
	display: inline-flex !important;
	align-items: stretch !important;
	width: 132px !important;
	max-width: 132px !important;
	min-width: 132px !important;
	height: 42px !important;
	min-height: 42px !important;
	overflow: hidden !important;
	background: #fff !important;
	border: 1px solid var(--leo-qty-border) !important;
	border-radius: var(--leo-qty-radius) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

body.single-product form.cart > .quantity input.qty {
	flex: 1 1 auto !important;
	width: 54px !important;
	min-width: 0 !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: #fff !important;
	color: var(--leo-qty-text) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 40px !important;
	text-align: center !important;
}

body.single-product form.cart > .quantity button,
body.single-product form.cart > .quantity [role="button"],
body.single-product form.cart > .quantity .ct-increase,
body.single-product form.cart > .quantity .ct-decrease {
	flex: 0 0 38px !important;
	width: 38px !important;
	min-width: 38px !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: var(--leo-qty-side-bg) !important;
	color: var(--leo-qty-muted) !important;
	line-height: 40px !important;
}

body.single-product form.cart > .quantity > :first-child:not(input.qty) {
	border-right: 1px solid var(--leo-qty-divider) !important;
}

body.single-product form.cart > .quantity > :last-child:not(input.qty) {
	border-left: 1px solid var(--leo-qty-divider) !important;
}

/* ============================================================
   CARRINHO — mantém update_cart nativo já homologado
   ============================================================ */
body.woocommerce-cart .woocommerce-cart-form td.product-quantity .leo-qty-stepper {
	margin-inline: auto !important;
}

body.woocommerce-cart .woocommerce-cart-form td.product-quantity {
	white-space: nowrap !important;
}

/* ============================================================
   CHECKOUT — quantidade editável dentro do resumo do pedido
   ============================================================ */
body.woocommerce-checkout .leo-checkout-qty-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 7px 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-top: 8px !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout .leo-checkout-qty-label {
	color: #64748b !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

body.woocommerce-checkout .leo-qty-stepper--checkout {
	width: 122px !important;
	grid-template-columns: 34px minmax(46px, 1fr) 34px !important;
	height: 38px !important;
}

body.woocommerce-checkout .leo-qty-stepper--checkout .leo-qty-btn,
body.woocommerce-checkout .leo-qty-stepper--checkout .leo-qty-input {
	height: 36px !important;
	line-height: 36px !important;
}

body.woocommerce-checkout .leo-qty-stepper--checkout .leo-qty-btn {
	width: 34px !important;
}

body.woocommerce-checkout.leo-checkout-qty-updating #place_order {
	pointer-events: none !important;
	opacity: .66 !important;
}

/* ============================================================
   MINI CARRINHO / DRAWER BLOCKSY — RECOVERY SAFE

   Regra: NÃO redesenhar a estrutura do Blocksy. Só estilizamos o nosso
   controle e pequenos espaçamentos. Isso preserva o drawer que já era
   homologado antes da .60 e elimina o overflow horizontal.
   ============================================================ */
#woo-cart-panel,
#woo-cart-panel .ct-panel-content,
#woo-cart-panel .ct-panel-content-inner,
#woo-cart-panel .widget_shopping_cart_content {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

#woo-cart-panel .woocommerce-mini-cart-item {
	box-sizing: border-box !important;
}

#woo-cart-panel .woocommerce-mini-cart-item > a:not(.remove),
#woo-cart-panel .woocommerce-mini-cart-item > a:not(.remove_from_cart_button) {
	min-width: 0 !important;
	max-width: 100% !important;
}

#woo-cart-panel .woocommerce-mini-cart-item img {
	object-fit: contain !important;
}

#woo-cart-panel .leo-mini-cart-qty-row {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 7px 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 8px 0 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

#woo-cart-panel .leo-qty-stepper--mini-cart {
	flex: 0 0 112px !important;
	width: 112px !important;
	max-width: 112px !important;
	grid-template-columns: 32px minmax(46px, 1fr) 32px !important;
	height: 36px !important;
	border-radius: 8px !important;
}

#woo-cart-panel .leo-qty-stepper--mini-cart .leo-qty-btn,
#woo-cart-panel .leo-qty-stepper--mini-cart .leo-qty-input {
	height: 34px !important;
	line-height: 34px !important;
}

#woo-cart-panel .leo-qty-stepper--mini-cart .leo-qty-btn {
	width: 32px !important;
	font-size: 15px !important;
}

#woo-cart-panel .leo-mini-cart-unit-price {
	flex: 0 1 auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	color: #334155 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	white-space: nowrap !important;
}

/* Só um refinamento leve; não troca grid, padding, cor ou estrutura do tema. */
#woo-cart-panel .woocommerce-mini-cart__buttons .button {
	border-radius: 8px !important;
}

@media (max-width: 689.98px) {
	:root {
		--leo-qty-height: 40px;
	}

	.leo-qty-stepper {
		width: 124px !important;
		grid-template-columns: 36px minmax(50px, 1fr) 36px !important;
	}

	body.single-product form.cart > .quantity,
	body.single-product .leo-product-buy-column form.cart > .quantity,
	body.single-product .leo-tablet-buy-area form.cart > .quantity,
	body.single-product .leo-mobile-product-info form.cart > .quantity {
		width: 124px !important;
		max-width: 124px !important;
		min-width: 124px !important;
		height: 40px !important;
		min-height: 40px !important;
	}

	body.single-product form.cart > .quantity input.qty,
	body.single-product form.cart > .quantity button,
	body.single-product form.cart > .quantity [role="button"],
	body.single-product form.cart > .quantity .ct-increase,
	body.single-product form.cart > .quantity .ct-decrease {
		height: 38px !important;
		min-height: 38px !important;
		line-height: 38px !important;
	}

	body.woocommerce-checkout .leo-checkout-qty-label {
		width: 100% !important;
	}

	#woo-cart-panel .leo-mini-cart-qty-row {
		gap: 6px 8px !important;
	}

	#woo-cart-panel .leo-mini-cart-unit-price {
		font-size: 11px !important;
	}
}


/* ============================================================
   v0.5.11.63 — REFINO VISUAL CIRÚRGICO
   - mini carrinho ancorado à direita, sem trocar o mecanismo do Blocksy;
   - mais respiro para nomes/preços;
   - preço/subtotal com tipografia mais firme e azul da identidade;
   - seletor de quantidade da página de produto com acabamento unificado.
   ============================================================ */

/* MINI CARRINHO: apenas reposiciona o painel existente do Blocksy. */
html body #woo-cart-panel .ct-panel-content {
	inset-inline-start: auto !important;
	inset-inline-end: 0 !important;
	left: auto !important;
	right: 0 !important;
	margin-left: auto !important;
	margin-right: 0 !important;
	width: min(420px, 92vw) !important;
	max-width: min(420px, 92vw) !important;
	box-shadow: -14px 0 36px rgba(15, 23, 42, .16) !important;
	transform-origin: right center !important;
}

/* Mantém conteúdo interno usando toda a largura disponível sem scroll lateral. */
html body #woo-cart-panel .ct-panel-content-inner,
html body #woo-cart-panel .widget_shopping_cart_content,
html body #woo-cart-panel .woocommerce-mini-cart {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
}

/* Nomes longos: podem quebrar em mais de uma linha, sem esmagar preço/ações. */
html body #woo-cart-panel .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) {
	min-width: 0 !important;
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
	font-size: 14px !important;
	line-height: 1.28 !important;
	font-weight: 600 !important;
}

/* Linha quantidade + preço: preserva o controle, mas dá prioridade ao preço inteiro. */
html body #woo-cart-panel .leo-mini-cart-qty-row {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 10px !important;
	overflow: visible !important;
}

html body #woo-cart-panel .leo-qty-stepper--mini-cart {
	flex: 0 0 112px !important;
	min-width: 112px !important;
}

html body #woo-cart-panel .leo-mini-cart-unit-price {
	flex: 0 0 auto !important;
	margin-left: auto !important;
	max-width: none !important;
	color: #123b82 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: .01em !important;
	white-space: nowrap !important;
	text-align: right !important;
}

/* Subtotal mais legível e no azul da identidade. */
html body #woo-cart-panel .woocommerce-mini-cart__total {
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: #123b82 !important;
}

html body #woo-cart-panel .woocommerce-mini-cart__total strong {
	font-size: 14px !important;
	font-weight: 800 !important;
	color: #123b82 !important;
}

html body #woo-cart-panel .woocommerce-mini-cart__total .woocommerce-Price-amount,
html body #woo-cart-panel .woocommerce-mini-cart__total .amount {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #123b82 !important;
	white-space: nowrap !important;
}

/* Página de produto: reforço de especificidade para vencer o CSS lazy do Blocksy. */
html body.single-product form.cart > .quantity,
html body.single-product .leo-product-buy-column form.cart > .quantity,
html body.single-product .leo-tablet-buy-area form.cart > .quantity,
html body.single-product .leo-mobile-product-info form.cart > .quantity,
html body.single-product form.cart > .quantity[data-type] {
	display: inline-flex !important;
	align-items: stretch !important;
	width: 132px !important;
	max-width: 132px !important;
	min-width: 132px !important;
	height: 42px !important;
	min-height: 42px !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #fff !important;
	border: 1px solid #d8e0ea !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

html body.single-product form.cart > .quantity input.qty,
html body.single-product .leo-product-buy-column form.cart > .quantity input.qty,
html body.single-product .leo-tablet-buy-area form.cart > .quantity input.qty,
html body.single-product .leo-mobile-product-info form.cart > .quantity input.qty {
	flex: 1 1 auto !important;
	width: 54px !important;
	min-width: 0 !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #0f172a !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 40px !important;
	text-align: center !important;
}

html body.single-product form.cart > .quantity button,
html body.single-product form.cart > .quantity [role="button"],
html body.single-product form.cart > .quantity .ct-increase,
html body.single-product form.cart > .quantity .ct-decrease,
html body.single-product .leo-product-buy-column form.cart > .quantity button,
html body.single-product .leo-product-buy-column form.cart > .quantity .ct-increase,
html body.single-product .leo-product-buy-column form.cart > .quantity .ct-decrease,
html body.single-product .leo-tablet-buy-area form.cart > .quantity button,
html body.single-product .leo-tablet-buy-area form.cart > .quantity .ct-increase,
html body.single-product .leo-tablet-buy-area form.cart > .quantity .ct-decrease,
html body.single-product .leo-mobile-product-info form.cart > .quantity button,
html body.single-product .leo-mobile-product-info form.cart > .quantity .ct-increase,
html body.single-product .leo-mobile-product-info form.cart > .quantity .ct-decrease {
	flex: 0 0 38px !important;
	width: 38px !important;
	min-width: 38px !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #f8fafc !important;
	box-shadow: none !important;
	color: #64748b !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 40px !important;
}

html body.single-product form.cart > .quantity .ct-decrease,
html body.single-product .leo-product-buy-column form.cart > .quantity .ct-decrease,
html body.single-product .leo-tablet-buy-area form.cart > .quantity .ct-decrease,
html body.single-product .leo-mobile-product-info form.cart > .quantity .ct-decrease {
	border-right: 1px solid #e8edf3 !important;
}

html body.single-product form.cart > .quantity .ct-increase,
html body.single-product .leo-product-buy-column form.cart > .quantity .ct-increase,
html body.single-product .leo-tablet-buy-area form.cart > .quantity .ct-increase,
html body.single-product .leo-mobile-product-info form.cart > .quantity .ct-increase {
	border-left: 1px solid #e8edf3 !important;
}

html body.single-product form.cart > .quantity button:hover,
html body.single-product form.cart > .quantity [role="button"]:hover,
html body.single-product form.cart > .quantity .ct-increase:hover,
html body.single-product form.cart > .quantity .ct-decrease:hover {
	background: #eef3fb !important;
	color: #123b82 !important;
}

@media (max-width: 420px) {
	html body #woo-cart-panel .ct-panel-content {
		width: 94vw !important;
		max-width: 94vw !important;
	}

	html body #woo-cart-panel .leo-mini-cart-qty-row {
		gap: 8px !important;
	}

	html body #woo-cart-panel .leo-mini-cart-unit-price {
		font-size: 13px !important;
	}
}


/* ============================================================
   v0.5.11.68 — MINI CART DUPLICATE THUMB + WIDTH RECOVERY SAFE

   Corrige um vazamento da miniatura do checkout para o mini carrinho
   quando o drawer era renderizado dentro da página de checkout.
   Mantém o DOM nativo do Blocksy/Woo; esta seção é somente visual.
   ============================================================ */

/* Drawer mais largo no desktop/tablet, ainda responsivo em telas pequenas. */
html body #woo-cart-panel {
	--leo-mini-cart-width: min(470px, calc(100vw - 24px));
	--side-panel-width: var(--leo-mini-cart-width);
	--panel-width: var(--leo-mini-cart-width);
}

html body #woo-cart-panel .ct-panel-content {
	inset-inline-start: auto !important;
	inset-inline-end: 0 !important;
	left: auto !important;
	right: 0 !important;
	width: var(--leo-mini-cart-width) !important;
	min-width: var(--leo-mini-cart-width) !important;
	max-width: var(--leo-mini-cart-width) !important;
	inline-size: var(--leo-mini-cart-width) !important;
	flex: 0 0 var(--leo-mini-cart-width) !important;
	margin-left: auto !important;
	margin-right: 0 !important;
	box-shadow: -14px 0 36px rgba(15, 23, 42, .16) !important;
	transform-origin: right center !important;
}

/* Se o navegador ainda estiver com fragment antigo em cache, neutraliza
   imediatamente a miniatura EXTRA do checkout sem tocar na imagem nativa. */
html body #woo-cart-panel .leo-checkout-product-heading {
	display: inline !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body #woo-cart-panel .leo-checkout-product-thumb {
	display: none !important;
}

html body #woo-cart-panel .leo-checkout-product-name-text {
	display: inline !important;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
	font-weight: inherit !important;
}

/* Dá mais área útil ao conteúdo, mas sem substituir grid/markup do tema. */
html body #woo-cart-panel .ct-panel-content-inner,
html body #woo-cart-panel .widget_shopping_cart_content,
html body #woo-cart-panel .woocommerce-mini-cart {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow-x: hidden !important;
}

html body #woo-cart-panel .woocommerce-mini-cart-item {
	min-width: 0 !important;
	box-sizing: border-box !important;
}

/* Imagem nativa: tamanho consistente e sem disputar largura com o nome. */
html body #woo-cart-panel .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) img {
	width: 64px !important;
	height: 64px !important;
	max-width: 64px !important;
	max-height: 64px !important;
	object-fit: contain !important;
}

/* Nome: pode ocupar duas linhas ou mais sem esmagar preço/remoção. */
html body #woo-cart-panel .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) {
	min-width: 0 !important;
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: break-word !important;
	word-break: normal !important;
	font-size: 14px !important;
	line-height: 1.32 !important;
	font-weight: 600 !important;
}

/* Quantidade e preço permanecem na mesma linha no desktop. */
html body #woo-cart-panel .leo-mini-cart-qty-row {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: visible !important;
}

html body #woo-cart-panel .leo-qty-stepper--mini-cart {
	flex: 0 0 120px !important;
	width: 120px !important;
	min-width: 120px !important;
	max-width: 120px !important;
}

html body #woo-cart-panel .leo-mini-cart-unit-price {
	flex: 0 0 auto !important;
	margin-left: auto !important;
	max-width: none !important;
	color: #123b82 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	text-align: right !important;
}

/* Rodapé financeiro mais legível, mantendo botões e eventos do Blocksy. */
html body #woo-cart-panel .woocommerce-mini-cart__total {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
}

html body #woo-cart-panel .woocommerce-mini-cart__total strong {
	flex: 0 0 auto !important;
}

html body #woo-cart-panel .woocommerce-mini-cart__total .woocommerce-Price-amount,
html body #woo-cart-panel .woocommerce-mini-cart__total .amount {
	margin-left: auto !important;
	white-space: nowrap !important;
}

/* Celular: quase largura total, mas mantém margem para o overlay/fechamento. */
@media (max-width: 689.98px) {
	html body #woo-cart-panel {
		--leo-mini-cart-width: min(94vw, 430px);
	}

	html body #woo-cart-panel .ct-panel-content {
		width: var(--leo-mini-cart-width) !important;
		min-width: var(--leo-mini-cart-width) !important;
		max-width: var(--leo-mini-cart-width) !important;
		inline-size: var(--leo-mini-cart-width) !important;
		flex-basis: var(--leo-mini-cart-width) !important;
	}

	html body #woo-cart-panel .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) img {
		width: 58px !important;
		height: 58px !important;
		max-width: 58px !important;
		max-height: 58px !important;
	}

	html body #woo-cart-panel .leo-mini-cart-qty-row {
		gap: 9px !important;
	}

	html body #woo-cart-panel .leo-qty-stepper--mini-cart {
		flex-basis: 116px !important;
		width: 116px !important;
		min-width: 116px !important;
		max-width: 116px !important;
	}

	html body #woo-cart-panel .leo-mini-cart-unit-price {
		font-size: 13.5px !important;
	}
}


/* ============================================================
   v0.5.11.69 — MINI CART SIZE RECOVERY SAFE

   Pedido do usuário:
   - drawer mais largo;
   - drawer mais comprido/alto;
   - área útil maior para nomes e preços;
   - sem mexer na lógica AJAX, remover, subtotal ou botões.
   ============================================================ */

html body #woo-cart-panel {
	--leo-mini-cart-width: min(540px, calc(100vw - 20px));
	--side-panel-width: var(--leo-mini-cart-width);
	--panel-width: var(--leo-mini-cart-width);
}

html body #woo-cart-panel .ct-panel-content {
	width: var(--leo-mini-cart-width) !important;
	min-width: var(--leo-mini-cart-width) !important;
	max-width: var(--leo-mini-cart-width) !important;
	inline-size: var(--leo-mini-cart-width) !important;
	flex-basis: var(--leo-mini-cart-width) !important;
	height: min(94vh, 900px) !important;
	max-height: min(94vh, 900px) !important;
	min-height: min(94vh, 900px) !important;
}

html body #woo-cart-panel .ct-panel-content-inner {
	height: 100% !important;
	max-height: 100% !important;
	min-height: 0 !important;
	padding: 18px 18px 16px !important;
	box-sizing: border-box !important;
}

html body #woo-cart-panel .widget_shopping_cart_content {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	max-height: 100% !important;
	min-height: 0 !important;
}

html body #woo-cart-panel .woocommerce-mini-cart {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding-right: 4px !important;
}

html body #woo-cart-panel .woocommerce-mini-cart__total,
html body #woo-cart-panel .woocommerce-mini-cart__buttons {
	flex: 0 0 auto !important;
}

html body #woo-cart-panel .woocommerce-mini-cart-item {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}

html body #woo-cart-panel .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) {
	font-size: 14.5px !important;
	line-height: 1.34 !important;
	max-width: 100% !important;
}

html body #woo-cart-panel .leo-mini-cart-qty-row {
	gap: 14px !important;
}

html body #woo-cart-panel .leo-qty-stepper--mini-cart {
	flex-basis: 122px !important;
	width: 122px !important;
	min-width: 122px !important;
	max-width: 122px !important;
}

html body #woo-cart-panel .leo-mini-cart-unit-price {
	font-size: 14px !important;
	line-height: 1.2 !important;
}

html body #woo-cart-panel .woocommerce-mini-cart__buttons {
	margin-top: 16px !important;
	gap: 14px !important;
}

html body #woo-cart-panel .woocommerce-mini-cart__buttons .button,
html body #woo-cart-panel .woocommerce-mini-cart__buttons a.button,
html body #woo-cart-panel .woocommerce-mini-cart__buttons a.checkout {
	min-height: 44px !important;
	padding: 11px 16px !important;
	font-size: 13px !important;
}

@media (max-width: 689.98px) {
	html body #woo-cart-panel {
		--leo-mini-cart-width: min(96vw, 460px);
	}

	html body #woo-cart-panel .ct-panel-content {
		width: var(--leo-mini-cart-width) !important;
		min-width: var(--leo-mini-cart-width) !important;
		max-width: var(--leo-mini-cart-width) !important;
		inline-size: var(--leo-mini-cart-width) !important;
		flex-basis: var(--leo-mini-cart-width) !important;
		height: min(96vh, 900px) !important;
		max-height: min(96vh, 900px) !important;
		min-height: min(96vh, 900px) !important;
	}

	html body #woo-cart-panel .ct-panel-content-inner {
		padding: 16px 16px 14px !important;
	}

	html body #woo-cart-panel .woocommerce-mini-cart-item {
		padding-top: 13px !important;
		padding-bottom: 13px !important;
	}

	html body #woo-cart-panel .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) {
		font-size: 14px !important;
		line-height: 1.32 !important;
	}

	html body #woo-cart-panel .leo-mini-cart-qty-row {
		gap: 10px !important;
	}

	html body #woo-cart-panel .leo-qty-stepper--mini-cart {
		flex-basis: 116px !important;
		width: 116px !important;
		min-width: 116px !important;
		max-width: 116px !important;
	}

	html body #woo-cart-panel .leo-mini-cart-unit-price {
		font-size: 13.5px !important;
	}

	html body #woo-cart-panel .woocommerce-mini-cart__buttons {
		gap: 12px !important;
	}
}


/* ============================================================
   v0.5.11.70 — BLOCKSY DROPDOWN MINI CART SIZE SAFE

   Diagnóstico confirmado:
   o header da loja está usando o modo DROPDOWN do Blocksy
   (.ct-cart-content), não o painel lateral #woo-cart-panel.

   O Blocksy define por padrão:
   .ct-cart-content { width: 310px; }
   .ct-cart-content .woocommerce-mini-cart { max-height: 40vh; }

   Por isso os ajustes anteriores em #woo-cart-panel não mudavam
   o mini carrinho visível no header.

   Esta seção toca SOMENTE no dropdown real.
   ============================================================ */

html body .ct-header-cart .ct-cart-content,
html body header .ct-cart-content {
	width: min(520px, calc(100vw - 32px)) !important;
	min-width: min(520px, calc(100vw - 32px)) !important;
	max-width: min(520px, calc(100vw - 32px)) !important;

	height: min(72vh, 700px) !important;
	min-height: min(72vh, 700px) !important;
	max-height: min(72vh, 700px) !important;

	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;

	padding: 20px 22px !important;
	overflow: hidden !important;

	border-radius: 10px !important;
	box-shadow: 0 18px 44px rgba(15, 23, 42, .18) !important;

	--mini-cart-items-spacing: 18px;
}

/* Lista ocupa a maior parte da altura, rodapé fica visível. */
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart,
html body header .ct-cart-content .woocommerce-mini-cart {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	max-height: none !important;
	height: auto !important;

	overflow-y: auto !important;
	overflow-x: hidden !important;

	margin-inline: -22px !important;
	padding-inline: 22px !important;
	padding-bottom: 18px !important;
}

/* Mais respiro nos itens sem mudar a estrutura nativa do Blocksy. */
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart li,
html body header .ct-cart-content .woocommerce-mini-cart li {
	grid-column-gap: 18px !important;
	padding-bottom: 18px !important;
}

/* Imagem nativa estável. */
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart img,
html body header .ct-cart-content .woocommerce-mini-cart img {
	width: 70px !important;
	height: 70px !important;
	max-width: 70px !important;
	max-height: 70px !important;
	object-fit: contain !important;
}

/* Nome ganha largura real e quebra de forma controlada. */
html body .ct-header-cart .ct-cart-content .product-title,
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button),
html body header .ct-cart-content .product-title,
html body header .ct-cart-content .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) {
	min-width: 0 !important;
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: break-word !important;
	word-break: normal !important;

	font-size: 14.5px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

/* Controle e preço permanecem juntos quando houver espaço. */
html body .ct-header-cart .ct-cart-content .leo-mini-cart-qty-row,
html body header .ct-cart-content .leo-mini-cart-qty-row {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 14px !important;

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

	margin-top: 8px !important;
	overflow: visible !important;
}

html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart,
html body header .ct-cart-content .leo-qty-stepper--mini-cart {
	flex: 0 0 126px !important;
	width: 126px !important;
	min-width: 126px !important;
	max-width: 126px !important;
}

html body .ct-header-cart .ct-cart-content .leo-mini-cart-unit-price,
html body header .ct-cart-content .leo-mini-cart-unit-price {
	flex: 0 0 auto !important;
	margin-left: auto !important;

	color: #123b82 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	text-align: right !important;
}

/* Subtotal e botões não encolhem e ficam no rodapé. */
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total,
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons,
html body header .ct-cart-content .woocommerce-mini-cart__total,
html body header .ct-cart-content .woocommerce-mini-cart__buttons {
	flex: 0 0 auto !important;
}

html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total,
html body header .ct-cart-content .woocommerce-mini-cart__total {
	font-size: 14px !important;
	font-weight: 800 !important;
}

html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total .amount,
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total .woocommerce-Price-amount,
html body header .ct-cart-content .woocommerce-mini-cart__total .amount,
html body header .ct-cart-content .woocommerce-mini-cart__total .woocommerce-Price-amount {
	color: #123b82 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	white-space: nowrap !important;
}

html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons,
html body header .ct-cart-content .woocommerce-mini-cart__buttons {
	gap: 14px !important;
}

html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons .button,
html body header .ct-cart-content .woocommerce-mini-cart__buttons .button {
	min-height: 46px !important;
	padding-inline: 16px !important;
	font-size: 12px !important;
}

/* Tablet/celular: usa quase toda a largura e mais altura útil. */
@media (max-width: 999.98px) {
	html body .ct-header-cart .ct-cart-content,
	html body header .ct-cart-content {
		width: min(94vw, 500px) !important;
		min-width: min(94vw, 500px) !important;
		max-width: min(94vw, 500px) !important;

		height: min(78vh, 720px) !important;
		min-height: min(78vh, 720px) !important;
		max-height: min(78vh, 720px) !important;
	}
}

@media (max-width: 689.98px) {
	html body .ct-header-cart .ct-cart-content,
	html body header .ct-cart-content {
		width: min(96vw, 460px) !important;
		min-width: min(96vw, 460px) !important;
		max-width: min(96vw, 460px) !important;

		height: min(82vh, 720px) !important;
		min-height: min(82vh, 720px) !important;
		max-height: min(82vh, 720px) !important;

		padding: 16px 16px !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart,
	html body header .ct-cart-content .woocommerce-mini-cart {
		margin-inline: -16px !important;
		padding-inline: 16px !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart img,
	html body header .ct-cart-content .woocommerce-mini-cart img {
		width: 62px !important;
		height: 62px !important;
		max-width: 62px !important;
		max-height: 62px !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-mini-cart-qty-row,
	html body header .ct-cart-content .leo-mini-cart-qty-row {
		gap: 10px !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart,
	html body header .ct-cart-content .leo-qty-stepper--mini-cart {
		flex-basis: 116px !important;
		width: 116px !important;
		min-width: 116px !important;
		max-width: 116px !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-mini-cart-unit-price,
	html body header .ct-cart-content .leo-mini-cart-unit-price {
		font-size: 13.5px !important;
	}
}


/* ============================================================
   v0.5.11.71 — MINI CART PRICE / REMOVE COLLISION SAFE

   Corrige SOMENTE o conflito visual observado:
   o preço unitário estava entrando na área do ícone de remover.
   Não altera preço, cálculo, AJAX, quantidade ou remoção.
   ============================================================ */

html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item,
html body header .ct-cart-content .woocommerce-mini-cart-item {
	position: relative !important;
	padding-right: 42px !important;
	box-sizing: border-box !important;
}

/* Reserva o canto superior direito exclusivamente para a lixeira. */
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > .remove,
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > .remove_from_cart_button,
html body header .ct-cart-content .woocommerce-mini-cart-item > .remove,
html body header .ct-cart-content .woocommerce-mini-cart-item > .remove_from_cart_button {
	position: absolute !important;
	top: 16px !important;
	right: 4px !important;
	inset-inline-end: 4px !important;
	inset-inline-start: auto !important;
	margin: 0 !important;
	z-index: 3 !important;
}

/* A linha quantidade + preço passa a ter duas áreas previsíveis. */
html body .ct-header-cart .ct-cart-content .leo-mini-cart-qty-row,
html body header .ct-cart-content .leo-mini-cart-qty-row {
	display: grid !important;
	grid-template-columns: 126px minmax(92px, 1fr) !important;
	align-items: center !important;
	column-gap: 16px !important;
	row-gap: 0 !important;

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

	margin-top: 8px !important;
	padding: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

/* Stepper fica estável na primeira coluna. */
html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart,
html body header .ct-cart-content .leo-qty-stepper--mini-cart {
	grid-column: 1 !important;
	width: 126px !important;
	min-width: 126px !important;
	max-width: 126px !important;
	margin: 0 !important;
}

/* Preço ocupa a segunda coluna e nunca invade a lixeira. */
html body .ct-header-cart .ct-cart-content .leo-mini-cart-unit-price,
html body header .ct-cart-content .leo-mini-cart-unit-price {
	grid-column: 2 !important;
	justify-self: end !important;
	align-self: center !important;

	width: auto !important;
	min-width: 88px !important;
	max-width: 100% !important;

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

	color: #123b82 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	text-align: right !important;
}

/* Evita que nomes longos disputem o espaço reservado da lixeira. */
html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button),
html body header .ct-cart-content .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) {
	padding-right: 4px !important;
	box-sizing: border-box !important;
}

/* Mobile mantém a mesma separação, em escala menor. */
@media (max-width: 689.98px) {
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item,
	html body header .ct-cart-content .woocommerce-mini-cart-item {
		padding-right: 38px !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > .remove,
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > .remove_from_cart_button,
	html body header .ct-cart-content .woocommerce-mini-cart-item > .remove,
	html body header .ct-cart-content .woocommerce-mini-cart-item > .remove_from_cart_button {
		top: 14px !important;
		right: 2px !important;
		inset-inline-end: 2px !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-mini-cart-qty-row,
	html body header .ct-cart-content .leo-mini-cart-qty-row {
		grid-template-columns: 116px minmax(82px, 1fr) !important;
		column-gap: 10px !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart,
	html body header .ct-cart-content .leo-qty-stepper--mini-cart {
		width: 116px !important;
		min-width: 116px !important;
		max-width: 116px !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-mini-cart-unit-price,
	html body header .ct-cart-content .leo-mini-cart-unit-price {
		min-width: 80px !important;
		font-size: 13.5px !important;
	}
}


/* ============================================================
   v0.5.11.74 — MINI CARRINHO MOBILE: RIGHT DRAWER SAFE

   SOMENTE <= 689px.
   O desktop/tablet preservam a versão homologada anterior.
   Mantém DOM/eventos do Blocksy/Woo e altera apenas layout visual.
   ============================================================ */

@media (max-width: 689.98px) {

	/* Vira um drawer real pela direita e usa a altura inteira da tela. */
	html body .ct-header-cart .ct-cart-content,
	html body header .ct-cart-content {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: auto !important;
		inset-inline-start: auto !important;
		inset-inline-end: 0 !important;

		width: min(92vw, 390px) !important;
		min-width: min(92vw, 390px) !important;
		max-width: min(92vw, 390px) !important;

		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;

		display: flex !important;
		flex-direction: column !important;

		margin: 0 !important;
		padding: 18px 16px 14px !important;

		background: #ffffff !important;
		border: 0 !important;
		border-radius: 14px 0 0 14px !important;

		box-sizing: border-box !important;
		overflow: hidden !important;

		box-shadow: -18px 0 42px rgba(15, 23, 42, .22) !important;
		transform-origin: right center !important;

		z-index: 999999 !important;
	}

	/* O conteúdo interno ocupa a altura toda; lista rola e rodapé fica visível. */
	html body .ct-header-cart .ct-cart-content .widget_shopping_cart_content,
	html body header .ct-cart-content .widget_shopping_cart_content {
		display: flex !important;
		flex-direction: column !important;
		flex: 1 1 auto !important;

		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;

		overflow: hidden !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart,
	html body header .ct-cart-content .woocommerce-mini-cart {
		flex: 1 1 auto !important;

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

		margin: 0 !important;
		padding: 0 4px 14px 0 !important;

		overflow-y: auto !important;
		overflow-x: hidden !important;

		scrollbar-width: thin;
		scrollbar-color: #a8adb5 transparent;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart::-webkit-scrollbar,
	html body header .ct-cart-content .woocommerce-mini-cart::-webkit-scrollbar {
		width: 5px;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart::-webkit-scrollbar-thumb,
	html body header .ct-cart-content .woocommerce-mini-cart::-webkit-scrollbar-thumb {
		background: #a8adb5;
		border-radius: 999px;
	}

	/* Cada produto ganha respiro e uma composição mais compacta. */
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item,
	html body header .ct-cart-content .woocommerce-mini-cart-item {
		position: relative !important;

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

		padding-top: 14px !important;
		padding-right: 34px !important;
		padding-bottom: 15px !important;

		border-bottom: 1px solid #eef0f2 !important;
		box-sizing: border-box !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item:first-child,
	html body header .ct-cart-content .woocommerce-mini-cart-item:first-child {
		padding-top: 2px !important;
	}

	/* Foto menor e estável no celular. */
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart img,
	html body header .ct-cart-content .woocommerce-mini-cart img {
		width: 54px !important;
		height: 54px !important;
		max-width: 54px !important;
		max-height: 54px !important;

		object-fit: contain !important;
	}

	/* Nome em negrito e com quebra natural, sem esmagar a coluna. */
	html body .ct-header-cart .ct-cart-content .product-title,
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button),
	html body header .ct-cart-content .product-title,
	html body header .ct-cart-content .woocommerce-mini-cart-item > a:not(.remove):not(.remove_from_cart_button) {
		min-width: 0 !important;
		max-width: 100% !important;

		color: #172033 !important;
		font-size: 13.5px !important;
		font-weight: 700 !important;
		line-height: 1.32 !important;

		white-space: normal !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}

	/* Lixeira isolada no canto, sem disputar espaço com preço. */
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > .remove,
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item > .remove_from_cart_button,
	html body header .ct-cart-content .woocommerce-mini-cart-item > .remove,
	html body header .ct-cart-content .woocommerce-mini-cart-item > .remove_from_cart_button {
		position: absolute !important;
		top: 15px !important;
		right: 2px !important;
		inset-inline-end: 2px !important;
		inset-inline-start: auto !important;

		width: 28px !important;
		height: 28px !important;

		margin: 0 !important;
		z-index: 3 !important;
	}

	/* Quantidade + preço em linha previsível e sem quebra. */
	html body .ct-header-cart .ct-cart-content .leo-mini-cart-qty-row,
	html body header .ct-cart-content .leo-mini-cart-qty-row {
		display: grid !important;
		grid-template-columns: 108px minmax(72px, 1fr) !important;
		align-items: center !important;

		column-gap: 10px !important;
		row-gap: 0 !important;

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

		margin-top: 8px !important;
		padding: 0 !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart,
	html body header .ct-cart-content .leo-qty-stepper--mini-cart {
		grid-column: 1 !important;

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

		margin: 0 !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-mini-cart-unit-price,
	html body header .ct-cart-content .leo-mini-cart-unit-price {
		grid-column: 2 !important;
		justify-self: end !important;

		min-width: 70px !important;
		max-width: 100% !important;

		margin: 0 !important;

		color: #123b82 !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;

		white-space: nowrap !important;
		text-align: right !important;
	}

	/* Rodapé visualmente separado e sempre acessível. */
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total,
	html body header .ct-cart-content .woocommerce-mini-cart__total {
		flex: 0 0 auto !important;

		margin: 0 !important;
		padding: 14px 0 12px !important;

		border-top: 1px solid #e7eaee !important;

		font-size: 13px !important;
		font-weight: 800 !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total .amount,
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total .woocommerce-Price-amount,
	html body header .ct-cart-content .woocommerce-mini-cart__total .amount,
	html body header .ct-cart-content .woocommerce-mini-cart__total .woocommerce-Price-amount {
		color: #123b82 !important;
		font-size: 14px !important;
		font-weight: 800 !important;
		white-space: nowrap !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons,
	html body header .ct-cart-content .woocommerce-mini-cart__buttons {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;

		flex: 0 0 auto !important;

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

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons .button,
	html body header .ct-cart-content .woocommerce-mini-cart__buttons .button {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		min-width: 0 !important;
		min-height: 46px !important;

		margin: 0 !important;
		padding: 10px 8px !important;

		font-size: 10.5px !important;
		font-weight: 800 !important;
		line-height: 1.15 !important;
		white-space: nowrap !important;
	}

	/* Não deixa o dropdown antigo criar uma "caixa" interna extra. */
	html body .ct-header-cart .ct-cart-content::before,
	html body header .ct-cart-content::before {
		display: none !important;
	}
}


/* ============================================================
   v0.5.11.76 — MINI CARRINHO MOBILE: CLOSE + QUANTITY GEOMETRY SAFE

   BASE DIRETA: v0.5.11.74.
   NÃO herda a tentativa da v0.5.11.75.

   Corrige:
   - botão X confiável;
   - stepper sem corte/esticamento;
   - preço separado sem invadir o controle.
   ============================================================ */

@media (max-width: 689.98px) {

	/* Estado de fechamento controlado pelo próprio LEO UI.
	   Não depende das classes internas do Blocksy. */
	html body.leo-mini-cart-force-closed .ct-header-cart .ct-cart-content,
	html body.leo-mini-cart-force-closed header .ct-cart-content {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	/* Reserva espaço real para o X sem empurrar os produtos. */
	html body .ct-header-cart .ct-cart-content,
	html body header .ct-cart-content {
		padding-top: 46px !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-mini-cart-close,
	html body header .ct-cart-content .leo-mini-cart-close {
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		inset-inline-end: 10px !important;
		inset-inline-start: auto !important;

		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

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

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

		background: #f8fafc !important;
		color: #334155 !important;
		border: 1px solid #dbe3ec !important;
		border-radius: 999px !important;
		box-shadow: none !important;

		font-family: Arial, sans-serif !important;
		font-size: 18px !important;
		font-weight: 700 !important;
		line-height: 1 !important;

		cursor: pointer !important;
		z-index: 50 !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-mini-cart-close:hover,
	html body .ct-header-cart .ct-cart-content .leo-mini-cart-close:focus-visible,
	html body header .ct-cart-content .leo-mini-cart-close:hover,
	html body header .ct-cart-content .leo-mini-cart-close:focus-visible {
		background: #eef4ff !important;
		color: #123b82 !important;
		outline: 2px solid rgba(18, 59, 130, .18) !important;
		outline-offset: 1px !important;
	}

	/* A .74 forçava 108px, mas o stepper mobile interno usa
	   36 + 50 + 36px. Isso podia cortar o botão +.
	   Agora a geometria é coerente de ponta a ponta. */
	html body .ct-header-cart .ct-cart-content .leo-mini-cart-qty-row,
	html body header .ct-cart-content .leo-mini-cart-qty-row {
		display: grid !important;
		grid-template-columns: 124px minmax(68px, 1fr) !important;
		align-items: center !important;

		column-gap: 10px !important;
		row-gap: 0 !important;

		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 40px !important;
		max-height: none !important;

		margin-top: 8px !important;
		padding: 0 !important;

		overflow: visible !important;
		box-sizing: border-box !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart,
	html body header .ct-cart-content .leo-qty-stepper--mini-cart {
		display: inline-grid !important;
		grid-template-columns: 36px minmax(50px, 1fr) 36px !important;
		align-items: stretch !important;

		grid-column: 1 !important;
		align-self: center !important;
		justify-self: start !important;

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

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

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

		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart .leo-qty-btn,
	html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart .leo-qty-input,
	html body header .ct-cart-content .leo-qty-stepper--mini-cart .leo-qty-btn,
	html body header .ct-cart-content .leo-qty-stepper--mini-cart .leo-qty-input {
		height: 38px !important;
		min-height: 38px !important;
		max-height: 38px !important;

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

		line-height: 38px !important;
		box-sizing: border-box !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart .leo-qty-btn,
	html body header .ct-cart-content .leo-qty-stepper--mini-cart .leo-qty-btn {
		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-qty-stepper--mini-cart .leo-qty-input,
	html body header .ct-cart-content .leo-qty-stepper--mini-cart .leo-qty-input {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	html body .ct-header-cart .ct-cart-content .leo-mini-cart-unit-price,
	html body header .ct-cart-content .leo-mini-cart-unit-price {
		grid-column: 2 !important;
		justify-self: end !important;
		align-self: center !important;

		width: auto !important;
		min-width: 68px !important;
		max-width: 100% !important;

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

		color: #123b82 !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;

		white-space: nowrap !important;
		text-align: right !important;
	}
}

/* ============================================================
   v0.5.11.77 — MINI CARRINHO: NÃO FECHAR AO ATUALIZAR COM MOUSE
   Somente dispositivos de ponteiro fino que suportem hover.
   Respeita toda a geometria homologada da v0.5.11.76.
   Classe só existe enquanto o cliente está usando o dropdown.
   ============================================================ */
@media (hover: hover) and (pointer: fine) and (min-width: 690px) {
    html body .ct-header-cart.leo-cart-hover-keep-open .ct-cart-content {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
    }
}

/* Lote 2 A04: erro persistente quando nem mesmo a leitura do carrinho confirma a quantidade. */
.leo-qty-recovery-notice { margin: 10px 0 !important; padding: 12px !important; font-size: 13px !important; line-height: 1.45 !important; }
.leo-qty-recovery-notice .leo-qty-recovery-reload { display: inline-block !important; margin-top: 6px !important; min-height: 36px !important; font-size: 12px !important; }
.leo-qty-stepper.leo-qty-sync-unknown { opacity: .55 !important; pointer-events: none !important; }

/* v0.5.11.80 — evita quantidade simultânea no mini cart até atualizar
   formulário + totais da página principal. Só durante o AJAX confirmado. */
body.woocommerce-cart.leo-mini-cart-cart-syncing .ct-cart-content .leo-qty-stepper {
    pointer-events: none !important;
    opacity: .65 !important;
}

/* ============================================================
   v0.5.11.82 — A05 / MINI CARRINHO EM CELULAR ESTREITO
   Só <=375 px: não interfere no layout mobile já aprovado acima disso.
   A linha de quantidade ocupa toda a largura disponível no item, com
   preço em uma segunda linha, em vez de forçar 202px na coluna do nome.
   ============================================================ */
@media (max-width: 375px) {
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item .leo-mini-cart-qty-row,
	html body header .ct-cart-content .woocommerce-mini-cart-item .leo-mini-cart-qty-row {
		/* No tema com layout grid, usar ambas as colunas; em layout float,
		   limpar a foto antes de desenhar o controle. */
		grid-column: 1 / -1 !important;
		clear: both !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-auto-rows: auto !important;
		gap: 6px !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		margin-top: 10px !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item .leo-qty-stepper--mini-cart,
	html body header .ct-cart-content .woocommerce-mini-cart-item .leo-qty-stepper--mini-cart {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: start !important;
		flex-shrink: 0 !important;
		/* Mantém EXATAMENTE a geometria 124x40 aprovada na v0.5.11.76. */
		width: 124px !important;
		min-width: 124px !important;
		max-width: 124px !important;
		height: 40px !important;
	}

	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item .leo-mini-cart-unit-price,
	html body header .ct-cart-content .woocommerce-mini-cart-item .leo-mini-cart-unit-price {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: start !important;
		text-align: left !important;
		min-width: 0 !important;
		max-width: 100% !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		margin: 0 !important;
	}

	/* Rodapé com dois botões largos demais em <=320px: um por linha. */
}
@media (max-width: 320px) {
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons,
	html body header .ct-cart-content .woocommerce-mini-cart__buttons {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 8px !important;
	}
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons .button,
	html body header .ct-cart-content .woocommerce-mini-cart__buttons .button {
		min-width: 0 !important;
		width: 100% !important;
		white-space: normal !important;
		font-size: 12px !important;
	}
}

/* v0.5.11.83 — A08: o mobile tem um único estado VISUAL de abertura,
   independente de duplo toggle no estado interno do dropdown do tema. */
@media (max-width: 689.98px) {
	html body.leo-mini-cart-force-open .ct-header-cart .ct-cart-content,
	html body.leo-mini-cart-force-open header .ct-cart-content {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: none !important;
	}
}

/* ============================================================
   v0.5.11.91 — MOBILE: TELA CHEIA + PÁGINA DE FUNDO IMÓVEL
   Base .90 homologada. Somente breakpoint do drawer mobile.
   Não altera a grade dos produtos, stepper, preços, subtotal ou
   botões inferiores; usa os elementos reais .ct-cart-content.
   ============================================================ */
@media (max-width: 689.98px) {
	/* Fecha a faixa do site exposta à esquerda, observada no iPhone.
	   100dvh cobre a área VISÍVEL do site; a barra do navegador iOS
	   pertence ao próprio navegador e não pode ser sobreposta. */
	html body .ct-header-cart .ct-cart-content,
	html body header .ct-cart-content {
		inset: 0 !important;
		inset-inline-start: 0 !important;
		inset-inline-end: 0 !important;
		left: 0 !important;
		right: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		width: 100dvw !important;
		min-width: 100dvw !important;
		max-width: 100dvw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		margin: 0 !important;
		padding: 62px 16px max(14px, env(safe-area-inset-bottom, 0px)) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		overscroll-behavior: contain !important;
	}

	/* Cabeçalho compacto na área superior onde já estava o X. */
	html body .ct-header-cart .ct-cart-content .leo-mini-cart-mobile-title,
	html body header .ct-cart-content .leo-mini-cart-mobile-title {
		position: absolute !important;
		top: 17px !important;
		left: 18px !important;
		right: 70px !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #172033 !important;
		font-size: 17px !important;
		font-weight: 800 !important;
		line-height: 34px !important;
		white-space: nowrap !important;
	}

	/* Mais fácil de tocar; mantém a classe/ação X já homologada. */
	html body .ct-header-cart .ct-cart-content .leo-mini-cart-close,
	html body header .ct-cart-content .leo-mini-cart-close {
		top: 10px !important;
		right: 14px !important;
		inset-inline-end: 14px !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		font-size: 20px !important;
		z-index: 50 !important;
	}

	/* Mantém o gesto de rolagem dentro da lista e impede que o gesto
	   continue para o documento depois de chegar ao fim da lista. */
	html body .ct-header-cart .ct-cart-content .woocommerce-mini-cart,
	html body header .ct-cart-content .woocommerce-mini-cart {
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-y: contain !important;
		touch-action: pan-y !important;
	}

	/* Evita que a página de fundo role enquanto o drawer está aberto.
	   A mudança de estado acontece no JS v.91, pelo mesmo controlador
	   X/ícone/Esc/AJAX já existente na .90. */
	html.leo-mini-cart-background-locked,
	html body.leo-mini-cart-background-locked {
		overflow: hidden !important;
		overscroll-behavior: none !important;
	}
}


/* v0.5.11.92 — Apenas itens totalmente indisponíveis; UI normal intocada. */
.leo-qty-stepper--stock-unavailable {
	opacity: .55 !important;
}
.leo-qty-stepper--stock-unavailable .leo-qty-input {
	cursor: not-allowed !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name .leo-cart-stock-unavailable,
body.woocommerce-cart .woocommerce-cart-form .product-name .leo-cart-stock-unavailable {
	display: block !important;
	max-width: 100% !important;
	margin-top: 5px !important;
	color: #b42318 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}

/* v0.5.11.94 — Sessão inválida no checkout: a NoticeGroup do Woo já
   informa o erro. Ocultar somente o resumo antigo comprovado no DOM;
   não ocultar erros de estoque, frete nem pagamento de outras sessões. */
body.woocommerce-checkout.leo-checkout-session-expired form.checkout .ct-order-review {
	display: none !important;
}
body.woocommerce-checkout form.checkout .leo-qty-native-session-wired .leo-qty-checkout-reload {
	margin-inline-start: 12px !important;
	margin-block: 6px !important;
	min-height: 40px !important;
}
