/* =============================================================
   JJM THEME — woocommerce.css
   Overrides del frontend de WooCommerce para integrarlo
   al diseño JJM sin romper su funcionalidad.
   Depende de global.css.
   ============================================================= */

/* ---- Contenedor base --------------------------------------- */
.woocommerce,
.woocommerce-page {
  color: var(--c-gray);
  font-family: var(--font-body);
}

/* ---- Tarjeta de producto en listados ---------------------- */
.jjm-product-card {
  background: #0a0a0f;
  overflow: hidden;
  transition: transform var(--t-base);
  display: flex;
  flex-direction: column;
}
.jjm-product-card:hover {
  transform: translateY(-4px);
}

.jjm-product-card__thumb {
  aspect-ratio: 1 / 1;
  background: #08080b;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
.jjm-product-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.35s ease;
}
.jjm-product-card:hover .jjm-product-card__thumb img {
  transform: scale(1.04);
}

.jjm-product-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--c-red);
  color: var(--c-white);
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 3px 8px;
  z-index: 2;
}
.jjm-product-card__badge--sale { background: var(--c-green-wa); }

.jjm-product-card__info {
  padding: var(--sp-5) var(--sp-5) var(--sp-6);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.jjm-product-card__sku {
  font-family: var(--font-heading);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-red);
  margin-bottom: 6px;
}

.jjm-product-card__name {
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--c-white);
  margin-bottom: 6px;
  line-height: 1.3;
  flex: 1;
}
.jjm-product-card__name a { color: inherit; transition: color var(--t-fast); }
.jjm-product-card__name a:hover { color: var(--c-red); }

.jjm-product-card__spec {
  font-size: 13px;
  color: var(--c-gray-mid);
  margin-bottom: var(--sp-4);
  line-height: 1.4;
}

.jjm-product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-2);
  margin-top: auto;
}

.jjm-product-card__price {
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  color: var(--c-white);
}
.jjm-product-card__price small {
  font-size: 11px;
  font-weight: 400;
  color: var(--c-gray-mid);
  margin-left: 2px;
}
.jjm-product-card__price del {
  font-size: 14px;
  color: var(--c-gray-mid);
  margin-right: 6px;
}
.jjm-product-card__price ins {
  text-decoration: none;
  color: var(--c-white);
}

.jjm-product-card__actions {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.btn-add-cart {
  background: var(--c-red);
  border: none;
  color: var(--c-white);
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--t-fast);
  flex-shrink: 0;
}
.btn-add-cart:hover { background: var(--c-red-hover); }
.btn-add-cart.added { background: #1a7a3a; }

.btn-wa-product {
  background: rgba(37,211,102,0.12);
  border: 1px solid rgba(37,211,102,0.3);
  color: var(--c-green-wa);
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--t-fast);
  flex-shrink: 0;
}
.btn-wa-product:hover { background: rgba(37,211,102,0.22); }

/* ---- Filtro de categorías ---------------------------------- */
.jjm-cat-filters {
  display: flex;
  gap: var(--sp-2);
  flex-wrap: wrap;
}

.jjm-cat-btn {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 8px 16px;
  border: 1px solid rgba(214,214,214,0.2);
  color: var(--c-gray-mid);
  background: transparent;
  transition: all var(--t-fast);
}
.jjm-cat-btn:hover,
.jjm-cat-btn.is-active {
  border-color: var(--c-red);
  color: var(--c-white);
  background: rgba(177,6,8,0.1);
}

/* ---- Página de producto individual ------------------------- */
.jjm-product-single {
  padding-top: calc(var(--navbar-h) + var(--sp-12));
  padding-bottom: var(--sp-24);
}

.jjm-product-single__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  align-items: start;
}

.jjm-product-single__gallery {}

.jjm-product-single__gallery-main {
  aspect-ratio: 4 / 3;
  background: var(--c-gray-card);
  overflow: hidden;
  margin-bottom: var(--sp-3);
}
.jjm-product-single__gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jjm-product-single__gallery-thumbs {
  display: flex;
  gap: var(--sp-2);
}
.jjm-product-single__gallery-thumbs img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity var(--t-fast);
  border: 2px solid transparent;
}
.jjm-product-single__gallery-thumbs img.is-active,
.jjm-product-single__gallery-thumbs img:hover {
  opacity: 1;
  border-color: var(--c-red);
}

.jjm-product-single__info {}

