/*
 * Sousènsi — checkout (Fluid Checkout, em etapas; regras em inc/checkout.php). O plugin desenha
 * tudo a partir de variáveis --fluidcheckout--*: aqui elas apontam para a paleta e as medidas do
 * site (campos como os do Fale conosco, botões em pílula, cartões como o resumo do carrinho), e o
 * restante são ajustes de tipografia. Sem cabeçalho e rodapé do site: só o logo, "Compra segura"
 * e um rodapé mínimo com o atendimento e a barra legal.
 */

/* Seletor mais forte que o do plugin, que grava algumas variáveis inline */
:root body.sd.woocommerce-checkout.has-fluid-checkout[class*="has-fc-design-template"] {
	--fluidcheckout--color--black: var(--sd-ink);
	--fluidcheckout--color--darker-grey: var(--sd-ink);
	--fluidcheckout--color--dark-grey: var(--sd-ink-soft);
	--fluidcheckout--color--grey: var(--sd-ink-soft);
	--fluidcheckout--color--light-grey: var(--sd-line);
	--fluidcheckout--color--lighter-grey: var(--sd-paper);
	--fluidcheckout--color--white: var(--sd-white);
	--fluidcheckout--color--success: var(--sd-blue-deep);
	--fluidcheckout--color--success-highlight: var(--sd-mist);
	--fluidcheckout--color--error: var(--sd-clay);
	--fluidcheckout--color--alert: var(--sd-clay);
	--fluidcheckout--border-color: var(--sd-line);

	--fluidcheckout--header--background-color: var(--sd-paper);
	--fluidcheckout--footer--background-color: var(--sd-blue-deep);
	--fluidcheckout--footer--border-width--large-screen: 0;

	--fluidcheckout--section--background-color: var(--sd-white);
	--fluidcheckout--section--highlighted-background-color: var(--sd-white);
	--fluidcheckout--section--border-color: var(--sd-line);
	--fluidcheckout--section--border-radius: 12px;

	--fluidcheckout--field--height: 48px;
	--fluidcheckout--field--font-size: 16px;
	--fluidcheckout--field--padding-left: 14px;
	--fluidcheckout--field--border-color: var(--sd-sky);
	--fluidcheckout--field--border-radius: 8px;
	--fluidcheckout--field--background-color: var(--sd-white);
	--fluidcheckout--field--text-color: var(--sd-ink);
	--fluidcheckout--field--background-color--accent: var(--sd-blue-deep);

	--fluidcheckout--option-box--border-color: var(--sd-line);
	--fluidcheckout--option-box--border-color--hover: var(--sd-sky);
	--fluidcheckout--option-box--border-radius: 8px;
	--fluidcheckout--option-box--background-color--checked: var(--sd-paper);
	--fluidcheckout--option-box--background-color--hover: var(--sd-paper);
	--fluidcheckout--option-box--radio-color: var(--sd-sky);
	--fluidcheckout--option-box--radio-color--checked: var(--sd-blue-deep);
	--fluidcheckout--option-box--label-color--checked: var(--sd-ink);
	--fluidcheckout--option-box--spacing--vertical: 14px;
	--fluidcheckout--option-box--spacing--horizontal: 14px;

	--fluidcheckout--button--height: 54px;
	--fluidcheckout--button--border-radius: var(--sd-pill);
	--fluidcheckout--button--primary--background-color: var(--sd-blue-deep);
	--fluidcheckout--button--primary--border-color: var(--sd-blue-deep);
	--fluidcheckout--button--primary--background-color--hover: var(--sd-ink);
	--fluidcheckout--button--primary--border-color--hover: var(--sd-ink);

	--fluidcheckout--checkout-progress--background-color: transparent;
	--fluidcheckout--checkout-progress--bar-color: var(--sd-line);
	--fluidcheckout--checkout-progress--bar-color--current: var(--sd-blue-deep);
	--fluidcheckout--checkout-progress--bar-color--complete: var(--sd-blue-deep);
	--fluidcheckout--checkout-progress--step-count--text-color: var(--sd-ink-soft);

	--fluidcheckout--order-summary--background-color: var(--sd-white);
	--fluidcheckout--order-summary--border-color: var(--sd-line);
	/* Linhas internas do resumo mais claras que a borda do painel (04/11/2026); só a linha acima do
	   Total fica na cor da borda, para marcar o total. Os itens da lista ficam com linha cheia */
	--fluidcheckout--order-summary--cell-border-color: var(--sd-line-soft);
	--fluidcheckout--order-summary--cell-border-color--products: var(--sd-line-soft);
	--fluidcheckout--order-summary--cell-border-color--products-list: var(--sd-line-soft);
	--fluidcheckout--order-summary--cell-border-color--summary: var(--sd-line-soft);
	--fluidcheckout--order-summary--cell-border-color--totals-top: var(--sd-line);
	--fluidcheckout--order-summary--cell-border-color--totals-bottom: var(--sd-line-soft);
	--fluidcheckout--order-summary--highlighted-total-background-color: transparent;
	--fluidcheckout--order-summary--image-border-width: 0;
	--fluidcheckout--order-summary--image-padding: 0;
	--fluidcheckout--order-summary--image-border-radius: 8px;
	--fluidcheckout--order-summary--image-width: 56px;
	--fluidcheckout--order-summary--image-width--large-screen: 56px;
	--fluidcheckout--order-summary--quantity-background-color: var(--sd-blue-deep);

	--fluidcheckout--coupon-code--border-radius: 8px;
	--fluidcheckout--coupon-code--border-style: solid;
	--fluidcheckout--coupon-code--highlight-background-color: var(--sd-mist);
	--fluidcheckout--discount-section--border-color: var(--sd-line);
}

