/*
 * Sousènsi — carrinho (templates em woocommerce/cart/, regras em inc/carrinho.php): título, um
 * produto por linha e o resumo do pedido ao lado, fixo na rolagem no desktop. No celular, o
 * resumo vem depois dos produtos.
 */

body.sd .sd-carrinho {
	max-width: 1160px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 56px) 0 0;   /* embaixo, os 70px que o tema já põe antes do rodapé */
	color: var(--sd-ink);
}

/* -------------------------------------------------------------- título */

body.sd .sd-carrinho__topo {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 16px;
	margin: 0 0 clamp(24px, 3vw, 40px);
}
body.sd .sd-carrinho__titulo { margin: 0 !important; }
/* O destaque do título em Trirong itálico, como no resto do site (o tema força a fonte do texto no carrinho) */
body.sd .sd-carrinho .sd-carrinho__titulo em {
	font-family: var(--sd-accent) !important;
	font-style: italic !important;
	font-weight: var(--sd-accent-weight) !important;
}
body.sd .sd-carrinho__qtd { margin: 0; font-size: 0.9375rem; color: var(--sd-ink-soft); }

body.sd .sd-carrinho__grade {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
	gap: clamp(32px, 4vw, 64px);
	align-items: start;
}

/* -------------------------------------------------------------- barra de frete grátis (snippet 18) */

body.sd .sd-carrinho .ss-frete {
	margin: 0 0 8px;
	padding: 0 0 20px;
	background: none;
	border: 0;
	border-radius: 0;
}
body.sd .sd-carrinho .ss-frete__topo { margin-bottom: 10px; }
body.sd .sd-carrinho .ss-frete__txt { font-size: 0.9375rem !important; }
body.sd .sd-carrinho .ss-frete__txt strong,
body.sd .sd-carrinho .ss-frete__txt .amount,
body.sd .sd-carrinho .ss-frete__txt .amount * { font-weight: 500 !important; }
body.sd .sd-carrinho .ss-frete__ok { width: 18px; height: 18px; font-size: 11px; background: var(--sd-blue-deep); }
body.sd .sd-carrinho .ss-frete__barra { height: 4px; background: var(--sd-mist); }
body.sd .sd-carrinho .ss-frete__barra span { background: var(--sd-blue-deep); }
/* "Continuar comprando" já está no fim da lista */
body.sd .sd-carrinho .ss-frete__link { display: none !important; }

/* -------------------------------------------------------------- produtos */

body.sd .sd-carrinho__lista { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--sd-line); }
body.sd .sd-carrinho__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) auto minmax(96px, auto);
	grid-template-areas: "midia info qtd preco";
	gap: 8px 24px;
	align-items: center;
	margin: 0;
	padding: 24px 0;
	border-bottom: 1px solid var(--sd-line);
}
body.sd .sd-carrinho__midia { grid-area: midia; }
body.sd .sd-carrinho__midia a { display: block; }
body.sd .sd-carrinho__foto {
	display: block;
	width: 88px !important;
	height: 88px !important;
	object-fit: cover;
	border-radius: 8px;
	background: var(--sd-white);
}
body.sd .sd-carrinho__info { grid-area: info; min-width: 0; }
body.sd .sd-carrinho__nome { margin: 0; font-size: 1.0625rem; line-height: 1.4; }
body.sd .sd-carrinho__nome a { color: var(--sd-ink) !important; text-decoration: none !important; }
body.sd .sd-carrinho__nome a:hover { text-decoration: underline !important; text-underline-offset: 4px; }
body.sd .sd-carrinho__versao { margin: 2px 0 0; font-size: 0.875rem; color: var(--sd-ink-soft); }
body.sd .sd-carrinho__info .variation { margin: 2px 0 0; font-size: 0.875rem; color: var(--sd-ink-soft); }

/* "Remover": link discreto no lugar do × redondo do WooCommerce */
body.sd .sd-carrinho .product-remove { display: block; margin-top: 8px; }
body.sd .sd-carrinho a.remove.sd-carrinho__remover {
	display: inline !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	text-align: left !important;
	color: var(--sd-ink-soft) !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-decoration: underline !important;
	text-decoration-color: var(--sd-line) !important;
	text-underline-offset: 4px;
}
body.sd .sd-carrinho a.remove.sd-carrinho__remover:hover { color: var(--sd-ink) !important; text-decoration-color: currentColor !important; }

