/* VitaBless Box Builder v1.3 — product card layout */
#vbbBuilder .products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:22px;
  margin-top:28px;
  align-items:stretch;
}
#vbbBuilder .product{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:auto;
  padding:18px;
  border:1px solid #dfe7e1;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-sizing:border-box;
}
#vbbBuilder .product-img{
  width:100%;
  height:240px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 18px;
  padding:10px;
  border-radius:14px;
  background:#f5f8f5;
  overflow:hidden;
  box-sizing:border-box;
}
#vbbBuilder .product-img img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
  object-position:center;
}
#vbbBuilder .product h4{
  position:static;
  display:block;
  margin:0 0 8px;
  padding:0;
  min-height:0;
  line-height:1.3;
  font-size:18px;
  overflow-wrap:anywhere;
}
#vbbBuilder .product small{
  display:block;
  margin:0 0 10px;
  line-height:1.4;
}
#vbbBuilder .product .price{
  position:static;
  display:block;
  margin:2px 0 14px;
  font-size:21px;
  font-weight:800;
  color:#087b43;
}
#vbbBuilder .product .qty{
  position:static;
  margin-top:auto;
  width:100%;
  box-sizing:border-box;
}
@media (max-width:600px){
  #vbbBuilder .products{grid-template-columns:1fr;gap:16px}
  #vbbBuilder .product-img{height:220px}
}

/* Checkout: descriptions belong on product pages, not in the order summary. */
.woocommerce-checkout .wc-block-components-product-metadata__description,
.woocommerce-checkout .wc-block-components-product-details__description,
.woocommerce-checkout .wc-block-components-product-metadata > p,
.woocommerce-checkout .wc-block-components-product-metadata > .wc-block-components-product-metadata__description {
  display:none !important;
}
.vbb-savings-row strong,
#vbbSavings { color:#0b6b43; text-decoration:line-through; text-decoration-thickness:1.5px; }
.vbb-checkout-savings { display:flex; justify-content:space-between; gap:16px; padding:16px 0; font-weight:700; }
.vbb-checkout-savings__amount { color:#0b6b43; text-decoration:line-through; text-decoration-thickness:1.5px; }

/* v1.4.5: Checkout descriptions are product-page-only. Keep the order summary visible. */
.woocommerce-checkout .wc-block-components-product-metadata__description,
.woocommerce-checkout .wc-block-components-product-details__description,
.woocommerce-checkout .wc-block-components-product-metadata p,
.woocommerce-checkout .wc-block-cart-item__product .wc-block-components-product-metadata > p,
.woocommerce-checkout .wc-block-components-order-summary-item__description,
.woocommerce-checkout td.product-name > p:not(.wc-item-meta):not(.variation) {
  display:none !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block {
  visibility:visible !important;
  opacity:1 !important;
}
.vbb-checkout-savings.wc-block-components-totals-wrapper{display:block!important;margin:0!important;padding:0!important;}
.vbb-checkout-savings .wc-block-components-totals-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 0;font-weight:700;}
.vbb-classic-savings .vbb-checkout-savings__amount,.vbb-checkout-savings__amount{text-decoration:line-through!important;text-decoration-thickness:1.5px!important;}


/* v1.4.6: Product descriptions appear only on the individual product page. */
.woocommerce-cart .wc-block-components-product-metadata__description,
.woocommerce-cart .wc-block-components-product-details__description,
.woocommerce-cart .wc-block-components-product-metadata > p,
.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-metadata > p,
.woocommerce-cart .wc-block-components-product-metadata > div:not(.wc-block-components-product-details),
.woocommerce-cart td.product-name > p:not(.wc-item-meta):not(.variation) {
  display:none !important;
}

/* v1.4.7: product image/title open the WooCommerce product page */
.vbb-product-link{color:inherit;text-decoration:none}.vbb-product-title-link:hover{text-decoration:underline}.vbb-product-image-link{display:block}.vbb-product-image-link img{cursor:pointer}

/* v1.5.7: dynamic savings percentage in Arma tu Caja */
#vbbBuilder .product .price .vbb-discount-percent{display:block;margin-top:5px;font-size:13px;line-height:1.2;font-weight:800;letter-spacing:.02em;color:#0b3b82;text-decoration:none;}


/* v1.5.8: overall savings percentage in Tu Caja */
#vbbBuilder .vbb-savings-total-wrap{display:inline-flex;align-items:baseline;gap:8px;justify-content:flex-end;}
#vbbBuilder #vbbSavingsPercent{color:#0b6b43;font-weight:800;text-decoration:none!important;white-space:nowrap;}


/* v1.5.9: clearer discount styling + clean ChatGPT-like system typography */
#vbbBuilder{
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
#vbbBuilder button,
#vbbBuilder input,
#vbbBuilder select,
#vbbBuilder textarea{
  font:inherit;
}
#vbbBuilder .product .price del{
  color:#4b5563!important;
  font-weight:500!important;
  text-decoration-color:#4b5563!important;
  text-decoration-thickness:1.5px!important;
}
#vbbBuilder .product .price ins{
  color:#087b43!important;
  font-weight:800!important;
  text-decoration:none!important;
}
#vbbBuilder .product .price .vbb-discount-percent{
  display:inline-block!important;
  margin:0 8px 0 0!important;
  color:#dc2626!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-decoration:none!important;
}
#vbbBuilder #vbbSavings{
  color:#4b5563!important;
  text-decoration-color:#4b5563!important;
}
#vbbBuilder #vbbSavingsPercent{
  color:#dc2626!important;
  font-weight:600!important;
}


