/* Instituto Brasbol 4.1.20 — composición alineada con maqueta aprobada */
body.woocommerce-cart.brasbol-virtual-ui,
body.woocommerce-checkout.brasbol-virtual-ui{
  --bb420-green:#0c8f31;
  --bb420-green2:#13b83f;
  --bb420-deep:#083a1d;
  --bb420-soft:#eef8f1;
  --bb420-line:#d9e8dd;
  --bb420-shadow:0 18px 48px rgba(10,67,30,.08);
  background:
    linear-gradient(180deg,rgba(239,249,242,.95) 0,rgba(250,253,251,.98) 420px,#fff 100%)!important;
}

/* HERO: misma lectura visual de la maqueta, más ancho y con imagen lateral */
body .brasbol-commerce-head.bb418-hero{
  grid-template-columns:minmax(0,1.15fr) 330px!important;
  grid-template-areas:'copy safe' 'steps safe'!important;
  min-height:235px!important;
  padding:30px 34px 24px!important;
  gap:16px 26px!important;
  border-radius:28px!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(250,254,251,.96) 54%,rgba(235,248,239,.92) 100%),
    url('../images/brasbol-hero-studio.png') right center/430px auto no-repeat!important;
  box-shadow:var(--bb420-shadow)!important;
}
body .brasbol-commerce-head.bb418-hero:after{
  content:'Modela · Aprende · Crece'!important;
  position:absolute!important;
  right:34px!important;
  bottom:18px!important;
  color:#0b7e2d!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  z-index:2!important;
}
.bb418-hero-copy .bb416-kicker{background:#effaf2!important;color:#0b7d2e!important;border-color:#cfe9d6!important}
body .bb418-hero-copy h1{font-size:clamp(38px,4.6vw,58px)!important;line-height:1!important;margin:10px 0 7px!important}
body .bb418-hero-copy p{font-size:14px!important;max-width:610px!important}
.bb418-safe-card{
  width:100%!important;
  max-width:300px!important;
  padding:18px!important;
  align-self:start!important;
  margin-top:2px!important;
  background:rgba(255,255,255,.93)!important;
  backdrop-filter:blur(8px)!important;
  border-radius:20px!important;
}
.bb418-steps{align-self:end!important;margin-top:4px!important}
.bb418-steps b{min-height:56px!important;border-radius:18px!important;justify-content:flex-start!important;padding:8px 14px!important}
.bb418-steps b.is-active{background:linear-gradient(135deg,#0b812f,#13a83b)!important}

/* CART: gran tarjeta izquierda + resumen lateral como la maqueta */
body.woocommerce-cart.brasbol-virtual-ui .entry-content>.woocommerce{
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:22px!important;
}
body.woocommerce-cart.brasbol-virtual-ui form.woocommerce-cart-form{
  overflow:hidden!important;
  border:1px solid var(--bb420-line)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:var(--bb420-shadow)!important;
}
.bb420-cart-table-title{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:18px 20px!important;
  border-bottom:1px solid #e4eee7!important;
}
.bb420-cart-table-title>i,.bb420-section-head>i{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#e4f7e9,#d3f1db)!important;
  color:#0b8b31!important;
}
.bb420-cart-table-title>i svg,.bb420-section-head>i svg{width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important}
.bb420-cart-table-title b,.bb420-section-head b{display:block!important;color:#103e23!important;font-size:21px!important;font-weight:900!important}
.bb420-cart-table-title small,.bb420-section-head small{display:block!important;margin-top:2px!important;color:#78867d!important;font-size:10.5px!important}
body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart{
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:0!important;
}
body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart thead th{background:#f6faf7!important;padding:12px 14px!important}
body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart tbody td{padding:16px 14px!important}
body.woocommerce-cart.brasbol-virtual-ui .actions{padding:14px 16px 16px!important}
body.woocommerce-cart.brasbol-virtual-ui .coupon{
  padding:13px!important;
  border:1px solid #dceae1!important;
  border-radius:16px!important;
  background:linear-gradient(90deg,#f0faf3,#f7fcf8)!important;
}
body.woocommerce-cart.brasbol-virtual-ui .coupon:before{content:'¿Tienes un cupón de descuento?  Ingresa tu código y aplica el beneficio'!important;font-size:10.5px!important}
.bb420-cart-actions-extra{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:0 18px 18px!important;
  color:#63756a!important;
  font-size:10.5px!important;
}
.bb420-cart-actions-extra a{color:#0b7c2d!important;font-weight:900!important;text-decoration:none!important}
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals{
  padding:22px!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:var(--bb420-shadow)!important;
}
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals h2{
  font-size:24px!important;
  padding-left:50px!important;
}
body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals table.shop_table{
  border-radius:16px!important;
  overflow:hidden!important;
}
body.woocommerce-cart.brasbol-virtual-ui .wc-proceed-to-checkout a.checkout-button{
  min-height:56px!important;
  border-radius:15px!important;
  font-size:16px!important;
}
body.woocommerce-cart.brasbol-virtual-ui .bb418-cart-footer-trust{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:14px!important;
  margin-top:0!important;
}
body.woocommerce-cart.brasbol-virtual-ui .bb418-cart-footer-trust>span{
  min-height:66px!important;
  padding:13px 15px!important;
  border:1px solid #dce9e0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(10,67,30,.04)!important;
}

/* CHECKOUT: tarjetas separadas de datos / resumen / pago */
body.woocommerce-checkout.brasbol-virtual-ui form.checkout{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  gap:22px!important;
}
.bb420-section-head{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 -1px!important;
  padding:18px 20px!important;
  border:1px solid var(--bb420-line)!important;
  border-bottom:0!important;
  border-radius:24px 24px 0 0!important;
  background:#fff!important;
}
body.woocommerce-checkout.brasbol-virtual-ui #customer_details .bb420-section-head{display:none!important}
body.woocommerce-checkout.brasbol-virtual-ui .col2-set{
  padding:20px!important;
  border-radius:0 0 24px 24px!important;
  box-shadow:var(--bb420-shadow)!important;
}
body.woocommerce-checkout.brasbol-virtual-ui .woocommerce-billing-fields>h3{
  margin:-20px -20px 18px!important;
  padding:18px 20px 16px 66px!important;
  border-bottom:1px solid #e4eee7!important;
  font-size:23px!important;
  background:#fff!important;
}
body.woocommerce-checkout.brasbol-virtual-ui .woocommerce-billing-fields>h3:before{left:20px!important;top:15px!important;width:34px!important;height:34px!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:50px!important;
  border-radius:13px!important;
}
.bb420-order-head{
  grid-column:2!important;
  border-radius:24px 24px 0 0!important;
  margin:0!important;
}
body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading{display:none!important}
body.woocommerce-checkout.brasbol-virtual-ui #order_review{
  grid-column:2!important;
  padding:18px!important;
  border-radius:0 0 24px 24px!important;
  box-shadow:var(--bb420-shadow)!important;
}
body.woocommerce-checkout.brasbol-virtual-ui #order_review table.shop_table{border-radius:15px!important;margin-bottom:14px!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{
  font-size:22px!important;
  background:linear-gradient(90deg,#edf8f0,#e1f4e7)!important;
}
body.woocommerce-checkout.brasbol-virtual-ui #payment{
  padding:14px!important;
  border-radius:17px!important;
  background:#f8fbf9!important;
}
body.woocommerce-checkout.brasbol-virtual-ui #payment ul.payment_methods>li{
  min-height:58px!important;
  border-radius:14px!important;
}
body.woocommerce-checkout.brasbol-virtual-ui #payment #place_order{
  min-height:56px!important;
  border-radius:14px!important;
}
body.woocommerce-checkout.brasbol-virtual-ui .woocommerce-form-coupon-toggle .woocommerce-info{
  border-radius:16px!important;
  background:#fff!important;
}
body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:12px!important;
  margin-top:18px!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust>span{
  min-height:64px!important;
  padding:12px 14px!important;
  border:1px solid #dce9e0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(10,67,30,.04)!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}
  .bb420-order-head,
  body.woocommerce-checkout.brasbol-virtual-ui #order_review{grid-column:1!important}
}
@media(max-width:820px){
  body .brasbol-commerce-head.bb418-hero{
    grid-template-columns:1fr!important;
    grid-template-areas:'copy' 'safe' 'steps'!important;
    min-height:0!important;
    background:linear-gradient(180deg,#fff,#f3faf5)!important;
  }
  body .brasbol-commerce-head.bb418-hero:after{display:none!important}
  .bb418-safe-card{max-width:none!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 1fr!important}
}
@media(max-width:640px){
  body .brasbol-commerce-head.bb418-hero{padding:18px 14px 14px!important;border-radius:20px!important}
  body .bb418-hero-copy h1{font-size:30px!important}
  .bb420-cart-table-title,.bb420-section-head{padding:14px!important}
  .bb420-cart-table-title b,.bb420-section-head b{font-size:18px!important}
  body.woocommerce-cart.brasbol-virtual-ui form.woocommerce-cart-form,
  body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals,
  body.woocommerce-checkout.brasbol-virtual-ui .col2-set,
  body.woocommerce-checkout.brasbol-virtual-ui #order_review{border-radius:18px!important}
  body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust,
  body.woocommerce-cart.brasbol-virtual-ui .bb418-cart-footer-trust{grid-template-columns:1fr!important}
}
