/**
 * shop.css — Product archive (Shop + category archives). Loaded on shop/category pages.
 * Uses tokens.css + the shared product card in main.css.
 */

/* Breadcrumbs (shared look with PDP) */
.gfo-breadcrumbs { background: var(--gfo-sand); padding: 14px 0; font-size: 12px; font-weight: 500; color: var(--gfo-text-hint); }
.gfo-breadcrumbs a { color: var(--gfo-text-hint); text-decoration: none; }
.gfo-breadcrumbs a:hover { color: var(--gfo-terracotta); }
.gfo-breadcrumbs__current { color: var(--gfo-ink); }

/* Head */
.gfo-shop-head { background: var(--gfo-sand); padding: 4px 0 28px; }
.gfo-shop-head__title { font-size: var(--gfo-fs-h1); letter-spacing: -.02em; margin: 0; }
.gfo-shop-head__intro { font-size: 15px; color: var(--gfo-text); margin: 10px 0 0; max-width: 56ch; }

/* Sticky filter + sort bar */
.gfo-shopbar { background: var(--gfo-surface); border-top: 1px solid rgba(58,40,32,.1); border-bottom: 1px solid rgba(58,40,32,.1); position: sticky; top: 58px; z-index: 40; }
.gfo-shopbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 13px; flex-wrap: wrap; }
.gfo-shopbar__filters { display: flex; gap: 8px; flex-wrap: wrap; }
.gfo-chip-filter { border: 1px solid rgba(58,40,32,.2); background: transparent; color: var(--gfo-text); font-family: var(--gfo-font-body); font-size: 12px; font-weight: 600; padding: 8px 14px; border-radius: var(--gfo-radius-pill); text-decoration: none; }
.gfo-chip-filter:hover { border-color: var(--gfo-terracotta); color: var(--gfo-terracotta); }
.gfo-chip-filter.is-active { background: var(--gfo-terracotta); border-color: var(--gfo-terracotta); color: #fff; }
.gfo-shopbar__sort { display: flex; align-items: center; gap: 10px; }
.gfo-shopbar__sort .woocommerce-result-count { margin: 0; font-size: 12px; color: var(--gfo-text-muted); }
.gfo-shopbar__sort .woocommerce-ordering { margin: 0; }
.gfo-shopbar__sort select.orderby { border: 1px solid rgba(58,40,32,.2); background: #fff; color: var(--gfo-ink); font-family: var(--gfo-font-body); font-size: 12px; font-weight: 600; padding: 9px 12px; border-radius: 7px; cursor: pointer; }

/* Grid */
.gfo-shop { background: var(--gfo-sand); padding: 30px 0 64px; min-height: 420px; }
.gfo-shop__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.gfo-shop__empty { text-align: center; color: var(--gfo-text-muted); padding: 40px 0; }

/* Pagination */
.gfo-shop .woocommerce-pagination { margin-top: 34px; text-align: center; }
.gfo-shop .woocommerce-pagination ul { display: inline-flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.gfo-shop .woocommerce-pagination ul li { list-style: none; }
.gfo-shop .woocommerce-pagination a, .gfo-shop .woocommerce-pagination span {
  display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px;
  border: 1px solid rgba(58,40,32,.2); border-radius: var(--gfo-radius-btn); background: var(--gfo-surface);
  color: var(--gfo-ink); text-decoration: none; font-weight: 600; font-size: 13px;
}
.gfo-shop .woocommerce-pagination .current { background: var(--gfo-terracotta); border-color: var(--gfo-terracotta); color: #fff; }

/* Responsive */
@media (max-width: 1024px) {
  .gfo-shop__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .gfo-shop__grid { grid-template-columns: repeat(2, 1fr); }
  .gfo-shopbar__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
  .gfo-shop__grid { grid-template-columns: 1fr; }
}