/* v1.6.0: unified compact price/savings typography across VitaBless storefront */
.vbb-price-display,
#vbbBuilder .vbb-price-display{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:400!important;
}
.vbb-price-line,
#vbbBuilder .vbb-price-line{
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.vbb-price-display del,
#vbbBuilder .vbb-price-display del{
  color:#4b5563!important;
  font-size:16px!important;
  font-weight:400!important;
  text-decoration:line-through!important;
  text-decoration-color:#4b5563!important;
  text-decoration-thickness:1.25px!important;
  opacity:1!important;
}
.vbb-price-display ins,
#vbbBuilder .vbb-price-display ins{
  color:#087b43!important;
  font-size:16px!important;
  font-weight:700!important;
  text-decoration:none!important;
  background:transparent!important;
}
.vbb-price-display .vbb-discount-percent,
#vbbBuilder .vbb-price-display .vbb-discount-percent{
  display:block!important;
  margin:0!important;
  color:#dc2626!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-decoration:none!important;
}
#vbbBuilder .product .price{
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:400!important;
}
#vbbBuilder .vbb-savings-total-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:3px!important;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
}
#vbbBuilder #vbbSavings{
  color:#4b5563!important;
  font-size:16px!important;
  font-weight:400!important;
  text-decoration:line-through!important;
  text-decoration-color:#4b5563!important;
  text-decoration-thickness:1.25px!important;
}
#vbbBuilder #vbbSavingsPercent{
  color:#dc2626!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:600!important;
  text-decoration:none!important;
}
.woocommerce .price .vbb-price-display,
.wc-block-grid__product-price .vbb-price-display,
.vb-related-price .vbb-price-display{
  vertical-align:top!important;
}


/* v1.6.1: force the unified VitaBless price presentation on single-product pages */
.single-product .summary .price .vbb-price-display,
.single-product div.product .summary p.price .vbb-price-display,
.single-product div.product .summary span.price .vbb-price-display{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.3!important;
  color:inherit!important;
}
.single-product .summary .price .vbb-price-line{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
}
.single-product .summary .price .vbb-price-display del,
.single-product .summary .price .vbb-price-display del .woocommerce-Price-amount{
  color:#4b5563!important;
  font-size:16px!important;
  font-weight:400!important;
  text-decoration:line-through!important;
  text-decoration-color:#4b5563!important;
  text-decoration-thickness:1.25px!important;
  opacity:1!important;
}
.single-product .summary .price .vbb-price-display ins,
.single-product .summary .price .vbb-price-display ins .woocommerce-Price-amount{
  color:#087b43!important;
  font-size:16px!important;
  font-weight:700!important;
  text-decoration:none!important;
  background:transparent!important;
}
.single-product .summary .price .vbb-discount-percent{
  display:block!important;
  margin:0!important;
  color:#dc2626!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:600!important;
  text-decoration:none!important;
}
/* Hide all customer-facing stock/availability text; stock control still works internally. */
.single-product .summary .stock,
.single-product .summary .availability,
.single-product .summary .vb-stock,
.single-product .summary .vb-availability,
.single-product .summary [class*="stock-count"],
.single-product .summary [class*="availability-count"]{
  display:none!important;
}


