/* BabHijra frontend extras — complements theme.json */

body {
  -webkit-font-smoothing: antialiased;
}

.wp-block-post-template li,
.babhijra-card {
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.wp-block-post-title a {
  text-decoration: none;
}

.wp-block-post-title a:hover {
  color: var(--wp--preset--color--primary);
}

.wp-block-query-pagination {
  gap: 0.5rem;
}

.wp-block-post-terms a {
  display: inline-block;
  background: #fee2e2;
  color: #991b1b;
  border-radius: 999px;
  padding: 0.15rem 0.75rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
}

.breadcrumbs {
  margin-block-end: var(--space-5);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumbs li {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
}

.breadcrumbs li + li::before {
  content: ">";
  color: var(--color-faint);
}

.breadcrumbs a {
  color: var(--color-muted);
  text-decoration: none;
}

.breadcrumbs a:hover {
  color: var(--color-brand);
}

.article-shell,
.entity-shell,
.archive-shell {
  padding-block: clamp(var(--space-8), 7vw, var(--space-16));
}

.article-hero,
.entity-hero,
.article-layout,
.article-after {
  inline-size: min(calc(100% - 2 * var(--page-gutter)), 48rem);
  margin-inline: auto;
}

.article-hero h1,
.entity-hero h1 {
  margin-block: var(--space-4);
  font-size: clamp(2rem, 1.5rem + 2.2vw, 3.35rem);
  line-height: 1.45;
  letter-spacing: 0;
}

.article-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-muted);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
}

.article-excerpt {
  max-inline-size: 44rem;
  color: var(--color-muted);
  font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem);
  line-height: 1.9;
}

.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  margin-block: var(--space-5) 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.7;
}

.article-meta strong {
  color: var(--color-ink);
}

.article-cover--wide {
  inline-size: min(calc(100% - 2 * var(--page-gutter)), 68.75rem);
  margin-block: var(--space-8);
  margin-inline: auto;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--color-accent);
  aspect-ratio: 16 / 9;
}

.article-cover--wide img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.article-body {
  font-size: clamp(1.125rem, 1.06rem + 0.25vw, 1.25rem);
  line-height: 1.95;
}


.article-body h2 {
  margin-block-start: var(--space-12);
  font-size: clamp(1.45rem, 1.25rem + 0.7vw, 1.85rem);
  line-height: 1.55;
  letter-spacing: 0;
}

.article-body h3 {
  margin-block-start: var(--space-8);
  font-size: clamp(1.2rem, 1.1rem + 0.4vw, 1.45rem);
  line-height: 1.6;
  letter-spacing: 0;
}

.article-body p,
.article-body li {
  overflow-wrap: break-word;
}

.article-body blockquote {
  padding: var(--space-4) var(--space-5);
  border-inline-start: 4px solid var(--color-brand);
  background: var(--color-surface);
  color: var(--color-charcoal);
  font-size: 1.08em;
}

.article-body table {
  display: block;
  overflow-x: auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.toc-box,
.source-box,
.author-box,
.trust-note,
.correction-note {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: var(--shadow-xs);
}

.toc-box {
  padding: var(--space-5);
  margin-block-end: var(--space-8);
}

.toc-box h2,
.source-box h2,
.author-box h2 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-3);
  font-size: var(--text-lg);
}

.toc-box ol {
  margin: 0;
  padding-inline-start: var(--space-5);
  font-size: var(--text-base);
  line-height: 1.8;
}

.toc-box__level-3 {
  margin-inline-start: var(--space-4);
  font-size: var(--text-sm);
}

.article-after {
  display: grid;
  gap: var(--space-6);
  margin-block-start: var(--space-10);
}

.article-after .newsletter-band {
  inline-size: 100%;
  min-inline-size: 0;
  margin-inline: calc(-1 * var(--page-gutter));
  border-radius: var(--radius-lg);
}

.article-after .newsletter-inner {
  inline-size: 100%;
  margin-inline: 0;
  padding-inline: var(--space-5);
}


.source-box__name {
  color: var(--color-ink);
  font-weight: var(--weight-semibold);
}

.source-box__verified,
.trust-note {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.source-box__link {
  display: inline-flex;
  margin-block-start: var(--space-4);
  font-weight: var(--weight-semibold);
}

.trust-note,
.correction-note {
  padding: var(--space-4) var(--space-5);
}

.correction-note {
  border-color: color-mix(in srgb, var(--color-brand) 28%, var(--color-border));
  background: color-mix(in srgb, var(--color-brand) 5%, white);
  color: var(--color-charcoal);
}

.author-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-4);
  align-items: center;
  padding: var(--space-5);
}

