/* =====================================================
   BLOCKOUT ENTERTAINMENT — WooCommerce CSS
   Extiende el child theme para la tienda WooCommerce
   ===================================================== */

/* ── Shop loop — grid de productos ─────────────────── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
@media (max-width: 900px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* Card individual */
.woocommerce ul.products li.product {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transition: border-color var(--bo-t), transform var(--bo-t), box-shadow var(--bo-t) !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--bo-green) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(92,184,42,.2) !important;
}

/* Imagen del producto */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-loop-product__link img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  background: var(--bo-bg3) !important;
}

/* Info debajo de imagen */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  padding: 16px 16px 0 !important;
  flex: 1 !important;
}

/* Título del producto */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--bo-txt) !important;
  margin-bottom: 8px !important;
  line-height: 1.3 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Precio */
.woocommerce ul.products li.product .price,
.woocommerce .price {
  color: var(--bo-green) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.25rem !important;
  padding: 0 16px 4px !important;
}
.woocommerce ul.products li.product .price del,
.woocommerce .price del {
  color: var(--bo-muted) !important;
  font-size: .9rem !important;
  font-weight: 400 !important;
  margin-right: 6px !important;
}
.woocommerce ul.products li.product .price ins,
.woocommerce .price ins {
  text-decoration: none !important;
  color: var(--bo-orange) !important;
}

/* Botón Agregar al carrito (loop) */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 12px 16px 16px !important;
  text-align: center !important;
  padding: 10px 0 !important;
  font-size: .875rem !important;
}

/* Badge OFERTA */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
  background: var(--bo-red) !important;
  color: #fff !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
  letter-spacing: .05em !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  min-height: unset !important;
  min-width: unset !important;
  line-height: 1 !important;
}

/* Badge NUEVO (nuestro custom) */
.blockout-badge {
  position: absolute !important;
  top: 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
  letter-spacing: .05em !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  line-height: 1 !important;
  z-index: 2 !important;
}
.blockout-badge--new {
  background: var(--bo-green) !important;
  color: #fff !important;
  right: 12px !important;
}

/* ── Página de producto único ───────────────────────── */
.woocommerce div.product {
  background: var(--bo-bg) !important;
}

/* Galería de imágenes */
.woocommerce div.product div.images img {
  border-radius: var(--bo-r2) !important;
  border: 1px solid var(--bo-border) !important;
  background: var(--bo-bg2) !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: 8px !important;
  border: 2px solid transparent !important;
  opacity: .7 !important;
  transition: opacity var(--bo-t), border-color var(--bo-t) !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  opacity: 1 !important;
  border-color: var(--bo-green) !important;
}

/* Resumen / summary */
.woocommerce div.product div.summary {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  padding: 32px !important;
}

/* Precio en producto único */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--bo-green) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
  font-size: 2rem !important;
}

/* Stock */
.woocommerce div.product .stock {
  color: var(--bo-green) !important;
  font-weight: 600 !important;
  font-size: .875rem !important;
}
.woocommerce div.product .out-of-stock {
  color: var(--bo-red) !important;
}

/* Cantidad */
.woocommerce .quantity input[type=number] {
  background: var(--bo-bg3) !important;
  border: 1.5px solid var(--bo-border2) !important;
  color: var(--bo-txt) !important;
  border-radius: var(--bo-r) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-align: center !important;
  width: 72px !important;
  height: 44px !important;
}
.woocommerce .quantity input[type=number]:focus {
  border-color: var(--bo-green) !important;
  outline: none !important;
}

/* Botón Agregar al carrito (single) */
.woocommerce div.product form.cart .single_add_to_cart_button {
  height: 48px !important;
  font-size: 1rem !important;
  padding: 0 32px !important;
}

