/* Instituto Brasbol 4.1.21 — corrección final para llegar a la maqueta */
body.woocommerce-cart.brasbol-virtual-ui,
body.woocommerce-checkout.brasbol-virtual-ui{
  --bb421-green:#0aa637;
  --bb421-dark:#073c1d;
  --bb421-line:#d8e8dc;
  --bb421-soft:#f4faf6;
  --bb421-shadow:0 18px 46px rgba(8,60,28,.08);
}

/* Iconos verdaderos */
.bb420-cart-table-title>i,
.bb420-section-head>i,
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals h2:before{
  color:#079b34!important;
}
.bb420-cart-table-title>i svg,
.bb420-section-head>i svg{display:block!important;width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.8!important}

/* CART exacto: menos aire y jerarquía como maqueta */
body.woocommerce-cart.brasbol-virtual-ui .entry-content>.woocommerce{grid-template-columns:minmax(0,1fr) 340px!important;gap:20px!important}
body.woocommerce-cart.brasbol-virtual-ui form.woocommerce-cart-form,
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals{box-shadow:var(--bb421-shadow)!important}
.bb420-cart-table-title{padding:16px 18px!important}
.bb420-cart-table-title>i{flex-basis:38px!important;width:38px!important;height:38px!important;border-radius:11px!important}
.bb420-cart-table-title b{font-size:19px!important}
.bb420-cart-table-title small{font-size:9.5px!important}
body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart thead th{padding:10px 12px!important;font-size:9px!important}
body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart tbody td{padding:14px 12px!important}
body.woocommerce-cart.brasbol-virtual-ui .product-thumbnail img{width:62px!important;height:62px!important;border-radius:12px!important}
.bb418-cart-course>b{font-size:14px!important}.bb418-cart-course>small{font-size:8.8px!important}.bb418-cart-course>em{font-size:8.2px!important;margin-top:5px!important;gap:2px!important}
.bb421-static-qty{display:inline-grid!important;place-items:center!important;min-width:44px!important;height:38px!important;padding:0 12px!important;border:1px solid #d7e5db!important;border-radius:11px!important;background:#fff!important;color:#163f27!important;font-weight:900!important;font-size:14px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important}
body.woocommerce-cart.brasbol-virtual-ui .coupon{padding:11px!important;border-radius:14px!important}
body.woocommerce-cart.brasbol-virtual-ui .coupon:before{font-size:9.8px!important}
body.woocommerce-cart.brasbol-virtual-ui .coupon #coupon_code,
body.woocommerce-cart.brasbol-virtual-ui .coupon .button,
body.woocommerce-cart.brasbol-virtual-ui .actions>button.button{height:40px!important;min-height:40px!important}
.bb420-cart-actions-extra{padding:0 16px 14px!important;font-size:9.5px!important}
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals{padding:18px!important;border-radius:21px!important}
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals h2{font-size:21px!important;padding-left:46px!important;margin-bottom:12px!important}
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals table.shop_table td{padding:11px 12px!important}
body.woocommerce-cart.brasbol-virtual-ui .wc-proceed-to-checkout a.checkout-button{min-height:50px!important;font-size:15px!important;border-radius:13px!important}
body.woocommerce-cart.brasbol-virtual-ui .bb418-cart-footer-trust>span{min-height:58px!important;padding:10px 12px!important;border-radius:15px!important}
body.woocommerce-cart.brasbol-virtual-ui .bb418-cart-footer-trust b{font-size:11px!important}
body.woocommerce-cart.brasbol-virtual-ui .bb418-cart-footer-trust small{font-size:8.8px!important}

/* CHECKOUT: sin encabezados duplicados; usamos solo los nativos */
body.woocommerce-checkout.brasbol-virtual-ui form.checkout{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;gap:20px!important}
body.woocommerce-checkout.brasbol-virtual-ui #customer_details,
body.woocommerce-checkout.brasbol-virtual-ui #order_review{min-width:0!important}
body.woocommerce-checkout.brasbol-virtual-ui .col2-set,
body.woocommerce-checkout.brasbol-virtual-ui #order_review{border-radius:22px!important;box-shadow:var(--bb421-shadow)!important}
body.woocommerce-checkout.brasbol-virtual-ui .col2-set{padding:18px!important}
body.woocommerce-checkout.brasbol-virtual-ui .woocommerce-billing-fields>h3{margin:-18px -18px 16px!important;padding:16px 18px 14px 58px!important;font-size:22px!important;border-radius:22px 22px 0 0!important}
body.woocommerce-checkout.brasbol-virtual-ui .woocommerce-billing-fields>h3:before{left:18px!important;top:13px!important;width:32px!important;height:32px!important;border-radius:10px!important}
body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading{display:block!important;position:relative!important;margin:0!important;padding:16px 18px 14px 58px!important;border:1px solid var(--bb421-line)!important;border-bottom:0!important;border-radius:22px 22px 0 0!important;background:#fff!important;color:#103e23!important;font-size:22px!important;font-weight:900!important;box-shadow:var(--bb421-shadow)!important}
body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading:before{content:''!important;position:absolute!important;left:18px!important;top:12px!important;width:32px!important;height:32px!important;border-radius:10px!important;background:#dff5e5!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23079b34' stroke-width='1.8'%3E%3Cpath d='M3 4h2l2.1 10.1a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L20 8H7'/%3E%3Ccircle cx='10' cy='19' r='1.5'/%3E%3Ccircle cx='17' cy='19' r='1.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:18px!important}
body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading:after{display:none!important}
body.woocommerce-checkout.brasbol-virtual-ui #order_review{padding:16px!important;border-radius:0 0 22px 22px!important}
body.woocommerce-checkout.brasbol-virtual-ui .form-row{margin-bottom:10px!important}
body.woocommerce-checkout.brasbol-virtual-ui input.input-text,
body.woocommerce-checkout.brasbol-virtual-ui select,
body.woocommerce-checkout.brasbol-virtual-ui .select2-container .select2-selection--single{min-height:46px!important;border-radius:12px!important}
body.woocommerce-checkout.brasbol-virtual-ui #order_review table.shop_table{margin-bottom:12px!important;border-radius:14px!important}
body.woocommerce-checkout.brasbol-virtual-ui #order_review table.shop_table th,
body.woocommerce-checkout.brasbol-virtual-ui #order_review table.shop_table td{padding:10px 11px!important}
body.woocommerce-checkout.brasbol-virtual-ui #order_review table.shop_table tfoot tr:last-child th,
body.woocommerce-checkout.brasbol-virtual-ui #order_review table.shop_table tfoot tr:last-child td{padding:13px 11px!important;font-size:19px!important}
body.woocommerce-checkout.brasbol-virtual-ui #payment{padding:11px!important;border-radius:15px!important}
body.woocommerce-checkout.brasbol-virtual-ui #payment:before{font-size:13.5px!important;margin-bottom:8px!important}
body.woocommerce-checkout.brasbol-virtual-ui #payment ul.payment_methods>li{min-height:50px!important;padding:11px 12px!important;border-radius:12px!important}
body.woocommerce-checkout.brasbol-virtual-ui #payment .woocommerce-terms-and-conditions-wrapper{padding:10px 11px!important;margin-top:9px!important;border-radius:12px!important}

/* Gateway: cualquier botón final visible debe parecerse a la maqueta */
body.woocommerce-checkout.brasbol-virtual-ui #payment #place_order,
body.woocommerce-checkout.brasbol-virtual-ui #payment button[type="submit"],
body.woocommerce-checkout.brasbol-virtual-ui #payment .button.alt,
body.woocommerce-checkout.brasbol-virtual-ui #payment .wc-forward,
body.woocommerce-checkout.brasbol-virtual-ui #payment [class*="gateway"] button,
body.woocommerce-checkout.brasbol-virtual-ui #payment [id*="gateway"] button{
  width:100%!important;
  min-height:52px!important;
  margin-top:10px!important;
  border:0!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#087f2e,#11bb40)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
  box-shadow:0 14px 28px rgba(10,166,55,.18)!important;
}
body.woocommerce-checkout.brasbol-virtual-ui #payment button[type="submit"] svg,
body.woocommerce-checkout.brasbol-virtual-ui #payment .button.alt svg{filter:brightness(0) invert(1)!important}

body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust{margin-top:14px!important;gap:10px!important}
body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust>span{min-height:56px!important;padding:10px 12px!important;border-radius:14px!important}
body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust b{font-size:10.8px!important}
body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust small{font-size:8.6px!important}

@media(max-width:1040px){
  body.woocommerce-cart.brasbol-virtual-ui .entry-content>.woocommerce,
  body.woocommerce-checkout.brasbol-virtual-ui form.checkout{grid-template-columns:1fr!important}
  body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading{grid-column:1!important}
}
@media(max-width:640px){
  body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading{font-size:19px!important;padding:14px 14px 12px 52px!important;border-radius:18px 18px 0 0!important}
  body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading:before{left:14px!important;top:10px!important}
  body.woocommerce-checkout.brasbol-virtual-ui .woocommerce-billing-fields>h3{font-size:19px!important}
  body.woocommerce-cart.brasbol-virtual-ui .bb418-cart-footer-trust,
  body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust{grid-template-columns:1fr!important}
}