body.sd.woocommerce-checkout { background: var(--sd-paper) !important; color: var(--sd-ink); }
body.sd.woocommerce-checkout,
body.sd.woocommerce-checkout :is(input, select, textarea, button, label) { font-family: var(--sd-text) !important; }

/* A faixa do topo do site caía no pé da página (o cabeçalho do site não sai no checkout) */
body.sd.woocommerce-checkout .woocommerce-store-notice { display: none !important; }

/* -------------------------------------------------------------- cabeçalho */

body.sd .fc-checkout-header { border-bottom: 1px solid var(--sd-line) !important; box-shadow: none !important; }
body.sd .fc-checkout-header__inner { display: flex; align-items: center; gap: 16px; }
body.sd .fc-checkout__branding img { width: auto !important; height: 30px !important; max-height: none !important; }
body.sd .sd-checkout__seguro {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 0 auto;
	font-size: 0.8125rem;
	color: var(--sd-ink-soft);
}
body.sd .sd-checkout__seguro svg { flex: none; color: var(--sd-blue); }
body.sd .sd-checkout__seguro svg,
body.sd .sd-checkout__seguro svg * { fill: none !important; stroke: currentColor !important; }
/* No celular, o resumo do pedido ocupa o lado direito do cabeçalho */
@media (max-width: 999px) {
	body.sd .sd-checkout__seguro { display: none; }
}

/* -------------------------------------------------------------- progresso */

body.sd .fc-progress-bar__count {
	font-size: var(--sd-caps-size) !important;
	font-weight: 500 !important;
	letter-spacing: var(--sd-caps-tracking) !important;
	text-transform: uppercase !important;
	color: var(--sd-ink-soft) !important;
}
body.sd .fc-progress-bar__count * { font: inherit !important; letter-spacing: inherit !important; }
body.sd .fc-progress-bar__bar,
body.sd .fc-progress-bar__step { height: 2px !important; border-radius: 2px !important; }
body.sd .fc-progress-bar__inner { box-shadow: none !important; border: 0 !important; background: var(--sd-paper) !important; }

/* -------------------------------------------------------------- etapas */

body.sd .fc-step__substep-title,
body.sd .fc-checkout-step h3.fc-step__substep-title {
	/* Rótulo discreto, o mesmo de "Resumo do pedido" */
	font-family: var(--sd-text) !important;
	font-size: var(--sd-caps-size) !important;
	font-weight: 500 !important;
	letter-spacing: var(--sd-caps-tracking) !important;
	text-transform: uppercase !important;
	line-height: 1.35 !important;
	color: var(--sd-ink) !important;
}
/* A seção do cupom não tem título nem resumo: concluída a etapa 1, sobrava uma linha só com
   "Alterar". O cupom aplicado continua no resumo, e depois da etapa 1 ele se adiciona pelo
   "Editar carrinho" */
body.sd .fc-step__substep[data-substep-id="coupon_codes"]:has(> .fc-step__substep-fields.is-collapsed) { display: none !important; }
/* O rótulo é mais baixo que a primeira linha do valor: alinha os dois (só com as colunas lado a lado) */
@media (min-width: 1000px) {
	body.sd .fc-step__substep-text-content { margin-top: -4px !important; }
}
/* Etapas concluídas: uma linha com o que foi preenchido e "Alterar" */
body.sd .fc-step__substep-text,
body.sd .fc-step__substep-text-content,
body.sd .fc-step__substep-text-content * {
	font-size: 0.9375rem !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	color: var(--sd-ink) !important;
}
body.sd .fc-step__substep-text-content em { font-family: var(--sd-text) !important; font-style: normal !important; color: var(--sd-ink-soft) !important; }
body.sd a.fc-step__substep-edit,
body.sd .fc-step__substep-edit {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: var(--sd-blue-deep) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--sd-sky) !important;
	text-underline-offset: 4px;
}
body.sd .fc-step__substep-edit:hover { text-decoration-color: currentColor !important; }

/* -------------------------------------------------------------- campos */