/* Quantidade: o seletor do tema (− número +), compacto */
body.sd .sd-carrinho__qtd-campo { grid-area: qtd; }
body.sd .sd-carrinho__qtd-campo .quantity {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--sd-sky) !important;
	border-radius: 8px !important;
	background: var(--sd-white) !important;
}
body.sd .sd-carrinho__qtd-campo .quantity button {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--sd-blue-deep) !important;
	background: none !important;
	border: 0 !important;
	font-size: 10px;
}
body.sd .sd-carrinho__qtd-campo .quantity input.qty {
	order: 0;
	width: 32px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: center;
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	color: var(--sd-ink) !important;
	-moz-appearance: textfield;
}
body.sd .sd-carrinho__qtd-campo .quantity .js-quantity-minus { order: -1; }
body.sd .sd-carrinho__qtd-campo .quantity .js-quantity-plus { order: 1; }
body.sd .sd-carrinho__qtd-campo .quantity input.qty::-webkit-inner-spin-button,
body.sd .sd-carrinho__qtd-campo .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

body.sd .sd-carrinho__preco { grid-area: preco; text-align: right; font-size: 1rem; font-weight: 500; }
body.sd .sd-carrinho__unitario { display: block; margin-top: 2px; font-size: 0.8125rem; font-weight: 400; color: var(--sd-ink-soft); }
/* Item em promoção: o preço de tabela riscado com o selo, e embaixo o preço promocional (inc/carrinho.php) */
body.sd .sd-item-preco { display: inline-grid; justify-items: end; gap: 3px; }
body.sd .sd-item-preco__de { display: inline-flex; align-items: center; gap: 6px; font-size: 0.8125rem; font-weight: 400; color: var(--sd-ink-soft); }
body.sd .sd-item-preco__de del { text-decoration: line-through; }
body.sd .sd-item-preco__de del .amount { font-weight: 400; color: inherit; }
body.sd .sd-item-preco__selo {
	display: inline-block;
	padding: 3px 7px;
	border-radius: var(--sd-pill);
	background: var(--sd-blue-deep);
	color: var(--sd-white);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
}
body.sd .sd-item-preco__por { background: none; text-decoration: none; }

body.sd .sd-carrinho__acoes { display: flex; justify-content: space-between; align-items: center; margin-top: 20px; }
/* "Continuar comprando": pílula de contorno fino, como os botões secundários do site */
body.sd .sd-carrinho__continuar {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	height: auto !important;
	min-height: 44px !important;
	max-height: none !important;
	padding: 12px 22px !important;
	font-size: 0.6875rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border: 1px solid var(--sd-sky) !important;
	border-radius: var(--sd-pill) !important;
}
body.sd .sd-carrinho__continuar svg { flex: none; transition: transform 0.2s var(--sd-ease); }
body.sd .sd-carrinho__continuar svg,
body.sd .sd-carrinho__continuar svg * { fill: none !important; stroke: currentColor !important; }
body.sd .sd-carrinho__continuar:hover svg { transform: translateX(-3px); }
/* O tema clica nele sozinho quando a quantidade muda */
body.sd .sd-carrinho__atualizar { display: none !important; }

/* -------------------------------------------------------------- resumo do pedido */

body.sd .sd-carrinho__resumo { position: sticky; top: 112px; }
body.sd .sd-carrinho .cart-collaterals { width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.sd .sd-resumo {
	padding: clamp(20px, 2.4vw, 32px);
	background: var(--sd-white);
	border: 1px solid var(--sd-line);
	border-radius: 12px;
}
body.sd .sd-resumo::before { content: none !important; }
body.sd .sd-resumo__titulo {
	margin: 0 0 16px !important;
	font-family: var(--sd-text) !important;
	font-size: var(--sd-caps-size) !important;
	font-weight: 500 !important;
	letter-spacing: var(--sd-caps-tracking) !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
	color: var(--sd-ink) !important;
}

/* Cupom (formulário do tema): uma linha que abre o campo */
body.sd .sd-resumo .c-cart__coupon { margin: 0 0 8px; padding: 0 0 12px; border-bottom: 1px solid var(--sd-line); }
/* O tema desenha uma linha 40px além das bordas, por baixo do cupom; o cartão já tem a sua */
body.sd .sd-resumo .c-cart__coupon::after,
body.sd .sd-carrinho .cart-collaterals::after { content: none !important; }
body.sd .sd-resumo .js-cart-coupon { display: block; color: inherit !important; text-decoration: none !important; }
body.sd .sd-resumo .c-cart__coupon-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 4px 0;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	color: var(--sd-ink-soft) !important;
}
/* "Tem um cupom de desconto? Adicionar": a pergunta em marrom suave, a ação como link (woocommerce/checkout/form-coupon.php) */
body.sd .sd-resumo .c-cart__coupon-header > span:first-child { color: var(--sd-ink); }
body.sd .sd-resumo .sd-resumo__cupom-acao { display: inline-flex; align-items: center; gap: 6px; color: var(--sd-blue-deep); text-decoration: underline; text-decoration-color: var(--sd-sky); text-underline-offset: 4px; white-space: nowrap; }
body.sd .sd-resumo .js-cart-coupon:hover .sd-resumo__cupom-acao { text-decoration-color: currentColor; }
body.sd .sd-resumo .c-cart__select-icon { display: none; } /* a seta do tema; o link "Adicionar" já diz o que fazer */
body.sd .sd-resumo .c-cart__coupon-form { display: flex; gap: 8px; padding-top: 10px; }
body.sd .sd-resumo .c-cart__coupon-form input,
body.sd .sd-resumo__calculadora input.input-text {
	flex: 1 1 auto;
	min-width: 0;
	height: 44px !important;
	padding: 0 14px !important;
	font-size: 0.9375rem !important;
	border: 1px solid var(--sd-sky) !important;
	border-radius: 8px !important;
	background: var(--sd-white) !important;
}
/* Foco: o mesmo dos campos do Fale conosco, no lugar do anel do navegador somado à borda do tema */
body.sd .sd-resumo .c-cart__coupon-form input:focus,
body.sd .sd-resumo .c-cart__coupon-form input:focus-visible,
body.sd .sd-resumo__calculadora input.input-text:focus,
body.sd .sd-resumo__calculadora input.input-text:focus-visible { outline: none !important; border-color: var(--sd-blue-deep) !important; box-shadow: 0 0 0 3px rgba(111, 135, 161, 0.15) !important; }
body.sd .sd-resumo .c-cart__coupon-apply,
body.sd .sd-resumo__calculadora button {
	flex: none;
	height: 44px !important;
	min-height: 0 !important;
	padding: 0 18px !important;
	font-size: 0.6875rem !important;
	letter-spacing: 0.1em !important;
	border-radius: var(--sd-pill) !important;
}

