/* Blog + legal content chrome (theme-only; does not edit website CSS).
   Article hero follows guidelines §06 dunes + website .kt-hero.is-home pattern. */

/* ------------------------------------------------------------ Article / archive hero */
.kt-article-hero,
.kt-content-hero {
  --dunes-h: clamp(220px, 36svh, 420px);
  position: relative;
  overflow: hidden;
  background: var(--kt-sky);
  text-align: center;
  padding-block-start: clamp(4.5rem, 8vw, 7rem);
  padding-block-end: calc(var(--dunes-h) - 32px);
}

.kt-article-hero .kt-container,
.kt-content-hero .kt-container {
  position: relative;
  z-index: 2;
  display: grid;
  gap: var(--sp-5, 1.25rem);
  justify-items: center;
  max-width: 900px;
  margin-inline: auto;
}

.kt-article-hero > kt-dunes,
.kt-content-hero > kt-dunes {
  --dunes-height: var(--dunes-h);
  z-index: 1;
}

.kt-article-hero .kt-eyebrow a,
.kt-content-hero .kt-eyebrow a {
  color: inherit;
  text-decoration: none;
}

.kt-article-hero .kt-eyebrow a:hover,
.kt-article-hero .kt-eyebrow a:focus-visible,
.kt-content-hero .kt-eyebrow a:hover,
.kt-content-hero .kt-eyebrow a:focus-visible {
  color: var(--kt-ember-500, #ff6a2b);
}

.kt-article-hero .kt-display,
.kt-content-hero .kt-display {
  max-width: 18ch;
  margin: 0;
  color: var(--text-strong);
}

.kt-article-hero .kt-lead,
.kt-content-hero .kt-lead {
  max-width: 40rem;
  margin: 0;
  font-weight: var(--fw-light, 300);
  color: var(--text-muted);
}

.kt-article-meta {
  margin: 0;
  font-size: var(--fs-small, 0.875rem);
  color: var(--text-faint, var(--text-muted));
}

/* ------------------------------------------------------------ Archive list */
.kt-article-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--sp-2, 0.5rem);
  max-width: 42rem;
  margin-inline: auto;
}

.kt-article-card {
  display: grid;
  gap: 0.75rem;
  padding-block: 1.5rem;
  border-block-end: 1px solid color-mix(in srgb, var(--kt-ink, #1a1714) 12%, transparent);
}

.kt-article-card:last-child {
  border-block-end: 0;
}

.kt-article-card a {
  color: inherit;
  text-decoration: none;
  display: grid;
  gap: 0.65rem;
}

.kt-article-card a:hover .kt-article-title,
.kt-article-card a:focus-visible .kt-article-title {
  color: var(--kt-ember-500, #ff6a2b);
}

.kt-article-title {
  font-family: var(--font-display);
  font-size: var(--fs-display-s);
  font-weight: var(--fw-display, 700);
  line-height: var(--lh-title);
  margin: 0;
  color: var(--text-strong);
}

.kt-article-excerpt {
  margin: 0;
  max-width: 42rem;
  line-height: var(--lh-body);
  color: var(--text-muted);
  font-weight: var(--fw-light, 300);
}

.kt-article-more {
  font-weight: var(--fw-medium, 500);
}

/* ------------------------------------------------------------ Prose (single post body) */
.kt-article-body {
  background: var(--kt-sand, var(--surface, #faf5ee));
}

.kt-prose {
  max-width: 42rem;
  margin-inline: auto;
  color: var(--text-body, var(--kt-ink, #1a1714));
  font-size: var(--fs-body, 1rem);
  font-weight: var(--fw-regular, 400);
  line-height: var(--lh-body, 1.85);
}

.kt-prose > *:first-child {
  margin-block-start: 0;
}

.kt-prose > *:last-child {
  margin-block-end: 0;
}

.kt-prose h2,
.kt-prose h3,
.kt-prose h4 {
  font-family: var(--font-display);
  font-weight: var(--fw-display, 700);
  line-height: var(--lh-title, 1.45);
  color: var(--text-strong);
  margin-block: 2.25rem 0.85rem;
}

.kt-prose h2 {
  font-size: var(--fs-display-s, clamp(1.5rem, 1.25rem + 1vw, 2.125rem));
}

.kt-prose h3 {
  font-size: var(--fs-title, 1.25rem);
}

.kt-prose p {
  margin-block: 0 1.15em;
}

.kt-prose li {
  margin-block: 0.35em;
}

.kt-prose a {
  color: var(--kt-ember-600, #e85a1f);
  text-underline-offset: 0.18em;
}

.kt-prose a:hover,
.kt-prose a:focus-visible {
  color: var(--kt-ember-500, #ff6a2b);
}

.kt-prose img,
.kt-prose figure {
  max-width: 100%;
  height: auto;
  margin-block: 1.5rem;
  border-radius: var(--r-md, 12px);
}

.kt-prose figure {
  margin-inline: 0;
}

.kt-prose figcaption {
  margin-block-start: 0.5rem;
  font-size: var(--fs-small, 0.875rem);
  color: var(--text-muted);
  text-align: center;
}

.kt-prose ul,
.kt-prose ol {
  padding-inline-start: 1.25rem;
  margin-block: 0 1.15em;
}

.kt-prose blockquote {
  margin: 1.5rem 0;
  padding: 0.25rem 0 0.25rem 1.15rem;
  border-inline-start: 3px solid var(--kt-ember-500, #ff6a2b);
  color: var(--text-muted);
  font-weight: var(--fw-light, 300);
}

[dir="rtl"] .kt-prose blockquote {
  padding: 0.25rem 1.15rem 0.25rem 0;
}

.kt-prose hr {
  border: 0;
  border-block-start: 1px solid color-mix(in srgb, var(--kt-ink, #1a1714) 12%, transparent);
  margin-block: 2.5rem;
}

.kt-prose strong {
  font-weight: var(--fw-medium, 500);
  color: var(--text-strong);
}

/* WordPress blocks inside posts */
.kt-prose .wp-block-image,
.kt-prose .wp-block-embed {
  margin-block: 1.75rem;
}

.kt-prose .alignwide,
.kt-prose .alignfull {
  max-width: none;
}

/* ------------------------------------------------------------ Article foot CTA (solid dune columns) */
.kt-article-foot {
  position: relative;
  overflow: hidden;
}

.kt-article-foot .inner {
  position: relative;
  z-index: 2;
}

.kt-article-foot > kt-dunes-solid {
  --dunes-height: 260px;
  z-index: 1;
}

.kt-article-foot .kt-actions {
  justify-content: center;
  margin-block-start: var(--sp-6, 1.5rem);
}

/* ------------------------------------------------------------ Pagination + empty */
.kt-pagination,
.navigation.pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-block-start: 2.5rem;
}

.kt-pagination .page-numbers,
.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 2.5rem;
  min-block-size: 2.5rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--r-pill, 999px);
  text-decoration: none;
  color: inherit;
  border: 1px solid color-mix(in srgb, var(--kt-ink, #1a1714) 14%, transparent);
}

.kt-pagination .page-numbers.current,
.kt-pagination .page-numbers:hover,
.kt-pagination .page-numbers:focus-visible,
.navigation.pagination .page-numbers.current,
.navigation.pagination .page-numbers:hover,
.navigation.pagination .page-numbers:focus-visible {
  background: var(--kt-ember-500, #ff6a2b);
  border-color: var(--kt-ember-500, #ff6a2b);
  color: #fff;
}

.kt-empty {
  text-align: center;
  padding-block: 3rem;
}
