/* ==========================================================
   IPC TOOLS — Shop / Archive / Catalogo (standalone)
   ========================================================== */

/* Hero del archive */
.ipct-archive-hero{
  background: linear-gradient(135deg, var(--ipc-navy), var(--ipc-navy-3)); color: #fff;
  padding: 32px 0 40px;
}
.ipct-archive-hero .ipct-breadcrumb,
.ipct-archive-hero .ipct-breadcrumb a,
.ipct-archive-hero .woocommerce-breadcrumb,
.ipct-archive-hero .woocommerce-breadcrumb a{ color: #C7D2EE; }
.ipct-archive-hero__row{ display: flex; align-items: center; gap: 32px; margin-top: 16px; flex-wrap: wrap; }
.ipct-archive-hero__brand-logo{
  width: 120px; height: 120px; background: #fff; border-radius: 24px;
  display: flex; align-items: center; justify-content: center; padding: 20px; flex-shrink: 0;
}
.ipct-archive-hero__brand-logo img{ max-width: 100%; max-height: 100%; object-fit: contain; }
.ipct-archive-hero__title{ font-size: clamp(28px, 4vw, 44px); font-weight: 900; margin: 0 0 8px; color: #fff; }
.ipct-archive-hero__desc{ color: #C7D2EE; font-size: 15px; max-width: 720px; line-height: 1.6; }
.ipct-archive-hero__stats{ display: flex; gap: 24px; margin-top: 16px; flex-wrap: wrap; }
.ipct-archive-hero__stats span{ display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: #C7D2EE; }

.ipct-archive-body{ padding: 40px 0 80px; }
.ipct-archive-body__grid{
  display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start;
}
.ipct-archive-sidebar{
  background: #fff; border-radius: var(--ipc-radius);
  border: 1px solid var(--ipc-border); padding: 24px;
  position: sticky; top: 200px;
}
.ipct-archive-sidebar h3, .ipct-archive-sidebar .widget-title{
  font-size: 13px; text-transform: uppercase; letter-spacing: .06em;
  margin: 0 0 12px; color: var(--ipc-navy); font-weight: 800;
}
.ipct-archive-sidebar .widget{ margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--ipc-border); }
.ipct-archive-sidebar .widget:last-child{ border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.ipct-archive-sidebar ul{ list-style: none; padding: 0; margin: 0; }
.ipct-archive-sidebar ul li{ padding: 6px 0; font-size: 14px; }
.ipct-archive-sidebar a{ color: var(--ipc-text); }
.ipct-archive-sidebar a:hover{ color: var(--ipc-red); }

/* Grilla de productos — forzar grid en TODOS lados */
.woocommerce ul.products,
ul.products{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  list-style: none !important; padding: 0 !important; margin: 0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before, ul.products::after{ display: none !important; }
.woocommerce ul.products li.product,
ul.products li.product,
ul.products > li{
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: none !important;
  float: none !important;
  padding: 0 !important;
}

/* Product card */
.ipct-card,
.woocommerce ul.products li.product{
  position: relative !important;
  background: #fff !important; border-radius: var(--ipc-radius) !important;
  border: 1px solid var(--ipc-border) !important; overflow: hidden !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  display: flex !important; flex-direction: column !important;
  text-align: left !important;
}
.ipct-card:hover,
.woocommerce ul.products li.product:hover{ transform: translateY(-4px); box-shadow: var(--ipc-shadow-lg); border-color: var(--ipc-navy) !important; }
.ipct-card__media{
  position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden;
  background: var(--ipc-bg);
}
.ipct-card__img,
.woocommerce ul.products li.product a img{
  width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 16px;
  transition: transform .4s ease;
}
.ipct-card:hover .ipct-card__img{ transform: scale(1.06); }
.ipct-card__badges{
  position: absolute; top: 12px; left: 12px; z-index: 2;
  display: flex; flex-direction: column; gap: 6px;
}
.ipct-badge,
.woocommerce ul.products li.product .onsale{
  display: inline-block !important; padding: 4px 10px !important; border-radius: 6px !important;
  font: 800 11px var(--ipc-font) !important; letter-spacing: .04em; text-transform: uppercase;
  position: static !important; top: auto !important; right: auto !important;
  min-height: auto !important; min-width: auto !important; line-height: 1.4 !important;
}
.ipct-badge--sale, .woocommerce ul.products li.product .onsale{ background: var(--ipc-red) !important; color: #fff !important; }
.ipct-badge--new{ background: var(--ipc-green); color: #fff; }
.ipct-badge--out{ background: var(--ipc-muted); color: #fff; }
.ipct-card__fav{
  position: absolute; top: 12px; right: 12px; z-index: 2;
  width: 36px; height: 36px; border-radius: 50%; border: 0;
  background: #fff; color: var(--ipc-navy); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 12px rgba(0,0,0,.08); transition: all .2s;
}
.ipct-card__fav:hover{ color: var(--ipc-red); transform: scale(1.1); }
.ipct-card__body{ padding: 16px; flex: 1; display: flex; flex-direction: column; }
.ipct-card__brand,
.ipct-loop-brand{
  display: inline-block !important; font-size: 11px !important; font-weight: 800 !important;
  text-transform: uppercase; letter-spacing: .06em; color: var(--ipc-red) !important;
  margin-bottom: 4px !important; text-decoration: none !important;
}
.ipct-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  font-size: 15px !important; margin: 0 0 6px !important; font-weight: 700 !important; line-height: 1.3 !important;
  padding: 0 !important; color: var(--ipc-text) !important;
}
.ipct-card__title a{ color: var(--ipc-text) !important; text-decoration: none !important; }
.ipct-card__sku,
.ipct-loop-sku{ font-size: 11px !important; color: var(--ipc-muted) !important; margin-bottom: 8px !important; }
.ipct-card__rating{ display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 12px; }
.ipct-card__rating-count{ color: var(--ipc-muted); }
.ipct-card__price,
.woocommerce ul.products li.product .price{
  font-size: 20px !important; font-weight: 900 !important; color: var(--ipc-navy) !important;
  margin: 4px 0 8px !important; display: block;
}
.woocommerce ul.products li.product .price del{ font-size: 13px !important; color: var(--ipc-muted) !important; margin-right: 6px; font-weight: 500 !important; }
.woocommerce ul.products li.product .price ins{ text-decoration: none !important; color: var(--ipc-red) !important; background: transparent !important; }
.ipct-card__low-stock{ font-size: 12px; color: var(--ipc-red); font-weight: 700; margin-bottom: 8px; }
.ipct-card__actions{ display: flex; gap: 6px; margin-top: auto; }
.ipct-card__actions .button{ flex: 1; font-size: 12px; padding: 10px 12px; }
.ipct-card__view{
  padding: 10px 14px; border: 1px solid var(--ipc-border); border-radius: 10px;
  font: 700 12px var(--ipc-font); color: var(--ipc-navy); text-transform: uppercase;
  text-decoration: none;
}

/* Add to cart en cards de loop */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button{
  display: inline-flex !important; margin-top: 8px !important;
  padding: 10px 14px !important; font-size: 12px !important;
}

/* Sorting + result count */
.woocommerce-result-count, .woocommerce-ordering{ margin-bottom: 16px; }
.woocommerce-ordering select{ padding: 8px 14px; }

/* Pagination */
.woocommerce-pagination ul.page-numbers{
  list-style: none; padding: 0; margin: 32px 0 0;
  display: flex; gap: 6px; justify-content: center;
  border: 0 !important;
}
.woocommerce-pagination ul.page-numbers li{ margin: 0 !important; border: 0 !important; }
.woocommerce-pagination ul.page-numbers a,
.woocommerce-pagination ul.page-numbers span{
  display: inline-flex !important; align-items: center; justify-content: center;
  min-width: 40px !important; height: 40px !important; padding: 0 12px !important;
  border-radius: 10px !important; border: 1px solid var(--ipc-border) !important;
  background: #fff !important; color: var(--ipc-text) !important;
  font-weight: 700; text-decoration: none;
}
.woocommerce-pagination ul.page-numbers .current{ background: var(--ipc-navy) !important; color: #fff !important; border-color: var(--ipc-navy) !important; }

/* Sin productos */
.woocommerce-no-products-found{ padding: 40px; text-align: center; }

@media (max-width: 1024px){
  .ipct-archive-body__grid{ grid-template-columns: 1fr; }
  .ipct-archive-sidebar{ position: static; }
  .woocommerce ul.products, ul.products{ grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px){
  .woocommerce ul.products, ul.products{ grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .ipct-card__body, .woocommerce ul.products li.product .ipct-card__body{ padding: 12px; }
  .ipct-card__price{ font-size: 17px !important; }
}
