/* pages-extra-api.css — API/docs pages only (html-to-pdf-api*, *-api-parameters, *-api-v1, api-pricing, pdf-merge-api, pdf-to-text-api, save-as-pdf-link, get-api-key, manage-billing). Loaded via ViewData["ExtraCss"]. */

/* Example-card block — kicker / title / desc / code / CTA stacked.
   Used by /save-as-pdf-link/ for the 3 preset cards. */
.spdf-example { display: block; }

/* ─── API docs — parameter table ──────────────────────────── */
.spdf-param-table { border: 1px solid var(--spdf-line); border-radius: 12px; overflow: hidden; }
.spdf-param-name {
  font-family: var(--spdf-font-mono);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--spdf-text);
  word-break: break-all;
}
.spdf-param-meta {
  display: flex; gap: 6px; flex-wrap: wrap; margin-top: 5px;
  font-family: var(--spdf-font-mono); font-size: 10.5px;
  color: var(--spdf-text-mute); letter-spacing: 0.04em;
}
.spdf-param-desc {
  font-family: var(--spdf-font-body); font-size: 14px;
  color: var(--spdf-text-dim); line-height: 1.55;
}
/* React-faithful: plain inline text, no chip — "default:" muted, value darker. */
.spdf-param-default {
  font-family: var(--spdf-font-mono); font-size: 10.5px;
  color: var(--spdf-text-dim);
}
.spdf-param-default .v { color: var(--spdf-text); }
.spdf-apihero-trial {
  margin-top: 24px;
  font-family: var(--spdf-font-mono); font-size: 12px;
  color: var(--spdf-text-mute); letter-spacing: 0.04em;
}
.spdf-apihero-pair-wrap { max-width: 1280px; margin: 0 auto; padding: 56px 32px 72px; }
/* Full-section-width divider drawn between the hero text/lede and the
   CLIENT LIBRARIES pair-wrap on /html-to-pdf-api/. Must be a direct
   child of .spdf-apihero (not of the max-width inner containers) so
   the rule spans the full page width, matching the section-level
   border-bottom that the Parameters page renders under its hero. */
.spdf-apihero-divider {
  margin: 0; border: 0; height: 0;
  border-top: 1px solid var(--spdf-line);
}
.spdf-apihero-reqlabel {
  font-family: var(--spdf-font-mono); font-size: 10.5px; color: var(--spdf-text-mute);
  letter-spacing: 0.14em; margin-bottom: 14px;
}

