/*
 * BaoStyle Unified Card System.
 * This file is the final card layer for product cards, post cards, term cards,
 * review cards and slider cards. Keep module-specific CSS for layout only.
 */

:root {
    /*
  --coolgar-card-bg: var(--coolgar-color-surface, var(--coolgar-color-surface));
  --coolgar-card-border: var(--coolgar-color-border, rgba(0, 0, 0, .08));
  --coolgar-card-border-hover: var(--coolgar-color-border-strong, rgba(0, 0, 0, .14));
  --coolgar-card-radius-core: var(--coolgar-card-radius, .75rem);
  --coolgar-card-shadow-core: var(--coolgar-shadow-sm, 0 .25rem .75rem rgba(0, 0, 0, .045));
  --coolgar-card-shadow-hover-core: var(--coolgar-shadow-md, 0 .75rem 1.5rem rgba(0, 0, 0, .08));
  --coolgar-card-gap-core: var(--coolgar-archive-card-gap, 1.5rem);
  --coolgar-card-thumb-bg: var(--coolgar-color-surface-soft);
  --coolgar-card-title-color: var(--coolgar-color-heading, var(--coolgar-color-heading));
  --coolgar-card-text-muted: var(--coolgar-color-muted);
  */
}

/* Base cards. */
.baostyle-product-card,
.baostyle-post-card,
.baostyle-term-card,
.baostyle-review-card,
.baostyle-unified-card,
.baostyle-icon-box {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--coolgar-color-border) !important;
  border-radius: var(--coolgar-radius-sm) !important;
  /*background: var(--coolgar-card-bg) !important;*/
  /*box-shadow: var(--coolgar-card-shadow-core);*/
  overflow: hidden;
  /*transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;*/
}

.baostyle-product-card:hover,
.baostyle-post-card:hover,
.baostyle-term-card:hover,
.baostyle-review-card:hover,
.baostyle-unified-card:hover,
.baostyle-icon-box:hover {
  border-color: var(--coolgar-color-primary) !important;
 /* box-shadow: var(--coolgar-card-shadow-hover-core);*/
}

.baostyle-product-card,
.baostyle-product-card-grid,
.baostyle-post-card-grid,
.baostyle-term-card,
.baostyle-review-card,
.baostyle-unified-card,
.baostyle-icon-box {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.baostyle-product-card .card-body,
.baostyle-post-card .card-body,
.baostyle-term-card .card-body,
.baostyle-review-card .card-body,
.baostyle-unified-card .card-body,
.baostyle-icon-box .card-body {
  min-width: 0;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

.baostyle-post-card .card-body > .mt-auto,
.baostyle-unified-card .card-body > .mt-auto {
  margin-top: auto !important;
}

.baostyle-product-card a,
.baostyle-post-card a,
.baostyle-term-card a,
.baostyle-review-card a,
.baostyle-unified-card a {
  text-decoration: none;
}

.baostyle-product-card-thumb,
.baostyle-post-card-thumb,
.baostyle-term-card-thumb,
.baostyle-unified-card-thumb {
  /*background: var(--coolgar-card-thumb-bg);*/
}

.baostyle-product-card-thumb img,
.baostyle-post-card-thumb img,
.baostyle-term-card-thumb img,
.baostyle-unified-card-thumb img {
  display: block;
  max-width: 100%;
}

.baostyle-product-card .woocommerce-loop-product__title,
.baostyle-product-card-title,
.baostyle-post-card-title,
.baostyle-unified-card-title,
.baostyle-term-card-title,
.baostyle-review-product-title {
  color: var(--coolgar-color-card-title);
  line-height: 1.5;
  word-break: normal;
  overflow-wrap: anywhere;
}

.baostyle-product-card .woocommerce-loop-product__title a,
.baostyle-product-card-title a,
.baostyle-post-card-title a,
.baostyle-unified-card-title a,
.baostyle-term-card-title a,
.baostyle-review-product-title a {
  color: inherit;
}

.baostyle-product-card-price,
.baostyle-product-card .price {
  color: var(--coolgar-color-primary);
  font-weight: 700;
}

.baostyle-product-card-term-line,
.baostyle-product-card-sku,
.baostyle-product-card-stock,
.baostyle-post-card-excerpt,
.baostyle-post-card-meta-line,
.baostyle-term-card-description {
  color: var(--coolgar-card-text-muted);
}

/* Unified Woo archive product loop. Applies to shop, category, brand, tag and product search. */
.woocommerce ul.products:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
.woocommerce-page ul.products:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

@media (min-width: 992px) {
  .woocommerce ul.products.baostyle-products-view-grid:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
  .woocommerce-page ul.products.baostyle-products-view-grid:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) {
    display: grid !important;
    gap: var(--coolgar-gap-md) !important;
    align-items: stretch !important;
  }

  .woocommerce ul.products.baostyle-products-view-grid.columns-1:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
  .woocommerce-page ul.products.baostyle-products-view-grid.columns-1:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }

  .woocommerce ul.products.baostyle-products-view-grid.columns-2:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
  .woocommerce-page ul.products.baostyle-products-view-grid.columns-2:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  .woocommerce ul.products.baostyle-products-view-grid.columns-3:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
  .woocommerce-page ul.products.baostyle-products-view-grid.columns-3:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

  .woocommerce ul.products.baostyle-products-view-grid.columns-4:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
  .woocommerce-page ul.products.baostyle-products-view-grid.columns-4:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

  .woocommerce ul.products.baostyle-products-view-grid.columns-5:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
  .woocommerce-page ul.products.baostyle-products-view-grid.columns-5:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }

  .woocommerce ul.products.baostyle-products-view-grid.columns-6:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
  .woocommerce-page ul.products.baostyle-products-view-grid.columns-6:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

  .woocommerce ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item,
  .woocommerce-page ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    min-width: 0 !important;
    height: 100% !important;
  }

  .woocommerce ul.products.baostyle-products-view-list:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item),
  .woocommerce-page ul.products.baostyle-products-view-list:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--coolgar-gap-md) !important;
  }

  .woocommerce ul.products.baostyle-products-view-list:not(.swiper-wrapper) > li.product.baostyle-product-loop-item,
  .woocommerce-page ul.products.baostyle-products-view-list:not(.swiper-wrapper) > li.product.baostyle-product-loop-item {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }
}

