/* =========================
   PRODUCT GRID - CLEAN FIX
========================= */

/* GRID PRINCIPAL SHOP */
.af-shop-main .products,
.woocommerce .af-shop-main ul.products,
.woocommerce-page .af-shop-main ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(220px,260px));
  gap:20px;
  padding:0;
  margin:0;
  list-style:none;
  align-items:start;
  justify-content:start;
}

/* RESET WOOCOMMERCE */
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  display:none !important;
}

/* PRODUCT ITEM */
.woocommerce ul.products li.product{
  width:auto !important;
  max-width:260px;
  float:none !important;
  margin:0 !important;
}

/* CARD */
.af-product-card{
  display:flex;
  flex-direction:column;
  height:100%;
  background:#fff;
  border:1px solid var(--af-border);
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--af-shadow-soft);
  transition:.2s ease;
}

.af-product-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--af-shadow);
}

/* MEDIA */
.af-product-card__media{
  padding:18px 18px 0;
  background:linear-gradient(180deg,#fff 0%,#f9fbff 100%);
}

.af-product-card__media img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  display:block;
  background:#fff;
}

/* BODY */
.af-product-card__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:14px 18px 20px;
  flex:1;
}

/* BRAND */
.af-product-card__brand{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#eef4ff;
  color:var(--af-primary);
  font-size:.8rem;
  font-weight:800;
}

/* TITLE */
.woocommerce-loop-product__title{
  font-size:1rem;
  min-height:3em;
  margin:0;
}

/* META (atribute) */
.af-product-meta-inline{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  font-size:.9rem;
  color:var(--af-text-soft);
}

/* PRICE */
.price{
  font-weight:800;
  color:var(--af-primary);
  font-size:1.15rem;
}

.price del{
  font-weight:500;
  color:var(--af-text-soft);
  margin-right:6px;
}

/* BUTTON */
.af-product-card .button{
  margin-top:auto;
  display:flex;
  justify-content:center;
  width:100%;
  padding:12px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--af-accent),var(--af-accent-2));
  color:#fff;
  font-weight:800;
}

/* =========================
   RELATED / UPSELLS FIX
========================= */

.related ul.products,
.up-sells ul.products,
.cross-sells ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,260px));
  gap:20px;
  justify-content:start;
}

.related ul.products li.product,
.up-sells ul.products li.product,
.cross-sells ul.products li.product{
  width:auto !important;
  max-width:260px;
  margin:0 !important;
}

/* =========================
   TOOLBAR + FILTER
========================= */

.af-shop-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}

.af-filter-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.af-filter-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.af-filter-grid select{
  min-height:46px;
  border:1px solid var(--af-border);
  border-radius:12px;
  padding:0 12px;
  background:#fff;
}

.af-tire-filter-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1200px){
  .af-shop-main .products,
  .woocommerce .af-shop-main ul.products{
    grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  }
}

@media (max-width: 900px){
  .af-shop-main .products,
  .woocommerce .af-shop-main ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 767px){
  .af-shop-main .products,
  .woocommerce .af-shop-main ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .af-product-card__media{
    padding:14px 14px 0;
  }

  .af-product-card__body{
    padding:12px 14px 16px;
  }

  .woocommerce-loop-product__title{
    font-size:.95rem;
    min-height:2.6em;
  }
}
/* ===== HARD FIX: CARDURI SHOP / CATEGORII ===== */

/* grid-ul real WooCommerce */
.woocommerce ul.products,
.woocommerce-page ul.products,
.tax-product_cat ul.products,
.post-type-archive-product ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 260px)) !important;
  gap: 20px !important;
  justify-content: start !important;
  align-items: start !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* elimină stilurile vechi WooCommerce */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  display: none !important;
  content: none !important;
}

/* item produs */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.tax-product_cat ul.products li.product,
.post-type-archive-product ul.products li.product {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: 260px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* dacă tema folosește card custom */
.woocommerce ul.products li.product .af-product-card,
.woocommerce-page ul.products li.product .af-product-card,
.tax-product_cat ul.products li.product .af-product-card,
.post-type-archive-product ul.products li.product .af-product-card {
  width: 100% !important;
  max-width: 260px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* fallback dacă linkul/cardul e direct în li */
.woocommerce ul.products li.product > a,
.woocommerce-page ul.products li.product > a,
.tax-product_cat ul.products li.product > a,
.post-type-archive-product ul.products li.product > a {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 260px !important;
}

/* imagine mai compactă */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.tax-product_cat ul.products li.product img,
.post-type-archive-product ul.products li.product img {
  width: 100% !important;
  height: 180px !important;
  object-fit: contain !important;
}

/* recommended / related / upsells */
.related ul.products,
.up-sells ul.products,
.cross-sells ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 260px)) !important;
  gap: 20px !important;
  justify-content: start !important;
}

.related ul.products li.product,
.up-sells ul.products li.product,
.cross-sells ul.products li.product {
  width: 100% !important;
  max-width: 260px !important;
  margin: 0 !important;
}

/* tablet */
@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .tax-product_cat ul.products,
  .post-type-archive-product ul.products {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .tax-product_cat ul.products li.product,
  .post-type-archive-product ul.products li.product {
    max-width: none !important;
  }

  .woocommerce ul.products li.product .af-product-card,
  .woocommerce-page ul.products li.product .af-product-card,
  .tax-product_cat ul.products li.product .af-product-card,
  .post-type-archive-product ul.products li.product .af-product-card {
    max-width: none !important;
  }
}

/* mobil */
@media (max-width: 767px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .tax-product_cat ul.products,
  .post-type-archive-product ul.products,
  .related ul.products,
  .up-sells ul.products,
  .cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .tax-product_cat ul.products li.product,
  .post-type-archive-product ul.products li.product,
  .related ul.products li.product,
  .up-sells ul.products li.product,
  .cross-sells ul.products li.product {
    max-width: none !important;
  }

  .woocommerce ul.products li.product .af-product-card,
  .woocommerce-page ul.products li.product .af-product-card,
  .tax-product_cat ul.products li.product .af-product-card,
  .post-type-archive-product ul.products li.product .af-product-card {
    max-width: none !important;
  }

  .woocommerce ul.products li.product img,
  .woocommerce-page ul.products li.product img,
  .tax-product_cat ul.products li.product img,
  .post-type-archive-product ul.products li.product img {
    height: 150px !important;
  }
}
/* ===== FIX REAL: LINK WRAPPER WOOCOMMERCE ===== */

.woocommerce ul.products li.product a.woocommerce-loop-product__link{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  max-width:260px !important;
  margin:0 auto !important;
}

/* CARD BODY să nu mai întindă layout-ul */
.af-product-card__body{
  width:100% !important;
  max-width:260px !important;
  margin:0 auto !important;
}

/* LI control */
.woocommerce ul.products li.product{
  display:flex !important;
  justify-content:center !important;
}

/* imagine mai controlată */
.woocommerce ul.products li.product img{
  width:100% !important;
  height:180px !important;
  object-fit:contain !important;
}