/* ─── METHOD pill + endpoint line ─── */
.spdf-method {
  font-family: var(--spdf-font-mono); font-size: 11px; font-weight: 600;
  padding: 3px 9px; border-radius: 5px; letter-spacing: 0.06em;
}
.spdf-method.is-get    { background: rgba(34,197,94,0.14);  color: #16A34A; }
.spdf-method.is-post   { background: rgba(59,130,246,0.14); color: #2563EB; }
.spdf-method.is-put    { background: rgba(245,158,11,0.14); color: #B45309; }
.spdf-method.is-delete { background: rgba(239,68,68,0.14);  color: #DC2626; }
/* Wrap two method chips together when an endpoint supports both verbs. */
.spdf-methods { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.spdf-required-card {
  border: 1px solid var(--spdf-line); border-radius: 12px;
  padding: 20px 22px;
  background: var(--spdf-surface);
}
.spdf-required-name {
  font-family: var(--spdf-font-mono); font-size: 16px; font-weight: 700;
  color: var(--spdf-text);
}
.spdf-required-chip {
  display: inline-block; margin-left: 10px;
  font-family: var(--spdf-font-mono); font-size: 9.5px; font-weight: 600;
  padding: 2px 6px; border-radius: 4px;
  background: rgba(224,51,31,0.12); color: #A12313;
  letter-spacing: 0.10em;
}
.spdf-required-chip.is-one-of {
  background: rgba(245,158,11,0.14); color: #B45309;
}
.spdf-required-desc {
  font-family: var(--spdf-font-body); font-size: 13.5px; line-height: 1.55;
  color: var(--spdf-text-dim); margin: 10px 0 0;
}
.spdf-libsrc-meta {
  border: 1px solid var(--spdf-line); border-radius: 12px;
  padding: 20px 22px;
  background: var(--spdf-surface);
  display: flex; flex-direction: column; gap: 14px;
}
.spdf-libsrc-meta-k {
  font-family: var(--spdf-font-mono); font-size: 10.5px;
  color: var(--spdf-text-mute); letter-spacing: 0.14em; margin-bottom: 6px;
}
.spdf-libsrc-meta-title {
  font-family: var(--spdf-font-display); font-weight: var(--spdf-display-weight);
  letter-spacing: var(--spdf-display-letter);
  font-size: 26px; color: var(--spdf-text); line-height: 1.1;
}
.spdf-libsrc-meta-body {
  font-family: var(--spdf-font-body); font-size: 13.5px; line-height: 1.6;
  color: var(--spdf-text-dim); margin: 0;
}
.spdf-libsrc-meta-rows {
  display: flex; flex-direction: column; gap: 8px;
  padding-top: 14px; border-top: 1px solid var(--spdf-line);
  /* Push the bordered meta-rows block to the bottom of the meta card
     so the empty space between the description and the rows becomes
     deliberate breathing room when the code column is tall. */
  margin-top: auto;
}
.spdf-libsrc-meta-row { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; min-width: 0; }
.spdf-libsrc-meta-row .k { flex: 0 0 auto; }
.spdf-libsrc-meta-row .v { min-width: 0; flex: 1 1 auto; text-align: right; }
.spdf-libsrc-meta-row .k {
  font-family: var(--spdf-font-mono); font-size: 11px;
  color: var(--spdf-text-mute); letter-spacing: 0.06em;
}
.spdf-libsrc-meta-row .v {
  font-family: var(--spdf-font-body); font-size: 13px; color: var(--spdf-text);
}
.spdf-libsrc-meta-row .v.is-mono {
  font-family: var(--spdf-font-mono); font-size: 12px; color: var(--spdf-accent);
}
/* Clickable link version of the right-side value: stays on one line, truncates
   with ellipsis on narrow widths, underlines on hover. */
.spdf-libsrc-link {
  text-decoration: none; color: var(--spdf-accent);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  min-width: 0; max-width: 100%;
}
.spdf-libsrc-link:hover { text-decoration: underline; }
.spdf-libsrc-link:not(.is-mono) { color: var(--spdf-text); font-size: 13px; }
.spdf-libsrc-link:not(.is-mono):hover { color: var(--spdf-accent); }

/* ─── Status codes (response) ─── */
.spdf-statuscodes {
  border: 1px solid var(--spdf-line); border-radius: 12px; overflow: hidden;
  background: var(--spdf-bg);
}
.spdf-statuscode {
  display: grid; grid-template-columns: 100px 1fr;
  gap: 16px; align-items: start;
  padding: 16px 18px;
  border-bottom: 1px solid var(--spdf-line);
}
.spdf-statuscode:last-child { border-bottom: 0; }
.spdf-statuscode-chip {
  font-family: var(--spdf-font-mono); font-size: 13px; font-weight: 700;
  padding: 5px 9px; border-radius: 6px;
  display: inline-block;
}
.spdf-statuscode-chip.is-2xx { background: rgba(34,197,94,0.14);  color: #16A34A; }
.spdf-statuscode-chip.is-3xx { background: rgba(59,130,246,0.14); color: #2563EB; }
.spdf-statuscode-chip.is-4xx { background: rgba(245,158,11,0.14); color: #B45309; }
.spdf-statuscode-chip.is-5xx { background: rgba(239,68,68,0.14);  color: #DC2626; }
.spdf-statuscode-name {
  font-family: var(--spdf-font-body); font-size: 14px; font-weight: 600;
  color: var(--spdf-text);
}
.spdf-statuscode-desc {
  font-family: var(--spdf-font-body); font-size: 13.5px; color: var(--spdf-text-dim);
  margin-top: 4px; line-height: 1.55;
}

/* ─── Response headers table ─── */
.spdf-rh {
  border: 1px solid var(--spdf-line); border-radius: 12px; overflow: hidden;
  background: var(--spdf-bg);
}

/* ─── Endpoints-at-a-glance ─── */
.spdf-endpoints {
  border: 1px solid var(--spdf-line); border-radius: 12px; overflow: hidden;
  background: var(--spdf-bg);
}

/* ─── Concurrency / plan tiers (name + monthly + bar + req) ─── */
/* Renamed to .spdf-conc-* to avoid collision with the pricing .spdf-tier* set. */
.spdf-conc-tiers {
  border: 1px solid var(--spdf-line); border-radius: 12px; overflow: hidden;
  background: var(--spdf-bg);
}
.spdf-conc-tier-name { font-family: var(--spdf-font-body); font-size: 14.5px; color: var(--spdf-text); font-weight: 500; }
.spdf-conc-tier-conv {
  font-family: var(--spdf-font-mono); font-size: 12.5px;
  color: var(--spdf-text-dim);
}
.spdf-conc-tier-conv .n { color: var(--spdf-text); font-weight: 600; }
.spdf-conc-tier-fill {
  height: 100%; background: var(--spdf-accent); border-radius: 3px;
  width: var(--spdf-fill, 0%);
}
.spdf-conc-tier-req {
  font-family: var(--spdf-font-mono); font-size: 14px; font-weight: 600;
  color: var(--spdf-text); text-align: right;
}
.spdf-conc-tier-req .u { color: var(--spdf-text-mute); font-size: 11px; margin-left: 4px; font-weight: 500; }

/* ─── Credit math callout ─── */
.spdf-credit-callout {
  margin-top: 24px;
  padding: 20px 24px;
  border: 1px solid var(--spdf-line); border-radius: 12px;
  background: var(--spdf-surface);
  display: flex; gap: 24px; align-items: center; flex-wrap: wrap;
}
.spdf-credit-callout .k {
  font-family: var(--spdf-font-mono); font-size: 10.5px;
  color: var(--spdf-text-mute); letter-spacing: 0.14em;
}
.spdf-credit-callout .h {
  font-family: var(--spdf-font-display); font-weight: var(--spdf-display-weight);
  letter-spacing: var(--spdf-display-letter);
  font-size: 36px; line-height: 1; color: var(--spdf-text); margin-top: 6px;
}
.spdf-credit-callout p {
  flex: 1; min-width: 240px;
  font-family: var(--spdf-font-body); font-size: 14px; line-height: 1.6;
  color: var(--spdf-text-dim); margin: 0;
}

/* ============================================================
   Parameters reference page
   ============================================================ */

/* ─── Reference layout: sticky side + main column ─── */
/* .spdf-paramref — no border-top; the .spdf-apihero section above already
   draws its own border-bottom, which serves as the separator. Adding one
   here would render a doubled 2px line. */
.spdf-paramref { }
.spdf-paramref-inner { max-width: 1280px; margin: 0 auto; padding: 48px 32px 64px; }
.spdf-paramref-main { min-width: 0; }

/* search input */
.spdf-paramref-search {
  display: flex; align-items: center; gap: 14px;
  padding: 12px 18px;
  border: 1px solid var(--spdf-line); border-radius: 12px;
  background: var(--spdf-surface);
}
.spdf-paramref-search svg { flex-shrink: 0; color: var(--spdf-text-dim); }
.spdf-paramref-search input {
  flex: 1; background: transparent; border: 0; outline: none;
  font-family: var(--spdf-font-body); font-size: 15px; color: var(--spdf-text);
  min-width: 0;
}
.spdf-paramref-search .ct {
  font-family: var(--spdf-font-mono); font-size: 11px;
  color: var(--spdf-text-mute); letter-spacing: 0.08em;
}
.spdf-paramref-search button {
  background: transparent; border: 0; color: var(--spdf-text-dim);
  cursor: pointer; padding: 4px;
  font-family: var(--spdf-font-mono); font-size: 12px;
}
.spdf-paramref-search button:hover { color: var(--spdf-accent); }

/* Empty-state when no matches */
.spdf-paramref-empty {
  padding: 48px 32px; text-align: center;
  border: 1px dashed var(--spdf-line); border-radius: 12px;
  font-family: var(--spdf-font-body); color: var(--spdf-text-dim); font-size: 15px;
}
.spdf-paramref-empty .q { color: var(--spdf-text); font-weight: 600; }

/* Groups stack */
.spdf-paramref-groups { margin-top: 32px; display: flex; flex-direction: column; gap: 56px; }
.spdf-paramref-group { scroll-margin-top: 88px; }
.spdf-paramref-group.is-hidden { display: none; }
.spdf-paramref-group-meta {
  display: flex; align-items: baseline; gap: 14px; margin-bottom: 12px; flex-wrap: wrap;
}
.spdf-paramref-group-meta .k {
  font-family: var(--spdf-font-mono); font-size: 11px;
  color: var(--spdf-accent); letter-spacing: 0.14em;
}
.spdf-paramref-group-meta .ct {
  font-family: var(--spdf-font-mono); font-size: 11px;
  color: var(--spdf-text-mute); letter-spacing: 0.10em;
}
.spdf-paramref-group-h2 {
  font-family: var(--spdf-font-display); font-weight: var(--spdf-display-weight);
  letter-spacing: var(--spdf-display-letter); line-height: 1.05;
  font-size: 36px; margin: 0; color: var(--spdf-text);
}
.spdf-paramref-group-sub {
  font-family: var(--spdf-font-body); font-size: 15px; line-height: 1.55;
  color: var(--spdf-text-dim); margin: 10px 0 0; max-width: 760px;
}
.spdf-paramref-table-wrap { margin-top: 24px; }
.spdf-param-required {
  font-family: var(--spdf-font-mono); font-size: 9.5px; font-weight: 600;
  padding: 2px 6px; border-radius: 4px;
  background: rgba(224,51,31,0.12); color: #A12313;
  letter-spacing: 0.10em;
}
/* Softer amber variant — "URL · OR · FILE" / "URL · OR · HTML" chip
   used when one of two inputs is acceptable. Less alarming than the
   solid REQUIRED chip. */
.spdf-param-required.is-one-of {
  background: rgba(245,158,11,0.14); color: #B45309;
}
.spdf-param-values {
  margin-top: 8px; display: flex; flex-wrap: wrap; gap: 5px;
}
.spdf-param-values code {
  font-family: var(--spdf-font-mono); font-size: 11.5px;
  padding: 2px 7px; border-radius: 4px;
  background: var(--spdf-chip); color: var(--spdf-chip-text);
}

/* Monthly/Annual billing toggle (API page) */
.spdf-billing-toggle {
  display: inline-flex; border: 1px solid var(--spdf-line); border-radius: 999px;
  padding: 4px; background: var(--spdf-bg); gap: 4px;
}
.spdf-billing-toggle button {
  background: transparent; color: var(--spdf-text);
  border: 0; padding: 8px 16px; border-radius: 999px;
  font-family: inherit; font-size: 13px; font-weight: 600;
  cursor: pointer; display: flex; align-items: center; gap: 8px;
  transition: background .15s ease;
}
.spdf-billing-toggle button.is-active {
  background: var(--spdf-accent); color: var(--spdf-accent-ink);
}
.spdf-billing-toggle .badge {
  font-family: var(--spdf-font-mono); font-size: 10px;
  color: var(--spdf-accent); background: var(--spdf-chip);
  padding: 2px 6px; border-radius: 4px; letter-spacing: 0.04em;
}
.spdf-billing-toggle button.is-active .badge {
  color: var(--spdf-accent-ink); background: rgba(0,0,0,0.15);
}

/* Volume calculator (API page) */
.spdf-calc {
  border: 1px solid var(--spdf-line); border-radius: 14px;
  padding: 32px 32px 28px; background: var(--spdf-surface);
}
.spdf-calc-head {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--spdf-font-mono); font-size: 11px;
  color: var(--spdf-text-mute); letter-spacing: 0.12em; margin-bottom: 14px;
}
.spdf-calc-volume {
  font-family: var(--spdf-font-display); font-weight: var(--spdf-display-weight);
  font-size: 36px; letter-spacing: -0.03em; color: var(--spdf-text);
}
.spdf-calc-slider {
  width: 100%; accent-color: var(--spdf-accent); cursor: pointer;
}
.spdf-calc-scale {
  display: flex; justify-content: space-between;
  font-family: var(--spdf-font-mono); font-size: 10px;
  color: var(--spdf-text-mute); letter-spacing: 0.06em; margin-top: 6px;
}
.spdf-calc-result-lbl {
  font-family: var(--spdf-font-mono); font-size: 10.5px;
  color: var(--spdf-text-mute); letter-spacing: 0.12em;
}
.spdf-calc-result-val {
  font-family: var(--spdf-font-display); font-weight: var(--spdf-display-weight);
  font-size: 28px; letter-spacing: -0.02em; line-height: 1.1;
  color: var(--spdf-text); margin: 6px 0 4px;
}
.spdf-calc-result-val.is-accent { color: var(--spdf-accent); }
.spdf-calc-result-sub {
  font-family: var(--spdf-font-body); font-size: 13px;
  color: var(--spdf-text-dim);
}
.spdf-calc-result-price {
  font-family: var(--spdf-font-display); font-weight: var(--spdf-display-weight);
  font-size: 36px; letter-spacing: -0.03em; color: var(--spdf-text);
  margin: 4px 0 0; line-height: 1;
}
.spdf-calc-result-monthly {
  font-family: var(--spdf-font-mono); font-size: 11px;
  color: var(--spdf-text-mute); margin-top: 6px; letter-spacing: 0.06em;
}

/* Comparison table (API page) */
.spdf-compare {
  border: 1px solid var(--spdf-line); border-radius: 12px; overflow: auto;
  background: var(--spdf-bg);
}
.spdf-compare-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) repeat(6, minmax(110px, 1fr));
  min-width: 980px;
}
.spdf-compare-grid > .head {
  padding: 14px 22px; border-bottom: 1px solid var(--spdf-line);
  font-family: var(--spdf-font-mono); font-size: 10.5px;
  color: var(--spdf-text-mute); letter-spacing: 0.12em;
}
.spdf-compare-grid > .col-head {
  padding: 14px 18px;
  border-left: 1px solid var(--spdf-line);
  border-bottom: 1px solid var(--spdf-line);
}
.spdf-compare-grid > .col-head.is-popular { background: var(--spdf-surface); }
.spdf-compare-grid > .col-head .num {
  font-family: var(--spdf-font-mono); font-size: 10.5px;
  color: var(--spdf-text-mute); letter-spacing: 0.12em;
}
.spdf-compare-grid > .col-head.is-popular .num { color: var(--spdf-accent); }
.spdf-compare-grid > .col-head .lbl {
  font-family: var(--spdf-font-display); font-weight: var(--spdf-display-weight);
  font-size: 18px; letter-spacing: -0.02em; margin-top: 2px;
  color: var(--spdf-text);
}
.spdf-compare-grid > .row-label {
  padding: 10px 22px;
  font-family: var(--spdf-font-body); font-size: 13.5px;
  color: var(--spdf-text-dim);
  border-bottom: 1px solid var(--spdf-line);
}
.spdf-compare-grid > .row-label.is-last { border-bottom: 0; }
.spdf-compare-grid > .cell {
  padding: 10px 18px;
  font-family: var(--spdf-font-body); font-size: 14px; font-weight: 500;
  color: var(--spdf-text);
  border-left: 1px solid var(--spdf-line);
  border-bottom: 1px solid var(--spdf-line);
}
.spdf-compare-grid > .cell.is-last { border-bottom: 0; }
.spdf-compare-grid > .cell.is-popular { background: var(--spdf-surface); }
.spdf-compare-grid > .cell.is-check { color: #16A34A; }

/* ──────────────────────────────────────────────────────────────────────────
 * Trial-key signup (/get-api-key/)
 * Form column + aside card grid; success and error states; honeypot.
 * ──────────────────────────────────────────────────────────────────────── */
.spdf-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important; height: 1px !important;
  overflow: hidden !important;
}
.spdf-form-stack { display: grid; gap: 18px; }
.spdf-form-field { display: grid; gap: 6px; }
.spdf-form-field-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px; min-height: 14px;
}
.spdf-form-field-head .spdf-label-mini { margin-bottom: 0; }
.spdf-form-field-head .aux {
  text-transform: none; font-weight: 400; color: var(--spdf-text-mute);
  letter-spacing: 0.04em;
}
.spdf-form-field .spdf-form-err {
  font-family: var(--spdf-font-mono); font-size: 11px;
  color: #c2410c; letter-spacing: 0.04em; text-align: right;
  line-height: 1.3;
}

.spdf-form-foot {
  display: flex; align-items: flex-start; gap: 10px;
  font-family: var(--spdf-font-body); font-size: 13.5px;
  color: var(--spdf-text-dim); line-height: 1.5;
}
.spdf-form-foot input[type="checkbox"] { margin-top: 3px; flex: 0 0 auto; }
.spdf-form-foot a { color: var(--spdf-accent); text-decoration: none; }
.spdf-form-foot a:hover { text-decoration: underline; }

.spdf-trial-aside {
  padding: 22px; border-radius: 14px;
  background: var(--spdf-panel); border: 1.5px solid var(--spdf-line);
}
.spdf-trial-aside-k {
  font-family: var(--spdf-font-mono); font-size: 11px;
  color: var(--spdf-text-mute); letter-spacing: 0.14em;
  text-transform: uppercase; margin-bottom: 10px;
}
.spdf-trial-aside-h {
  font-family: var(--spdf-font-display); font-size: 22px; line-height: 1.2;
  color: var(--spdf-text); margin: 0 0 14px 0; font-weight: 600;
}
.spdf-trial-aside ul {
  list-style: none; padding: 0; margin: 0;
  display: grid; gap: 10px;
  font-family: var(--spdf-font-body); font-size: 14px;
  color: var(--spdf-text); line-height: 1.5;
}
.spdf-trial-aside li { display: grid; grid-template-columns: 18px 1fr; gap: 8px; }
.spdf-trial-aside li::before {
  content: "✓"; color: var(--spdf-accent); font-weight: 700;
  font-family: var(--spdf-font-mono);
}
.spdf-trial-aside-note {
  margin-top: 16px; padding-top: 14px;
  border-top: 1px solid var(--spdf-line);
  font-family: var(--spdf-font-mono); font-size: 11.5px;
  color: var(--spdf-text-mute); letter-spacing: 0.04em; line-height: 1.55;
}
.spdf-trial-feat-tile {
  padding: 18px; border-radius: 12px;
  background: var(--spdf-panel); border: 1.5px solid var(--spdf-line);
}
.spdf-trial-feat-tile-k {
  font-family: var(--spdf-font-mono); font-size: 10.5px;
  color: var(--spdf-text-mute); letter-spacing: 0.14em;
  text-transform: uppercase; margin-bottom: 8px;
}
.spdf-trial-feat-tile-h {
  font-family: var(--spdf-font-display); font-size: 17px; font-weight: 600;
  color: var(--spdf-text); margin: 0 0 6px 0;
}
.spdf-trial-feat-tile-b {
  font-family: var(--spdf-font-body); font-size: 13.5px;
  color: var(--spdf-text-dim); line-height: 1.55; margin: 0;
}