.jjm-product-single__sku {
  font-family: var(--font-heading);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-red);
  margin-bottom: var(--sp-2);
}

.jjm-product-single__name {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  color: var(--c-white);
  line-height: 0.95;
  letter-spacing: 0.02em;
  margin-bottom: var(--sp-6);
}

.jjm-product-single__price {
  font-family: var(--font-display);
  font-size: 36px;
  color: var(--c-white);
  margin-bottom: var(--sp-6);
}
.jjm-product-single__price del { color: var(--c-gray-mid); font-size: 24px; margin-right: var(--sp-3); }
.jjm-product-single__price ins { text-decoration: none; }

.jjm-product-single__desc {
  font-size: 15px;
  color: rgba(214,214,214,0.7);
  line-height: 1.8;
  margin-bottom: var(--sp-8);
  padding-bottom: var(--sp-8);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.jjm-product-single__qty-row {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  margin-bottom: var(--sp-6);
}

.jjm-qty {
  display: flex;
  align-items: center;
  border: 1px solid rgba(214,214,214,0.2);
}
.jjm-qty button {
  width: 36px;
  height: 44px;
  color: var(--c-white);
  font-size: 18px;
  background: transparent;
  transition: background var(--t-fast);
}
.jjm-qty button:hover { background: rgba(255,255,255,0.06); }
.jjm-qty input {
  width: 56px;
  height: 44px;
  text-align: center;
  background: transparent;
  border: none;
  border-left: 1px solid rgba(214,214,214,0.2);
  border-right: 1px solid rgba(214,214,214,0.2);
  color: var(--c-white);
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
}

.jjm-product-single__add-row {
  display: flex;
  gap: var(--sp-3);
  flex-wrap: wrap;
  margin-bottom: var(--sp-6);
}
.jjm-product-single__add-row .btn-primary { flex: 1; min-width: 200px; padding: 16px var(--sp-8); font-size: 15px; }
.jjm-product-single__add-row .btn-whatsapp { padding: 16px var(--sp-6); }

.jjm-product-single__meta {
  font-size: 13px;
  color: var(--c-gray-mid);
}
.jjm-product-single__meta span { color: var(--c-gray); }

/* ---- Carrito WooCommerce ----------------------------------- */
.woocommerce-cart .entry-content { padding-top: calc(var(--navbar-h) + var(--sp-12)); }

.woocommerce table.shop_table {
  background: var(--c-gray-card);
  border-collapse: collapse;
  width: 100%;
}
.woocommerce table.shop_table th {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--c-gray-mid);
  padding: var(--sp-4) var(--sp-5);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  text-align: left;
}
.woocommerce table.shop_table td {
  padding: var(--sp-5);
  color: var(--c-gray);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.woocommerce table.shop_table .product-name a {
  color: var(--c-white);
  font-family: var(--font-heading);
  font-size: 16px;
  font-weight: 700;
  transition: color var(--t-fast);
}
.woocommerce table.shop_table .product-name a:hover { color: var(--c-red); }
.woocommerce .woocommerce-cart-form__cart-item td.product-remove a {
  color: var(--c-gray-mid);
  font-size: 20px;
  transition: color var(--t-fast);
}
.woocommerce .woocommerce-cart-form__cart-item td.product-remove a:hover { color: var(--c-red); }

.woocommerce .cart_totals {
  background: var(--c-gray-card);
  padding: var(--sp-8);
}
.woocommerce .cart_totals h2 {
  font-family: var(--font-display);
  font-size: 28px;
  color: var(--c-white);
  margin-bottom: var(--sp-6);
}

/* ---- Checkout ---------------------------------------------- */
.woocommerce-checkout .entry-content { padding-top: calc(var(--navbar-h) + var(--sp-12)); }

.woocommerce form .form-row label {
  font-family: var(--font-heading);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-gray-mid);
  margin-bottom: 6px;
  display: block;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  background: var(--c-gray-card);
  border: 1px solid rgba(214,214,214,0.15);
  color: var(--c-white);
  padding: 12px 14px;
  font-family: var(--font-body);
  font-size: 15px;
  width: 100%;
  transition: border-color var(--t-fast);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--c-red);
  outline: none;
}

/* ---- Botón de WooCommerce que redirige al btn-primary ----- */
.woocommerce .button:not(.btn-add-cart):not(.btn-wa-product),
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button {
  background: var(--c-red) !important;
  color: var(--c-white) !important;
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px var(--sp-8) !important;
  border: none !important;
  clip-path: var(--clip-corner-sm);
  transition: background var(--t-fast) !important;
}
.woocommerce .button:not(.btn-add-cart):not(.btn-wa-product):hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--c-red-hover) !important;
}

