/**
 * Archive (loja, categoria, busca) — grade de produtos e card base.
 *
 * Especificidade: usa prefixo "body.woocommerce" ou "body.woocommerce-page"
 * para vencer o seletor .woocommerce ul.products.columns-N do Kadence
 * (que teria especificidade 0,2,1 vs nosso 0,2,2).
 *
 * Responsivo universal:
 *   ≥1280px  →  4 colunas
 *   900-1280 →  3 colunas
 *   600-900  →  2 colunas
 *   <600     →  2 colunas compactas (mobile)
 *   <380     →  1 coluna
 */

/* ============================================================
   GRADE DE PRODUTOS — cobre /loja/, /categoria-X/, busca
   ============================================================ */
body.woocommerce .woocommerce ul.products,
body.woocommerce-page .woocommerce ul.products,
body.woocommerce .woocommerce ul.products.columns-4,
body.woocommerce .woocommerce ul.products.columns-5,
body.woocommerce-page .woocommerce ul.products.columns-4,
body.woocommerce-page .woocommerce ul.products.columns-5,
body.search-results .woocommerce ul.products,
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}

/* Responsivo */
@media (max-width: 1280px) {
  body.woocommerce .woocommerce ul.products,
  body.woocommerce-page .woocommerce ul.products,
  body.woocommerce .woocommerce ul.products.columns-4,
  body.woocommerce-page .woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  body.woocommerce .woocommerce ul.products,
  body.woocommerce-page .woocommerce ul.products,
  body.woocommerce .woocommerce ul.products.columns-4,
  body.woocommerce-page .woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
}
@media (max-width: 380px) {
  body.woocommerce .woocommerce ul.products,
  body.woocommerce-page .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   CARD BASE
   ============================================================ */
.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 14px;
  background: var(--wp--preset--color--surface, #fff);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  display: flex !important;
  flex-direction: column !important;
  position: relative;
  overflow: hidden;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-3px);
  border-color: var(--wp--preset--color--accent, #6564EE);
  box-shadow: 0 12px 28px rgba(10,25,44,.1);
}

/* ============================================================
   IMAGEM
   ============================================================ */
.woocommerce ul.products li.product > a:first-of-type {
  display: block;
  padding: 0;
  text-decoration: none;
}
.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  width: 100% !important;
  height: auto !important;
  background: var(--wp--preset--color--surface-alt, #F5F7FA);
  border-radius: 0 !important;
  padding: .75rem !important;
  box-sizing: border-box;
  display: block;
  margin: 0 !important;
}
.woocommerce ul.products li.product .pn-product-image-wrapper {
  aspect-ratio: 1 / 1;
  background: var(--wp--preset--color--surface-alt, #F5F7FA);
  position: relative;
  overflow: hidden;
}
.pn-product-image-wrapper .pn-primary-image,
.pn-product-image-wrapper .pn-secondary-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  transition: opacity .35s ease;
}
.pn-product-image-wrapper .pn-secondary-image {
  position: absolute; inset: 0; opacity: 0;
}
.woocommerce ul.products li.product:hover .pn-product-image-wrapper .pn-secondary-image { opacity: 1; }
.woocommerce ul.products li.product:hover .pn-product-image-wrapper .pn-primary-image { opacity: 0; }

/* ============================================================
   TÍTULO
   ============================================================ */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  font-size: .9rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  padding: .75rem 1rem .35rem !important;
  margin: 0 !important;
  min-height: 3em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============================================================
   PREÇO
   ============================================================ */
.woocommerce ul.products li.product .price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .3rem !important;
  padding: 0 1rem .25rem !important;
  margin: 0 !important;
  line-height: 1.2;
}
.woocommerce ul.products li.product .price > br { display: none !important; }
.woocommerce ul.products li.product .price > .woocommerce-Price-amount {
  order: 1 !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: var(--wp--preset--color--primary, #192E49) !important;
  line-height: 1 !important;
}
.woocommerce ul.products li.product .price .rm-pagbank-price {
  order: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  background: rgba(0,196,140,.1) !important;
  color: #0B7A5C !important;
  border-radius: 999px !important;
  padding: .22rem .6rem !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}
.woocommerce ul.products li.product .price ins { text-decoration: none; background: transparent; }
.woocommerce ul.products li.product .price del {
  color: var(--wp--preset--color--text, #7A7A7A) !important;
  font-size: .8em; font-weight: 400;
}
.woocommerce ul.products li.product .price .rm-pagbank-price b,
.woocommerce ul.products li.product .price .rm-pagbank-price .amount,
.woocommerce ul.products li.product .price .rm-pagbank-price .amount * {
  display: inline !important;
  font-size: inherit !important;
  color: inherit !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  font-weight: 700 !important;
}

/* excerpt poluía — esconde */
.woocommerce ul.products li.product .product-excerpt { display: none !important; }

/* ============================================================
   ÁREA DE AÇÃO (botão COMPRAR — estilo gerenciado pelo shop-polish.css)
   ============================================================ */
.woocommerce ul.products li.product .product-action-wrap,
.woocommerce ul.products li.product .fika-main-buy-box {
  padding: 0 1rem 1rem !important;
  width: 100%;
  display: flex !important;
  flex-direction: column;
}
/* qty row compacto */
.woocommerce ul.products li.product .fika-qty-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: .25rem;
  border: 1px solid var(--wp--preset--color--border, #E4E7EB);
  border-radius: 999px;
  width: 100%;
  margin-bottom: .5rem;
}
.woocommerce ul.products li.product .fika-qty-row .quantity {
  margin: 0 !important; display: inline-flex; align-items: center;
}
.woocommerce ul.products li.product .fika-qty-row .qty {
  width: 2.5rem; text-align: center;
  border: none; background: transparent;
  font: 600 .9rem inherit; padding: 0;
}
.woocommerce ul.products li.product .fika-qty-row .qty-btn {
  width: 28px; height: 28px;
  border: none;
  background: var(--wp--preset--color--surface-alt, #F5F7FA);
  border-radius: 999px; cursor: pointer;
  font-weight: 700; color: var(--wp--preset--color--primary, #192E49);
  transition: background .15s ease;
}
.woocommerce ul.products li.product .fika-qty-row .qty-btn:hover {
  background: var(--wp--preset--color--primary, #192E49); color: #fff;
}
.woocommerce ul.products li.product .added_to_cart { display: none !important; }

/* Kadence esconde botão até hover — garante sempre visível */
.woocommerce ul.products li.product .product-action-wrap,
body.woocommerce ul.products li.product .product-action-wrap {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  position: relative !important;
  height: auto !important;
  overflow: visible !important;
}

/* ============================================================
   PÁGINA /LOJA/ — container e título
   ============================================================ */
/* garante largura total do wrapper woocommerce na loja */
body.woocommerce-shop .woocommerce,
body.post-type-archive-product .woocommerce {
  width: 100% !important;
  max-width: none !important;
}

/* toolbar (ordenação + contagem) */
.woocommerce-result-count {
  color: var(--wp--preset--color--text, #7A7A7A);
  font-size: .88rem;
}
.woocommerce-ordering select {
  padding: .5rem .9rem;
  border-radius: 10px;
  border: 1.5px solid var(--wp--preset--color--border, #E4E7EB);
  background: var(--wp--preset--color--surface, #fff);
  font: inherit;
  cursor: pointer;
  font-size: .85rem;
}

/* título da categoria / loja */
.woocommerce-products-header__title,
.page-title,
.woocommerce-products-header .page-title {
  font-size: clamp(1.6rem, 4vw, 2.8rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--primary, #192E49) !important;
  margin: 0 0 1rem !important;
  line-height: 1.1;
}
.term-description {
  color: var(--wp--preset--color--text, #7A7A7A);
  max-width: 60ch;
  margin: 0 0 1.5rem !important;
  font-size: .95rem;
  line-height: 1.6;
}

/* paginação */
.woocommerce-pagination ul {
  display: flex !important;
  gap: .4rem;
  list-style: none;
  padding: 0;
  margin: 2rem 0 0;
  flex-wrap: wrap;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 38px; height: 38px;
  border-radius: 9px;
  border: 1.5px solid var(--wp--preset--color--border, #E4E7EB);
  font-size: .85rem;
  font-weight: 700;
  color: var(--wp--preset--color--primary, #192E49);
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
  padding: 0 .6rem;
}
.woocommerce-pagination ul li a:hover {
  background: var(--wp--preset--color--primary, #192E49);
  border-color: var(--wp--preset--color--primary, #192E49);
  color: #fff;
}
.woocommerce-pagination ul li span.current {
  background: var(--wp--preset--color--accent, #6564EE);
  border-color: var(--wp--preset--color--accent, #6564EE);
  color: #fff;
}

/* ============================================================
   TOOLBAR KADENCE (result count + ordenação lado a lado)
   ============================================================ */
.kadence-shop-top-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  width: 100%;
  margin: 0 0 1.25rem !important;
}
.kadence-shop-top-row .kadence-shop-top-item { display: inline-flex; align-items: center; }
.kadence-shop-top-row .kadence-woo-results-count { flex: 1 1 auto; }
.kadence-shop-top-row .kadence-woo-ordering  { flex: 0 0 auto; }
.kadence-shop-top-row .kadence-woo-toggle    { margin-left: auto; }

/* ============================================================
   CARD: .product-details como flex para margin-top:auto
   funcionar no .product-action-wrap (empurra para o fundo)
   ============================================================ */
.woocommerce ul.products li.product .product-details,
.woocommerce ul.products li.product .content-bg.entry-content-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* ============================================================
   GRID DE CATEGORIAS INJETADO NO /loja/ (PHP hook)
   ============================================================ */
.pn-shop-categories {
  width: 100%;
  margin-bottom: 2rem;
}

/* ============================================================
   SIDEBAR: ocultar nas páginas de arquivo WooCommerce.
   O PHP filter `kadence_post_layout` já desativa; este CSS é
   um fallback para quando o layout é lido de cache ou de opção.
   ============================================================ */
body.woocommerce-shop #secondary.primary-sidebar,
body.post-type-archive-product #secondary.primary-sidebar,
body.tax-product_cat #secondary.primary-sidebar,
body.tax-product_tag #secondary.primary-sidebar {
  display: none !important;
}
body.woocommerce-shop #primary.content-area,
body.post-type-archive-product #primary.content-area,
body.tax-product_cat #primary.content-area,
body.tax-product_tag #primary.content-area {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
}

/* ============================================================
   TILES NATIVOS DE SUBCATEGORIA: ocultar na /loja/
   (PHP remove_action é a fonte de verdade; CSS é fallback)
   ============================================================ */
body.woocommerce-shop ul.products li.product-category {
  display: none !important;
}

/* ============================================================
   SHORTCODES [products] na home (fora do archive)
   ============================================================ */
.woocommerce:not(.woocommerce-page) ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .woocommerce:not(.woocommerce-page) ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 380px) {
  .woocommerce:not(.woocommerce-page) ul.products {
    grid-template-columns: 1fr !important;
  }
}
