/* Instituto Brasbol Internacional 4.1.29 — responsive final producto / carrito / checkout
   Solo tablet y móvil. No modifica Tutor LMS dashboard ni escritorio >1180px. */
@media (max-width:1180px){
  body.single-product.brasbol-virtual-ui,
  body.woocommerce-cart.brasbol-virtual-ui,
  body.woocommerce-checkout.brasbol-virtual-ui{overflow-x:hidden!important}
  body.single-product.brasbol-virtual-ui .site-content,
  body.single-product.brasbol-virtual-ui .content-area,
  body.single-product.brasbol-virtual-ui main,
  body.woocommerce-cart.brasbol-virtual-ui .site-content,
  body.woocommerce-checkout.brasbol-virtual-ui .site-content{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  body.single-product.brasbol-virtual-ui * ,
  body.woocommerce-cart.brasbol-virtual-ui * ,
  body.woocommerce-checkout.brasbol-virtual-ui * {box-sizing:border-box}

  /* Producto individual */
  body.single-product.brasbol-virtual-ui div.product{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:24px!important;align-items:start!important;width:100%!important;max-width:100%!important}
  body.single-product.brasbol-virtual-ui div.product .woocommerce-product-gallery,
  body.single-product.brasbol-virtual-ui div.product .summary{float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
  body.single-product.brasbol-virtual-ui .woocommerce-product-gallery__wrapper,
  body.single-product.brasbol-virtual-ui .woocommerce-product-gallery__image,
  body.single-product.brasbol-virtual-ui .woocommerce-product-gallery__image a{max-width:100%!important;overflow:hidden!important}
  body.single-product.brasbol-virtual-ui .woocommerce-product-gallery img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important}
  body.single-product.brasbol-virtual-ui .summary h1.product_title{font-size:clamp(25px,3.2vw,38px)!important;line-height:1.12!important;overflow-wrap:anywhere!important}
  body.single-product.brasbol-virtual-ui .summary .price{font-size:clamp(22px,3vw,32px)!important;line-height:1.15!important}
  body.single-product.brasbol-virtual-ui form.cart{max-width:100%!important}
  body.single-product.brasbol-virtual-ui form.cart .quantity{max-width:110px!important}
  body.single-product.brasbol-virtual-ui form.cart .button,
  body.single-product.brasbol-virtual-ui .single_add_to_cart_button{min-height:48px!important;border-radius:12px!important;white-space:normal!important}
  body.single-product.brasbol-virtual-ui table.variations,
  body.single-product.brasbol-virtual-ui table.variations tbody,
  body.single-product.brasbol-virtual-ui table.variations tr,
  body.single-product.brasbol-virtual-ui table.variations th,
  body.single-product.brasbol-virtual-ui table.variations td{max-width:100%!important}
  body.single-product.brasbol-virtual-ui .woocommerce-tabs,
  body.single-product.brasbol-virtual-ui .related,
  body.single-product.brasbol-virtual-ui .upsells{grid-column:1/-1!important;width:100%!important;max-width:100%!important;min-width:0!important}
  body.single-product.brasbol-virtual-ui .woocommerce-tabs ul.tabs{display:flex!important;gap:8px!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important}
  body.single-product.brasbol-virtual-ui .woocommerce-tabs ul.tabs li{flex:0 0 auto!important;white-space:nowrap!important}
  body.single-product.brasbol-virtual-ui .related ul.products,
  body.single-product.brasbol-virtual-ui .upsells ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
  body.single-product.brasbol-virtual-ui .related ul.products li.product,
  body.single-product.brasbol-virtual-ui .upsells ul.products li.product{float:none!important;width:auto!important;min-width:0!important;margin:0!important}

  /* Carrito */
  body.woocommerce-cart.brasbol-virtual-ui .entry-content>.woocommerce{width:100%!important;max-width:100%!important;min-width:0!important}
  body.woocommerce-cart.brasbol-virtual-ui form.woocommerce-cart-form,
  body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals,
  body.woocommerce-cart.brasbol-virtual-ui .cart_totals{width:100%!important;max-width:100%!important;min-width:0!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart{table-layout:auto!important;width:100%!important;max-width:100%!important}
  body.woocommerce-cart.brasbol-virtual-ui .product-name,
  body.woocommerce-cart.brasbol-virtual-ui .product-name a{overflow-wrap:anywhere!important;word-break:normal!important}
  body.woocommerce-cart.brasbol-virtual-ui .coupon{max-width:100%!important}
  body.woocommerce-cart.brasbol-virtual-ui .wc-proceed-to-checkout a.checkout-button{width:100%!important}

  /* Checkout */
  body.woocommerce-checkout.brasbol-virtual-ui form.checkout{width:100%!important;max-width:100%!important;min-width:0!important}
  body.woocommerce-checkout.brasbol-virtual-ui #customer_details,
  body.woocommerce-checkout.brasbol-virtual-ui #order_review,
  body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading,
  body.woocommerce-checkout.brasbol-virtual-ui .col2-set,
  body.woocommerce-checkout.brasbol-virtual-ui .col2-set .col-1,
  body.woocommerce-checkout.brasbol-virtual-ui .col2-set .col-2{width:100%!important;max-width:100%!important;min-width:0!important;float:none!important}
  body.woocommerce-checkout.brasbol-virtual-ui .form-row{width:100%!important;max-width:100%!important;float:none!important}
  body.woocommerce-checkout.brasbol-virtual-ui input.input-text,
  body.woocommerce-checkout.brasbol-virtual-ui textarea,
  body.woocommerce-checkout.brasbol-virtual-ui select,
  body.woocommerce-checkout.brasbol-virtual-ui .select2-container{width:100%!important;max-width:100%!important}
  body.woocommerce-checkout.brasbol-virtual-ui #order_review table.shop_table{table-layout:auto!important;width:100%!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{overflow-wrap:anywhere!important}
  body.woocommerce-checkout.brasbol-virtual-ui #payment,
  body.woocommerce-checkout.brasbol-virtual-ui #payment ul.payment_methods,
  body.woocommerce-checkout.brasbol-virtual-ui #payment .payment_box{max-width:100%!important;min-width:0!important}
  body.woocommerce-checkout.brasbol-virtual-ui #payment img{max-width:100%!important;height:auto!important}
}

@media (max-width:820px){
  /* Producto: una sola columna limpia */
  body.single-product.brasbol-virtual-ui div.product{grid-template-columns:1fr!important;gap:16px!important}
  body.single-product.brasbol-virtual-ui .woocommerce-product-gallery{order:1!important}
  body.single-product.brasbol-virtual-ui .summary{order:2!important;padding:0 2px!important}
  body.single-product.brasbol-virtual-ui .woocommerce-tabs{order:3!important}
  body.single-product.brasbol-virtual-ui .related,
  body.single-product.brasbol-virtual-ui .upsells{order:4!important}
  body.single-product.brasbol-virtual-ui .summary h1.product_title{font-size:26px!important;margin-bottom:10px!important}
  body.single-product.brasbol-virtual-ui form.cart{display:flex!important;flex-wrap:wrap!important;gap:10px!important;align-items:stretch!important}
  body.single-product.brasbol-virtual-ui form.cart .quantity{flex:0 0 92px!important;margin:0!important}
  body.single-product.brasbol-virtual-ui form.cart .single_add_to_cart_button{flex:1 1 210px!important;margin:0!important;min-width:0!important}
  body.single-product.brasbol-virtual-ui .related ul.products,
  body.single-product.brasbol-virtual-ui .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}

  /* Carrito pasa de tabla ancha a tarjetas legibles */
  body.woocommerce-cart.brasbol-virtual-ui .entry-content>.woocommerce{display:block!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart thead{display:none!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart,
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart tbody{display:block!important;width:100%!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart tr.cart_item{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto!important;grid-template-areas:'thumb name remove' 'thumb price price' 'thumb qty qty' 'thumb subtotal subtotal'!important;gap:7px 11px!important;position:relative!important;padding:14px!important;margin:0 0 12px!important;border:1px solid #d8e8dc!important;border-radius:16px!important;background:#fff!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart tr.cart_item td{display:block!important;width:auto!important;padding:0!important;border:0!important;text-align:left!important;min-width:0!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-thumbnail{grid-area:thumb!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-thumbnail img{width:72px!important;height:72px!important;object-fit:cover!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-name{grid-area:name!important;padding-right:4px!important;font-weight:800!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-remove{grid-area:remove!important;align-self:start!important;justify-self:end!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-remove a{display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border-radius:50%!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-price{grid-area:price!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-quantity{grid-area:qty!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-subtotal{grid-area:subtotal!important;font-weight:900!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart td[data-title]:before{content:attr(data-title) ': '!important;display:inline!important;float:none!important;font-weight:700!important;color:#5d7465!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart td.product-thumbnail:before,
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart td.product-name:before,
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart td.product-remove:before{display:none!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart tr:not(.cart_item){display:block!important;width:100%!important}
  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart td.actions{display:block!important;width:100%!important;padding:12px!important}
  body.woocommerce-cart.brasbol-virtual-ui .coupon{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;width:100%!important}
  body.woocommerce-cart.brasbol-virtual-ui .coupon #coupon_code{width:100%!important;min-width:0!important;margin:0!important}
  body.woocommerce-cart.brasbol-virtual-ui .coupon .button{width:auto!important;margin:0!important;white-space:nowrap!important}
  body.woocommerce-cart.brasbol-virtual-ui .actions>button.button{width:100%!important;margin-top:8px!important}
  body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals{margin-top:14px!important}
  body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals{float:none!important;width:100%!important}

  /* Checkout apilado y compacto */
  body.woocommerce-checkout.brasbol-virtual-ui form.checkout{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  body.woocommerce-checkout.brasbol-virtual-ui .col2-set{padding:14px!important;border-radius:18px!important}
  body.woocommerce-checkout.brasbol-virtual-ui .woocommerce-billing-fields>h3{margin:-14px -14px 14px!important;border-radius:18px 18px 0 0!important}
  body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading{border-radius:18px 18px 0 0!important}
  body.woocommerce-checkout.brasbol-virtual-ui #order_review{padding:12px!important;border-radius:0 0 18px 18px!important}
  body.woocommerce-checkout.brasbol-virtual-ui #payment{padding:10px!important}
  body.woocommerce-checkout.brasbol-virtual-ui #payment .payment_box{margin:8px 0 0!important;padding:10px!important}
}

@media (max-width:520px){
  body.single-product.brasbol-virtual-ui .site-content,
  body.woocommerce-cart.brasbol-virtual-ui .site-content,
  body.woocommerce-checkout.brasbol-virtual-ui .site-content{padding-left:12px!important;padding-right:12px!important}
  body.single-product.brasbol-virtual-ui .summary h1.product_title{font-size:23px!important;line-height:1.15!important}
  body.single-product.brasbol-virtual-ui .summary .price{font-size:22px!important}
  body.single-product.brasbol-virtual-ui form.cart .quantity{flex-basis:82px!important}
  body.single-product.brasbol-virtual-ui form.cart .single_add_to_cart_button{flex-basis:100%!important;width:100%!important}
  body.single-product.brasbol-virtual-ui .related ul.products,
  body.single-product.brasbol-virtual-ui .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body.single-product.brasbol-virtual-ui .related ul.products li.product .woocommerce-loop-product__title,
  body.single-product.brasbol-virtual-ui .upsells ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;line-height:1.25!important}

  body.woocommerce-cart.brasbol-virtual-ui table.shop_table.cart tr.cart_item{grid-template-columns:64px minmax(0,1fr) 30px!important;padding:12px!important;gap:6px 9px!important}
  body.woocommerce-cart.brasbol-virtual-ui td.product-thumbnail img{width:64px!important;height:64px!important}
  body.woocommerce-cart.brasbol-virtual-ui .coupon{grid-template-columns:1fr!important}
  body.woocommerce-cart.brasbol-virtual-ui .coupon .button{width:100%!important}
  body.woocommerce-cart.brasbol-virtual-ui .cart-collaterals .cart_totals{padding:14px!important;border-radius:17px!important}
  body.woocommerce-cart.brasbol-virtual-ui .wc-proceed-to-checkout a.checkout-button{min-height:50px!important;font-size:15px!important}

  body.woocommerce-checkout.brasbol-virtual-ui .woocommerce-billing-fields>h3,
  body.woocommerce-checkout.brasbol-virtual-ui #order_review_heading{font-size:18px!important;line-height:1.2!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:44px!important;font-size:16px!important}
  body.woocommerce-checkout.brasbol-virtual-ui textarea{font-size:16px!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:9px 7px!important;font-size:12.5px!important}
  body.woocommerce-checkout.brasbol-virtual-ui #payment #place_order,
  body.woocommerce-checkout.brasbol-virtual-ui #payment button[type='submit']{min-height:50px!important;font-size:15px!important}
  body.woocommerce-checkout.brasbol-virtual-ui .brasbol-checkout-trust.bb416-trust{grid-template-columns:1fr!important}
}
