/* ==========================================================================
   WC Widget Products — Rediseño tarjeta premium
   Selectores específicos para sobreescribir estilos de WooCommerce
   ========================================================================== */

/* --- Reset del contenedor ul --- */
.woocommerce .widget_products ul.product_list_widget,
.widget_products ul.product_list_widget {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}

/* --- Reset de estilos por defecto del <li> --- */
.widget_products ul.product_list_widget li.cwp-card,
ul.product_list_widget li.cwp-card {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  float: none !important;
  width: 100% !important;
}

/* --- Inner flex container (div en vez de <a>) --- */
.cwp-card__inner {
  display: flex !important;
  flex-direction: row !important;
  background: #f5f0eb !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.cwp-card__inner:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* --- Imagen (lado izquierdo) --- */
.cwp-card__image {
  flex: 0 0 42% !important;
  width: 42% !important;
  max-width: 42% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 2rem !important;
  background: #ebe5de !important;
  box-sizing: border-box !important;
}

.cwp-card__image a {
  display: block !important;
  width: 100% !important;
  text-decoration: none !important;
}

.cwp-card__image img {
  width: 100% !important;
  height: auto !important;
  max-height: 320px !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  display: block !important;
  margin: 0 auto !important;
}

/* --- Contenido (lado derecho) --- */
.cwp-card__content {
  flex: 1 1 auto !important;
  width: 58% !important;
  padding: 2rem 2.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  box-sizing: border-box !important;
}

/* --- Badges --- */
.cwp-card__badges {
  display: flex !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cwp-badge {
  display: inline-block !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 0.3em 0.85em !important;
  border-radius: 4px !important;
  line-height: 1.5 !important;
}

.cwp-badge--featured {
  background: #3d5a3e !important;
  color: #fff !important;
}

.cwp-badge--sale {
  background: #a0522d !important;
  color: #fff !important;
}

/* --- Título --- */
.cwp-card__title-link {
  text-decoration: none !important;
  color: inherit !important;
}

.cwp-card__title-link:hover {
  text-decoration: none !important;
}

.cwp-card .cwp-card__title,
h3.cwp-card__title {
  font-family: 'Playfair Display', 'Georgia', serif !important;
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  color: #2c2c2c !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  display: block !important;
  float: none !important;
}

/* --- Tags --- */
.cwp-card__tags {
  display: flex !important;
  gap: 0.45rem !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cwp-tag {
  display: inline-block !important;
  font-size: 0.75rem !important;
  color: #5a5a5a !important;
  background: transparent !important;
  border: 1px solid #c5bdb5 !important;
  border-radius: 20px !important;
  padding: 0.2em 0.7em !important;
  line-height: 1.5 !important;
}

/* --- Descripción --- */
p.cwp-card__desc,
.cwp-card__desc {
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
  color: #5a5a5a !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  display: block !important;
}

/* --- Precio --- */
.cwp-card__price-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 0.5rem !important;
  margin: 0.3rem 0 0 !important;
  padding: 0 !important;
  flex-wrap: wrap !important;
}

.cwp-card__price {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: #2c2c2c !important;
  letter-spacing: -0.02em !important;
  display: inline !important;
  float: none !important;
}

.cwp-card__price del {
  font-size: 1rem !important;
  color: #999 !important;
  font-weight: 400 !important;
}

.cwp-card__price ins {
  text-decoration: none !important;
}

.cwp-card__meta {
  font-size: 0.82rem !important;
  color: #888 !important;
  font-weight: 400 !important;
}

/* --- Botón --- */
.cwp-card__actions {
  margin: 0.3rem 0 0 !important;
  padding: 0 !important;
}

a.cwp-btn,
.cwp-card__actions a.cwp-btn,
.widget_products a.cwp-btn {
  display: inline-block !important;
  background: #3d3027 !important;
  color: #fff !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 0.9em 2.2em !important;
  border: none !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.25s ease, transform 0.15s ease !important;
  line-height: 1.4 !important;
  text-align: center !important;
  float: none !important;
}

a.cwp-btn:hover,
.cwp-card__actions a.cwp-btn:hover {
  background: #2a1f18 !important;
  transform: translateY(-1px);
  color: #fff !important;
  text-decoration: none !important;
}

/* --- Nota de envío --- */
p.cwp-card__shipping-note,
.cwp-card__shipping-note {
  font-size: 0.76rem !important;
  color: #999 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
  .cwp-card__inner {
    flex-direction: column !important;
  }

  .cwp-card__image {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.5rem !important;
  }

  .cwp-card__image img {
    max-height: 260px !important;
  }

  .cwp-card__content {
    width: 100% !important;
    padding: 1.5rem !important;
  }

  h3.cwp-card__title,
  .cwp-card .cwp-card__title {
    font-size: 1.35rem !important;
  }

  .cwp-card__price {
    font-size: 1.3rem !important;
  }
}

@media (max-width: 480px) {
  .cwp-card__content {
    padding: 1.2rem !important;
  }

  h3.cwp-card__title,
  .cwp-card .cwp-card__title {
    font-size: 1.15rem !important;
  }

  a.cwp-btn,
  .cwp-card__actions a.cwp-btn {
    width: 100% !important;
    text-align: center !important;
  }
}