/* Tabs (Descripción, Reseñas) */
.woocommerce div.product .woocommerce-tabs .tabs {
  border-bottom: 1px solid var(--bo-border) !important;
  padding: 0 !important;
  margin-bottom: 0 !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: .875rem !important;
  color: var(--bo-muted) !important;
  padding: 12px 20px !important;
  border-radius: var(--bo-r) var(--bo-r) 0 0 !important;
  transition: color var(--bo-t) !important;
}
.woocommerce div.product .woocommerce-tabs .tabs li.active a,
.woocommerce div.product .woocommerce-tabs .tabs li a:hover {
  color: var(--bo-txt) !important;
  background: var(--bo-bg2) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  border-top: none !important;
  border-radius: 0 var(--bo-r2) var(--bo-r2) var(--bo-r2) !important;
  padding: 28px !important;
  color: var(--bo-txt) !important;
}

/* Productos relacionados */
.related.products h2,
.upsells.products h2 {
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--bo-txt) !important;
  margin-bottom: 20px !important;
}

/* ── Carrito ─────────────────────────────────────────── */
.woocommerce-cart .woocommerce {
  background: var(--bo-bg) !important;
}

/* Tabla del carrito */
.woocommerce table.shop_table,
.woocommerce-cart table.cart {
  border-collapse: collapse !important;
  width: 100% !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  overflow: hidden !important;
  background: var(--bo-bg2) !important;
}
.woocommerce table.shop_table th {
  background: var(--bo-bg3) !important;
  color: var(--bo-muted) !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--bo-border) !important;
}
.woocommerce table.shop_table td {
  padding: 16px !important;
  border-bottom: 1px solid var(--bo-border) !important;
  color: var(--bo-txt) !important;
  vertical-align: middle !important;
  background: transparent !important;
}
.woocommerce table.shop_table tr:last-child td {
  border-bottom: none !important;
}

/* Imagen en carrito */
.woocommerce td.product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid var(--bo-border) !important;
}

/* Nombre del producto en carrito */
.woocommerce-cart .cart_item .product-name a {
  color: var(--bo-txt) !important;
  font-weight: 600 !important;
}
.woocommerce-cart .cart_item .product-name a:hover {
  color: var(--bo-green) !important;
}

/* Precio carrito */
.woocommerce td.product-subtotal,
.woocommerce td.product-price {
  color: var(--bo-green) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}

/* Botón eliminar item */
.woocommerce a.remove {
  color: var(--bo-muted) !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
  transition: color var(--bo-t) !important;
}
.woocommerce a.remove:hover {
  color: var(--bo-red) !important;
  background: none !important;
}

/* Botón actualizar carrito */
.woocommerce .cart .button[name="update_cart"] {
  background: var(--bo-bg3) !important;
  color: var(--bo-muted) !important;
  font-size: .85rem !important;
  box-shadow: none !important;
}
.woocommerce .cart .button[name="update_cart"]:hover {
  color: var(--bo-txt) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Totales del carrito */
.woocommerce .cart_totals {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  padding: 24px !important;
}
.woocommerce .cart_totals h2 {
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 1.25rem !important;
  color: var(--bo-txt) !important;
  margin-bottom: 16px !important;
}
.woocommerce .cart_totals table {
  border: none !important;
  background: transparent !important;
}
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  border: none !important;
  padding: 8px 0 !important;
  color: var(--bo-txt) !important;
  background: transparent !important;
}
.woocommerce .cart_totals table .order-total .amount {
  color: var(--bo-green) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
}

/* Botón proceder al pago */
.woocommerce .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 14px !important;
  font-size: 1rem !important;
  margin-top: 16px !important;
}

/* Cupón */
.woocommerce .coupon input[type="text"] {
  height: 44px !important;
}
.woocommerce .coupon .button {
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 20px !important;
  font-size: .875rem !important;
}

/* ── Checkout ────────────────────────────────────────── */
.woocommerce-checkout .woocommerce {
  background: var(--bo-bg) !important;
}

/* Secciones del formulario */
.woocommerce #customer_details,
.woocommerce-checkout #order_review_heading {
  color: var(--bo-txt) !important;
}
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-shipping-fields h3,
.woocommerce .woocommerce-additional-fields h3 {
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--bo-txt) !important;
  border-bottom: 1px solid var(--bo-border) !important;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}

