/**
 * TTDS Layer — Shop archive (Sprint 3)
 * All values from TTDS tokens — no hard-coded design values.
 */

body.tt-premium--shop #primary {
  margin: 0;
  padding: 0;
  max-width: none;
}

body.tt-premium--shop .site-content > .ast-container {
  max-width: none;
  padding: 0;
}

body.tt-premium--shop .entry-header,
body.tt-premium--shop .ast-single-entry-banner,
body.tt-premium--shop .woocommerce-result-count {
  display: none;
}

body.tt-premium--shop .tt-shop {
  flex: 1;
}

/* Category hero */
body.tt-premium--shop .tt-shop__hero {
  padding-top: calc(var(--tt-header-h) + var(--tt-space-8));
  padding-bottom: var(--tt-space-8);
  min-height: calc(var(--tt-header-h) + var(--tt-space-24));
}

body.tt-premium--shop .tt-shop__hero-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--tt-space-4);
  flex-wrap: wrap;
  margin-top: var(--tt-space-4);
}

body.tt-premium--shop .tt-shop__count {
  color: var(--tt-slate);
  margin-top: var(--tt-space-2);
  min-height: 1.25rem;
}

body.tt-premium--shop .tt-shop__breadcrumb {
  font-size: 0.75rem;
  color: var(--tt-slate);
  min-height: 1.125rem;
}

body.tt-premium--shop .tt-shop__breadcrumb a {
  color: var(--tt-slate);
  text-decoration: none;
  transition: color var(--tt-dur-fast) var(--tt-ease);
}

body.tt-premium--shop .tt-shop__breadcrumb a:hover {
  color: var(--tt-obsidian);
}

body.tt-premium--shop .tt-shop__sort {
  flex-shrink: 0;
  min-height: 44px;
}

body.tt-premium--shop .tt-shop__sort .woocommerce-ordering {
  margin: 0;
}

body.tt-premium--shop .tt-shop__sort select {
  width: auto;
  min-width: 12rem;
  height: 44px;
  padding: 0 var(--tt-space-4);
  border-radius: var(--tt-radius-md);
  border: 1px solid transparent;
  background: var(--tt-canvas-muted);
  font-size: 1rem;
  font-family: inherit;
  color: var(--tt-obsidian);
  transition: box-shadow var(--tt-dur-fast) var(--tt-ease);
}

body.tt-premium--shop .tt-shop__sort select:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--tt-signal-ring);
}

/* Catalog section — CLS reserve */
body.tt-premium--shop .tt-shop__catalog {
  padding-top: var(--tt-space-8);
}

body.tt-premium--shop .tt-shop__grid {
  min-height: 320px;
}

body.tt-premium--shop .tt-crd__media {
  aspect-ratio: 1;
}

body.tt-premium--shop .tt-crd__media picture,
body.tt-premium--shop .tt-crd__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body.tt-premium--shop .tt-crd__img {
  aspect-ratio: 1;
}

/* Pagination — reserve space */
body.tt-premium--shop .tt-shop__pagination {
  margin-top: var(--tt-space-12);
  min-height: var(--tt-touch);
}

body.tt-premium--shop .tt-shop__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--tt-touch);
  min-height: 36px;
  padding: 0 var(--tt-space-3);
  margin: 0 var(--tt-space-1);
  border-radius: var(--tt-radius-md);
  border: 1px solid var(--tt-line);
  color: var(--tt-graphite);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: border-color var(--tt-dur-fast) var(--tt-ease),
    color var(--tt-dur-fast) var(--tt-ease);
}

body.tt-premium--shop .tt-shop__pagination .page-numbers.current,
body.tt-premium--shop .tt-shop__pagination .page-numbers:hover {
  border-color: var(--tt-obsidian);
  color: var(--tt-obsidian);
}

body.tt-premium--shop .woocommerce-info,
body.tt-premium--shop .woocommerce-no-products-found {
  padding: var(--tt-space-8);
  border: 1px solid var(--tt-line);
  border-radius: var(--tt-radius-lg);
  background: var(--tt-canvas-subtle);
}

@media (max-width: 768px) {
  body.tt-premium--shop .tt-shop__hero {
    padding-top: calc(var(--tt-header-h-m) + var(--tt-space-6));
    min-height: auto;
  }

  body.tt-premium--shop .tt-shop__hero-head {
    flex-direction: column;
    align-items: stretch;
  }

  body.tt-premium--shop .tt-shop__sort select {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.tt-premium--shop .tt-crd {
    transition: none;
  }
}