@media (max-width: 991.98px) {
  .baostyle-woo-main-content ul.products:not(.swiper-wrapper):has(> li.product.baostyle-product-loop-item) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
  }

  .baostyle-woo-main-content ul.products:not(.swiper-wrapper) > li.product.baostyle-product-loop-item {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    min-width: 0 !important;
    height: 100% !important;
  }
}

/* Product grid/list switcher. */
.baostyle-product-card-switcher,
.baostyle-product-card-variant,
.baostyle-product-card-variant-grid,
.baostyle-product-card-variant-list {
  width: 100%;
  min-width: 0;
}

.woocommerce ul.products.baostyle-products-view-grid .baostyle-product-card-variant-grid,
.woocommerce-page ul.products.baostyle-products-view-grid .baostyle-product-card-variant-grid,
ul.products.baostyle-products-view-grid .baostyle-product-card-variant-grid {
  display: block !important;
}

.woocommerce ul.products.baostyle-products-view-grid .baostyle-product-card-variant-list,
.woocommerce-page ul.products.baostyle-products-view-grid .baostyle-product-card-variant-list,
ul.products.baostyle-products-view-grid .baostyle-product-card-variant-list {
  display: none !important;
}

.woocommerce ul.products.baostyle-products-view-list .baostyle-product-card-variant-grid,
.woocommerce-page ul.products.baostyle-products-view-list .baostyle-product-card-variant-grid,
ul.products.baostyle-products-view-list .baostyle-product-card-variant-grid {
  display: none !important;
}

.woocommerce ul.products.baostyle-products-view-list .baostyle-product-card-variant-list,
.woocommerce-page ul.products.baostyle-products-view-list .baostyle-product-card-variant-list,
ul.products.baostyle-products-view-list .baostyle-product-card-variant-list {
  display: block !important;
}

/* Unified product list card. */
.baostyle-product-card-list .row {
  height: 100%;
}

.baostyle-product-card-list .row > [class*="col-"] {
  min-width: 0;
}

