/* Extra blocks for printer pages that carry researched content (generated by
   scripts/seo/generate-printer-pages.js from config/seo/printer-page-extras.json).
   Loaded only by those pages, on top of printer-seo.css; uses its --ps-* tokens. */

.printer-seo-page .ps-reviewed,
.printer-seo-page .printer-seo-hero p.ps-reviewed {
  margin: 14px 0 0;
  color: var(--ps-muted);
  font-family: var(--ps-mono);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .02em;
}

.printer-seo-page .ps-lead p { max-width: 820px; }
.printer-seo-page main > .section.ps-lead > .container > p.ps-reviewed { margin-top: 4px; color: var(--ps-muted); font-family: var(--ps-mono); font-size: 12px; line-height: 1.4; }

/* tables ------------------------------------------------------------------ */
.printer-seo-page .ps-scroll { margin: 20px 0 8px; overflow-x: auto; }
.printer-seo-page .ps-spec,
.printer-seo-page .ps-table {
  width: 100%;
  border: 1px solid var(--ps-ink);
  border-collapse: collapse;
  background: var(--ps-panel);
}
.printer-seo-page .ps-spec th,
.printer-seo-page .ps-spec td,
.printer-seo-page .ps-table th,
.printer-seo-page .ps-table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--ps-soft);
  font-size: 15px;
  line-height: 1.55;
  text-align: left;
  vertical-align: top;
}
.printer-seo-page .ps-spec tr:last-child th,
.printer-seo-page .ps-spec tr:last-child td,
.printer-seo-page .ps-table tr:last-child th,
.printer-seo-page .ps-table tr:last-child td { border-bottom: 0; }
.printer-seo-page .ps-spec th { width: 30%; color: var(--ps-muted); font-weight: 600; }
.printer-seo-page .ps-spec td { font-weight: 600; }
.printer-seo-page .ps-table thead th {
  background: var(--ps-ink);
  color: #fff;
  font-family: var(--ps-mono);
  font-size: 11px;
  letter-spacing: .06em;
  white-space: nowrap;
}
.printer-seo-page .ps-table tbody th { width: 34%; font-family: var(--ps-mono); font-size: 13px; font-weight: 800; }
.printer-seo-page .ps-spec a,
.printer-seo-page .ps-table a { color: var(--ps-blue); font-weight: 700; }

/* settings notes ---------------------------------------------------------- */
.printer-seo-page .ps-item { padding: 20px 0; border-top: 1px solid var(--ps-line); }
.printer-seo-page .ps-item:first-of-type { margin-top: 8px; }
.printer-seo-page .ps-item h3 { margin: 0 0 8px; }
.printer-seo-page .printer-panel .ps-item p,
.printer-seo-page .ps-brand-x .ps-item p { margin: 0; max-width: 780px; }
.printer-seo-page .ps-brand-x .ps-item p { color: var(--ps-muted); font-size: 16px; line-height: 1.65; }
.printer-seo-page .ps-brand-x .ps-item h3 { font-size: 20px; font-weight: 900; letter-spacing: -.03em; }
.printer-seo-page .ps-brand-x .ps-item a { color: var(--ps-blue); font-weight: 700; }

/* figure ------------------------------------------------------------------ */
.printer-seo-page .ps-figure { margin: 24px 0; }
.printer-seo-page .ps-figure img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 1px solid var(--ps-ink);
  background: #fff;
}
.printer-seo-page .ps-figure-narrow img { max-width: 360px; }
.printer-seo-page .ps-figure figcaption { margin-top: 10px; color: var(--ps-muted); font-size: 13px; line-height: 1.5; }

/* code -------------------------------------------------------------------- */
.printer-seo-page .ps-code-label { margin: 24px 0 8px !important; color: var(--ps-ink) !important; font-size: 14px !important; font-weight: 700; }
.printer-seo-page .ps-code {
  margin: 0 0 16px;
  padding: 14px 18px;
  overflow-x: auto;
  background: var(--ps-ink);
  color: #fff;
  font-family: var(--ps-mono);
  font-size: 14px;
  line-height: 1.5;
}
.printer-seo-page .ps-code code { background: none; color: inherit; font: inherit; }
.printer-seo-page p code,
.printer-seo-page td code { padding: 1px 5px; background: var(--ps-soft); font-family: var(--ps-mono); font-size: .92em; }

.printer-seo-page .printer-panel p.ps-sources,
.printer-seo-page .ps-brand-x p.ps-sources { margin: 18px 0 0; font-size: 13px; line-height: 1.6; }

/* panels: the generator's own numbered-section rules apply; these keep the
   list icons right now that the "common problems" panel is no longer 5th. */
.printer-seo-page .printer-main .printer-panel.ps-x ul li::before {
  background: var(--ps-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M2 6.5l2.6 2.6L10 3.5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.printer-seo-page .printer-main .printer-panel.ps-issues ul li::before {
  background: var(--ps-yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M5 1.5h2v6H5zM5 9h2v2H5z' fill='%23101214'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* brand hub: steps (the model pages inherit theirs from printer-seo.css) ---- */
.printer-seo-page .ps-brand-x ol.ps-steps { max-width: 820px; margin: 12px 0 0; padding: 0; border-top: 1px solid var(--ps-ink); list-style: none; counter-reset: ps-step; }
.printer-seo-page .ps-brand-x ol.ps-steps li {
  display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 20px; align-items: center;
  margin: 0; padding: 20px 0; border-bottom: 1px solid var(--ps-line);
  font-size: 16px; line-height: 1.6; counter-increment: ps-step;
}
.printer-seo-page .ps-brand-x ol.ps-steps li::before { color: var(--ps-signal); font-family: var(--ps-mono); font-size: 32px; font-weight: 800; letter-spacing: -.04em; content: "0" counter(ps-step); }
.printer-seo-page .ps-brand-x > .container > p { max-width: 820px; }
.printer-seo-page .ps-brand-x .ps-figure img { max-width: min(100%, 900px); }

@media (max-width: 600px) {
  .printer-seo-page .ps-spec th,
  .printer-seo-page .ps-spec td,
  .printer-seo-page .ps-table th,
  .printer-seo-page .ps-table td { padding: 11px 12px; font-size: 14px; }
  .printer-seo-page .ps-spec th { width: 36%; }
  .printer-seo-page .ps-brand-x ol.ps-steps li { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: start; }
  .printer-seo-page .ps-brand-x ol.ps-steps li::before { font-size: 26px; line-height: 1; }
  .printer-seo-page .ps-figure-narrow img { max-width: 100%; }
}