/* v1.6.3: clear, labeled single-product pricing */
.single-product .summary .price .vbb-single-price-display,
.single-product div.product .summary .vbb-single-price-display{
  display:flex!important; flex-direction:column!important; align-items:flex-start!important;
  gap:8px!important; margin:8px 0 14px!important;
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
}
.single-product .summary .price .vbb-single-price-row{
  display:flex!important; align-items:baseline!important; gap:8px!important;
  font-size:18px!important; line-height:1.35!important;
}
.single-product .summary .price .vbb-price-label{
  color:#374151!important; font-size:18px!important; font-weight:500!important;
}
.single-product .summary .price .vbb-single-price-display del,
.single-product .summary .price .vbb-single-price-display del .woocommerce-Price-amount{
  color:#4b5563!important; font-size:18px!important; font-weight:400!important;
  text-decoration:line-through!important; text-decoration-color:#4b5563!important; opacity:1!important;
}
.single-product .summary .price .vbb-single-price-display ins,
.single-product .summary .price .vbb-single-price-display ins .woocommerce-Price-amount{
  color:#087b43!important; font-size:20px!important; font-weight:700!important;
  text-decoration:none!important; background:transparent!important;
}
.single-product .summary .price .vbb-single-price-display .vbb-discount-percent{
  display:inline!important; color:#dc2626!important; font-size:18px!important; font-weight:700!important;
  margin:0!important;
}
.single-product .summary .stock,.single-product .summary .availability,
.single-product .summary .vb-stock,.single-product .summary .vb-availability,
.single-product .summary [class*="stock-count"],.single-product .summary [class*="availability-count"]{
  display:none!important;
}