@media (max-width: 991.98px) {
  .baostyle-product-card-list .row > [class*="col-"] {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Unified blog archive and post sliders. */
.baostyle-blog-archive-posts-view-grid > article,
.baostyle-blog-archive-posts-view-grid > div,
.baostyle-blog-archive-posts-view-grid > [class*="col-"],
.baostyle-blog-archive-posts.row > [class*="col-"] {
  min-width: 0;
  display: flex;
}

.baostyle-blog-archive-posts-view-grid .baostyle-post-card,
.baostyle-blog-archive-posts.row .baostyle-post-card {
  width: 100%;
  height: 100%;
}

.baostyle-blog-archive-posts-view-list {
  row-gap: var(--coolgar-card-gap-core);
}

.baostyle-blog-archive-posts-view-list .baostyle-post-card-list {
  width: 100%;
  margin-bottom: 0 !important;
}

.baostyle-post-card-list {
  height: 100%;
}

.baostyle-post-card-list .row {
  height: 100%;
}

@media (min-width: 992px) {
  .baostyle-post-card-list .baostyle-post-card-thumb {
    height: 100%;
    min-height: 220px;
  }
}

@media (max-width: 991.98px) {
  .baostyle-post-card-list .baostyle-post-card-thumb {
    aspect-ratio: 4 / 3;
    height: auto;
    min-height: 0;
  }
}

/* Unified slider card behavior for products, posts, terms and reviews. */
.baostyle-slider-track {
  align-items: stretch !important;
}

.baostyle-slider-item {
  min-width: 0;
  display: flex !important;
  height: auto !important;
}

.baostyle-slider-item > .baostyle-product-card,
.baostyle-slider-item > .baostyle-post-card,
.baostyle-slider-item > .baostyle-term-card,
.baostyle-slider-item > .baostyle-review-card,
.baostyle-slider-item > .baostyle-unified-card,
.baostyle-slider-item > .baostyle-product-card-switcher,
.baostyle-slider-item > article,
.baostyle-slider-item > div {
  width: 100%;
  min-width: 0;
}

.baostyle-slider-item .baostyle-product-card-switcher,
.baostyle-slider-item .baostyle-product-card-variant-grid,
.baostyle-slider-item .baostyle-product-card-grid,
.baostyle-slider-item .baostyle-post-card-grid {
  height: 100%;
}

/* Utility line clamp support used by both product and post cards. */
.title-lines-1,
.title-lines-2,
.title-lines-3,
.title-lines-4 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.title-lines-1 { -webkit-line-clamp: 1; }
.title-lines-2 { -webkit-line-clamp: 2; }
.title-lines-3 { -webkit-line-clamp: 3; }
.title-lines-4 { -webkit-line-clamp: 4; }

/* Archive product card vertical alignment fix.
 * Keep archive, brand, tag, search and shop product buttons aligned like slider cards.
 */
.woocommerce ul.products:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-switcher,
.woocommerce-page ul.products:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-switcher {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
}

.woocommerce ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-variant-grid,
.woocommerce-page ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-variant-grid,
ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-variant-grid {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
}

.woocommerce ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-grid,
.woocommerce-page ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-grid,
ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-grid {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
}

.woocommerce ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-grid > .card-body,
.woocommerce-page ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-grid > .card-body,
ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-grid > .card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

.woocommerce ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-actions,
.woocommerce-page ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-actions,
ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-actions {
  margin-top: auto !important;
  padding-top: .75rem !important;
}

.woocommerce ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-actions .button,
.woocommerce-page ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-actions .button,
ul.products.baostyle-products-view-grid:not(.swiper-wrapper) > li.product.baostyle-product-loop-item .baostyle-product-card-actions .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
}

/**** Mega Menu Description Pro: reliable media output and one-column product shortcode ****/
.baostyle-menu-desc-pro,
.baostyle-mega-description,
.baostyle-mega-tabs-panel-desc {
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.baostyle-menu-desc-pro img,
.baostyle-menu-desc-pro picture,
.baostyle-menu-desc-pro video,
.baostyle-mega-description img,
.baostyle-mega-description picture,
.baostyle-mega-description video,
.baostyle-mega-tabs-panel-desc img,
.baostyle-mega-tabs-panel-desc picture,
.baostyle-mega-tabs-panel-desc video {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.baostyle-menu-desc-pro .woocommerce ul.products,
.baostyle-menu-desc-pro .woocommerce ul.products[class*="columns-"],
.baostyle-menu-desc-pro .woocommerce ul.products.baostyle-products-view-grid,
.baostyle-mega-description .woocommerce ul.products,
.baostyle-mega-description .woocommerce ul.products[class*="columns-"],
.baostyle-mega-description .woocommerce ul.products.baostyle-products-view-grid,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products[class*="columns-"],
.baostyle-mega-tabs-panel-desc .woocommerce ul.products.baostyle-products-view-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.baostyle-menu-desc-pro .woocommerce ul.products::before,
.baostyle-menu-desc-pro .woocommerce ul.products::after,
.baostyle-mega-description .woocommerce ul.products::before,
.baostyle-mega-description .woocommerce ul.products::after,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products::before,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products::after {
  display: none !important;
  content: none !important;
}

.baostyle-menu-desc-pro .woocommerce ul.products > li.product,
.baostyle-menu-desc-pro .woocommerce ul.products[class*="columns-"] > li.product,
.baostyle-mega-description .woocommerce ul.products > li.product,
.baostyle-mega-description .woocommerce ul.products[class*="columns-"] > li.product,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products > li.product,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products[class*="columns-"] > li.product {
  float: none !important;
  clear: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.baostyle-menu-desc-pro .woocommerce ul.products > li.product .baostyle-product-card,
.baostyle-menu-desc-pro .woocommerce ul.products > li.product .card,
.baostyle-mega-description .woocommerce ul.products > li.product .baostyle-product-card,
.baostyle-mega-description .woocommerce ul.products > li.product .card,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products > li.product .baostyle-product-card,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products > li.product .card {
  width: 100% !important;
  max-width: 100% !important;
  opacity: 1 !important;
  filter: none !important;
}

.baostyle-menu-desc-pro .woocommerce ul.products > li.product .baostyle-product-card-thumb,
.baostyle-mega-description .woocommerce ul.products > li.product .baostyle-product-card-thumb,
.baostyle-mega-tabs-panel-desc .woocommerce ul.products > li.product .baostyle-product-card-thumb {
  background: transparent !important;
  opacity: 1 !important;
  filter: none !important;
}
