/* WooCommerce · sistema visual Fase 4 */
.kaldi-commerce { --family-accent: var(--kaldi-accent); }
.kaldi-catalog-family-te, .single-product .kaldi-family-te, .woocommerce li.product.kaldi-family-te { --family-accent: var(--kaldi-green); }
.kaldi-catalog-family-infusiones, .single-product .kaldi-family-infusiones, .woocommerce li.product.kaldi-family-infusiones { --family-accent: var(--kaldi-clay); }
.kaldi-catalog-family-accesorios, .single-product .kaldi-family-accesorios, .woocommerce li.product.kaldi-family-accesorios { --family-accent: #4b4540; }
.kaldi-catalog-family-plantas-y-especies, .single-product .kaldi-family-plantas-y-especies, .woocommerce li.product.kaldi-family-plantas-y-especies { --family-accent: #59674d; }

.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 26px;
  color: var(--kaldi-muted);
  font-size: .77rem;
  letter-spacing: .03em;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--kaldi-text); text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--family-accent); }
.woocommerce-products-header { margin-bottom: 26px; }
.woocommerce-products-header__description { max-width: 760px; color: var(--kaldi-muted); font-size: 1rem; }
.woocommerce .woocommerce-result-count { color: var(--kaldi-muted); font-size: .82rem; }
.woocommerce .woocommerce-ordering select { min-width: 210px; min-height: 42px; background: var(--kaldi-surface); }

.woocommerce .products ul,
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
  margin: 30px 0 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  position: relative;
  float: none;
  width: auto;
  margin: 0;
  overflow: hidden;
  background: var(--kaldi-surface);
  border: 1px solid var(--kaldi-line);
  border-radius: var(--kaldi-radius-sm);
  padding: 0 0 20px;
  box-shadow: none;
  transition: transform var(--kaldi-transition), box-shadow var(--kaldi-transition), border-color var(--kaldi-transition);
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  border-color: var(--kaldi-line-strong);
  box-shadow: var(--kaldi-shadow-lift);
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { text-decoration: none; }
.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  margin: 0 0 18px;
  border-radius: 0;
  background: #eee7dc;
  transition: transform 500ms ease;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.018); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .kaldi-product-family,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { margin-left: 18px; margin-right: 18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.5em;
  margin-top: 4px;
  padding: 0;
  color: var(--kaldi-ink);
  font-family: var(--kaldi-display);
  font-size: clamp(1.2rem, 1.6vw, 1.48rem);
  font-weight: 500;
  line-height: 1.15;
}
.woocommerce ul.products li.product .price {
  margin-top: 11px;
  color: var(--family-accent);
  font-size: .98rem;
  font-weight: 800;
}
.woocommerce ul.products li.product .price del { color: var(--kaldi-muted); opacity: .7; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button {
  width: calc(100% - 36px);
  margin-top: 14px;
  min-height: 42px;
}
.woocommerce ul.products li.product .star-rating { margin: 8px 18px; }

/* Producto individual */
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { margin-bottom: 48px; }
.woocommerce div.product div.images { width: 54%; }
.woocommerce div.product div.summary { width: 41%; padding-top: 14px; }
.woocommerce div.product .product_title {
  margin: 7px 0 18px;
  color: var(--kaldi-ink);
  font-family: var(--kaldi-display);
  font-size: clamp(2.65rem, 5vw, 5.1rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: .98;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { overflow: hidden; border-radius: var(--kaldi-radius-sm); background: #eee7dc; }
.woocommerce div.product div.images img { width: 100%; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 4px; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--family-accent); font-size: 1.2rem; font-weight: 800; }
.woocommerce div.product .woocommerce-product-details__short-description { margin: 22px 0; color: #514941; font-size: 1.02rem; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 12px; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; width: 100%; padding: 4px 0; text-align: left; }
.woocommerce div.product form.cart .variations select { min-width: 100%; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce .quantity .qty { width: 84px; min-height: 46px; }
.woocommerce div.product .product_meta {
  display: grid;
  gap: 5px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--kaldi-line);
  color: var(--kaldi-muted);
  font-size: .8rem;
}
.woocommerce div.product .product_meta a { color: var(--kaldi-text); }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 28px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0 0 30px;
  padding: 0;
  border-bottom: 1px solid var(--kaldi-line-strong);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0 0 12px;
  color: var(--kaldi-muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--family-accent); border-bottom: 2px solid var(--family-accent); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 980px; margin-bottom: 48px; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-size: clamp(2rem, 3vw, 3rem); }
.woocommerce .related.products,
.woocommerce .up-sells { clear: both; padding-top: 44px; }
.woocommerce .related.products > h2,
.woocommerce .up-sells > h2 { margin-bottom: 24px; font-size: clamp(2rem, 3vw, 3.3rem); }

/* Mensajes, tablas y cuenta */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border: 1px solid var(--kaldi-line);
  border-left: 4px solid var(--kaldi-accent);
  border-radius: var(--kaldi-radius-sm);
  background: var(--kaldi-surface);
  color: var(--kaldi-text);
  box-shadow: none;
}
.woocommerce-error { border-left-color: #8b5148; }
.woocommerce-info { border-left-color: var(--kaldi-green); }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit { border-radius: 999px; background: var(--kaldi-accent); color: #fff; font-weight: 750; }
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt { background: var(--kaldi-accent); }
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--kaldi-accent-strong); color: #fff; }
.woocommerce table.shop_table { overflow: hidden; border: 1px solid var(--kaldi-line); border-radius: var(--kaldi-radius-sm); background: var(--kaldi-surface); }
.woocommerce table.shop_table th { color: var(--kaldi-ink); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 14px 16px; border-color: var(--kaldi-line); }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 25%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 71%; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; border: 1px solid var(--kaldi-line); background: var(--kaldi-surface); border-radius: var(--kaldi-radius-sm); }
.woocommerce-MyAccount-navigation li a { display: block; padding: 10px 12px; border-radius: 6px; text-decoration: none; font-size: .88rem; font-weight: 700; }
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover { background: #ede5da; color: var(--kaldi-accent); }
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register { border-color: var(--kaldi-line); border-radius: var(--kaldi-radius); background: var(--kaldi-surface); }

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--kaldi-line); border-radius: 50%; background: var(--kaldi-surface); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--kaldi-accent); border-color: var(--kaldi-accent); color: #fff; }

@media (max-width: 1080px) {
  .woocommerce .products ul,
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .woocommerce div.product div.images { width: 52%; }
  .woocommerce div.product div.summary { width: 43%; }
}
@media (max-width: 820px) {
  .woocommerce .products ul,
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary { float: none; width: 100%; }
  .woocommerce div.product div.summary { padding-top: 8px; }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 28px; }
}
@media (max-width: 560px) {
  .woocommerce .products ul,
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; }
  .woocommerce div.product .product_title { font-size: clamp(2.6rem, 13vw, 4.2rem); }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 14px 20px; }
  .woocommerce div.product form.cart .button { flex: 1 1 auto; }
}
