/* BS – Ficha de producto: tres columnas (galería | información | caja de compra) con bloque de descuento al estilo Amazon.
   La galería conserva el estilo de single.css (bs-product-cards). */
.single-product { --bs-red: #c4133a; --bs-cta: #ffd814; --bs-cta-line: #f0c200; --bs-buy: #ffa41c; --bs-buy-line: #e58b00; --bs-good: #0b7a3b; --bs-link: #0b5f8a; }

/* Disposición */
.woocommerce.single-product div.product { grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 32px 40px; }
.woocommerce.single-product div.product div.summary {
  display: grid; grid-template-columns: minmax(0, 1fr) 270px; grid-template-areas: 'info buy' 'more buy';
  column-gap: 28px; row-gap: 20px; align-items: start; position: static; padding-top: 0;
}
.woocommerce.single-product div.product div.summary > * { grid-column: 1 / -1; }
.woocommerce.single-product div.product div.summary > .bs-info { grid-area: info; }
.woocommerce.single-product div.product div.summary > .bs-more { grid-area: more; }
.woocommerce.single-product div.product div.summary > .bs-buy { grid-area: buy; position: sticky; top: calc(var(--header-h) + 16px); }
.bs-info { min-width: 0; display: grid; gap: 14px; }
.bs-info .product_title { margin: 0 !important; }
.bs-more { min-width: 0; }

/* Valoraciones */
.bs-rate { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; color: var(--text-muted); font-size: 14px; }
.bs-stars { display: inline-flex; gap: 2px; color: var(--hairline); }
.bs-stars svg { width: 16px; height: 16px; fill: currentColor; }
.bs-rate a { color: var(--bs-link); }

/* Bloque de descuento */
.bs-deal { display: grid; gap: 10px; padding-block: 14px; border-block: 1px solid var(--hairline); }
.bs-deal__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.bs-tag { display: inline-flex; align-items: center; gap: 6px; background: var(--bs-red); color: #fff; font-weight: 700; font-size: 12px; letter-spacing: .03em; padding: 4px 9px; border-radius: 3px; }
.bs-tag svg { width: 12px; height: 12px; fill: currentColor; }
.bs-timer { color: var(--bs-red); font-weight: 600; font-size: 13px; }
.bs-timer b { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.bs-deal__row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; }
.bs-pct { font: 300 32px/1 var(--font-mono); color: var(--bs-red); letter-spacing: -.02em; }
.bs-pct--sm { font-size: 20px; }
.bs-price { display: inline-flex; align-items: flex-start; font-family: var(--font-mono); font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1; color: var(--text-ink); }
.bs-price__cur, .bs-price__dec { font-size: .5em; margin-top: .2em; }
.bs-price__cur { margin-right: .1em; }
.bs-price__dec { margin-left: .1em; }
.bs-price--xl { font-size: 38px; }
.bs-price--lg { font-size: 30px; }
.bs-price--md { font-size: 22px; }
.bs-wcprice { font-family: var(--font-mono); font-size: 26px; font-weight: 500; color: var(--text-ink); }
.bs-wcprice del { color: var(--text-muted); font-size: .65em; margin-right: 6px; }
.bs-wcprice ins { text-decoration: none; }
.bs-deal__list, .bs-deal__list s { color: var(--text-muted); }
.bs-deal__save { color: var(--bs-red); font-weight: 600; }
.bs-deal__tax { color: var(--text-muted); font-size: 12px; font-weight: 400; }

/* Descripción corta como "Acerca de este artículo" */
.bs-info .woocommerce-product-details__short-description { margin: 0 !important; color: var(--text-body); }
.bs-info .woocommerce-product-details__short-description p { margin: 0 0 8px; }
.bs-about { margin: 0 0 8px; font-size: 16px; font-weight: 700; }
.bs-lead { font-weight: 600; color: var(--text-ink); }
.bs-bullets { margin: 0; padding-left: 20px; display: grid; gap: 4px; list-style: disc outside; } .bs-bullets li { list-style: disc outside; }

/* Caja de compra */
.bs-buy { border: 1px solid var(--hairline); border-radius: 16px; padding: 20px; display: grid; gap: 12px; background: var(--surface-canvas, #fff); min-width: 0; }
.bs-buy p { margin: 0; }
.bs-buy__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.bs-buy__ship { color: var(--text-muted); }
.bs-stock { color: var(--bs-good); font-size: 17px; font-weight: 600; }
.bs-stock--low { color: var(--bs-red); font-size: 15px; }
.bs-stock--out { color: var(--bs-red); }
.bs-buy > .stock { display: none; }
.bs-buy .ecpm-entrega { display: block; margin: 0; }
.single-product.woocommerce .bs-buy form.cart, .single-product.woocommerce .bs-buy form.cart .variations_button { display: grid; gap: 10px; margin: 0; }
.single-product.woocommerce .bs-buy .quantity { justify-self: start; }
.single-product.woocommerce .bs-buy form.cart .qty { height: 40px; }
.single-product.woocommerce .bs-buy form.cart .single_add_to_cart_button { width: 100%; flex: none; height: 44px !important; background: var(--bs-cta) !important; border: 1px solid var(--bs-cta-line) !important; color: var(--bs-cta-text, #0f1722) !important; font-weight: 600 !important; }
.single-product.woocommerce .bs-buy form.cart .single_add_to_cart_button.disabled { opacity: .6; }
.bs-buynow, .bs-mbar__btn { height: 44px; border-radius: 999px; font-family: var(--font-sans); font-weight: 600; font-size: 14px; cursor: pointer; }
.bs-buynow { width: 100%; border: 1px solid var(--bs-buy-line); background: var(--bs-buy); color: var(--bs-buy-text, #0f1722); }
.bs-buynow:hover, .single-product.woocommerce .bs-buy form.cart .single_add_to_cart_button:hover { filter: brightness(.96); opacity: 1; }
.single-product.woocommerce .bs-buy .variations, .single-product.woocommerce .bs-buy .variations tbody, .single-product.woocommerce .bs-buy .variations tr, .single-product.woocommerce .bs-buy .variations th, .single-product.woocommerce .bs-buy .variations td { display: block; width: 100%; }
.single-product.woocommerce .bs-buy .variations th { padding: 0 0 4px; }
.single-product.woocommerce .bs-buy .single_variation_wrap { margin-top: 0; }
.bs-secure { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--bs-link); }
.bs-secure svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.bs-meta { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 12px; color: var(--text-muted); }
.bs-meta dd { margin: 0; color: var(--text-ink); } .bs-meta dd span { display: block; }

/* Barra de compra fija (solo móvil) y aviso */
.bs-mbar { display: none; }
.bs-toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); background: var(--text-ink); color: #fff; padding: 10px 16px; border-radius: 8px; font-size: 13px; z-index: 1200; max-width: calc(100% - 32px); }

@media (max-width: 1100px) {
  .woocommerce.single-product div.product div.summary { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'info' 'buy' 'more'; }
  .woocommerce.single-product div.product div.summary > .bs-buy { position: static; max-width: 440px; width: 100%; }
}
@media (max-width: 768px) {
  .woocommerce.single-product div.product { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .woocommerce.single-product div.product div.summary > .bs-buy { max-width: none; }
  .bs-pct { font-size: 28px; }
  .bs-price--xl { font-size: 34px; }
  .bs-mbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; display: flex; align-items: center; gap: 20px; background: #fff; border-top: 1px solid var(--hairline);
    padding: 12px max(16px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    transform: translateY(100%); visibility: hidden; transition: transform .2s ease, visibility .2s;
  }
  .bs-mbar.is-on { transform: none; visibility: visible; }
  .bs-mbar__p { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; min-width: 0; }
  .bs-mbar__p .bs-price__cur { margin-right: .22em; }
  .bs-mbar__p .bs-price__dec { margin-left: .18em; }
  .bs-mbar__btn { flex: 1; border: 1px solid var(--bs-cta-line); background: var(--bs-cta); color: var(--bs-cta-text, #0f1722); }
  .single-product .site-footer { margin-bottom: 72px; }
  /* Botones flotantes (carrito lateral, WhatsApp, avisos) por encima de la barra mientras esté visible */
  .bs-mbar-on .xoo-wsc-basket, .bs-mbar-on #ht-ctc-chat, .bs-mbar-on .ecpm-toast { bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (prefers-reduced-motion: reduce) { .bs-mbar { transition: none; } }

/* Porcentaje de descuento compacto (precio de la caja de compra y barra fija) */
.bs-pct.bs-pct--sm { font-size: 16px; }
@media (max-width: 768px) {
  .bs-mbar__p .bs-pct.bs-pct--sm { font-size: 14px; }
}

/* Tablet/móvil: los botones de compra (caja .bs-buy) van antes de la descripción corta.
   .bs-info pasa a display:contents para poder ordenar sus hijos junto a la caja de compra. */
@media (max-width: 1100px) {
  .woocommerce.single-product div.product div.summary { grid-template-areas: none; row-gap: 14px; }
  .woocommerce.single-product div.product div.summary > .bs-info { display: contents; }
  .woocommerce.single-product div.product div.summary > .bs-buy { grid-area: auto; order: 4; }
  .woocommerce.single-product div.product div.summary > .bs-info > .woocommerce-product-details__short-description { order: 5; }
  .woocommerce.single-product div.product div.summary > .bs-more { grid-area: auto; order: 6; }
}
