/* CourtFit editorial surface. Kept separate from the 50 KiB core stylesheet
   so the marketing-site budget remains observable while long-form pages get
   their own table and worksheet rhythm. */
.editorial-decision,
.editorial-worksheet {
  max-width: 72ch;
}

.editorial-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: var(--panel-2);
  -webkit-overflow-scrolling: touch;
}

.editorial-decision table {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  text-align: start;
}

.editorial-decision caption {
  text-align: start;
}

.editorial-decision th,
.editorial-decision td {
  padding: 14px 16px;
  border-inline-end: 1px solid var(--line-soft);
  border-block-end: 1px solid var(--line-soft);
  vertical-align: top;
}

.editorial-decision th:last-child,
.editorial-decision td:last-child {
  border-inline-end: 0;
}

.editorial-decision tr:last-child td {
  border-block-end: 0;
}

.editorial-decision th {
  color: var(--ink);
  font-family: var(--mono);
  font-size: var(--t-fine);
  letter-spacing: var(--track-label-sm);
  text-transform: uppercase;
}

.editorial-decision td {
  color: var(--ink-2);
}

.editorial-worksheet {
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: linear-gradient(135deg, rgba(214, 240, 74, 0.08), transparent 58%), var(--panel-2);
}

.editorial-worksheet ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
  margin: 0;
  padding-inline-start: 24px;
  color: var(--ink-2);
}

.editorial-worksheet li {
  padding-inline-start: 4px;
}

.editorial-worksheet-example,
.editorial-worksheet-instructions {
  max-width: 68ch;
  margin: 20px 0 0;
  color: var(--muted);
}

.editorial-worksheet-example strong {
  color: var(--ink-2);
  font-weight: 500;
}

.editorial-sources li span {
  display: block;
  margin-block-start: 4px;
  color: var(--muted);
  max-width: 68ch;
}

.editorial-article .display {
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.editorial-next-step {
  max-width: 68ch;
}

.catalog-block .lede { max-width: 68ch; }
.catalog-group { margin-block: var(--s6) 0; }
.catalog-hub { margin: 0 0 var(--s3); }
.catalog-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 0 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.catalog-list a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  min-height: 44px;
  padding-block: 12px;
  border-block-end: 1px solid var(--line-soft);
  color: var(--ink);
  text-decoration: none;
  overflow-wrap: anywhere;
}
.catalog-list a:hover,
.catalog-list a:focus-visible { color: var(--lime); }
.catalog-read {
  flex: 0 0 auto;
  font-family: var(--mono);
  font-size: var(--t-fine);
  letter-spacing: var(--track-label-sm);
  text-transform: uppercase;
  color: var(--muted);
}
.catalog-list p {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: var(--t-small);
  max-width: 68ch;
}
.lift-row h3 a {
  color: inherit;
  text-decoration: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.lift-row h3 a:hover,
.lift-row h3 a:focus-visible { color: var(--lime); }

@media (max-width: 560px) {
  .editorial-worksheet ol {
    grid-template-columns: 1fr;
  }
}

@media print {
  .site-header,
  .site-footer,
  .editorial-cta,
  .editorial-related,
  .editorial-sources {
    display: none;
  }

  body {
    background: #fff;
    color: #111;
  }

  .editorial-worksheet {
    border-color: #aaa;
    background: #fff;
  }
}

/* Reader controls are useful without JavaScript; search enhances the HTML list. */
[hidden] { display: none !important; }
.reader-jump { display: flex; flex-wrap: wrap; gap: 8px; }
.reader-jump a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  color: var(--ink);
  background: var(--panel-2);
  text-decoration: none;
  font-size: var(--t-small);
}
.reader-jump a:hover { border-color: var(--lime); color: var(--lime); }
.catalog-search { margin-block: 0 32px; }
.catalog-search label { display: block; margin-block-end: 12px; font-weight: 600; }
.catalog-search-row { display: flex; gap: 12px; }
.catalog-search input {
  width: 100%; min-width: 0; min-height: 48px; padding: 12px;
  border: 1px solid var(--muted-2); border-radius: var(--r-sm);
  background: var(--panel-2); color: var(--ink); font: inherit;
}
.catalog-search button {
  flex: 0 0 auto;
  min-height: 48px; padding: 10px 16px; border: 1px solid var(--line);
  border-radius: var(--r-sm); background: var(--panel-2); color: var(--ink);
  font: inherit; cursor: pointer;
}
.catalog-search [role="status"]:not(:empty) { padding-block: 20px; color: var(--ink-2); }
.reader-toc { padding: 20px; border: 1px solid var(--line); border-radius: var(--r-md); }
.reader-toc p { font-weight: 600; }
.reader-toc ol { margin: 12px 0 0; padding-inline-start: 24px; }
.reader-toc a { display: inline-block; padding-block: 8px; color: var(--lime); }
.reader-languages { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-block-start: 24px; }
.reader-languages a { min-height: 44px; display: inline-flex; align-items: center; }
.editorial-article :is(p, h2, li, .breadcrumbs), .reader-toc { overflow-wrap: anywhere; }
.editorial-article h2[id], .catalog-group h3, .catalog-block h2 { scroll-margin-top: 100px; }
@media (max-width: 560px) {
  .catalog-search-row { flex-direction: column; }
}
@media print {
  .reader-toc, .reader-jump, .catalog-search, .reader-languages { display: none; }
}
.guide-hub-intro .catalog-search { margin: 0; width: 100%; }
@media (max-width: 560px) {
  .guide-hub-intro .guide-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .guide-hub-intro .guide-stats li { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
  .guide-hub-intro .guide-stats span { font-size: 11px; letter-spacing: .04em; overflow-wrap: anywhere; }
}