/* Linhas: rótulo à esquerda, valor à direita */
body.sd .sd-resumo__linhas { display: flex; flex-direction: column; }
body.sd .sd-resumo__linha {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 10px 0 0;
	font-size: 0.9375rem;
	line-height: 1.45;
}
body.sd .sd-resumo__valor { text-align: right; font-weight: 500; }
body.sd .sd-resumo__valor .amount { font-weight: 500; }
body.sd .sd-resumo__valor--nota { font-size: 0.875rem; font-weight: 400; color: var(--sd-ink-soft); }
body.sd .sd-resumo__gratis { color: var(--sd-blue-deep); font-weight: 500; }
/* Cupons em terracota; o cupom diz embaixo o que dá */
body.sd .sd-resumo .sd-desconto,
body.sd .sd-resumo .sd-desconto .amount,
body.sd .sd-resumo .cart-discount .sd-resumo__valor { color: var(--sd-clay); }
body.sd .sd-resumo .cart-discount > span:first-child small { display: block; font-size: 0.75rem; line-height: 1.4; color: var(--sd-ink-soft); }
body.sd .sd-resumo .woocommerce-remove-coupon { margin-left: 6px; font-size: 0.8125rem; font-weight: 400; color: var(--sd-ink-soft); }

/* Frete: opções, destino e o link para calcular com o CEP */
body.sd .sd-resumo__opcoes { margin: 6px 0 0 !important; padding: 0 !important; list-style: none !important; }
body.sd .sd-resumo__opcoes li { margin: 0 !important; padding: 4px 0 !important; }
body.sd .sd-resumo__opcoes li label {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 0 !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	color: var(--sd-ink) !important;
	cursor: pointer;
}
body.sd .sd-resumo__opcoes:not(.sd-resumo__opcoes--unica) li { display: flex; align-items: baseline; gap: 8px; }
body.sd .sd-resumo__opcoes:not(.sd-resumo__opcoes--unica) li label { flex: 1; }
body.sd .sd-resumo__opcoes input[type="radio"] { accent-color: var(--sd-blue-deep); margin: 0; }
body.sd .sd-resumo__opcoes--unica li label { font-size: 0.8125rem !important; color: var(--sd-ink-soft) !important; cursor: default; }
body.sd .sd-resumo__destino { margin: 2px 0 0; font-size: 0.8125rem; line-height: 1.5; color: var(--sd-ink-soft); }
body.sd .sd-resumo__destino:empty { display: none; }
body.sd .sd-resumo__destino strong { font-weight: 500; color: var(--sd-ink); }
body.sd .sd-resumo__calculadora { margin: 4px 0 0; }
body.sd .sd-resumo__calculadora .shipping-calculator-button {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: var(--sd-blue-deep) !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
	border: 0 !important;
}
body.sd .sd-resumo__calculadora .shipping-calculator-button::after { content: none !important; }
body.sd .sd-resumo__calculadora .shipping-calculator-form { padding-top: 10px; }
body.sd .sd-resumo__calculadora .shipping-calculator-form:not([style*="none"]) { display: flex !important; gap: 8px; }
body.sd .sd-resumo__calculadora .form-row,
body.sd .sd-resumo__calculadora .update-button { margin: 0 !important; padding: 0 !important; }
body.sd .sd-resumo__calculadora .form-row { flex: 1 1 auto; }
body.sd .sd-resumo__calculadora .form-row input { width: 100%; }