/* ---- Mensajes / notices ------------------------------------ */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  background: var(--c-gray-card) !important;
  border-top-color: var(--c-red) !important;
  color: var(--c-gray) !important;
  font-family: var(--font-body);
}

/* ============================================================
   PÁGINA INDIVIDUAL DE PRODUCTO (single-product.php)
   Estiliza el markup estándar de WooCommerce
   ============================================================ */
.single-product-section {
  padding: var(--sp-12, 48px) 0 var(--sp-16, 64px);
}

/* Layout en 2 columnas: galería | resumen */
.single-product-section .product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
}

/* Galería de imágenes */
.single-product-section .woocommerce-product-gallery {
  position: relative;
  margin: 0;
  float: none !important;
  width: 100% !important;
}
/* Botón de zoom (lupa) — integrado como botón circular en la esquina */
.single-product-section .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 14px;
  right: 14px;
  left: auto;
  z-index: 5;
  width: 42px;
  height: 42px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(177, 6, 8, 0.92);
  border-radius: 50%;
  box-shadow: 0 4px 14px rgba(0,0,0,0.35);
  text-indent: 0;
  font-size: 0;
  transition: background 0.2s ease, transform 0.15s ease;
}
.single-product-section .woocommerce-product-gallery__trigger:hover {
  background: #8d0507;
  transform: scale(1.08);
}
/* oculta el emoji/imagen por defecto y dibuja una lupa limpia */
.single-product-section .woocommerce-product-gallery__trigger img { display: none; }
.single-product-section .woocommerce-product-gallery__trigger::after {
  content: "";
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-radius: 50%;
  position: relative;
  box-shadow: 0 0 0 0 transparent;
}
.single-product-section .woocommerce-product-gallery__trigger::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 9px;
  background: #fff;
  bottom: 7px;
  right: 11px;
  transform: rotate(-45deg);
  border-radius: 2px;
}
.single-product-section .woocommerce-product-gallery__image img {
  border-radius: 6px;
  background: #08080b;
  display: block;
}
.single-product-section .woocommerce-product-gallery__wrapper {
  margin: 0;
}
.single-product-section .flex-control-thumbs {
  display: flex;
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.single-product-section .flex-control-thumbs li {
  width: 70px;
}
.single-product-section .flex-control-thumbs img {
  border-radius: 4px;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.single-product-section .flex-control-thumbs img.flex-active,
.single-product-section .flex-control-thumbs img:hover {
  opacity: 1;
}

/* Resumen / info */
.single-product-section .summary {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
}
.single-product-section .product_title {
  font-family: var(--font-display, sans-serif);
  font-size: clamp(28px, 3.5vw, 42px);
  line-height: 1.05;
  color: var(--c-white, #fff);
  margin: 0 0 var(--sp-3, 12px);
  letter-spacing: 0.01em;
}
.single-product-section .woocommerce-product-details__short-description {
  color: var(--c-gray-mid, #b5b5b5);
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: var(--sp-4, 16px);
}
.single-product-section .price {
  font-family: var(--font-heading, sans-serif);
  font-size: 26px !important;
  font-weight: 700;
  color: var(--c-red, #B10608) !important;
  margin: 0 0 var(--sp-5, 20px) !important;
}
.single-product-section .price del { color: var(--c-gray-mid, #888); opacity: 0.6; }
.single-product-section .price ins { text-decoration: none; }

/* Botón WhatsApp "Pedir informes" */
.single-product-section__wa {
  margin-top: var(--sp-5, 20px);
}
.single-product-section__wa .single-wa-btn,
.single-product-section__wa .single-wa-btn:link,
.single-product-section__wa .single-wa-btn:visited {
  display: inline-flex;
  color: #fff !important;
}
/* en hover: solo oscurece el fondo, el texto SIEMPRE blanco */
.single-product-section__wa .single-wa-btn:hover,
.single-product-section__wa .single-wa-btn:focus {
  background: #1eab52;
  color: #fff !important;
}
.single-product-section__wa .single-wa-btn:hover svg,
.single-product-section__wa .single-wa-btn svg { color: #fff; fill: #fff; }

/* SKU / meta */
.single-product-section .product_meta {
  margin-top: var(--sp-5, 20px);
  padding-top: var(--sp-4, 16px);
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 13px;
  color: var(--c-gray-mid, #999);
}
.single-product-section .product_meta > span { display: block; margin-bottom: 6px; }
.single-product-section .product_meta a:not(.single-wa-btn) { color: var(--c-gray, #d6d6d6); }
.single-product-section .product_meta a:not(.single-wa-btn):hover { color: var(--c-red, #B10608); }

/* Botón agregar al carrito */
.single-product-section .cart {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: var(--sp-4, 16px) !important;
}
.single-product-section .quantity input.qty {
  width: 72px;
  padding: 12px 8px;
  background: #0f0f14;
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  border-radius: 4px;
  font-size: 15px;
  text-align: center;
}
.single-product-section .single_add_to_cart_button {
  background: var(--c-red, #B10608) !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 28px !important;
  font-family: var(--font-heading, sans-serif) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 4px !important;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}
.single-product-section .single_add_to_cart_button:hover {
  background: #8d0507 !important;
  transform: translateY(-1px);
}

/* Stock */
.single-product-section .stock {
  font-size: 13px;
  font-weight: 600;
}
.single-product-section .stock.in-stock { color: #25D366; }
.single-product-section .stock.out-of-stock { color: var(--c-red, #B10608); }

/* Pestañas (descripción, info adicional) */
.single-product-section .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: var(--sp-10, 40px);
  padding-top: var(--sp-6, 24px);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.single-product-section .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 0 0 var(--sp-5, 20px);
  padding: 0;
  flex-wrap: wrap;
}
.single-product-section .woocommerce-tabs ul.tabs li {
  margin: 0;
}
.single-product-section .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 10px 18px;
  font-family: var(--font-heading, sans-serif);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--c-gray-mid, #999);
  background: #0f0f14;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.single-product-section .woocommerce-tabs ul.tabs li.active a,
.single-product-section .woocommerce-tabs ul.tabs li a:hover {
  color: #fff;
  background: var(--c-red, #B10608);
}
.single-product-section .woocommerce-Tabs-panel {
  color: var(--c-gray-mid, #b5b5b5);
  font-size: 15px;
  line-height: 1.8;
}
.single-product-section .woocommerce-Tabs-panel h2 {
  color: var(--c-white, #fff);
  font-family: var(--font-heading, sans-serif);
  font-size: 20px;
  margin-bottom: var(--sp-3, 12px);
}
.single-product-section .woocommerce-Tabs-panel table {
  width: 100%;
  border-collapse: collapse;
}
.single-product-section .woocommerce-Tabs-panel table th,
.single-product-section .woocommerce-Tabs-panel table td {
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.08);
  text-align: left;
}

/* ---- Valoraciones / Reseñas ---- */
.single-product-section #reviews { color: var(--c-gray-mid, #b5b5b5); }
.single-product-section #reviews h2,
.single-product-section #reviews h3 {
  color: var(--c-white, #fff);
  font-family: var(--font-heading, sans-serif);
  font-size: 18px;
  margin-bottom: var(--sp-3, 12px);
}
.single-product-section .woocommerce-noreviews {
  font-size: 15px;
  margin-bottom: var(--sp-4, 16px);
}
.single-product-section #review_form_wrapper {
  margin-top: var(--sp-4, 16px);
  max-width: 640px;
}
.single-product-section .comment-form-rating label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  color: var(--c-gray, #d6d6d6);
}
/* estrellas de puntuación: convierte los enlaces de texto en estrellas clicables.
   WooCommerce añade .selected al contenedor y .active a la estrella elegida.
   Con :not(.active) se rellenan la elegida y TODAS las anteriores. */
.single-product-section .comment-form-rating .stars {
  margin-bottom: var(--sp-4, 16px);
  line-height: 1;
  display: inline-block;
}
.single-product-section .comment-form-rating .stars a {
  position: relative;
  display: inline-block;
  width: 1.4em;
  font-size: 24px;
  text-indent: -9999px;   /* oculta el texto "1 of 5 stars" */
}
.single-product-section .comment-form-rating .stars a::before {
  content: "\2605";        /* ★ */
  position: absolute;
  left: 0;
  text-indent: 0;
  color: rgba(255,255,255,0.25);
  transition: color 0.12s ease;
}

/* --- ESTADO SELECCIONADO (clic) --- */
.single-product-section .comment-form-rating .stars.selected a:not(.active)::before { color: var(--c-red, #B10608); }
.single-product-section .comment-form-rating .stars.selected a.active::before { color: var(--c-red, #B10608); }
.single-product-section .comment-form-rating .stars.selected a.active ~ a::before { color: rgba(255,255,255,0.25); }

/* --- VISTA PREVIA AL PASAR EL MOUSE (gana sobre la selección) --- */
.single-product-section .comment-form-rating .stars:hover a::before,
.single-product-section .comment-form-rating .stars.selected:hover a::before { color: var(--c-red, #B10608); }
.single-product-section .comment-form-rating .stars:hover a:hover ~ a::before,
.single-product-section .comment-form-rating .stars.selected:hover a:hover ~ a::before { color: rgba(255,255,255,0.25); }
/* mostrar estrellas de calificaciones existentes (read-only) */
.single-product-section .star-rating {
  position: relative;
  display: inline-block;
  width: 6em;
  height: 1.2em;
  font-size: 16px;
  line-height: 1.2;
  overflow: hidden;
  font-family: star;
}
.single-product-section .star-rating::before {
  content: "\2605\2605\2605\2605\2605";
  color: rgba(255,255,255,0.25);
  position: absolute;
  left: 0;
  letter-spacing: 2px;
}
.single-product-section .star-rating span {
  position: absolute;
  left: 0;
  overflow: hidden;
  white-space: nowrap;
}
.single-product-section .star-rating span::before {
  content: "\2605\2605\2605\2605\2605";
  color: var(--c-red, #B10608);
  letter-spacing: 2px;
}
.single-product-section p.comment-form-comment label,
.single-product-section .comment-form-author label,
.single-product-section .comment-form-email label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  color: var(--c-gray, #d6d6d6);
}
.single-product-section #reviews textarea,
.single-product-section #reviews input[type="text"],
.single-product-section #reviews input[type="email"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #0f0f14;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 4px;
  color: #fff;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
  margin-bottom: var(--sp-4, 16px);
}
.single-product-section #reviews textarea { min-height: 120px; resize: vertical; }
.single-product-section #reviews textarea:focus,
.single-product-section #reviews input:focus {
  outline: none;
  border-color: var(--c-red, #B10608);
}
.single-product-section #reviews .form-submit input,
.single-product-section #reviews #submit {
  background: var(--c-red, #B10608) !important;
  color: #fff !important;
  border: none !important;
  padding: 12px 28px !important;
  font-family: var(--font-heading, sans-serif) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 4px !important;
  cursor: pointer;
  transition: background 0.2s ease;
}
.single-product-section #reviews .form-submit input:hover,
.single-product-section #reviews #submit:hover { background: #8d0507 !important; }

/* Productos relacionados */
.single-product-section .related.products {
  grid-column: 1 / -1;
  margin-top: var(--sp-12, 48px);
  padding-top: var(--sp-6, 24px);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.single-product-section .related.products > h2 {
  font-family: var(--font-display, sans-serif);
  font-size: clamp(24px, 3vw, 34px);
  color: var(--c-white, #fff);
  margin-bottom: var(--sp-6, 24px);
}
.single-product-section .related.products ul.products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-5, 20px);
  list-style: none;
  margin: 0;
  padding: 0;
}
/* evita celdas fantasma: los pseudo clearfix de Woo se vuelven celdas en grid */
.single-product-section .related.products ul.products::before,
.single-product-section .related.products ul.products::after {
  display: none !important;
  content: none !important;
}
/* cada item del loop de Woo envuelve la tarjeta del tema */
.single-product-section .related.products ul.products li.product {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  width: auto !important;
  float: none !important;
}
.single-product-section .related.products ul.products li.product::before {
  display: none;
}
/* la tarjeta del tema ocupa todo el ancho del item */
.single-product-section .related.products .product-card {
  height: 100%;
}

/* ============================================================
   RESPONSIVE WOOCOMMERCE
   ============================================================ */
@media (max-width: 900px) {
  .single-product-section .product { grid-template-columns: 1fr; }
  .single-product-section .related.products ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .jjm-product-single__grid { grid-template-columns: 1fr; }
  .jjm-product-single__add-row { flex-direction: column; }
  .jjm-product-single__add-row .btn-primary { min-width: unset; }
}
@media (max-width: 480px) {
  .single-product-section .related.products ul.products { grid-template-columns: 1fr; }
}
