/* =========================================================
   RR - Product Card (Tailwind mock -> WordPress/Woo)
   - Inspired by ProductCard.jsx Tailwind classes
   - No favorites
   - Free shipping label
   - Hover button without reserving blank space
   - Everything uses !important (as requested)
   ========================================================= */

:root{
  --rr-ra-primary:#E63946 !important;
  --rr-ra-secondary:#10B981 !important;
  --rr-ra-border:#F3F4F6 !important;
  --rr-ra-border2:#F9FAFB !important;
  --rr-ra-text:#111827 !important;
  --rr-ra-muted:#6B7280 !important;
  --rr-ra-muted2:#9CA3AF !important;
}

/* Wrapper (li) */
.rr-ra-card{
  list-style:none !important;
  margin:0 !important;
}

/* Card shell */
.rr-ra-card__inner{
  position:relative !important;
  background:#fff !important;
  border:1px solid var(--rr-ra-border) !important;
  border-radius:12px !important;
  overflow:hidden !important;
  box-shadow:0 1px 2px rgba(0,0,0,.05) !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}

.rr-ra-card__inner:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 10px 30px -10px rgba(0,0,0,.15) !important;
}

/* Clickable area */
.rr-ra-card__link{
  display:flex !important;
  flex-direction:column !important;
  text-decoration:none !important;
  color:inherit !important;
  height:100% !important;
}

/* Image container */
.rr-ra-card__media{
  position:relative !important;
  /* Increase image area for better visibility. A square aspect ratio and a
     larger minimum height prevent the product photo from appearing too small. */
  aspect-ratio: 1 / 1 !important;
  min-height: 220px !important;
  padding:24px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  border-bottom:1px solid var(--rr-ra-border2) !important;
}

.rr-ra-card__media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  transition:transform .5s ease !important;
}

.rr-ra-card__inner:hover .rr-ra-card__media img{
  transform:scale(1.05) !important;
}

/* Discount badge */
.rr-ra-card__badge{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  background:var(--rr-ra-primary) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:700 !important;
  padding:4px 8px !important;
  border-radius:8px !important;
  line-height:1 !important;
  box-shadow:0 1px 2px rgba(0,0,0,.08) !important;
  z-index:2 !important;
}

/* Body */
.rr-ra-card__body{
  padding:16px !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 !important;
}

/* Rating row */
.rr-ra-card__rating{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 0 8px !important;
}

