/* ============================================
   QILAUE - WooCommerce Custom Styles
   ============================================ */

@import url("https://fonts.googleapis.com/css2?family=Lora:wght@400;500&display=swap");

:root {
  --bg: #f0ebe3;
  --bg-dark: #3d3526;
  --primary: #1c1812;
  --secondary: #7a6e62;
  --accent: #d4a853;
  --border: #d9d0c5;
  --font: "Lora", serif;
}

/* Base */
.woocommerce,
.woocommerce-page {
  font-family: var(--font);
  background-color: var(--bg);
}

/* ============================================
   GRID - lo más importante
   ============================================ */

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px 30px !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
  list-style: none !important;
}

.woocommerce ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

/* ============================================
   IMAGEN
   ============================================ */

.woocommerce ul.products li.product a.woocommerce-loop-product__link {
  display: block;
  text-decoration: none;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link img {
  width: 100% !important;
  height: 400px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  border: none !important;
  transition: opacity 0.3s ease;
}

.woocommerce ul.products li.product:hover img {
  opacity: 0.88;
}

/* ============================================
   NOMBRE + PRECIO en la misma fila
   ============================================ */

/* Wrapper que agrupa título + precio en fila */
.woocommerce ul.products li.product .product-info-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 16px 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font) !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  color: var(--primary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1;
}

.woocommerce ul.products li.product .price {
  font-family: var(--font) !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  color: var(--secondary) !important;
  margin: 0 !important;
  white-space: nowrap;
  line-height: 1.2;
  flex-shrink: 0;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  font-style: normal;
}

.woocommerce ul.products li.product .price del {
  display: none;
}

/* El precio se alinea arriba aunque el título tenga 2 líneas */
.woocommerce ul.products li.product .product-info-row {
  align-items: flex-start !important;
}

.woocommerce ul.products li.product .price {
  padding-top: 2px; /* alineación visual con la primera línea del título */
}

/* ============================================
   SEPARADOR + DESCRIPCIÓN
   ============================================ */

.woocommerce ul.products li.product .star-rating {
  display: none !important;
}

.woocommerce ul.products li.product .product-separator {
  width: 100%;
  height: 1px;
  background-color: var(--border);
  margin: 0 0 14px 0;
}

.woocommerce ul.products li.product .short-desc {
  font-family: var(--font);
  font-size: 0.7rem;
  color: var(--secondary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin: 0;
}

/* ============================================
   BADGE - BEST SELLER / OFERTA
   ============================================ */

.woocommerce ul.products li.product .onsale {
  font-family: var(--font) !important;
  font-size: 0.65rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  background-color: var(--accent) !important;
  color: var(--primary) !important;
  border-radius: 0 !important;
  padding: 7px 14px !important;
  position: absolute !important;
  top: 20px !important;
  left: 20px !important;
  right: auto !important;
  margin: 0 !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1 !important;
  z-index: 2 !important;
}

/* ============================================
   OCULTAR BOTÓN EN GRID
   ============================================ */

.woocommerce ul.products li.product .button {
  display: none !important;
}

/* ============================================
   BARRA SUPERIOR
   ============================================ */

.woocommerce .woocommerce-result-count {
  font-family: var(--font);
  font-size: 0.8rem;
  color: var(--secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.woocommerce .woocommerce-ordering select {
  font-family: var(--font);
  font-size: 0.8rem;
  border: 1px solid var(--border);
  border-radius: 0;
  padding: 10px 16px;
  background-color: transparent;
  color: var(--primary);
  letter-spacing: 0.04em;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 900px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 40px 30px !important;
  }
}

@media (max-width: 540px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    padding: 30px 20px !important;
  }
}

/* ============================================
   PÁGINA DE PRODUCTO INDIVIDUAL
   ============================================ */

.woocommerce div.product {
  padding: 60px 60px;
  background-color: var(--bg);
}

.woocommerce div.product .product_title {
  font-family: var(--font);
  font-size: 2rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--primary);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: var(--font);
  font-size: 1.5rem;
  color: var(--secondary);
  font-weight: 400;
}

.woocommerce div.product .single_add_to_cart_button {
  font-family: var(--font);
  font-size: 0.8rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  background-color: var(--bg-dark) !important;
  color: #fff !important;
  border: 1px solid var(--bg-dark) !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  transition: all 0.3s ease;
}

.woocommerce div.product .single_add_to_cart_button:hover {
  background-color: transparent !important;
  color: var(--bg-dark) !important;
}

/* ============================================
   CARRITO + CHECKOUT
   ============================================ */

.woocommerce table.shop_table {
  font-family: var(--font);
  border-collapse: collapse;
  border: 1px solid var(--border);
}

.woocommerce table.shop_table th {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 400;
  color: var(--secondary);
  border-bottom: 1px solid var(--border);
  padding: 14px;
}

.woocommerce table.shop_table td {
  font-size: 0.9rem;
  color: var(--primary);
  border-bottom: 1px solid var(--border);
  padding: 14px;
  vertical-align: middle;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  font-family: var(--font) !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  background-color: var(--bg-dark) !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 12px 28px !important;
  transition: all 0.3s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background-color: transparent !important;
  color: var(--bg-dark) !important;
  border: 1px solid var(--bg-dark) !important;
}