body.sd.woocommerce-checkout .form-row label,
body.sd.woocommerce-checkout .woocommerce-form__label {
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--sd-ink) !important;
}
body.sd.woocommerce-checkout .form-row .required { color: var(--sd-ink-soft) !important; text-decoration: none !important; }
body.sd.woocommerce-checkout .woocommerce :is(input.input-text, select, textarea) {
	border: 1px solid var(--sd-sky) !important;   /* o tema deixava cinza os campos ainda não validados */
	border-radius: 8px !important;
	font-size: 16px !important;   /* 16px evita o zoom automático no iPhone */
	font-weight: 400 !important;
	color: var(--sd-ink) !important;
	background-color: var(--sd-white) !important;
	box-shadow: none !important;
}
body.sd.woocommerce-checkout .woocommerce :is(input.input-text, select, textarea):focus { border-color: var(--sd-blue-deep) !important; }
body.sd.woocommerce-checkout .woocommerce ::placeholder { color: var(--sd-ink-soft) !important; opacity: 0.8 !important; }
body.sd.woocommerce-checkout .form-row .description {
	margin: 8px 0 0 !important; /* o Fluid Checkout zera a margem com !important; sem isso o texto cola no campo */
	padding: 0 !important;
	font-size: 0.8125rem !important;
	line-height: 1.5 !important;
	color: var(--sd-ink-soft) !important;
	background: none !important;
	opacity: 1 !important;
}
body.sd.woocommerce-checkout .form-row .description::before { content: none !important; }
/* Erros: borda e marca em terracota, texto em marrom (terracota em letra pequena fica abaixo de 4,5:1) */
body.sd.woocommerce-checkout .woocommerce-invalid :is(input.input-text, select, textarea) { border-color: var(--sd-clay) !important; }
body.sd.woocommerce-checkout :is(.fc-inline-error, .checkout-inline-error-message) { font-size: 0.8125rem !important; color: var(--sd-ink) !important; background: none !important; }
body.sd.woocommerce-checkout :is(.fc-inline-error, .checkout-inline-error-message)::before { color: var(--sd-clay) !important; }
/* "Adicionar complemento (opcional)" e afins */
body.sd.woocommerce-checkout .fc-expansible-form-section__toggle-plus,
body.sd.woocommerce-checkout a.expansible-section__toggle-plus { font-size: 0.875rem !important; color: var(--sd-blue-deep) !important; text-decoration: none !important; }
body.sd.woocommerce-checkout .expansible-section__toggle-plus::before { color: var(--sd-blue-deep) !important; }

/* Caixas de seleção (endereço de cobrança, termos): o tema tira o desenho nativo e não mostrava
   a marca; aqui, quadrado de contorno azul claro que fica azul profundo, com a marca branca */
body.sd.woocommerce-checkout input[type="checkbox"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	flex: none;
	width: 20px !important;
	height: 20px !important;
	margin: 0 10px 0 0 !important;
	vertical-align: -4px;
	border: 1px solid var(--sd-sky) !important;
	border-radius: 4px !important;
	background: var(--sd-white) center / 14px no-repeat !important;
	cursor: pointer;
}
body.sd.woocommerce-checkout input[type="checkbox"]:checked {
	border-color: var(--sd-blue-deep) !important;
	background-color: var(--sd-blue-deep) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important;
}
body.sd.woocommerce-checkout input[type="checkbox"]::before,
body.sd.woocommerce-checkout input[type="checkbox"]::after { content: none !important; }
body.sd.woocommerce-checkout label.checkbox { display: inline-flex !important; align-items: center; }

/* "Seus dados" (fim da etapa de entrega): o CPF (só para quem quer na nota) e o celular primeiro; depois a
   caixa do endereço de cobrança e, só para quem a desmarca, os campos de outro endereço */
body.sd [data-substep-id="billing_address"] .woocommerce-billing-fields { display: flex; flex-direction: column; }
body.sd [data-substep-id="billing_address"] .woocommerce-billing-only-fields__field-wrapper { order: 1; margin-top: 0 !important; }
body.sd [data-substep-id="billing_address"] .fc-same-address-checkbox { order: 2; margin: 16px 0 0 !important; }
body.sd [data-substep-id="billing_address"] .woocommerce-billing-fields__field-wrapper { order: 3; }
body.sd [data-substep-id="billing_address"] .woocommerce-billing-fields__field-wrapper > .collapsible-content__inner { padding-top: 20px; }
/* "Informar CPF para nota fiscal": a caixa na linha toda; o CPF só aparece com ela marcada */
body.sd #billing_cpf_field[hidden] { display: none !important; }

/* -------------------------------------------------------------- formas de entrega e pagamento */

body.sd .shipping-method__option-text,
body.sd .payment-method__label-text { font-size: 0.9375rem !important; font-weight: 400 !important; color: var(--sd-ink) !important; }
body.sd .shipping-method__option-price,
body.sd .shipping-method__option-price .amount { font-size: 0.9375rem !important; font-weight: 500 !important; color: var(--sd-ink) !important; }
/* O Fluid Checkout põe o "R$" da forma de entrega em 700; o valor inteiro fica no mesmo peso */
body.sd .shipping-method__option-price .woocommerce-Price-currencySymbol { font-weight: inherit !important; }
/* O tema forçava o botão de opção nativo a aparecer, numa faixa vazia acima de cada forma de
   pagamento; o Fluid Checkout desenha o marcador no rótulo. Fica oculto, mas ainda focável */
body.sd .wc_payment_methods > li > input.input-radio {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	opacity: 0 !important;
}
body.sd.woocommerce-checkout .payment_box,
body.sd.woocommerce-checkout .payment_box p { font-size: 0.875rem !important; color: var(--sd-ink-soft) !important; }

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