.rr-ra-card__star{
  width:14px !important;
  height:14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.rr-ra-card__rating .rr-ra-card__rating-num{
  font-size:12px !important;
  color:var(--rr-ra-muted) !important;
  font-weight:600 !important;
}

.rr-ra-card__rating .rr-ra-card__dot{
  color:#D1D5DB !important;
  font-size:12px !important;
  line-height:1 !important;
}

.rr-ra-card__rating .rr-ra-card__sold{
  font-size:12px !important;
  color:var(--rr-ra-muted2) !important;
}

/* Title */
.rr-ra-card__title{
  /* Larger title for better readability */
  font-size:16px !important;
  font-weight:600 !important;
  color:var(--rr-ra-text) !important;
  line-height:1.25 !important;
  margin:0 0 12px !important;
  min-height:3rem !important; /* increased height to allow more text */
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

.rr-ra-card__inner:hover .rr-ra-card__title{
  color:var(--rr-ra-primary) !important;
}

/* Price section */
.rr-ra-card__pricewrap{
  margin-top:auto !important;
}

.rr-ra-card__old{
  color:#9AA0A6 !important;
  font-size:7px !important;
  font-weight:400 !important;
  line-height:1 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:1px !important;
  text-decoration-color:#9AA0A6 !important;
  text-decoration-skip-ink:none !important;
  opacity:.75 !important;
  margin:0 0 2px !important;
}

.rr-ra-card__price{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 0 8px !important;
}

.rr-ra-card__price .amount,
.rr-ra-card__price,
.rr-ra-card__price span{
  font-size:22px !important;
  font-weight:700 !important;
  color:var(--rr-ra-primary) !important;
}

/* Shipping */
.rr-ra-card__ship{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 0 12px !important;
}

.rr-ra-card__ship-ico{
  width:14px !important;
  height:14px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.rr-ra-card__ship-text{
  font-size:12px !important;
  font-weight:700 !important;
  color:var(--rr-ra-secondary) !important;
}

/* Actions (no blank space when hidden) */
.rr-ra-card__actions{
  padding:0 16px 0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  transition:max-height .3s ease, padding .3s ease !important;
}

.rr-ra-card__inner:hover .rr-ra-card__actions{
  max-height:70px !important;
  padding:0 16px 16px !important;
}

/* Button */
.rr-ra-card__btn{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:var(--rr-ra-primary) !important;
  color:#fff !important;
  font-weight:600 !important;
  border-radius:10px !important;
  min-height:40px !important;
  height:auto !important;
  padding:0 10px !important;
  border:none !important;
  text-decoration:none !important;
  box-shadow:0 1px 2px rgba(0,0,0,.08) !important;
  opacity:0 !important;
  transform:translateY(8px) !important;
  transition:opacity .3s ease, transform .3s ease, background .2s ease !important;
  cursor:pointer !important;
}

/* Texto del botón (responsive, soporta "Seleccionar opciones") */
.rr-ra-card__btn span{
  display:block !important;
  font-size:14px !important;
  line-height:1.05 !important;
  white-space:normal !important;
  text-align:center !important;
}

.rr-ra-card__inner:hover .rr-ra-card__btn{
  opacity:1 !important;
  transform:translateY(0) !important;
}

.rr-ra-card__btn:hover{
  background:rgba(230,57,70,.92) !important;
}

.rr-ra-card__btn-ico{
  width:16px !important;
  height:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Mobile: button always visible, no hover reliance */
@media (max-width: 768px){
  .rr-ra-card__actions{
    max-height:90px !important;
    padding:0 16px 16px !important;
  }
  .rr-ra-card__btn{
    opacity:1 !important;
    transform:none !important;
    min-height:36px !important;
  }

  .rr-ra-card__btn span{
    font-size:13px !important;
    line-height:1.05 !important;
  }
}

/* Sin stock (texto solo) */
.rr-ra-card__nostock{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:0 10px !important;
  font-weight:600 !important;
  color:var(--rr-ra-muted2) !important;
  opacity:0 !important;
  transform:translateY(8px) !important;
  transition:opacity .3s ease, transform .3s ease !important;
}

.rr-ra-card__inner:hover .rr-ra-card__nostock{
  opacity:1 !important;
  transform:translateY(0) !important;
}

@media (max-width: 768px){
  .rr-ra-card__nostock{
    opacity:1 !important;
    transform:none !important;
    min-height:36px !important;
  }
}

/* Avoid theme overlays that block clicks */
.rr-ra-card__btn,
.rr-ra-card__inner,
.rr-ra-card__media,
.rr-ra-card__link{
  pointer-events:auto !important;
}
/* ===== Mobile/Right panel igual a la original ===== */

/* Ocultar cuotas (plugin) si aparece dentro del bloque */
.rr-info .cuotas,
.rr-info .mp-installments,
.rr-info .woocommerce-Price-amount + .installments,
.rr-info [class*="cuotas"],
.rr-info [class*="installment"]{
  display:none !important;
}

/* Ocultar opiniones/rating/link */
.rr-info .woocommerce-product-rating,
.rr-info .woocommerce-review-link,
.rr-info .star-rating{
  display:none !important;
}

/* Línea "Cantidad disponible" */
.rr-stockline{
  margin: 10px 0 12px;
  color:#111827;
  font-weight:700;
  font-size:14px;
}
.rr-stockline span{ color:#6b7280; font-weight:700; }

/* Sacar textos sueltos de Woo que te ensucian el panel (ej: "Solo 1 elemento..." / "Gratis" duplicado) */
.rr-wc-cart--horizons .stock,
.rr-wc-cart--horizons .woocommerce-variation-availability,
.rr-wc-cart--horizons .single_variation_wrap .woocommerce-variation-price{
  display:none !important;
}

/* Estructura del form: qty arriba y boton full como la original */
.rr-wc-cart--horizons form.cart{
  display:grid !important;
  grid-template-columns: 1fr !important;
  gap:14px !important;
}

/* Cantidad estilo original (box con - 1 +) */
.rr-wc-cart--horizons .quantity{
  width: 170px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  overflow: hidden;
}
.rr-wc-cart--horizons .quantity input.qty{
  height:44px !important;
  font-size:16px !important;
}

/* Botón add to cart full width (rojo grande) */
.rr-wc-cart--horizons button.single_add_to_cart_button{
  height:52px !important;
  border-radius:14px !important;
  background:#E63946 !important;
  border:1px solid #E63946 !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:16px !important;
  width:100% !important;
}

/* Comprar ahora como la original */
.rr-buy-now{
  height:52px;
  border-radius:14px;
  width:100%;
  margin-top:12px;
  font-weight:900;
}
