/* Nidoo CSS architecture bundle.
 * Migrated from legacy numbered module.
 * Loaded conditionally by context.
 */
/* Source: 41-nidoo-product-cards-responsive.php */
/* Cards: predictable rhythm, no giant empty blocks */
.npc-card,
.woocommerce ul.products li.product,
.wc-block-product-template > .wc-block-product {
  min-width: 0;
}

/* Woo blocks carousel inherits equal-height stretch; prevent 1.6kpx cards. */
.wc-block-product-template.is-product-collection-layout-carousel {
  height: auto !important;
  min-height: 0 !important;
}

.wc-block-product-template.is-product-collection-layout-carousel > .wc-block-product {
  align-self: flex-start;
  height: auto !important;
  min-height: 0 !important;
}

.wp-block-woocommerce-product-collection:has(.is-product-collection-layout-carousel) {
  height: auto !important;
  min-height: 0 !important;
}

.wc-block-product-template.is-product-collection-layout-carousel > .wc-block-product > * {
  max-height: none;
}

.npc-card {
  height: 100%;
}

.npc-img-wrap,
.woocommerce ul.products li.product a img {
  background: #f7f5f2;
}

.npc-img-wrap img,
.woocommerce ul.products li.product a img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

.npc-name,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-product-template .wc-block-components-product-title {
  min-height: 2.8em;
}

.wc-block-product-template .wc-block-components-product-image {
  aspect-ratio: 1/1;
  height: auto;
}

.wc-block-product-template .wc-block-components-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.npc-price,
.woocommerce ul.products li.product .price {
  min-height: 1.4em;
}

.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
}

.woocommerce ul.products li.product > a:first-child {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.woocommerce ul.products li.product .button {
  margin-top: auto;
}

@media (max-width: 600px) {
  .nidoo-carousel-section {
    padding: 28px 16px;
  }
  .npc-header {
    margin-bottom: 16px;
  }
  .npc-nav .swiper-button-prev,
  .npc-nav .swiper-button-next {
    width: 32px;
    height: 32px;
  }
  .npc-name {
    font-size: 12px;
  }
  .npc-price {
    font-size: 13px;
  }
  .woocommerce ul.products {
    gap: 12px !important;
  }
  .woocommerce ul.products li.product {
    margin-bottom: 0 !important;
  }
}
@media (min-width: 601px) {
  .woocommerce ul.products li.product {
    padding-bottom: 16px;
  }
}