body.sd .fc-checkout-order-review { border-radius: 12px !important; }
body.sd .fc-checkout-order-review__head { align-items: baseline; }
body.sd .fc-checkout-order-review-title,
body.sd .fc-checkout-order-review__head h3 {
	font-size: var(--sd-caps-size) !important;
	font-weight: 500 !important;
	letter-spacing: var(--sd-caps-tracking) !important;
	text-transform: uppercase !important;
	color: var(--sd-ink) !important;
}
body.sd a.fc-checkout-order-review__edit-cart,
body.sd .fc-checkout-order-review__header-link {
	font-size: 0.8125rem !important;
	font-weight: 400 !important;
	color: var(--sd-blue-deep) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--sd-sky) !important;
	text-underline-offset: 4px;
}
body.sd .fc-checkout-order-review .cart_item img { object-fit: cover; background: var(--sd-paper); }
body.sd .fc-checkout-order-review .cart_item td { border-bottom-style: solid !important; }
body.sd .fc-checkout-order-review .cart-item__name { font-size: 0.9375rem !important; font-weight: 400 !important; line-height: 1.45 !important; color: var(--sd-ink) !important; }
/* O preço unitário repetia o da direita */
body.sd .fc-checkout-order-review .cart-item__price { display: none !important; }
body.sd .fc-checkout-order-review .product-quantity { font-size: 0.6875rem !important; font-weight: 500 !important; }
body.sd .fc-checkout-order-review .product-total,
body.sd .fc-checkout-order-review .product-total .amount { font-size: 0.9375rem !important; font-weight: 500 !important; color: var(--sd-ink) !important; }
/* Item em promoção: preço de tabela riscado com o selo, e o promocional embaixo (inc/carrinho.php) */
body.sd .fc-checkout-order-review .product-total .sd-item-preco { display: inline-grid; justify-items: end; gap: 3px; }
body.sd .fc-checkout-order-review .product-total .sd-item-preco__de { display: inline-flex; align-items: center; gap: 6px; font-size: 0.75rem !important; font-weight: 400 !important; color: var(--sd-ink-soft) !important; }
body.sd .fc-checkout-order-review .product-total .sd-item-preco__de del { text-decoration: line-through; }
body.sd .fc-checkout-order-review .product-total .sd-item-preco__de .amount { font-size: inherit !important; font-weight: 400 !important; color: inherit !important; }
body.sd .fc-checkout-order-review .product-total .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.625rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
}
body.sd .fc-checkout-order-review .product-total .sd-item-preco__por { background: none; text-decoration: none; }
/* Cupons em terracota, e o cupom dizendo embaixo o que dá */
body.sd .fc-checkout-order-review tfoot .sd-desconto,
body.sd .fc-checkout-order-review tfoot .sd-desconto .amount,
body.sd .fc-checkout-order-review tfoot .cart-discount td,
body.sd .fc-checkout-order-review tfoot .cart-discount td .amount { color: var(--sd-clay) !important; }
body.sd .fc-checkout-order-review tfoot .cart-discount th small { display: block; font-size: 0.75rem !important; line-height: 1.4; color: var(--sd-ink-soft) !important; }
body.sd .fc-checkout-order-review tfoot .cart-discount .woocommerce-remove-coupon { margin-left: 6px; font-size: 0.8125rem !important; font-weight: 400 !important; color: var(--sd-ink-soft) !important; text-decoration: underline; text-underline-offset: 3px; }
body.sd .fc-checkout-order-review tfoot .sd-checkout__economia td {
	padding-top: 0 !important;
	border-top: 0 !important;
	text-align: right !important;
}
body.sd .fc-checkout-order-review tfoot .sd-checkout__economia .sd-resumo__economia { margin: 0; font-size: 0.875rem !important; line-height: 1.5; color: var(--sd-ink-soft) !important; }
body.sd .fc-checkout-order-review tfoot .sd-checkout__economia strong,
body.sd .fc-checkout-order-review tfoot .sd-checkout__economia .amount { font-size: inherit !important; font-weight: 500 !important; color: var(--sd-clay) !important; }
body.sd .fc-checkout-order-review tfoot :is(th, td) {
	font-size: 0.9375rem !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--sd-ink) !important;
	background: none !important;
}
body.sd .fc-checkout-order-review tfoot td .amount { font-weight: 500 !important; }
body.sd .sd-checkout__gratis,
body.sd .shipping-method__option-price .sd-checkout__gratis { font-weight: 500 !important; color: var(--sd-blue-deep) !important; }
body.sd .fc-checkout-order-review tfoot .order-total :is(th, td) { padding-top: 18px !important; font-size: 1.0625rem !important; vertical-align: middle; }
body.sd .fc-checkout-order-review tfoot .order-total td .amount { font-size: 1.5rem !important; font-weight: 500 !important; }
body.sd .fc-checkout-order-review tfoot .sd-checkout__pagamento td {
	padding-top: 0 !important;
	border-top: 0 !important;
	font-size: 0.8125rem !important;
	line-height: 1.6 !important;
	text-align: right !important;
	color: var(--sd-ink-soft) !important;
}
body.sd .fc-checkout-order-review tfoot .sd-checkout__pagamento .amount { font-size: inherit !important; font-weight: 500 !important; color: var(--sd-ink) !important; }
/* Pix e parcelas: base.css; aqui só o tamanho da linha do Pix, acima dos !important da célula */
body.sd .fc-checkout-order-review tfoot .sd-checkout__pagamento .sd-pagamento__pix { font-size: 0.9375rem !important; color: var(--sd-ink) !important; }

/* -------------------------------------------------------------- cupom, termos e finalizar */

/* Cupom aplicado na etapa 1: "Cupom alynne10" e, embaixo, o que ele dá (o mesmo rótulo do resumo, inc/carrinho.php).
   A caixa alinha com o campo do e-mail (o Fluid Checkout a punha 10px para fora, com fio tracejado) */
