/* DocuLens — the reading matter under a tool (partials/seo.php).
 *
 * Its own file because doculens.css is past 1,100 lines, and this block has
 * nothing to do with the tool: a page of prose, a FAQ, a grid of links.
 *
 * No colour is defined here. Every value is a token from the block at the top
 * of doculens.css, which is loaded first by partials/tool.php — and the
 * section carries `.dl`, which is where those tokens live.
 *
 * Tailwind's Preflight strips heading sizes, margins and list markers from
 * everything, so each of those is restated rather than assumed.
 */

.dl-seo { padding-top: 1rem; }

/* A measure people can read: about 75 characters, not the full tool width. */
.dl-seo-body {
  max-width: 48rem;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--clr-text-body);
  /* On a card like the tool above it: his page background is a dot grid, and
     prose set straight on it reads as text over noise. */
  background: var(--clr-bg-surface);
  border: 1px solid var(--clr-stroke);
  border-radius: var(--ui-corner);
  box-shadow: var(--elevation-low);
  padding: clamp(1.25rem, 4vw, 2.5rem);
}

.dl-seo-body h2 {
  font-size: clamp(1.2rem, 3vw, 1.4rem);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.3;
  color: var(--clr-text-heading);
  margin: 2.25rem 0 .75rem;
}
.dl-seo-body h2:first-child { margin-top: 1rem; }

.dl-seo-body p { margin: 0 0 1rem; }

.dl-seo-body ol,
.dl-seo-body ul {
  margin: 0 0 1rem;
  padding-left: 1.35rem;
}
.dl-seo-body ol { list-style: decimal; }
.dl-seo-body ul { list-style: disc; }
.dl-seo-body li { margin-bottom: .4rem; padding-left: .2rem; }
.dl-seo-body li::marker { color: var(--clr-brand-main); font-weight: 700; }
.dl-seo-body strong { color: var(--clr-text-heading); font-weight: 700; }

/* ------------------------------------------------------------------ FAQ */

.dl-faq {
  background: var(--clr-bg-surface);
  border: 1px solid var(--clr-stroke);
  border-radius: var(--ui-corner);
  box-shadow: var(--elevation-low);
  padding: 0 1rem;
}
.dl-faq-item { padding: 1rem 0; }
.dl-faq-item + .dl-faq-item { border-top: 1px solid var(--clr-stroke); }
.dl-seo-body .dl-faq h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  color: var(--clr-text-heading);
  margin: 0 0 .35rem;
}
.dl-seo-body .dl-faq p { margin: 0; color: var(--clr-text-body); }

@media (min-width: 768px) {
  .dl-faq { padding: 0 1.5rem; }
}

/* -------------------------------------------------------- related tools */

/* One column on a phone, two or three as the width allows. The whole card is
   the link — a target the size of a card, not a word to aim at. */
.dl-seo-body ul.dl-related {
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: .75rem;
}
.dl-seo-body .dl-related li { margin: 0; padding: 0; }
.dl-related a {
  display: flex; flex-direction: column; gap: .15rem;
  height: 100%;
  padding: .85rem 1rem;
  text-decoration: none;
  background: var(--clr-bg-surface);
  border: 1px solid var(--clr-stroke);
  border-radius: var(--ui-corner);
  box-shadow: var(--elevation-low);
  transition: border-color var(--ui-speed), background-color var(--ui-speed);
}
.dl-related a strong { color: var(--clr-action); font-size: .95rem; }
.dl-related a span   { color: var(--clr-text-muted); font-size: .85rem; line-height: 1.5; }
.dl-related a:hover {
  border-color: var(--clr-brand-main);
  background: color-mix(in srgb, var(--clr-brand-main) 5%, var(--clr-bg-surface));
}
.dl-related a:focus-visible {
  outline: 2px solid var(--clr-action);
  outline-offset: 2px;
}
