/* Fichas y cuadrículas WooCommerce. Los bloques y la lógica de compra se conservan. */
body.woocommerce .wp-site-blocks > main,
body.single-product .wp-site-blocks > .wp-block-group.woocommerce.product > main {
  width: min(100% - 40px, 1140px);
  max-width: 1140px;
  margin-inline: auto;
  padding-inline: 0;
}
body.single-product main > .wp-block-columns:has(.woocommerce-product-gallery) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4%;
  align-items: start;
  max-width: 100%;
}
body.single-product .wp-block-columns:has(.woocommerce-product-gallery) .wp-block-column { min-width: 0; }
body.single-product main .wp-block-woocommerce-product-image-gallery { width: 100%; max-width: none; }
body.single-product main > .wp-block-columns .wp-block-post-title {
  color: #575756;
  font-size: clamp(29px, 3vw, 36px);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 10px;
}
body.single-product main > .wp-block-columns .wc-block-components-product-price.has-large-font-size {
  color: #7d3c93; font-size: 20px !important; font-weight: 400;
}
body.single-product .wp-block-woocommerce-product-price .woocommerce-price-suffix {
  color: #7d3c93; font-size: .8em;
}
body.woocommerce .woocommerce-product-gallery img { border-radius: 4px; }
body.woocommerce .wp-block-group.woocommerce main button.single_add_to_cart_button,
body.woocommerce main :is(.wc-block-components-product-button__button, .wp-block-woocommerce-product-button a, .wp-block-woocommerce-product-button button) {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #7d3c93;
  border-radius: 3px;
  background: #7d3c93;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
}
body.woocommerce .wp-block-group.woocommerce main button.single_add_to_cart_button:hover,
body.woocommerce main :is(.wc-block-components-product-button__button, .wp-block-woocommerce-product-button a, .wp-block-woocommerce-product-button button):hover {
  background: #673377; border-color: #673377; color: #fff;
}
body.woocommerce .wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 3.8vw, 43px);
  margin-inline: 0;
}
body.woocommerce .wp-block-woocommerce-product-collection .wc-block-product-template.is-flex-container[class*="columns-"] > li.wc-block-product {
  width: 100%; min-width: 0; margin: 0;
  padding: 0 0 12px; border: 0; border-radius: 4px;
  overflow-wrap: anywhere;
}
body.woocommerce .wc-block-product .wp-block-post-title { font-size: 20px !important; font-weight: 400; }
body.woocommerce .wc-block-product :is(.wp-block-post-title,.wp-block-woocommerce-product-price) { text-align: left; }
body.woocommerce .wc-block-product .wp-block-woocommerce-product-button { justify-content: flex-start; }
@media (max-width: 781px) {
  body.woocommerce .wp-site-blocks > main,
  body.single-product .wp-site-blocks > .wp-block-group.woocommerce.product > main { width: calc(100% - 32px); }
  body.single-product main > .wp-block-columns:has(.woocommerce-product-gallery) { grid-template-columns: minmax(0,1fr); gap: 20px; }
  body.woocommerce .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
  body.woocommerce .wc-block-product .wp-block-woocommerce-product-button :is(a,button) { font-size: 13px; padding-inline: 9px; }
}
