.huu-uib-woo-product-cards {
  padding-top: var(--huu-uib-section-padding-top);
  padding-bottom: var(--huu-uib-section-padding-bottom);
}

.huu-uib-woo-product-cards__grid {
  display: grid;
  grid-template-columns: repeat(var(--huu-uib-wpc-columns, 2), minmax(0, 1fr));
  gap: var(--huu-uib-grid-gap);
}

.huu-uib-woo-product-cards__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: var(--huu-uib-card-padding-y) var(--huu-uib-card-padding-x);
  border-radius: var(--huu-uib-radius-lg);
  border: var(--huu-uib-border-width) solid var(--huu-uib-wpc-card-border);
  background: var(--huu-uib-wpc-card-bg);
  box-shadow: var(--huu-uib-shadow);
}

.huu-uib-woo-product-cards__image-link,
.huu-uib-woo-product-cards__title a {
  text-decoration: none;
}

.huu-uib-woo-product-cards__image-wrap {
  display: block;
  overflow: hidden;
  width: 100%;
  min-height: var(--huu-uib-wpc-image-min-height);
  border-radius: var(--huu-uib-wpc-image-radius);
  background: linear-gradient(180deg, #f7fafc 0%, #eef3fb 100%);
}

.huu-uib-woo-product-cards__image-wrap img,
.huu-uib-woo-product-cards__image-tag {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--huu-uib-wpc-image-min-height);
  object-fit: cover;
  transition: transform 0.25s ease;
}

.huu-uib-woo-product-cards__card:hover .huu-uib-woo-product-cards__image-wrap img,
.huu-uib-woo-product-cards__card:hover .huu-uib-woo-product-cards__image-tag {
  transform: scale(1.02);
}

.huu-uib-woo-product-cards__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
  padding-top: 18px;
}

.huu-uib-woo-product-cards__label-wrap {
  display: flex;
}

.huu-uib-woo-product-cards__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid var(--huu-uib-wpc-card-border);
  background: var(--huu-uib-wpc-label-bg);
  color: var(--huu-uib-wpc-label-color);
  font-size: var(--huu-uib-wpc-label-size);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.huu-uib-woo-product-cards__title {
  margin: 0;
  color: var(--huu-uib-wpc-title-color);
  font-size: var(--huu-uib-card-heading-size);
  font-weight: var(--huu-uib-card-heading-weight, 800);
  line-height: 1.2;
}

.huu-uib-woo-product-cards__title a,
.huu-uib-woo-product-cards__title a:link,
.huu-uib-woo-product-cards__title a:visited {
  color: inherit;
}

.huu-uib-woo-product-cards__description {
  margin: 0;
  color: var(--huu-uib-wpc-description-color);
  font-size: var(--huu-uib-card-text-size);
  line-height: 1.7;
}

.huu-uib-woo-product-cards__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--huu-uib-wpc-actions-justify);
  gap: 12px;
  margin-top: auto;
  padding-top: 6px;
}

.huu-uib-woo-product-cards__button {
  flex: 0 0 auto;
}

.huu-uib-woo-product-cards__price-pill {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid var(--huu-uib-wpc-card-border);
  background: var(--huu-uib-wpc-price-bg);
  color: var(--huu-uib-wpc-price-color);
  text-align: center;
}

.huu-uib-woo-product-cards__price-value,
.huu-uib-woo-product-cards__price-value * {
  color: inherit;
  font-size: var(--huu-uib-wpc-price-size);
  font-weight: var(--huu-uib-wpc-price-weight);
  line-height: 1.1;
}

.huu-uib-woo-product-cards__price-value del,
.huu-uib-woo-product-cards__price-value ins {
  text-decoration: none;
}

.huu-uib-woo-product-cards__price-note {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}

.huu-uib-woo-product-cards--align-center .huu-uib-woo-product-cards__body {
  align-items: center;
  text-align: center;
}

.huu-uib-woo-product-cards--align-right .huu-uib-woo-product-cards__body {
  align-items: flex-end;
  text-align: right;
}

.huu-uib-woo-product-cards__empty,
.huu-uib-woo-product-cards__editor-warning {
  padding: 18px 20px;
  border-radius: var(--huu-uib-radius-lg);
  border: var(--huu-uib-border-width) dashed var(--huu-uib-color-border);
  background: #fffdf8;
  color: var(--huu-uib-color-text);
}

@media (max-width: 1024px) {
  .huu-uib-woo-product-cards__grid {
    grid-template-columns: repeat(var(--huu-uib-wpc-columns-tablet, var(--huu-uib-wpc-columns, 2)), minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .huu-uib-woo-product-cards {
    padding-top: var(--huu-uib-section-padding-top-mobile, var(--huu-uib-section-padding-top-tablet, var(--huu-uib-section-padding-top)));
    padding-bottom: var(--huu-uib-section-padding-bottom-mobile, var(--huu-uib-section-padding-bottom-tablet, var(--huu-uib-section-padding-bottom)));
  }

  .huu-uib-woo-product-cards__grid {
    grid-template-columns: repeat(var(--huu-uib-wpc-columns-mobile, 1), minmax(0, 1fr));
  }

  .huu-uib-woo-product-cards__card {
    padding: var(--huu-uib-card-padding-y-mobile, var(--huu-uib-card-padding-y-tablet, var(--huu-uib-card-padding-y))) var(--huu-uib-card-padding-x-mobile, var(--huu-uib-card-padding-x-tablet, var(--huu-uib-card-padding-x)));
  }

  .huu-uib-woo-product-cards--mobile-inline .huu-uib-woo-product-cards__actions {
    flex-direction: row;
    align-items: stretch;
  }

  .huu-uib-woo-product-cards--mobile-inline .huu-uib-woo-product-cards__button {
    flex: 1 1 auto;
    justify-content: center;
  }

  .huu-uib-woo-product-cards--mobile-inline .huu-uib-woo-product-cards__price-pill {
    flex: 0 0 auto;
  }

  .huu-uib-woo-product-cards--mobile-stacked .huu-uib-woo-product-cards__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .huu-uib-woo-product-cards--mobile-stacked .huu-uib-woo-product-cards__button,
  .huu-uib-woo-product-cards--mobile-stacked .huu-uib-woo-product-cards__price-pill {
    width: 100%;
  }

  .huu-uib-woo-product-cards--align-center .huu-uib-woo-product-cards__actions,
  .huu-uib-woo-product-cards--align-right .huu-uib-woo-product-cards__actions,
  .huu-uib-woo-product-cards--align-left .huu-uib-woo-product-cards__actions {
    justify-content: var(--huu-uib-wpc-actions-justify);
  }
}