body.sd .fc-wrapper .fc-coupon-codes__coupon { margin: 0 0 14px !important; padding: 12px 16px !important; border: 1px solid var(--sd-line) !important; border-radius: 8px !important; }
body.sd .fc-coupon-codes__coupon-code { font-weight: 400 !important; color: var(--sd-ink) !important; }
body.sd .fc-coupon-codes__coupon-code small { display: block; font-size: 0.75rem !important; font-weight: 400 !important; line-height: 1.4; color: var(--sd-ink-soft) !important; }
/* O valor inteiro em terracota, inclusive o "R$" (a regra da etapa, acima, pinta todo descendente de marrom) */
body.sd .fc-coupon-codes__coupon .sd-desconto,
body.sd .fc-coupon-codes__coupon .sd-desconto * { color: var(--sd-clay) !important; font-weight: 500 !important; }
body.sd .fc-coupon-codes__coupon .woocommerce-remove-coupon { margin-left: 8px; font-size: 0.8125rem !important; font-weight: 400 !important; color: var(--sd-ink-soft) !important; text-decoration: underline; text-underline-offset: 3px; }
/* Cupom recusado: a mensagem (inc/carrinho.php) fica acima do campo, no marrom do texto, com o "Dispensar" discreto */
body.sd .fc-coupon-code-messages .woocommerce-error { background: none !important; border: 0 !important; }
body.sd .fc-coupon-code-messages .woocommerce-error li { font-size: 0.875rem !important; line-height: 1.5 !important; color: var(--sd-ink) !important; }
body.sd .fc-coupon-code-messages .woocommerce-error li::before { content: none !important; }
body.sd .fc-coupon-code-messages .fc-coupon-code-message-dismiss { font-size: 0.8125rem !important; color: var(--sd-ink-soft) !important; text-decoration: underline; text-underline-offset: 3px; }
/* Foco do campo do cupom: o mesmo dos campos do carrinho, no lugar do anel do navegador em volta do grupo */
body.sd.woocommerce-checkout .fc-wrapper .fc-coupon_code__collapsible .fc-coupon-code-section input#coupon_code:is(:focus, :focus-visible) { outline: none !important; /* com o id, por cima da regra do Fluid Checkout (input#coupon_code:focus) */ border-color: var(--sd-blue-deep) !important; box-shadow: 0 0 0 3px rgba(111, 135, 161, 0.15) !important; }
body.sd .fc-coupon-codes__coupon-add,
body.sd a.fc-coupon-code__toggle,
body.sd .fc-coupon-code__toggle { font-size: 0.875rem !important; font-weight: 400 !important; color: var(--sd-blue-deep) !important; text-decoration: none !important; }
body.sd.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.sd.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text { font-size: 0.875rem !important; font-weight: 400 !important; line-height: 1.5 !important; color: var(--sd-ink) !important; }
body.sd.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a { color: var(--sd-ink) !important; text-decoration: underline; text-decoration-color: var(--sd-sky); text-underline-offset: 4px; }
/* Termos mais perto das formas de pagamento: o tema e o Fluid Checkout somavam 67 px acima deles */
body.sd.woocommerce-checkout .fc-place-order__section { padding-top: 4px !important; }
body.sd.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .c-form__terms-and-conditions { margin-top: 0 !important; }
body.sd.woocommerce-checkout .place-order .sd-resumo__garantias { margin-top: 20px; }

/* -------------------------------------------------------------- rodapé mínimo
   O rodapé do site (layout.css) só com Atendimento e a barra legal: sem garantias, marca,
   menus e selo */

body.sd .fc-checkout-footer { padding: 0 !important; border: 0 !important; }
body.sd .fc-checkout-footer__inner { max-width: none !important; padding: 0 !important; }
/* Na largura do cabeçalho do checkout (1200px com 50px de respiro; 16px no celular) */
body.sd .sd-checkout__rodape { flex: 1 1 100%; width: 100%; }
body.sd .sd-checkout__rodape .sd-footer { max-width: 1200px; padding: 0 50px; }
@media (max-width: 999px) {
	body.sd .sd-checkout__rodape .sd-footer { padding: 0 16px; }
}
body.sd .sd-checkout__rodape :is(.sd-footer__trust, .sd-footer__brand, .sd-footer__seal),
body.sd .sd-checkout__rodape .sd-footer__col:not(:last-of-type) { display: none !important; }
body.sd .sd-checkout__rodape .sd-footer__main { display: block; padding: 32px 0 20px; }
body.sd .sd-checkout__rodape .sd-footer__col { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 24px; }
body.sd .sd-checkout__rodape .sd-footer__heading { margin: 0; }
body.sd .sd-checkout__rodape .sd-footer__col ul { display: flex; flex-wrap: wrap; gap: 4px 24px; }
body.sd .sd-checkout__rodape .sd-footer__col li { padding: 0; }
body.sd .sd-checkout__rodape .sd-footer__bottom { padding-bottom: 28px; }

/* -------------------------------------------------------------- formulário de cartão e painel do Pix
   Templates do plugin do Mercado Pago, no padrão dos campos do checkout. Dentro de número,
   vencimento e código, a fonte é a dos campos seguros do Mercado Pago */

