/* GeneratePress-EMPC catalog presentation shared by shop, taxonomies and search. */
@media (min-width: 769px) {
  /* Mismo eje y altura del header canónico de Home. */
  .lmr-site-header--experimental .lmr-site-header__inner { width: min(100% - 40px, 1240px); max-width: none; min-height: 92px; box-sizing: border-box; padding: 0; gap: 24px; }
  /* GeneratePress deja un margen derecho asimétrico en el main de WooCommerce. */
  .woocommerce-page .site-main { margin-left: auto !important; margin-right: auto !important; padding-top: clamp(1.5rem, 3vw, 2.5rem) !important; padding-bottom: clamp(2rem, 4vw, 3.5rem) !important; }
  .lmr-catalog-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 1.5rem; row-gap: .65rem; }
  .lmr-catalog-tools__label { grid-column: 1 / -1; margin-bottom: 0; }
  .lmr-catalog-tools nav { min-width: 0; }
  .lmr-catalog-view { justify-content: flex-end; margin-top: 0; white-space: nowrap; }
  .lmr-catalog-categories { gap: .45rem; }
  .lmr-catalog-categories a { min-height: 42px; padding: .5rem .8rem; }
  .lmr-catalog-view button { min-height: 42px; padding: .5rem .75rem; }
}
body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results,.search-no-results) #content { background: var(--lmr-color-canvas, #f8f6f1); }
body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results,.search-no-results) .site-main { width: min(100% - 40px, 1240px); margin-inline: auto; padding-block: clamp(2rem, 5vw, 4rem); }
.lmr-catalog-tools { margin: 0 0 1.5rem; padding: 1rem; border: 1px solid var(--lmr-color-line, #d8dfda); border-radius: var(--lmr-radius-card, 16px); background: #fff; }
.lmr-catalog-tools__label { display: block; margin-bottom: .7rem; color: var(--lmr-color-forest, #173e2d); font-weight: 800; }
.lmr-catalog-categories { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.lmr-catalog-categories a { display: inline-flex; min-height: 44px; align-items: center; padding: .55rem .95rem; border: 2px solid #b9c5bd; border-radius: 999px; color: var(--lmr-color-forest, #173e2d); font-weight: 750; text-decoration: none; }
.lmr-catalog-categories a:hover, .lmr-catalog-categories a:focus-visible, .lmr-catalog-categories a[aria-current="page"] { border-color: var(--lmr-color-forest, #173e2d); background: var(--lmr-color-forest, #173e2d); color: #fff; }
.lmr-catalog-view { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1rem; }
.lmr-catalog-view button { min-height: 44px; padding: .55rem .85rem; border: 2px solid #b9c5bd; border-radius: 8px; background: #fff; color: var(--lmr-color-forest, #173e2d); font-weight: 750; cursor: pointer; }
.lmr-catalog-view button[aria-pressed="true"], .lmr-catalog-view button:focus-visible { border-color: var(--lmr-color-forest, #173e2d); background: var(--lmr-color-forest, #173e2d); color: #fff; }
body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 0; }
body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products.lmr-grid-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products li.product { display: flex; width: auto !important; float: none !important; min-width: 0; margin: 0 !important; padding: 1rem !important; border: 1px solid var(--lmr-color-line, #d8dfda); border-radius: var(--lmr-radius-card, 16px); background: #fff; box-shadow: var(--lmr-shadow-card, 0 8px 24px rgba(23,62,45,.08)); }
body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products li.product img { width: 100%; aspect-ratio: 4 / 5; object-fit: contain; border-radius: 8px; background: #f8f6f1; }
body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--lmr-color-text, #27352d); font-size: 1.05rem; line-height: 1.35; }
body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products li.product .price { color: var(--lmr-color-forest, #173e2d); font-weight: 800; }
@media (max-width: 767px) {
  body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .site-main { width: min(100% - 24px, 620px); }
  .lmr-catalog-categories { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .35rem; scrollbar-width: thin; }
  .lmr-catalog-categories a { flex: 0 0 auto; }
  body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products { grid-template-columns: 1fr; gap: .75rem; }
  body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products.lmr-grid-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
}
@media (max-width: 360px) {
  body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products { grid-template-columns: 1fr; }
  body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search-results) .woocommerce ul.products.lmr-grid-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Single-product presentation: native WooCommerce markup, served on production. */
body.single-product div.product .summary p.price,
body.single-product div.product .summary p.price .woocommerce-Price-amount,
body.single-product div.product .summary p.price bdi,
body.single-product div.product .summary p.price .woocommerce-Price-currencySymbol {
  color: #173e2d !important;
}

body.single-product div.product .summary form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem .75rem;
}

body.single-product div.product .summary form.cart > .nta-woo-products-button {
  flex: 0 0 100% !important;
  margin-top: .5rem !important;
}

body.single-product div.product .woocommerce-tabs ul.tabs,
body.single-product div.product .woocommerce-tabs .panel {
  width: min(100%, 75ch);
  margin-inline: auto;
}

body.single-product div.product .woocommerce-tabs .panel table {
  width: 100%;
  table-layout: fixed;
}

body.single-product div.product .related.products > ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
  margin: 0;
}

body.single-product div.product .related.products > ul.products > li.product {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

body.single-product div.product .related.products > ul.products > li.product > a.woocommerce-LoopProduct-link {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

body.single-product div.product .related.products > ul.products > li.product > a.woocommerce-LoopProduct-link img {
  width: 100%;
  height: clamp(14rem, 24vw, 20rem);
  margin-bottom: 1rem;
  object-fit: contain;
}

body.single-product div.product .related.products > ul.products > li.product .woocommerce-loop-product__title {
  min-height: 3.25rem;
}

body.single-product div.product .related.products > ul.products > li.product > .button {
  width: 100%;
  margin-top: auto;
}

@media (min-width: 769px) {
  body.single-product div.product div.images .woocommerce-product-gallery__image img {
    width: auto;
    max-width: 100%;
    max-height: 38rem;
    margin-inline: auto;
    object-fit: contain;
  }
}

@media (min-width: 621px) and (max-width: 1023px) {
  body.single-product div.product .related.products > ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  body.single-product div.product .related.products > ul.products {
    grid-template-columns: 1fr;
  }

  body.single-product div.product .related.products > ul.products > li.product > a.woocommerce-LoopProduct-link img {
    height: 18rem;
  }
}