.author-box__avatar {
  border-radius: 50%;
}

.author-box__title {
  color: var(--color-brand-dark);
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
}

.entity-cards,
.entity-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.entity-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: inherit;
  text-decoration: none;
}

.entity-card span {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.entity-card strong {
  font-size: var(--text-lg);
}


.posts-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-block-end: 0;
}

.entity-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
  gap: var(--space-8);
  align-items: center;
  inline-size: min(calc(100% - 2 * var(--page-gutter)), var(--container));
}

.entity-hero__media {
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  aspect-ratio: 4 / 3;
  background: var(--color-accent);
}

.entity-hero__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.entity-short {
  margin-block-start: var(--space-2);
  color: var(--color-brand-dark);
  font-family: var(--font-latin);
  font-size: var(--text-xl);
  font-weight: var(--weight-bold);
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  margin: 0 0 var(--space-8);
}

.detail-grid div {
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.detail-grid dt {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.detail-grid dd {
  margin: var(--space-1) 0 0;
  color: var(--color-ink);
  font-weight: var(--weight-semibold);
}

.verified-line {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.archive-shell .page-head {
  padding-block: 0 var(--space-8);
}

.archive-shell .page-head h1 {
  margin-block: var(--space-3);
  font-size: clamp(2rem, 1.4rem + 1.8vw, 3rem);
  letter-spacing: 0;
}

.archive-shell .page-head p {
  color: var(--color-muted);
  font-size: var(--text-lg);
}

.archive-featured {
  margin-block-end: var(--space-8);
}

.entity-directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.directory-card {
  display: flex;
  min-block-size: 100%;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: inherit;
  text-decoration: none;
  box-shadow: var(--shadow-xs);
}

.directory-card strong {
  font-size: var(--text-xl);
  line-height: 1.45;
}

.directory-card p,
.directory-card small {
  color: var(--color-muted);
}

.directory-card__media {
  overflow: hidden;
  border-radius: var(--radius-md);
  aspect-ratio: 16 / 10;
  background: var(--color-accent);
}

.directory-card__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.directory-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.directory-card em {
  width: fit-content;
  margin-block-start: var(--space-2);
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  background: var(--color-accent);
  color: var(--color-blue-dark);
  font-size: var(--text-xs);
  font-style: normal;
  font-weight: var(--weight-semibold);
}

.pagination {
  margin-block-start: var(--space-8);
}

.pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pagination a,
.pagination span {
  display: inline-flex;
  min-inline-size: 2.5rem;
  min-block-size: 2.5rem;
  align-items: center;
  justify-content: center;
  padding-inline: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  text-decoration: none;
}

.pagination .current {
  border-color: var(--color-brand);
  color: var(--color-brand);
  font-weight: var(--weight-bold);
}

.topic-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.topic-links a {
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
  font-weight: var(--weight-semibold);
  text-decoration: none;
}

.topic-links a:hover {
  border-color: var(--color-brand);
  color: var(--color-brand);
}

.no-results {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.not-found-shell .page-head {
  text-align: center;
}

.not-found-shell .page-head p,
.not-found-shell .search-form {
  margin-inline: auto;
}

@media (max-width: 64rem) {
  .entity-hero,
  .entity-directory {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 48rem) {
  .article-hero,
  .entity-hero,
  .article-layout,
  .article-after {
    inline-size: min(calc(100% - 2rem), 48rem);
  }

  .entity-hero,
  .entity-directory,
  .posts-grid--compact,
  .entity-cards,
  .entity-card-grid,
  .detail-grid {
    grid-template-columns: 1fr;
  }

  .article-meta {
    gap: var(--space-2) var(--space-3);
    font-size: 0.92rem;
  }

  .author-box {
    grid-template-columns: 1fr;
  }

  .article-after .newsletter-band {
    margin-inline: 0;
  }
}

/* ---------- Editorial polish pass ---------- */
html[dir='rtl'] {
  font-size: 17px;
}

bdi,
[lang='en'] {
  unicode-bidi: isolate;
}

.site-header .header-inner {
  gap: clamp(var(--space-3), 2vw, var(--space-5));
  padding-block: 0.7rem;
}

.site-nav a {
  padding-inline: 0.72rem;
  color: #42526a;
  font-size: 0.9rem;
  line-height: 1.4;
}

.site-nav a:hover,
.site-nav a[aria-current='true'],
.site-nav .current-menu-item a,
.site-nav .current-post-ancestor a {
  background: color-mix(in srgb, var(--color-brand) 7%, white);
}

.breadcrumbs {
  margin-block-end: var(--space-4);
  font-size: 0.95rem;
  line-height: 1.7;
}

.breadcrumbs a,
.breadcrumbs span {
  color: #506176;
}

.article-shell,
.entity-shell,
.archive-shell {
  padding-block: clamp(var(--space-6), 5vw, var(--space-12));
}

.article-hero,
.article-layout,
.article-after {
  inline-size: min(calc(100% - 2 * var(--page-gutter)), 48rem);
}

.article-hero {
  display: grid;
  gap: var(--space-4);
  text-align: start;
}

.article-hero h1,
.entity-hero h1 {
  margin: 0;
  font-size: clamp(2rem, 1.45rem + 1.9vw, 3.05rem);
  line-height: 1.42;
  font-weight: 800;
  letter-spacing: 0;
}

.article-kicker {
  gap: var(--space-2);
  font-size: 0.95rem;
  line-height: 1.6;
}

.badge {
  border-radius: 0.35rem;
  padding-block: 0.28em;
  padding-inline: 0.7rem;
  font-size: 0.8rem;
}

.article-excerpt {
  max-inline-size: 48rem;
  font-size: clamp(1.1rem, 1rem + 0.35vw, 1.28rem);
  line-height: 1.95;
}

.article-meta {
  gap: var(--space-2) var(--space-4);
  justify-content: flex-start;
  margin-block: var(--space-3) 0;
  color: #5d6c7e;
  font-size: 0.95rem;
}

.article-meta--structured {
  padding: var(--space-3) 0 var(--space-4);
}

.article-meta span {
  gap: 0.35rem;
}

.article-cover--wide {
  inline-size: min(calc(100% - 2 * var(--page-gutter)), 60rem);
  margin-block: var(--space-6) var(--space-8);
  border-radius: 0.8rem;
  aspect-ratio: 16 / 7.5;
  box-shadow: var(--shadow-sm);
}

.article-body {
  font-size: clamp(1.06rem, 1.01rem + 0.22vw, 1.18rem);
  line-height: 1.95;
  text-align: start;
}

.article-body > * + * {
  margin-block-start: 1.35rem;
}

.article-body h2 {
  position: relative;
  margin-block-start: var(--space-12);
  margin-block-end: var(--space-4);
  padding-block-start: var(--space-2);
  font-size: clamp(1.45rem, 1.24rem + 0.6vw, 1.78rem);
  line-height: 1.55;
}

.article-body h2::before {
  content: '';
  display: block;
  inline-size: 2.25rem;
  block-size: 3px;
  margin-block-end: var(--space-3);
  background: var(--color-brand);
  border-radius: 99px;
}

.article-body h3 {
  margin-block-start: var(--space-8);
  font-size: clamp(1.22rem, 1.12rem + 0.25vw, 1.42rem);
  line-height: 1.65;
}

.article-body p,
.article-body li {
  color: #243247;
}

.article-body ul,
.article-body ol {
  padding-inline-start: var(--space-7, 1.75rem);
}

.article-body li + li {
  margin-block-start: 0.72rem;
}

.article-body a {
  color: #1d4f86;
  font-weight: var(--weight-semibold);
  text-decoration-thickness: 0.07em;
}

.article-body a:hover {
  color: var(--color-brand-dark);
}

.article-body strong {
  color: #111827;
  font-weight: 700;
}

.article-body blockquote {
  border: 0;
  border-inline-start: 4px solid var(--color-brand);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-xs);
}

.article-body table {
  margin-block: var(--space-6);
  font-size: 0.98rem;
}

.article-body th {
  background: #f1f5f9;
}

.article-body h2 + ul,
.article-body h3 + ul {
  list-style: none;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: #fff;
}

.article-body h2 + ul li,
.article-body h3 + ul li {
  position: relative;
  padding-inline-start: 1.25rem;
}

.article-body h2 + ul li::before,
.article-body h3 + ul li::before {
  content: '←';
  position: absolute;
  inset-inline-start: 0;
  color: var(--color-brand);
  font-weight: 700;
}

.toc-box {
  padding: var(--space-4) var(--space-5);
  margin-block-end: var(--space-6);
  background: #f8fbfd;
}

.toc-box h2,
.source-box h2,
.author-box h2 {
  font-size: 1.12rem;
}

.source-box {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-5) var(--space-6);
  border-color: #d7e1eb;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  box-shadow: var(--shadow-sm);
}

.source-box h2 {
  margin-block-end: var(--space-1);
  color: var(--color-ink);
}

.source-box__name {
  font-size: 1.05rem;
}

.source-box__verified,
.trust-note,
.correction-note {
  font-size: 0.95rem;
  line-height: 1.85;
}

.source-box__verified strong {
  color: var(--color-ink);
}

.source-box__link {
  width: fit-content;
  color: #1d4f86;
}

.trust-note {
  border-color: #dde5ed;
  background: #f5f7fa;
  color: #465568;
}

.entity-cards,
.entity-card-grid {
  gap: var(--space-3);
}

.entity-card {
  gap: var(--space-2);
  padding: var(--space-4);
  border-color: #dfe6ee;
  background: #fff;
  box-shadow: var(--shadow-xs);
  transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);
}

.entity-card:hover {
  border-color: color-mix(in srgb, var(--color-brand) 34%, var(--color-border));
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}

.entity-card span {
  color: #5d6f84;
  font-size: 0.82rem;
  font-weight: var(--weight-semibold);
}

.entity-card strong {
  color: var(--color-ink);
  font-size: 1.05rem;
  line-height: 1.55;
}

.entity-card small {
  color: var(--color-muted);
  font-size: 0.9rem;
  line-height: 1.7;
}

.entity-card em {
  margin-block-start: auto;
  color: #1d4f86;
  font-size: 0.86rem;
  font-style: normal;
  font-weight: var(--weight-semibold);
}

.related-section {
  margin-block-start: var(--space-3);
}

.related-section .sec-head {
  margin-block-end: var(--space-4);
}

.posts-grid--compact {
  gap: var(--space-4);
}

.article-after .posts-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.article-after .card-media {
  aspect-ratio: 16 / 8.4;
}

.article-after .card-description {
  -webkit-line-clamp: 2;
}

.hub-section .posts-grid--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.posts-grid--compact .card-media {
  aspect-ratio: 16 / 9;
}

.posts-grid--compact .card-title {
  font-size: 1.04rem;
  line-height: 1.6;
}

.posts-grid--compact .card-description {
  display: -webkit-box;
  font-size: 0.92rem;
  line-height: 1.75;
}

.card-meta time,
.card-read {
  font-size: 0.83rem;
}

.entity-hero {
  gap: var(--space-6);
}

.entity-hero__text {
  display: grid;
  gap: var(--space-3);
}

.entity-hero__media {
  border-radius: 0.8rem;
  aspect-ratio: 16 / 11;
  box-shadow: var(--shadow-sm);
}

.detail-grid {
  gap: var(--space-3);
}

.detail-grid div {
  padding: var(--space-4);
  background: #fff;
}

.detail-grid dt {
  font-size: 0.9rem;
}

.detail-grid dd {
  font-size: 1rem;
  line-height: 1.65;
}

.archive-shell .page-head {
  padding-block: 0 var(--space-6);
}

.archive-shell .page-head h1 {
  font-size: clamp(2rem, 1.55rem + 1.5vw, 2.85rem);
  line-height: 1.45;
}

.archive-shell .page-head p {
  max-inline-size: 50rem;
  font-size: 1.08rem;
  line-height: 1.9;
}

.directory-card {
  gap: var(--space-3);
  padding: var(--space-4);
  border-color: #dfe6ee;
  box-shadow: var(--shadow-xs);
  transition: transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);
}

.directory-card:hover {
  border-color: color-mix(in srgb, var(--color-brand) 32%, var(--color-border));
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}

.directory-card__media {
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-sm);
}