body.sd #mp-checkout-custom-root .mp-checkout-custom-container { padding: 18px 20px 20px !important; font-family: var(--sd-text) !important; background: var(--sd-white); }
body.sd .mp-checkout-custom-card-flags { display: none !important; }   /* na linha do título, inc/checkout.php */
body.sd .sd-cartao-seguro {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 !important;
	padding: 11px 20px !important;
	font-size: 0.8125rem !important;
	line-height: 1.45 !important;
	background: var(--sd-paper);
	border-bottom: 1px solid var(--sd-line-soft);
}
body.sd .sd-cartao-seguro img { flex: none; display: block; width: 18px !important; height: 18px !important; max-height: none !important; }
body.sd.woocommerce-checkout .payment_box p.sd-cartao-seguro { color: var(--sd-ink-soft) !important; align-items: center; }
body.sd .sd-cartao-bandeiras { display: flex; align-items: center; gap: 4px; }
body.sd .sd-cartao-bandeiras img { display: block; width: auto !important; height: 20px !important; max-height: none !important; }
body.sd .payment_method_woo-mercado-pago-custom .payment-method__label-icon { width: auto !important; height: auto !important; padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
/* Com uma forma do Mercado Pago marcada, o sinal de segurança está no painel: sai a mesma frase das garantias */
body.sd:has(:is(#payment_method_woo-mercado-pago-custom, #payment_method_woo-mercado-pago-pix, #payment_method_woo-mercado-pago-basic):checked) .sd-resumo__garantias li:last-child { display: none; }

body.sd #mp-checkout-custom-root { margin: 0 !important; padding: 0 !important; background: var(--sd-white); }
body.sd #mp-custom-checkout-form-container,
body.sd .mp-checkout-custom-card-form { margin: 0 !important; padding: 0 !important; }
body.sd .mp-checkout-custom-card-row { height: auto !important; margin: 0 !important; padding: 0 !important; }
body.sd .mp-checkout-custom-dual-column-row { gap: 12px !important; }
body.sd #mp-checkout-custom-root .mp-input-label,
body.sd #mp-checkout-custom-root input-label * {
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-family: var(--sd-text) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	color: var(--sd-ink) !important;
}
/* Todos os campos são obrigatórios, e o vermelho não está na paleta */
body.sd #mp-checkout-custom-root .mp-input-label b,
body.sd #mp-checkout-custom-root input-label b { display: none !important; }
/* Foco na cor do site: o plugin usa o roxo padrão do WooCommerce nesta variável */
body.sd #mp-checkout-custom-root { --woocommerce-primary: var(--sd-blue-deep); }
body.sd #mp-checkout-custom-root .mp-checkout-custom-card-input,
body.sd #mp-checkout-custom-root #form-checkout__securityCode-container,
body.sd #mp-checkout-custom-root .mp-custom-checkout-select-input,
body.sd #mp-checkout-custom-root #mp-doc-div .mp-input {
	height: 48px !important;
	border-radius: 8px !important;
	box-shadow: none !important;
}
/* Fora do foco e sem erro (o plugin tem estas bordas com vários IDs e !important); o vermelho do erro continua */
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .mp-checkout-custom-card-input:not(.mp-error, .mp-focus, .mp-checkout-custom-card-form-focus),
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container #mp-card-holder-div input.mp-card-holder-name:not(.mp-error, .mp-focus),
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container #form-checkout__securityCode-container:not(.mp-error, .mp-checkout-custom-card-form-focus),
body.sd #mp-checkout-custom-root #mp-doc-div .mp-input:not(.mp-error, .mp-focus, :focus-within),
body.sd #mp-checkout-custom-root #mp-checkout-custom-installments-card .mp-custom-checkout-select-input:not(.mp-error, :focus) { border: 1px solid var(--sd-sky) !important; }
/* Documento: o seletor CPF/CNPJ fica sem caixa própria dentro do campo (a regra geral dos campos a desenhava) */
body.sd.woocommerce-checkout .woocommerce #mp-doc-div select.mp-document-select {
	flex: none;
	width: 84px !important;
	height: 100% !important;
	padding: 0 4px 0 12px !important;
	border: 0 !important;
	border-radius: 8px 0 0 8px !important;
	background-color: transparent !important;
	font-family: var(--sd-text) !important;
	font-size: 16px !important;
	color: var(--sd-ink) !important;
}
body.sd #mp-doc-div input.mp-document { flex: 1; min-width: 0; font-size: 16px !important; color: var(--sd-ink) !important; }
body.sd #mp-doc-div input.mp-document::placeholder { font-size: 16px; color: var(--sd-ink-soft); }
body.sd #mp-checkout-custom-root .mp-custom-checkout-select-input { font-family: var(--sd-text) !important; color: var(--sd-ink) !important; }
body.sd #mp-checkout-custom-root #form-checkout__cardholderName { font-family: var(--sd-text) !important; font-size: 16px !important; color: var(--sd-ink) !important; }
body.sd #mp-checkout-custom-root #form-checkout__cardholderName::placeholder { font-size: 16px; color: var(--sd-ink-soft); }
body.sd #mp-checkout-custom-root input-helper,
body.sd #mp-checkout-custom-root input-helper * { margin-left: 0 !important; padding-left: 0 !important; font-family: var(--sd-text) !important; }