/* Resumen del pedido en checkout */
#order_review {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  padding: 24px !important;
}
#order_review h3 {
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 1.25rem !important;
  color: var(--bo-txt) !important;
  margin-bottom: 16px !important;
}
.woocommerce-checkout-review-order-table {
  border: none !important;
  background: transparent !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border-bottom: 1px solid var(--bo-border) !important;
  padding: 10px 0 !important;
  background: transparent !important;
  color: var(--bo-txt) !important;
}
.woocommerce-checkout-review-order-table .order-total .amount {
  color: var(--bo-green) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.4rem !important;
}

/* Métodos de pago */
#payment {
  background: var(--bo-bg2) !important;
  border-radius: var(--bo-r2) !important;
  border: 1px solid var(--bo-border) !important;
  overflow: hidden !important;
}
#payment ul.payment_methods {
  border-bottom: 1px solid var(--bo-border) !important;
  padding: 16px 24px !important;
  margin: 0 !important;
  list-style: none !important;
}
#payment ul.payment_methods li {
  padding: 8px 0 !important;
}
#payment ul.payment_methods label {
  color: var(--bo-txt) !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
}
#payment .place-order {
  padding: 20px 24px !important;
}
#payment .place-order .button {
  width: 100% !important;
  padding: 14px !important;
  font-size: 1rem !important;
}

/* Política de privacidad en checkout */
.woocommerce .woocommerce-privacy-policy-text p {
  color: var(--bo-muted) !important;
  font-size: .8rem !important;
}
.woocommerce .woocommerce-privacy-policy-text a {
  color: var(--bo-green) !important;
}

/* ── Mi Cuenta ───────────────────────────────────────── */
.woocommerce-account .woocommerce {
  background: var(--bo-bg) !important;
}

/* Navegación lateral de cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  overflow: hidden !important;
  padding: 8px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block !important;
  padding: 10px 16px !important;
  color: var(--bo-muted) !important;
  font-size: .875rem !important;
  font-weight: 500 !important;
  border-radius: var(--bo-r) !important;
  transition: background var(--bo-t), color var(--bo-t) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: rgba(92,184,42,.1) !important;
  color: var(--bo-txt) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--bo-green) !important;
}

/* Contenido de cuenta */
.woocommerce-account .woocommerce-MyAccount-content {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  padding: 28px !important;
  color: var(--bo-txt) !important;
}
.woocommerce-account .woocommerce-MyAccount-content p {
  color: var(--bo-txt) !important;
}

/* Tabla de pedidos */
.woocommerce-orders-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.woocommerce-orders-table th {
  background: var(--bo-bg3) !important;
  color: var(--bo-muted) !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--bo-border) !important;
}
.woocommerce-orders-table td {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--bo-border) !important;
  color: var(--bo-txt) !important;
}
.woocommerce-orders-table .woocommerce-button {
  font-size: .8rem !important;
  padding: 6px 14px !important;
}

/* Status de pedidos */
.woocommerce-orders-table .woocommerce-order-status-processing { color: var(--bo-yellow) !important; }
.woocommerce-orders-table .woocommerce-order-status-completed  { color: var(--bo-green) !important; }
.woocommerce-orders-table .woocommerce-order-status-cancelled,
.woocommerce-orders-table .woocommerce-order-status-failed     { color: var(--bo-red) !important; }
.woocommerce-orders-table .woocommerce-order-status-on-hold    { color: var(--bo-orange) !important; }

/* ── Notificaciones WooCommerce ─────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--bo-r) !important;
  padding: 14px 20px !important;
  font-size: .875rem !important;
  list-style: none !important;
  margin-bottom: 16px !important;
}
.woocommerce-message {
  background: rgba(92,184,42,.12) !important;
  border-left: 4px solid var(--bo-green) !important;
  color: var(--bo-txt) !important;
}
.woocommerce-info {
  background: rgba(6,182,212,.12) !important;
  border-left: 4px solid #06B6D4 !important;
  color: var(--bo-txt) !important;
}
.woocommerce-error {
  background: rgba(220,38,38,.12) !important;
  border-left: 4px solid var(--bo-red) !important;
  color: var(--bo-txt) !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button {
  font-size: .8rem !important;
  padding: 6px 14px !important;
  float: right !important;
}

/* ── Paginación de tienda ────────────────────────────── */
.woocommerce nav.woocommerce-pagination {
  text-align: center !important;
  margin-top: 32px !important;
}
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li {
  display: flex !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: var(--bo-r) !important;
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  color: var(--bo-muted) !important;
  font-weight: 600 !important;
  font-size: .875rem !important;
  transition: background var(--bo-t), color var(--bo-t), border-color var(--bo-t) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--bo-bg3) !important;
  color: var(--bo-txt) !important;
  border-color: var(--bo-border2) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--bo-green) !important;
  color: #fff !important;
  border-color: var(--bo-green) !important;
}