.directory-card strong {
  font-size: 1.2rem;
}

.directory-card p {
  font-size: 0.92rem;
  line-height: 1.75;
}

.hub-shell {
  padding-block-start: var(--space-8);
  padding-block-end: var(--space-10);
}

.hub-head {
  gap: var(--space-2);
  padding-block-end: 0;
}

.hub-head > .badge {
  justify-self: start;
}

.hub-head .breadcrumbs {
  margin-block-end: var(--space-2);
}

.hub-head h1 {
  max-inline-size: 50rem;
  margin-block: var(--space-1) var(--space-2);
  font-size: clamp(2rem, 1.5rem + 1.55vw, 2.75rem);
  line-height: 1.38;
}

.hub-head p {
  max-inline-size: 54rem;
  font-size: 1.1rem;
  line-height: 1.9;
}

.hub-section {
  padding-block: var(--space-4);
}

.hub-card-grid {
  gap: var(--space-3);
}

.hub-card {
  position: relative;
  min-block-size: 10.5rem;
  gap: var(--space-2);
  padding: var(--space-4);
  border-color: #dfe6ee;
  box-shadow: var(--shadow-xs);
}

.hub-card::before {
  content: '';
  inline-size: 2rem;
  block-size: 3px;
  background: color-mix(in srgb, var(--color-brand) 85%, #fff);
  border-radius: 99px;
}

.hub-card:hover {
  border-color: color-mix(in srgb, var(--color-brand) 34%, var(--color-border));
  box-shadow: var(--shadow-sm);
}

.hub-card__type {
  color: #1d4f86;
  font-size: 0.82rem;
  font-weight: var(--weight-semibold);
}

.hub-card strong {
  font-size: 1.08rem;
  line-height: 1.58;
}

.hub-card small {
  color: #5b6b7d;
  font-size: 0.92rem;
  line-height: 1.75;
}

.hub-card__read {
  margin-block-start: auto;
  color: var(--color-brand-dark);
  font-size: 0.84rem;
  font-weight: var(--weight-semibold);
}

.hub-source {
  margin-block-start: var(--space-3);
  padding: var(--space-4) var(--space-5);
  border: 1px solid #d7e1eb;
  border-radius: var(--radius-md);
  background: #fff;
}

@media (max-width: 64rem) {
  .site-nav a {
    font-size: 0.98rem;
  }

  .hub-section .posts-grid--compact,
  .article-after .posts-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  html[dir='rtl'] {
    font-size: 16px;
  }

  .article-hero,
  .entity-hero,
  .article-layout,
  .article-after {
    inline-size: min(calc(100% - 2rem), 48rem);
  }

  .article-hero h1,
  .entity-hero h1 {
    font-size: clamp(1.8rem, 1.4rem + 2vw, 2.25rem);
    line-height: 1.45;
  }

  .article-body {
    font-size: clamp(1rem, 0.95rem + 0.5vw, 1.08rem);
    line-height: 1.9;
  }

  .article-cover--wide {
    inline-size: min(calc(100% - 2rem), 51rem);
    aspect-ratio: 16 / 10;
    margin-block: var(--space-5) var(--space-6);
  }

  .source-box,
  .trust-note,
  .correction-note {
    padding: var(--space-4);
  }

  .hub-card-grid,
  .entity-card-grid,
  .entity-directory,
  .hub-section .posts-grid--compact,
  .article-after .posts-grid--compact {
    grid-template-columns: 1fr;
  }
}

/* ---------- Unified single content polish ---------- */
.entity-shell {
  padding-block: clamp(var(--space-6), 5vw, var(--space-12));
}

.entity-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  align-items: start;
  inline-size: min(calc(100% - 2 * var(--page-gutter)), 48rem);
}