/* Total, Pix e parcelamento */
body.sd .sd-resumo__total {
	margin-top: 14px;
	padding-top: 16px;
	border-top: 1px solid var(--sd-line);
	font-size: 1.0625rem;
	align-items: center;
}
body.sd .sd-resumo__total .sd-resumo__valor,
body.sd .sd-resumo__total .amount { font-size: 1.5rem; font-weight: 500; }
body.sd .sd-resumo__total small { display: block; font-size: 0.75rem; font-weight: 400; color: var(--sd-ink-soft); }
body.sd .sd-resumo__economia { margin: 6px 0 0; font-size: 0.875rem; line-height: 1.5; text-align: right; color: var(--sd-ink-soft); }
body.sd .sd-resumo__economia strong,
body.sd .sd-resumo__economia .amount { font-weight: 500; color: var(--sd-clay); }
body.sd .sd-resumo__pagamento { margin: 8px 0 0; font-size: 0.8125rem; line-height: 1.6; text-align: right; color: var(--sd-ink-soft); } /* Pix e parcelas: base.css */
body.sd .sd-resumo__pagamento .sd-pagamento__pix { font-size: 0.9375rem; }

/* Botão e garantias */
body.sd .sd-resumo__acao { margin: 20px 0 0 !important; padding: 0 !important; }
body.sd.woocommerce-cart .sd-resumo__acao a.checkout-button { display: flex !important; width: 100% !important; margin: 0 !important; }
body.sd .sd-resumo__garantias { display: grid; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
body.sd .sd-resumo__garantias li { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 0.8125rem; line-height: 1.5; color: var(--sd-ink-soft); }
body.sd .sd-resumo__garantias svg { flex: none; margin-top: 1px; color: var(--sd-blue); }
body.sd .sd-resumo__garantias svg,
body.sd .sd-resumo__garantias svg * { fill: none !important; stroke: currentColor !important; }
body.sd .sd-resumo__garantias a { color: var(--sd-ink) !important; text-decoration: underline; text-decoration-color: var(--sd-line); text-underline-offset: 4px; }

/* A faixa de garantias do rodapé repetiria as do resumo, logo acima */
body.sd.woocommerce-cart .sd-footer__trust { display: none; }

/* -------------------------------------------------------------- carrinho vazio */

body.sd .sd-carrinho__vazio.wc-empty-cart-message {
	max-width: 560px;
	margin: 0 auto !important;
	padding: clamp(24px, 6vw, 80px) 0;
	text-align: center !important;
	font-size: 1rem !important;
	letter-spacing: 0 !important;
}
body.sd .sd-carrinho__vazio .sd-section__lead { margin: 16px auto 28px; letter-spacing: 0; }
body.sd .sd-carrinho__loja {
	display: inline-flex !important;
	align-items: center;
	height: auto !important;
	min-height: 52px !important;
	line-height: 1.2 !important;
	padding: 0 32px !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--sd-white) !important;
	background: var(--sd-blue-deep) !important;
	border-radius: var(--sd-pill) !important;
}
body.sd .sd-carrinho__loja:hover { background: var(--sd-blue-deep) !important; box-shadow: var(--sd-lift) !important; transform: translateY(-1px); }

/* -------------------------------------------------------------- celular e tablet */

@media (max-width: 960px) {
	body.sd .sd-carrinho__grade { grid-template-columns: minmax(0, 1fr); }
	body.sd .sd-carrinho__resumo { position: static; }
}

@media (max-width: 600px) {
	/* Foto à esquerda; nome em cima, quantidade e preço na mesma linha embaixo */
	body.sd .sd-carrinho__item {
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas: "midia info info" "midia qtd preco";
		gap: 12px 16px;
		align-items: start;
		padding: 20px 0;
	}
	body.sd .sd-carrinho__foto { width: 72px !important; height: 72px !important; }
	body.sd .sd-carrinho__qtd-campo,
	body.sd .sd-carrinho__preco { align-self: center; }
	body.sd .sd-carrinho__nome { font-size: 1rem; }
}

/* Volta do Mercado Pago sem pagar (inc/carrinho.php) */
body.sd .sd-carrinho__aviso {
	width: min(1160px, calc(100% - 40px));
	margin: clamp(20px, 3vw, 36px) auto 0 !important;
	padding: 12px 16px;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--sd-ink);
	background: var(--sd-white);
	border: 1px solid var(--sd-sky);
	border-radius: 8px;
}
body.sd .sd-carrinho__aviso strong { font-weight: 500; }

