/* ═══ Ficha de producto — UI v2 (capa sobre el marcado Divi/Woo) ═══ */

body[class*="single-product"] .et_pb_wc_images .woocommerce-product-gallery__image img,
body[class*="single-product"] .et_pb_wc_images img {
  border-radius: 22px !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
}

/* Tarjeta del producto */
body[class*="single-product"] .et_pb_column .et_pb_module.et_pb_wc_title,
body[class*="single-product"] h1.product_title {
  letter-spacing: .06em;
}
body[class*="single-product"] .price {
  display: inline-flex !important; align-items: baseline; gap: 10px;
  font-size: clamp(30px, 3.4vw, 44px) !important;
}
body[class*="single-product"] .price .woocommerce-price-suffix {
  color: #f19a76 !important; font-size: .55em !important; letter-spacing: .1em;
}

/* Cantidad + CTA */
body[class*="single-product"] form.cart { display: flex !important; gap: 12px; align-items: stretch; flex-wrap: wrap; }
body[class*="single-product"] form.cart .quantity input.qty {
  width: 74px !important; height: 56px !important; border-radius: 14px !important;
  border: 1.5px solid rgba(255,255,255,.25) !important; background: rgba(255,255,255,.06) !important;
  color: #fff !important; font-size: 16px !important; text-align: center;
  transition: border-color .15s ease, box-shadow .15s ease;
}
body[class*="single-product"] form.cart .quantity input.qty:focus {
  outline: none; border-color: #f19a76 !important; box-shadow: 0 0 0 4px rgba(233,129,78,.22);
}
body[class*="single-product"] button.single_add_to_cart_button {
  flex: 1; min-height: 56px; border-radius: 14px !important;
  background: linear-gradient(135deg, #f3a983, #e9814e) !important;
  color: #2b2417 !important; border: 0 !important; letter-spacing: .12em;
  box-shadow: 0 12px 28px rgba(233,129,78,.4) !important;
  transition: transform .16s ease, box-shadow .16s ease !important;
}
body[class*="single-product"] button.single_add_to_cart_button:hover {
  transform: translateY(-2px); box-shadow: 0 18px 36px rgba(233,129,78,.55) !important;
}

/* Botón del combo */
body[class*="single-product"] a[data-lfm-combo] {
  display: block; border-radius: 14px !important; border: 1.5px solid rgba(241,154,118,.55) !important;
  background: rgba(241,154,118,.08) !important; color: #f5c4a6 !important;
  transition: background .16s ease, transform .16s ease !important;
}
body[class*="single-product"] a[data-lfm-combo]:hover { background: rgba(241,154,118,.2) !important; transform: translateY(-2px); }

/* Chip de la donación bajo el CTA */
#lfm-chip-donacion {
  display: flex; gap: 10px; align-items: center; margin-top: 16px;
  background: rgba(241, 154, 118, .1); border: 1px solid rgba(241, 154, 118, .4);
  border-radius: 12px; padding: 11px 14px; color: #f5c4a6;
  font-family: "Supply", "Space Mono", ui-monospace, monospace; font-size: 12px; line-height: 1.55;
}
#lfm-chip-donacion::before { content: "💛"; font-size: 15px; }

/* Miembros por … */
body[class*="single-product"] .et_pb_text_1_tb_body .et_pb_text_inner {
  display: inline-block; background: rgba(255,255,255,.06); border-radius: 999px;
  padding: 6px 14px; border: 1px solid rgba(255,255,255,.14);
}

@media (max-width: 760px) {
  body[class*="single-product"] form.cart .quantity input.qty { width: 64px !important; height: 52px !important; }
}

/* Combos: la cantidad es oculta (viene fija en 5) — el CTA ocupa todo el ancho, alineado */
body[class*="single-product"] form.cart { width: 100%; margin: 22px 0 0 !important; }
body[class*="single-product"] form.cart .quantity:has(input[type="hidden"]) { display: none !important; }
body[class*="single-product"] form.cart:has(input.qty[type="hidden"]) button.single_add_to_cart_button {
  flex: none; width: 100%; margin: 0 !important;
}
body[class*="single-product"] button.single_add_to_cart_button { margin: 0 !important; }

/* Cantidad: Divi le mete fondo blanco — se fuerza el tema oscuro y el número visible */
body[class*="single-product"] form.cart .quantity input.qty,
body[class*="single-product"] form.cart .quantity input.qty:focus {
  background: #1f2330 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 700;
  -moz-appearance: textfield;
}
body[class*="single-product"] form.cart .quantity input.qty::-webkit-outer-spin-button,
body[class*="single-product"] form.cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* CTA: una sola línea, sin desbordes ni saltos en hover */
body[class*="single-product"] button.single_add_to_cart_button {
  white-space: nowrap !important;
  padding: 0 22px !important;
  font-size: clamp(13px, 1.2vw, 15px) !important;
  letter-spacing: .08em !important;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
}
body[class*="single-product"] form.cart { max-width: 100%; box-sizing: border-box; }

/* Stepper propio de cantidad */
body[class*="single-product"] .lfm-stepper {
  display: inline-flex; align-items: center; gap: 2px;
  background: #1f2330; border: 1.5px solid rgba(255,255,255,.18);
  border-radius: 14px; height: 56px; padding: 0 6px;
}
body[class*="single-product"] .lfm-stepper button {
  width: 40px; height: 44px; border: 0; border-radius: 10px;
  background: transparent; color: #f5b998; font-size: 20px; line-height: 1;
  cursor: pointer; transition: background .14s ease;
  font-family: inherit;
}
body[class*="single-product"] .lfm-stepper button:hover { background: rgba(241,154,118,.18); }
body[class*="single-product"] .lfm-stepper .lfm-st-num {
  min-width: 40px; text-align: center; color: #f19a76; font-size: 21px; font-weight: 800;
  font-variant-numeric: tabular-nums; text-shadow: 0 0 14px rgba(241,154,118,.45);
}

/* El contenedor nativo de cantidad nunca en blanco (independiente del JS) */
body[class*="single-product"] form.cart .quantity,
body[class*="single-product"] form.cart .quantity * { background: #1f2330 !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; border-color: rgba(255,255,255,.2) !important; }
body[class*="single-product"] form.cart .quantity { border-radius: 14px !important; }