.entity-hero .breadcrumbs {
  margin-block-end: 0;
}

.entity-hero__text {
  display: grid;
  gap: var(--space-4);
}

.entity-kicker {
  margin-block-end: 0;
}

.entity-short {
  width: fit-content;
  margin: 0;
  padding: 0.22rem 0.7rem;
  border: 1px solid #d7e1eb;
  border-radius: 0.35rem;
  background: #f8fbfd;
  color: #1d4f86;
  font-family: var(--font-latin);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.45;
}

.entity-cover {
  margin-block: var(--space-6) var(--space-8);
}

.entity-cover img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.detail-grid {
  position: relative;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-block: 0 var(--space-8);
  padding: 1px;
  border: 1px solid #d7e1eb;
  border-radius: 0.8rem;
  background: #d7e1eb;
  box-shadow: var(--shadow-xs);
}

.detail-grid div {
  display: grid;
  gap: 0.35rem;
  min-block-size: 5.25rem;
  padding: var(--space-4);
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

.detail-grid dt {
  color: #5d6f84;
  font-size: 0.86rem;
  font-weight: var(--weight-semibold);
  line-height: 1.5;
}

.detail-grid dd {
  margin: 0;
  color: #172d40;
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.55;
}

.verified-line {
  margin: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-brand);
  color: #5d6c7e;
  font-size: 0.95rem;
  line-height: 1.8;
}

@media (max-width: 48rem) {
  .entity-hero,
  .entity-cover {
    inline-size: min(calc(100% - 2rem), 48rem);
  }

  .detail-grid {
    grid-template-columns: 1fr;
    margin-block-end: var(--space-6);
  }

  .detail-grid div {
    min-block-size: auto;
  }
}