/* v1.6.4: product-page palette + inline savings + definitive stock-quantity hiding */
.single-product .summary .price .vbb-price-label,
.single-product div.product .summary .price .vbb-price-label{
  color:#0b3b82!important;
  font-size:18px!important;
  font-weight:600!important;
}
.single-product .summary .price .vbb-single-price-row,
.single-product div.product .summary .price .vbb-single-price-row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  gap:6px!important;
  width:auto!important;
  white-space:nowrap!important;
  color:#0b3b82!important;
}
.single-product .summary .price .vbb-single-savings-row .vbb-price-label,
.single-product div.product .summary .price .vbb-single-savings-row .vbb-price-label{
  color:#0b3b82!important;
}
.single-product .summary .price .vbb-single-savings-row .vbb-discount-percent,
.single-product div.product .summary .price .vbb-single-savings-row .vbb-discount-percent{
  display:inline!important;
  color:#dc2626!important;
  margin:0!important;
  font-size:18px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.single-product .summary .stock,
.single-product .summary .availability,
.single-product .summary .stock-quantity,
.single-product .summary .product-stock,
.single-product .summary .vb-product-stock,
.single-product .summary .vb-stock,
.single-product .summary .vb-availability,
.single-product .summary [class*="stock"],
.single-product .summary [class*="availability"]{
  display:none!important;
}

/* v1.6.5: labels belong only to the main single-product summary.
   Related products and all product cards stay compact. */
.single-product .related .vbb-price-label,
.single-product .upsells .vbb-price-label,
.single-product li.product .vbb-price-label,
.single-product .vb-related-card .vbb-price-label{
  display:none!important;
}
.single-product .related .vbb-single-price-display,
.single-product .upsells .vbb-single-price-display,
.single-product li.product .vbb-single-price-display,
.single-product .vb-related-card .vbb-single-price-display{
  display:inline-flex!important;
  flex-direction:column!important;
  gap:3px!important;
}


/* v1.6.7: keep the single-product savings label and percentage on one physical line.
   Use <strong> for the percentage so theme-wide span rules cannot force a line break. */
.single-product div.product .summary .price .vbb-single-savings-row,
.single-product .summary .price .vbb-single-savings-row{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  gap:6px!important;
  width:max-content!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
.single-product div.product .summary .price .vbb-single-savings-row > .vbb-price-label,
.single-product .summary .price .vbb-single-savings-row > .vbb-price-label{
  display:inline!important;
  white-space:nowrap!important;
}
.single-product div.product .summary .price .vbb-single-savings-row > strong.vbb-discount-percent,
.single-product .summary .price .vbb-single-savings-row > strong.vbb-discount-percent{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  color:#dc2626!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:700!important;
  white-space:nowrap!important;
}


/* v1.6.8: definitive single-line savings row. Percentage is rendered as a pseudo-element
   on the SAME element as the label, so theme rules cannot push it onto another line. */
.single-product div.product .summary .price .vbb-single-savings-row,
.single-product .summary .price .vbb-single-savings-row{
  display:inline-block!important;
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  color:#0b3b82!important;
  font-size:18px!important;
  line-height:1.35!important;
}
.single-product div.product .summary .price .vbb-single-savings-row > .vbb-price-label,
.single-product .summary .price .vbb-single-savings-row > .vbb-price-label{
  display:inline!important;
  color:#0b3b82!important;
  font-size:18px!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
.single-product div.product .summary .price .vbb-single-savings-row::after,
.single-product .summary .price .vbb-single-savings-row::after{
  content:' ' attr(data-vbb-saving)!important;
  display:inline!important;
  color:#dc2626!important;
  font-size:18px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

/* v1.6.9: visible savings percent, locked to same row as label */
.single-product div.product .summary .price .vbb-single-savings-row,
.single-product .summary .price .vbb-single-savings-row{display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:baseline!important;gap:6px!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;}
.single-product div.product .summary .price .vbb-single-savings-row::after,.single-product .summary .price .vbb-single-savings-row::after{content:none!important;display:none!important;}
.single-product div.product .summary .price .vbb-single-savings-row>.vbb-price-label,.single-product .summary .price .vbb-single-savings-row>.vbb-price-label{display:inline!important;margin:0!important;color:#0b3b82!important;white-space:nowrap!important;}
.single-product div.product .summary .price .vbb-single-savings-row>.vbb-single-saving-percent,.single-product .summary .price .vbb-single-savings-row>.vbb-single-saving-percent{display:inline!important;margin:0!important;padding:0!important;color:#dc2626!important;font:inherit!important;font-weight:700!important;line-height:inherit!important;white-space:nowrap!important;}

/* v1.7.0: final single-product text color, spacing, and savings styling */
.single-product div.product .summary .price .vbb-single-price-row,
.single-product .summary .price .vbb-single-price-row{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  column-gap:10px!important;
  white-space:nowrap!important;
  color:#374151!important;
}
.single-product div.product .summary .price .vbb-price-label,
.single-product .summary .price .vbb-price-label{
  color:#374151!important;
  font-weight:500!important;
  margin:0!important;
}
.single-product div.product .summary .price .vbb-single-price-display del,
.single-product div.product .summary .price .vbb-single-price-display del .woocommerce-Price-amount,
.single-product .summary .price .vbb-single-price-display del,
.single-product .summary .price .vbb-single-price-display del .woocommerce-Price-amount,
.single-product div.product .summary .price .vbb-single-price-display ins,
.single-product div.product .summary .price .vbb-single-price-display ins .woocommerce-Price-amount,
.single-product .summary .price .vbb-single-price-display ins,
.single-product .summary .price .vbb-single-price-display ins .woocommerce-Price-amount{
  color:#374151!important;
}
.single-product div.product .summary .price .vbb-single-savings-row>.vbb-single-saving-percent,
.single-product .summary .price .vbb-single-savings-row>.vbb-single-saving-percent{
  display:inline!important;
  color:#dc2626!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.35!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}

/* v1.7.1: hard fallback for theme overrides on the single product page */
.single-product .summary .vbb-single-price-display .vbb-price-label,
.single-product .summary .vbb-single-price-display del,
.single-product .summary .vbb-single-price-display del *{
  color:#374151!important;
}
.single-product .summary .vbb-single-price-display ins,
.single-product .summary .vbb-single-price-display ins *{
  color:#16a34a!important;
}
.single-product .summary .vbb-single-price-display .vbb-single-saving-percent{
  color:#dc2626!important;
  font-weight:400!important;
}

/* v1.7.3: Amazon-like typography sizes on individual product pages only.
   Amazon desktop product title uses its medium title treatment; product copy uses base body sizing. */
.single-product div.product .summary .product_title,
.single-product div.product .summary h1.product_title{
  font-size:20px!important;
  line-height:24px!important;
  font-weight:400!important;
}
.single-product div.product .woocommerce-product-details__short-description,
.single-product div.product .woocommerce-product-details__short-description p,
.single-product div.product .woocommerce-product-details__short-description li,
.single-product div.product .woocommerce-Tabs-panel--description,
.single-product div.product .woocommerce-Tabs-panel--description p,
.single-product div.product .woocommerce-Tabs-panel--description li{
  font-size:14px!important;
  line-height:20px!important;
}

/* v1.7.4: slightly tighter vertical spacing in Tu Caja only */
.vbb-summary{
  padding-top:30px!important;
  padding-bottom:30px!important;
}
.vbb-summary h3{
  margin-bottom:24px!important;
}
.vbb-summary-row{
  padding-top:13px!important;
  padding-bottom:13px!important;
}
.vbb-summary .vbb-total-row{
  padding-top:16px!important;
  padding-bottom:16px!important;
}
.vbb-summary .vbb-checkout-btn,
.vbb-summary .button{
  margin-top:20px!important;
  margin-bottom:16px!important;
}
.vbb-summary .vbb-privacy,
.vbb-summary .vbb-private-note{
  margin-top:12px!important;
}

/* v1.7.5: Tu Caja — correct selectors from the actual builder markup */
#vbbBuilder .summary{
  padding-top:28px!important;
  padding-bottom:28px!important;
}
#vbbBuilder .summary h3{
  margin-top:0!important;
  margin-bottom:20px!important;
}
#vbbBuilder .summary .sum-row{
  padding-top:11px!important;
  padding-bottom:11px!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
#vbbBuilder .summary .sum-row.sum-total{
  padding-top:14px!important;
  padding-bottom:14px!important;
}
#vbbBuilder .summary .btn{
  margin-top:18px!important;
  margin-bottom:14px!important;
}
#vbbBuilder .summary .note{
  margin-top:10px!important;
}
