/*
 * J1 Studio - módulo de loja: carrinho lateral, carrinho e checkout.
 * Origem: style.css e CSS adicional do Estúdio Mirá (09/2026), generalizado em 22/09/2026.
 * As cores vêm de três variáveis; cada projeto aponta para a paleta dele no :root.
 */
:root {
	--j1-loja-superficie: var(--theme-palette-color-6);  /* fundo de caixa (frete, login, pagamento) */
	--j1-loja-borda: var(--theme-palette-color-5);        /* borda fina */
	--j1-loja-destaque: var(--theme-palette-color-13);   /* texto de ação e link */
}

/* CARRINHO LATERAL: "Finalizar compra" em destaque e "Ver carrinho" como link abaixo */
.woocommerce-mini-cart__buttons { grid-template-columns: 1fr !important; gap: 8px !important; }
.woocommerce-mini-cart__buttons .button.checkout { width: 100%; display: flex; order: 1; }
.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout) {
	order: 2; color: var(--j1-loja-destaque); background: transparent; border: 0;
	width: auto; min-height: auto; padding: 8px 0 !important; margin: 0 auto; text-decoration: underline; text-underline-offset: 2px;
}
.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):hover { color: var(--theme-palette-color-4); background: transparent; }

/* CHECKOUT: estrutura */
#billing_country_field, .woocommerce-billing-fields > h3, #order_review_heading { display: none !important; }
.ct-customer-details label { margin-bottom: 4px; }
.ct-customer-details p { margin-bottom: 16px; }
.woocommerce-checkout-review-order-table { margin: 0 !important; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table tbody .cart_item:first-child td { padding-top: 0; }
table.shop_table .ct-checkout-cart-item { grid-template-columns: 72px 1fr !important; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding-top: 16px; padding-bottom: 16px; }
.woocommerce-checkout-review-order-table tfoot .order-total > * { padding-bottom: 0; vertical-align: middle; line-height: 1; }
.woocommerce-checkout-review-order-table tfoot .order-total .amount { font-size: 20px; }
.woocommerce-checkout-payment .place-order { margin-top: 16px !important; }

/* títulos de seção injetados */
.checkout-section-title {
	width: 100%; display: block; clear: both; font-size: 16px !important; font-weight: 600;
	color: var(--theme-palette-color-4); line-height: 1.4; margin: 32px 0 16px !important;
}
#titulo-endereco { padding-top: 16px; }

/* frete */
#shipping-method-wrapper { clear: both !important; }
.ct-shipping-heading { font-weight: 600; margin-bottom: 8px; }
.woocommerce-shipping-methods, .shipping-notice {
	padding: 24px !important; border-radius: 8px; border: 1px solid var(--j1-loja-borda); background: var(--j1-loja-superficie);
}
.shipping-notice { font-size: 14px; display: block; }
.woocommerce-shipping-methods input[type="radio"] { background: #fff; }
.woocommerce-shipping-methods .amount { font-weight: 600; }
.woocommerce-checkout .woocommerce-shipping-totals { display: none !important; }

/* pagamento */
#payment-method-wrapper { margin-top: 32px; }
.woocommerce-checkout-payment .wc_payment_methods > li { border-radius: 8px; }
.woocommerce-checkout-payment .wc_payment_methods > li > label,
.woocommerce-checkout-payment .wc_payment_methods > li > div { padding: 16px !important; font-size: 14px !important; line-height: 1.4; }
.payment_box p { margin: 0 !important; }
#payment ul.payment_methods > li.wc_payment_method > label img { max-height: 28px; }
/* aviso dentro do pagamento (ex.: sem método disponível): recuo para o ícone do Woo não cobrir o texto */
.woocommerce-checkout-payment .wc_payment_methods > li > .woocommerce-info, .woocommerce-checkout-payment > .woocommerce-info { padding: 16px 16px 16px 48px !important; font-size: 14px; line-height: 1.5; }
.woocommerce-checkout-payment .woocommerce-info::before { left: 18px !important; top: 18px !important; }
/* foto do produto no resumo (Blocksy: Checkout > Product Image), sem link */
.ct-checkout-cart-item figure { margin: 0; border-radius: 8px; overflow: hidden; }

/* cupom no resumo */
.woocommerce-form-coupon-toggle { display: none !important; }
.coupon-form-row td { padding: 24px 0 0 !important; }
.j1-checkout-cupom { position: relative; padding-bottom: 24px; }
.j1-checkout-cupom__linha { display: flex; gap: 8px; align-items: center; }
.j1-checkout-cupom input { width: 100%; min-height: 44px; margin: 0 !important; background: #fff; }
.j1-checkout-cupom .button { height: auto !important; padding: 8px 16px !important; }
#j1_cupom_msg { display: none; position: absolute; bottom: 2px; left: 0; width: 100%; font-size: 12px; line-height: 1.2; }
#j1_cupom_msg[data-tipo="ok"] { color: #0f7a3d; }
#j1_cupom_msg[data-tipo="erro"] { color: #b3261e; }
#j1_cupom_aplicar.loading { opacity: .7; cursor: wait; }

/* login pelo e-mail */
#account_password_field, .create-account, .woocommerce-form-login-toggle { display: none !important; }
#billing_email_field { position: relative; order: 1 !important; }
#billing_email_field.processing::before, #billing_email_field.processing .blockUI { display: none !important; content: none !important; }
#billing_email_field.processing::after {
	content: ""; position: absolute; right: 16px; top: 40px; width: 16px; height: 16px;
	border: 2px solid #ddd; border-top-color: #333; border-radius: 50%; animation: j1-gira .6s linear infinite; pointer-events: none;
}
#billing_email_field.processing input { padding-right: 40px !important; }
@keyframes j1-gira { to { transform: rotate(360deg); } }
#custom-inline-login-box {
	display: none; width: 100% !important; float: left; clear: both; box-sizing: border-box;
	background: var(--j1-loja-superficie); border: 1px solid var(--j1-loja-borda); border-radius: 8px;
	padding: 16px; margin: 0 0 16px; order: 99999 !important; flex-basis: 100% !important;
}
#custom-inline-login-box .login-msg { display: block; margin-bottom: 8px; font-size: 14px; color: var(--theme-palette-color-3); }
#custom-inline-login-box .login-input-group { display: flex; align-items: center; gap: 8px; width: 100%; }
#custom-inline-login-box #inline-password { flex: 1; margin: 0 !important; height: 44px; background: #fff; }
#custom-inline-login-box #btn-inline-login { flex: 0 0 auto; width: auto !important; height: 44px; padding: 0 24px; margin: 0 !important; }
#custom-inline-login-box .forgot-link-wrapper a { font-size: 12px; color: var(--theme-palette-color-3); white-space: nowrap; }
#custom-inline-login-box .inline-login-error { display: none; margin-top: 8px; font-size: 14px; color: #b3261e; }
@media (max-width: 480px) {
	#custom-inline-login-box .login-input-group { flex-wrap: wrap; }
	#custom-inline-login-box .forgot-link-wrapper { width: 100%; text-align: right; }
}

/* CABEÇALHO DO CHECKOUT (Blocksy Pro, cabeçalho extra com condição na página de checkout):
   selo de ambiente seguro no item HTML do cabeçalho. Ícone do board Myicons em currentColor. */
.j1-selo-seguro { display: flex; align-items: center; gap: 8px; color: var(--j1-loja-destaque); }
.j1-selo-seguro__icone { flex: 0 0 32px; width: 32px; height: 32px; }
.j1-selo-seguro__texto { display: flex; flex-direction: column; line-height: 1.15; }
.j1-selo-seguro__linha1 { font-size: 12px; color: var(--theme-palette-color-3); }
.j1-selo-seguro__linha2 { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--j1-loja-destaque); }
@media (max-width: 689.98px) {
	.j1-selo-seguro__icone { flex-basis: 28px; width: 28px; height: 28px; }
	.j1-selo-seguro__linha2 { font-size: 13px; }
}