/* Bloco único de cartão: número em cima, vencimento e código colados embaixo, com um título só; o
   nome vem depois (a classe e a posição do nome saem de checkout.js; sem ela, fica o layout do
   plugin). Os rótulos de cada campo só saem da tela: continuam para leitores de tela. As mensagens
   de erro ficam abaixo do bloco, cada uma na sua linha da grade */
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 0 !important;
}
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco .sd-cartao-numero,
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco .mp-checkout-custom-dual-column-row,
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco .mp-checkout-custom-card-column { display: contents !important; }
body.sd.woocommerce-checkout .payment_box p.sd-cartao-titulo {
	grid-column: 1 / -1;
	grid-row: 1;
	margin: 0 0 6px !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	color: var(--sd-ink) !important;
}
body.sd .sd-cartao-bloco .sd-cartao-numero input-label,
body.sd .sd-cartao-bloco .mp-checkout-custom-dual-column-row input-label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco #form-checkout__cardNumber-container { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; border-radius: 8px 8px 0 0 !important; position: relative; }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco #form-checkout__expirationDate-container { grid-column: 1; grid-row: 3; width: auto !important; margin: -1px 0 0 !important; border-radius: 0 0 0 8px !important; position: relative; }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco .mp-checkout-custom-security-code-container { grid-column: 2; grid-row: 3; width: auto !important; margin: -1px 0 0 -1px !important; position: relative; }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco #form-checkout__securityCode-container { width: 100% !important; margin: 0 !important; border-radius: 0 0 8px 0 !important; }
body.sd .sd-cartao-bloco input-helper { display: block; }
body.sd .sd-cartao-bloco .sd-cartao-numero > input-helper { grid-column: 1 / -1; grid-row: 4; }
body.sd .sd-cartao-bloco .mp-checkout-custom-card-column:first-child > input-helper { grid-column: 1 / -1; grid-row: 5; }
body.sd .sd-cartao-bloco .mp-checkout-custom-card-column:last-child > input-helper { grid-column: 1 / -1; grid-row: 6; }
body.sd .sd-cartao-bloco input-helper .mp-helper { margin: 6px 0 0 !important; }
/* Sem os rótulos de cada campo, a mensagem diz de qual é ("Preencha este campo." saía três vezes igual) */
body.sd .sd-cartao-bloco .sd-cartao-numero > input-helper .mp-helper-message::before { content: "Número do cartão: "; }
body.sd .sd-cartao-bloco .mp-checkout-custom-card-column:first-child > input-helper .mp-helper-message::before { content: "Vencimento: "; }
body.sd .sd-cartao-bloco .mp-checkout-custom-card-column:last-child > input-helper .mp-helper-message::before { content: "Código de segurança: "; }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco #mp-card-holder-div { grid-column: 1 / -1; grid-row: 7; margin: 12px 0 0 !important; }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco #mp-doc-div { grid-column: 1 / -1; grid-row: 8; margin: 12px 0 0 !important; }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco .mp-error { position: relative; z-index: 2; }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container .sd-cartao-bloco .mp-checkout-custom-card-form-focus { position: relative; z-index: 3; }
body.sd #mp-checkout-custom-root #mp-custom-checkout-form-container #mp-checkout-custom-installments-card { margin-top: 12px !important; }

/* Painéis de Pix e Mercado Pago, no padrão do cartão: a faixa de segurança e os passos
   (inc/checkout.php). Sai o conteúdo do plugin (logo grande, título centrado, "instantânea", palavra
   proibida no briefing, e as vantagens genéricas); ficam só os termos */
body.sd .payment_box.payment_method_woo-mercado-pago-pix,
body.sd .payment_box.payment_method_woo-mercado-pago-basic { background: var(--sd-white) !important; }
body.sd.woocommerce-checkout .woocommerce .payment_box.payment_method_woo-mercado-pago-pix,
body.sd.woocommerce-checkout .woocommerce .payment_box.payment_method_woo-mercado-pago-basic { padding: 0 !important; }
body.sd .mp-checkout-container #mp-checkout-pix-root pix-template,
body.sd #mp-checkout-pro-root .mp-checkout-pro-benefits-title,
body.sd #mp-checkout-pro-root .mp-checkout-pro-benefits,
body.sd #mp-checkout-pro-root .mp-checkout-pro-payment-methods,
body.sd #mp-checkout-pro-root .mp-checkout-pro-redirect { display: none !important; }
/* Marca do Pix, pequena: à direita dos passos e, no celular, acima deles */
body.sd .sd-pagto-corpo { display: flex; align-items: center; gap: 20px; }
body.sd .sd-pagto-corpo ol.sd-pagto-passos { flex: 1; min-width: 0; }
body.sd .sd-pagto-marca { flex: none; display: block; width: 84px !important; height: auto !important; max-height: none !important; margin: 0 20px 0 0 !important; }
@media (max-width: 600px) {
	body.sd .sd-pagto-corpo { flex-direction: column-reverse; align-items: stretch; gap: 0; }
	body.sd .sd-pagto-marca { width: 72px !important; margin: 16px 20px 0 !important; }
	body.sd.woocommerce-checkout .payment_box .sd-pagto-corpo:has(.sd-pagto-marca) ol.sd-pagto-passos { padding-top: 12px !important; }
}
body.sd.woocommerce-checkout .payment_box ol.sd-pagto-passos {
	counter-reset: passo;
	display: grid;
	gap: 10px;
	margin: 0 !important;
	padding: 18px 20px 16px !important;
	list-style: none !important;
}
body.sd.woocommerce-checkout .payment_box ol.sd-pagto-passos li {
	counter-increment: passo;
	position: relative;
	margin: 0 !important;
	padding: 0 0 0 30px !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	color: var(--sd-ink) !important;
	list-style: none !important;
}
body.sd.woocommerce-checkout .payment_box ol.sd-pagto-passos li::before {
	content: counter(passo);
	position: absolute;
	top: 0;
	left: 0;
	width: 21px;
	height: 21px;
	border: 1px solid var(--sd-sky);
	border-radius: 50%;
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 19px;
	text-align: center;
	color: var(--sd-blue-deep);
}
/* Termos do Mercado Pago, discretos, abaixo dos passos */
body.sd #mp-checkout-pix-root.mp-checkout-pix-container,
body.sd #mp-checkout-pro-root,
body.sd #mp-checkout-pro-root .mp-checkout-pro-content { display: block !important; margin: 0 !important; padding: 0 !important; background: none !important; text-align: left !important; font-family: var(--sd-text) !important; }
body.sd #mp-checkout-pix-root .mp-checkout-pix-test-mode { margin: 0 20px 14px !important; padding: 0 !important; }
body.sd #mp-checkout-pro-root test-mode { display: block; margin: 0 20px 16px !important; }
body.sd .mp-checkout-pix-terms-and-conditions,
body.sd #mp-checkout-pro-root terms-and-conditions,
body.sd .mp-checkout-pix-container terms-and-conditions,
body.sd .mp-terms-and-conditions-container { display: block !important; width: auto !important; margin: 0 !important; padding: 0 !important; text-align: left !important; }
body.sd #mp-checkout-pix-root .mp-checkout-pix-terms-and-conditions,
body.sd #mp-checkout-pro-root .mp-checkout-pro-terms-and-conditions,
body.sd #mp-checkout-pro-root terms-and-conditions { margin: -6px 20px 16px 50px !important; padding: 0 !important; }
body.sd .mp-terms-and-conditions-text,
body.sd a.mp-terms-and-conditions-link { display: inline !important; margin: 0 !important; font-family: var(--sd-text) !important; font-size: 0.75rem !important; line-height: 1.5 !important; color: var(--sd-ink-soft) !important; }
body.sd a.mp-terms-and-conditions-link { margin-left: 3px !important; color: var(--sd-blue-deep) !important; }