/* ── Filtros / ordenamiento de tienda ───────────────── */
.woocommerce .woocommerce-ordering select {
  background: var(--bo-bg2) !important;
  border: 1.5px solid var(--bo-border2) !important;
  color: var(--bo-txt) !important;
  border-radius: var(--bo-r) !important;
  padding: 8px 12px !important;
  font-size: .875rem !important;
}
.woocommerce-result-count {
  color: var(--bo-muted) !important;
  font-size: .875rem !important;
  line-height: 40px !important;
}

/* ── Widget de carrito ──────────────────────────────── */
.woocommerce .widget_shopping_cart_content {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border2) !important;
  border-radius: var(--bo-r2) !important;
  padding: 20px !important;
}
.woocommerce .widget_shopping_cart .cart_list li {
  border-bottom: 1px solid var(--bo-border) !important;
  padding: 12px 0 !important;
  color: var(--bo-txt) !important;
}
.woocommerce .widget_shopping_cart .cart_list li a:not(.remove) {
  color: var(--bo-txt) !important;
  font-weight: 500 !important;
}
.woocommerce .widget_shopping_cart .total {
  border-top: 1px solid var(--bo-border) !important;
  padding-top: 12px !important;
  color: var(--bo-muted) !important;
}
.woocommerce .widget_shopping_cart .total .amount {
  color: var(--bo-green) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700 !important;
}
.woocommerce .widget_shopping_cart .buttons {
  display: flex !important;
  gap: 8px !important;
  margin-top: 12px !important;
}
.woocommerce .widget_shopping_cart .buttons .button {
  flex: 1 !important;
  text-align: center !important;
  padding: 10px 0 !important;
  font-size: .85rem !important;
}
.woocommerce .widget_shopping_cart .buttons .checkout {
  background: linear-gradient(135deg, var(--bo-green), var(--bo-orange)) !important;
}

/* ── Reviews / Reseñas ──────────────────────────────── */
#reviews #comments .commentlist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#reviews #comments .commentlist .comment {
  background: var(--bo-bg3) !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
}
#reviews #comments .commentlist .comment .meta {
  color: var(--bo-muted) !important;
  font-size: .82rem !important;
}
#reviews #comments .commentlist .comment .star-rating {
  color: var(--bo-yellow) !important;
}
.woocommerce p.stars a { color: var(--bo-yellow) !important; }
.woocommerce #review_form #respond {
  background: var(--bo-bg2) !important;
  border: 1px solid var(--bo-border) !important;
  border-radius: var(--bo-r2) !important;
  padding: 24px !important;
  margin-top: 24px !important;
}
.woocommerce #review_form #respond .comment-reply-title {
  font-family: 'Rajdhani', sans-serif !important;
  color: var(--bo-txt) !important;
  font-size: 1.2rem !important;
}

/* ── Rating stars ────────────────────────────────────── */
.woocommerce .star-rating {
  color: var(--bo-yellow) !important;
  font-size: .9rem !important;
}
.woocommerce .star-rating span { color: var(--bo-yellow) !important; }

/* ── Página vacía del carrito ────────────────────────── */
.woocommerce-cart .cart-empty {
  text-align: center !important;
  padding: 60px 0 !important;
  color: var(--bo-muted) !important;
  font-size: 1.1rem !important;
}
.woocommerce-cart .return-to-shop {
  text-align: center !important;
  margin-top: 16px !important;
}
.woocommerce-cart .return-to-shop .button {
  display: inline-block !important;
  padding: 12px 28px !important;
}
