/* ==========================================================================
   Category archive template (category.php) — page-specific layout only.
   Requires site-chrome.css (tokens, nav, footer, buttons, tags, kicker,
   .wrap, .rule, base elements) to be enqueued first.
   ========================================================================== */

.header { padding: calc(3 * var(--leading)) 0 calc(1.5 * var(--leading)); }
body.aeo-blank-canvas .header .display {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: clamp(36px, 4.6vw, 60px); line-height: clamp(40px, 5vw, 66px);
  letter-spacing: -0.015em; margin: 0; margin-left: -0.05em;
}
body.aeo-blank-canvas .header .sub {
  font-size: 17px; line-height: var(--leading); max-width: var(--measure);
  margin: calc(var(--leading) - 1cap) 0 0; color: color-mix(in srgb, var(--color-text) 78%, transparent);
}

.cats { padding: 0 0 calc(1.5 * var(--leading)); }
.cats .row { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.cats a.tag { text-decoration: none; }
.cats a.tag-outline:hover { background: color-mix(in srgb, var(--color-accent) 10%, transparent); }

.posts { padding: calc(1.5 * var(--leading)) 0 calc(1.5 * var(--leading)); }
.post-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--leading) clamp(24px, 4vw, 72px);
  align-items: start; padding: calc(1.5 * var(--leading)) 0; text-decoration: none; color: inherit; position: relative;
}
.post-row + .post-row::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(to right, transparent, var(--color-neutral-700) 48px calc(100% - 48px), transparent);
}
body.aeo-blank-canvas .p-title {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 22px; line-height: calc(1.2 * var(--leading)); letter-spacing: -0.01em; margin: 0;
}
.post-row:hover .p-title { color: var(--color-accent); }
body.aeo-blank-canvas .p-excerpt {
  font-size: 15.5px; line-height: var(--leading); margin: var(--half) 0 0;
  color: color-mix(in srgb, var(--color-text) 78%, transparent); max-width: 62ch;
}
.p-meta { font-size: 13px; color: color-mix(in srgb, var(--color-text) 55%, transparent); margin-top: var(--half); }
.p-arrow { color: var(--color-accent); font-size: 20px; align-self: center; justify-self: end; }
@media (max-width: 640px) { .post-row { grid-template-columns: 1fr; } .p-arrow { display: none; } }

.posts-empty { padding: calc(1.5 * var(--leading)) 0 calc(2.5 * var(--leading)); }

.pagination { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: 0 0 calc(1.5 * var(--leading)); }
.pagination .page-link a,
.pagination .page-link span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 10px;
  border: 1px solid var(--color-divider); border-radius: var(--radius-sm);
  font-size: 14px; text-decoration: none; color: var(--color-text);
}
.pagination .page-link a:hover { border-color: color-mix(in srgb, var(--color-accent) 55%, transparent); color: var(--color-accent); }
.pagination .page-link span.current { border-color: var(--color-accent); color: var(--color-accent); }

.cta { padding: calc(1.5 * var(--leading)) 0 calc(2.5 * var(--leading)); }
.cta-box {
  border: 1px solid var(--color-divider); border-radius: var(--radius-lg);
  padding: calc(1.75 * var(--leading)) clamp(24px, 4vw, 56px); display: flex; align-items: center;
  justify-content: space-between; gap: calc(1.5 * var(--leading)); flex-wrap: wrap;
  background: radial-gradient(700px 260px at 15% -30%, color-mix(in srgb, var(--color-accent-900) 55%, transparent), transparent 70%);
}
.cta-box .copy { flex: 1 1 360px; min-width: 0; }
body.aeo-blank-canvas .cta-box h3 {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: clamp(22px, 2.4vw, 28px); line-height: calc(1.2 * var(--leading)); margin: 0;
}
body.aeo-blank-canvas .cta-box .sub {
  font-size: 15.5px; line-height: var(--leading); margin: calc(var(--half) - 1cap) 0 0;
  color: color-mix(in srgb, var(--color-text) 78%, transparent); max-width: 46ch;
}
.cta-box .btn-primary { flex: 0 0 auto; font-size: 16px; padding: 16px 32px; border-width: 2px; white-space: nowrap; }
@media (max-width: 640px) {
  .cta-box { flex-direction: column; align-items: stretch; text-align: center; }
  .cta-box .copy { flex-basis: auto; }
  .cta-box .sub { max-width: none; }
  .cta-box .btn-primary { width: 100%; }
}