/* Linha de cada forma: selo do desconto e ícones do mesmo tamanho, sem círculo */
body.sd .wc_payment_methods > li > label .payment-method__label-icon { display: inline-flex !important; align-items: center; gap: 10px; width: auto !important; height: auto !important; padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body.sd .wc_payment_method:not(.payment_method_woo-mercado-pago-custom) .payment-method__label-icon img { display: block; width: 22px !important; height: 22px !important; max-height: none !important; }
/* O mesmo selo de desconto do carrinho (.sd-item-preco__selo) */
body.sd .sd-pix-selo {
	padding: 3px 8px;
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.04em;
	white-space: nowrap;
	color: var(--sd-white);
	background: var(--sd-blue-deep);
	border-radius: var(--sd-pill);
}
body.sd .sd-pix-simbolo {
	display: block;
	flex: none;
	width: 22px;
	height: 22px;
	background: #32bcad;   /* a cor oficial do Pix: marca de terceiro, como as bandeiras dos cartões */
	-webkit-mask: url("../img/pix.svg") center / contain no-repeat;
	mask: url("../img/pix.svg") center / contain no-repeat;
}

/* O desconto do Pix no resumo, na cor dos outros descontos */
body.sd .fc-checkout-order-review tfoot .fee td,
body.sd .fc-checkout-order-review tfoot .fee td .amount { color: var(--sd-clay) !important; }

/* Erro ao finalizar (cartão recusado, por exemplo): fica na página, no alto do formulário. Vermelho
   só neste caso e nos erros dos campos do cartão; o texto de apoio continua no marrom */
body.sd .woocommerce-NoticeGroup-checkout { margin: 0 0 16px !important; }
body.sd .woocommerce-NoticeGroup-checkout ul.woocommerce-error {
	margin: 0 !important;
	padding: 14px 18px !important;
	list-style: none !important;
	background: var(--sd-error-soft) !important;
	border: 1px solid color-mix(in srgb, var(--sd-error) 28%, transparent) !important;
	border-radius: 12px !important;
	outline: none !important;
	box-shadow: none !important;
}
body.sd .woocommerce-NoticeGroup-checkout ul.woocommerce-error li {
	position: relative;
	margin: 0 !important;
	padding: 0 0 0 28px !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	color: var(--sd-ink) !important;
	list-style: none !important;
}
body.sd .woocommerce-NoticeGroup-checkout ul.woocommerce-error li + li { margin-top: 8px !important; }
body.sd .woocommerce-NoticeGroup-checkout ul.woocommerce-error li::marker { content: none; }
body.sd .woocommerce-NoticeGroup-checkout ul.woocommerce-error li::before {
	content: "" !important;
	position: absolute;
	top: 2px;
	left: 0;
	width: 18px;
	height: 18px;
	background: var(--sd-error);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.sd .woocommerce-NoticeGroup-checkout ul.woocommerce-error strong { font-weight: 500 !important; color: var(--sd-error) !important; }
/* Erros dos campos do cartão: o mesmo vermelho, sem o negrito do plugin */
body.sd #mp-checkout-custom-root { --andes-error-red: var(--sd-error); }
body.sd #mp-checkout-custom-root input-helper .mp-helper:has(.mp-helper-icon) * { font-family: var(--sd-text) !important; font-size: 0.8125rem !important; font-weight: 400 !important; }
