/* =========================================================================
   Boiadeira Raiz - Carrinho & Checkout classicos (UX de e-commerce)
   Carregado so em is_cart()/is_checkout() via functions.php.
   Desktop: 2 colunas com resumo fixo (sticky). Mobile: coluna unica.
   ========================================================================= */

/* ---- Cabecalho/rodape enxutos do checkout (template page-checkout) ---- */
.br-checkout-header {
	border-bottom: 1px solid var(--wp--preset--color--accent-5, #ECE1C4);
	padding-top: 0.7rem !important; padding-bottom: 0.7rem !important;
}
.br-checkout-header .wp-block-site-title { font-size: 1.35rem; line-height: 1.1; margin: 0; }
.br-secure {
	display: inline-flex; align-items: center; gap: 8px;
	font-size: 0.9rem; color: var(--wp--preset--color--primary, #0F3D2E);
}
.br-secure svg { width: 18px; height: 18px; stroke: var(--wp--preset--color--accent, #C29A3C); fill: none; stroke-width: 1.7; }
.br-checkout-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 18px; font-size: 0.82rem; }
.br-checkout-foot .br-paybadges span { color: var(--wp--preset--color--base, #F2E7CB); border-color: rgba(231, 217, 182, 0.3); }

/* ---- Container ---- */
.br-checkout-wrap { padding-top: 1.25rem; padding-bottom: 3rem; }
.br-checkout-wrap > .wp-block-post-title { font-size: 2rem; margin-bottom: 1.4rem; }

/* =========================================================================
   CHECKOUT — grade de 2 colunas
   ========================================================================= */
.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	gap: 0 2.5rem;
	align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 1rem; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 1.5rem; }

/* Empilha cobranca/entrega dentro da coluna esquerda */
.woocommerce-checkout #customer_details .col2-set { display: block; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%; max-width: none; float: none; padding: 0;
}
.woocommerce-checkout #customer_details .col-2 { margin-top: 1.25rem; }

/* Cartoes */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
	background: #fff;
	border: 1px solid var(--wp--preset--color--accent-5, #E7D9B6);
	border-radius: 14px;
	padding: 1.5rem;
}

/* Titulos de secao */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-size: 1.2rem; margin: 0 0 1.1rem; padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--wp--preset--color--accent-5, #E7D9B6);
}
.woocommerce-checkout #order_review_heading { font-size: 1.2rem; }

/* Campos */
.woocommerce-checkout .form-row { margin: 0 0 1.05rem; padding: 0; }
.woocommerce-checkout .form-row label {
	display: block; font-size: 0.84rem; font-weight: 600; margin-bottom: 0.4rem;
	color: var(--wp--preset--color--contrast, #2A241C); letter-spacing: 0.01em;
}
/* Garante que o campo preencha a coluna (corrige Nome/Sobrenome estreitos) */
.woocommerce-checkout .woocommerce-input-wrapper { display: block; width: 100%; }
.woocommerce-checkout .form-row .required { text-decoration: none; }
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%; min-height: 48px; padding: 0.6rem 0.85rem; font-size: 1rem;
	border: 1px solid #cfc4a6; border-radius: 9px; background: #fff; box-sizing: border-box;
}
.woocommerce-checkout textarea { min-height: 90px; }
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: var(--wp--preset--color--accent, #C29A3C);
	outline: 3px solid rgba(194, 154, 60, 0.2); outline-offset: 0;
}
.woocommerce-checkout .select2-container .select2-selection--single { min-height: 48px; border: 1px solid #cfc4a6; border-radius: 9px; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 0.85rem; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }

/* Layout de campos: grid robusto (substitui floats frageis) */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1rem;
	align-items: start;
}
.woocommerce-checkout .form-row-wide { grid-column: 1 / -1; }
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last,
.woocommerce-checkout .form-row-thirds { float: none !important; width: auto !important; clear: none; }

/* Obrigatorio (*) e opcional bem visiveis */
.woocommerce-checkout #customer_details .required { color: #c0392b; font-weight: 700; }
.woocommerce-checkout #customer_details .optional { color: #8a7a55; font-weight: 400; }

/* Estado de erro/validacao dos campos */
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid .select2-container:not(.select2-container--open) .select2-selection {
	border-color: #c0392b !important; background: #fdf3f2;
}
.woocommerce-checkout .form-row.woocommerce-invalid label { color: #c0392b; }
.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
.woocommerce-checkout .form-row.woocommerce-validated select { border-color: #2e7d32; }

/* Bloco de avisos de erro */
.woocommerce-checkout ul.woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error {
	list-style: none; margin: 0 0 1rem; padding: 0.9rem 1rem;
	border: 1px solid #c0392b; border-left-width: 4px; border-radius: 8px;
	background: #fdecea; color: #7a1f17;
}

/* Avisos info + toggles de login/cupom como cartoes */
.woocommerce-checkout .woocommerce-info {
	background: var(--wp--preset--color--base, #FAF5E9);
	border: 1px solid var(--wp--preset--color--accent-5, #ECE1C4);
	border-left: 4px solid var(--wp--preset--color--accent, #EBA91C);
	border-radius: 8px; padding: 0.8rem 1rem; margin: 0 0 1rem; font-size: 0.92rem;
}
/* Avisos em bloco (notice-banner do WooCommerce) na identidade da marca */
.woocommerce-checkout .wc-block-components-notice-banner.is-info {
	background: var(--wp--preset--color--base, #FAF5E9) !important;
	border: 1px solid var(--wp--preset--color--accent-5, #ECE1C4) !important;
	border-left: 4px solid var(--wp--preset--color--accent, #EBA91C) !important;
	border-radius: 10px; color: var(--wp--preset--color--primary, #0F3D2E);
}
.woocommerce-checkout .wc-block-components-notice-banner.is-info svg { fill: var(--wp--preset--color--accent, #EBA91C) !important; }
.woocommerce-checkout .wc-block-components-notice-banner.is-info a { color: var(--wp--preset--color--primary, #4E8B2C); }
.woocommerce-checkout form.login,
.woocommerce-checkout form.checkout_coupon {
	border: 1px solid var(--wp--preset--color--accent-5, #E7D9B6);
	border-radius: 12px; padding: 1.25rem; margin: 0 0 1.25rem; background: #fff;
}

/* Resumo do pedido */
.woocommerce-checkout #order_review .shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td { padding: 0.6rem 0; border-bottom: 1px solid #efe7cf; text-align: left; }
.woocommerce-checkout #order_review .shop_table td:last-child,
.woocommerce-checkout #order_review .shop_table th:last-child { text-align: right; }
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total .amount {
	font-size: 1.15rem; color: var(--wp--preset--color--primary, #0F3D2E); font-weight: 600;
}

/* Pagamento */
.woocommerce-checkout #payment { background: var(--wp--preset--color--base, #F2E7CB); border-radius: 10px; padding: 0.5rem 1rem 1rem; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; }

/* Botao finalizar — destaque + foco de teclado */
.woocommerce-checkout #place_order {
	width: 100%; min-height: 54px; margin-top: 1rem; font-size: 1.05rem; font-weight: 600;
	border: 0; border-radius: 10px; cursor: pointer;
	background: var(--wp--preset--color--accent, #C29A3C);
	color: var(--wp--preset--color--contrast, #211C16);
}
.woocommerce-checkout #place_order:hover { filter: brightness(1.06); }
.woocommerce-checkout #place_order:focus-visible,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus-visible {
	outline: 3px solid var(--wp--preset--color--contrast, #211C16); outline-offset: 2px;
	box-shadow: 0 0 0 2px #fff;
}

/* Selo de seguranca abaixo do resumo */
.woocommerce-checkout #order_review::after {
	content: "Pagamento processado em ambiente seguro.";
	display: block; margin-top: 0.9rem; text-align: center;
	font-size: 0.8rem; color: var(--wp--preset--color--primary, #0F3D2E);
}

/* Resumo colapsavel — visivel so no mobile (injetado pelo mu-plugin) */
.br-order-peek {
	display: none; background: #fff; border: 1px solid var(--wp--preset--color--accent-5, #E7D9B6);
	border-radius: 14px; padding: 1rem 1.25rem; margin-bottom: 1rem;
}
.br-order-peek > summary { cursor: pointer; font-weight: 600; color: var(--wp--preset--color--primary, #0F3D2E); list-style: none; }
.br-order-peek > summary::-webkit-details-marker { display: none; }
.br-order-peek > summary::after { content: " \25BE"; }
.br-order-peek[open] > summary::after { content: " \25B4"; }
.br-order-peek__body { margin-top: 0.85rem; }
.br-order-peek__row { display: flex; justify-content: space-between; gap: 1rem; padding: 0.35rem 0; border-bottom: 1px solid #efe7cf; font-size: 0.92rem; }
.br-order-peek__total { display: flex; justify-content: space-between; padding-top: 0.6rem; font-weight: 600; color: var(--wp--preset--color--primary, #0F3D2E); }

/* =========================================================================
   CARRINHO
   ========================================================================= */
/* Tabela do carrinho como cartao */
.woocommerce-cart table.cart {
	width: 100%; border-collapse: separate; border-spacing: 0;
	background: #fff; border: 1px solid var(--wp--preset--color--accent-5, #ECE1C4);
	border-radius: 14px; overflow: hidden; margin-bottom: 1.5rem;
}
.woocommerce-cart table.cart thead th {
	background: var(--wp--preset--color--base, #FAF5E9);
	font-size: 0.85rem; text-align: left; padding: 0.9rem 0.75rem; border: 0;
}
.woocommerce-cart table.cart td { padding: 1rem 0.75rem; border-top: 1px solid #efe7cf; vertical-align: middle; }
.woocommerce-cart table.cart img { width: 60px; height: auto; border-radius: 8px; }
.woocommerce-cart td.product-name { min-width: 170px; }
.woocommerce-cart td.product-name a { font-weight: 600; }
.woocommerce-cart .product-remove a.remove { color: #c0392b !important; font-size: 1.2rem; font-weight: 700; line-height: 1; }
.woocommerce-cart .quantity .qty {
	min-height: 42px; width: 4.2rem; text-align: center; font-size: 1rem;
	border: 1px solid #cfc4a6; border-radius: 8px; box-sizing: border-box;
}

/* Linha de acoes: cupom (esquerda) + atualizar carrinho (direita) */
.woocommerce-cart td.actions { padding: 1rem 0.75rem !important; background: var(--wp--preset--color--base, #FAF5E9); }
.woocommerce-cart td.actions::after { content: ""; display: table; clear: both; }
.woocommerce-cart td.actions .coupon { display: inline-flex; gap: 10px; float: left; align-items: center; }
.woocommerce-cart td.actions .coupon .input-text {
	min-height: 42px; width: 190px; max-width: 46vw; padding: 0.45rem 0.8rem;
	border: 1px solid #cfc4a6; border-radius: 9px; box-sizing: border-box;
}
.woocommerce-cart td.actions .button {
	min-height: 42px; padding: 0 1.1rem; border-radius: 9px; font-weight: 600; font-size: 0.92rem;
	display: inline-flex; align-items: center; justify-content: center; line-height: 1.2;
}
/* Aplicar cupom = secundario (contorno verde) */
.woocommerce-cart td.actions .button[name="apply_coupon"] {
	background: transparent !important; color: var(--wp--preset--color--primary, #4E8B2C) !important;
	border: 2px solid var(--wp--preset--color--primary, #4E8B2C) !important;
}
.woocommerce-cart td.actions .button[name="apply_coupon"]:hover {
	background: var(--wp--preset--color--primary, #4E8B2C) !important; color: #fff !important;
}
/* Atualizar carrinho = solido verde-escuro, alinhado a direita */
.woocommerce-cart td.actions .button[name="update_cart"] {
	float: right; background: var(--wp--preset--color--accent-6, #24331B) !important;
	color: #fff !important; border: 0 !important;
}
.woocommerce-cart td.actions .button[name="update_cart"]:disabled,
.woocommerce-cart td.actions .button[name="update_cart"][disabled] { opacity: 0.4 !important; cursor: not-allowed; }

@media (max-width: 600px) {
	.woocommerce-cart td.actions .coupon { float: none; flex-wrap: wrap; margin-bottom: 12px; }
	.woocommerce-cart td.actions .coupon .input-text { width: 100%; max-width: none; }
	.woocommerce-cart td.actions .coupon .button { flex: 1; }
	.woocommerce-cart td.actions .button[name="update_cart"] { float: none; width: 100%; }
}

/* Totais + botao finalizar */
.woocommerce-cart .cart_totals {
	background: #fff; border: 1px solid var(--wp--preset--color--accent-5, #ECE1C4);
	border-radius: 14px; padding: 1.5rem;
}
.woocommerce-cart .cart_totals h2 { font-size: 1.2rem; margin: 0 0 1rem; }
.woocommerce-cart .cart_totals table { width: 100%; }
.woocommerce-cart .cart_totals .order-total .amount { color: var(--wp--preset--color--primary, #0F3D2E); font-weight: 700; }
.woocommerce-cart .wc-proceed-to-checkout { margin-top: 1rem; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: block; width: 100%; min-height: 44px; line-height: 44px; text-align: center;
	font-size: 0.98rem; font-weight: 600; border-radius: 10px;
	background: var(--wp--preset--color--accent, #EBA91C) !important;
	color: var(--wp--preset--color--contrast, #2A241C) !important;
}

@media (min-width: 861px) {
	.woocommerce-cart .woocommerce-cart-form { float: left; width: 62%; }
	.woocommerce-cart .cart-collaterals { float: right; width: 34%; }
	.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; }
	/* clearfix real no container que de fato floata (o wrapper .woocommerce) */
	.woocommerce-cart .woocommerce::after { content: ""; display: table; clear: both; }
}

/* =========================================================================
   MOBILE — coluna unica, alvos de toque confortaveis
   ========================================================================= */
@media (max-width: 860px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; gap: 1.25rem; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
	.br-order-peek { display: block; }
	.woocommerce-cart .woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals { float: none; width: 100%; }
	.woocommerce-cart .cart-collaterals { margin-top: 1.5rem; }
	.br-checkout-header .wp-block-group { flex-wrap: wrap; gap: 8px; }
}

/* =========================================================================
   Celular pequeno — aproveita o espaco (menos padding, cartoes compactos)
   ========================================================================= */
@media (max-width: 600px) {
	.br-checkout-wrap { padding-left: 0.85rem !important; padding-right: 0.85rem !important; padding-top: 1rem; }
	.br-checkout-wrap > .wp-block-post-title { font-size: 1.7rem; margin-bottom: 1rem; }
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout .woocommerce-additional-fields,
	.woocommerce-checkout #order_review,
	.woocommerce-cart .cart_totals { padding: 1.1rem !important; }
	.woocommerce-checkout #customer_details h3,
	.woocommerce-checkout .woocommerce-additional-fields h3,
	.woocommerce-checkout #order_review_heading { font-size: 1.1rem; margin-bottom: 0.9rem; }
	.woocommerce-checkout .form-row { margin-bottom: 0.85rem; }
	.br-checkout-header { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }
	.br-checkout-header .wp-block-group { flex-direction: column; align-items: flex-start; gap: 6px; }
	.br-checkout-foot { font-size: 0.78rem; gap: 8px 12px; }
}
