/* theme9 — "Dark Pro" (UX-031)
 * The full dark preset: near-black ground, raised charcoal panels, periwinkle
 * accent.
 *
 * ⚠️ THIS FILE USED TO BE THE WORST PRESET IN THE PRODUCT, MEASURED. A sweep of
 * the 13 presets on two real pages before this ticket found 26 and 17
 * text/background pairs under 4.5:1 here, the worst at 1.06:1 — literally
 * invisible text — against ZERO failures on all twelve other presets. Two
 * causes, both now structural rather than patched:
 *
 *   1. It set `body`, `.link`, `.card` and `.pagetitle` to fixed Catppuccin
 *      hexes but left every OTHER surface on the page (the review panel, the
 *      contact and enquiry slabs, the modals, the order bar, the section
 *      headings, the footer) painting light-theme colours on its own near-black
 *      ground. It was a partial dark theme, and the parts it missed were where
 *      the failures were.
 *   2. It used `background: #11111b !important` — a SHORTHAND, so it also wiped
 *      any owner background image. It re-declares --bg-page instead now; the
 *      one `!important` needed to beat index.php's inline body rule lives once
 *      in links/style.css and preserves the image layer.
 *
 * Every surface this preset renders is a token, so nothing can be missed the
 * way it was before: the whole page moves together or not at all. */
:root {
  /* Neutral-cool, NOT the violet family theme1dark owns. The two dark presets
     were nearly indistinguishable on a first cut — same near-black ground, same
     periwinkle accent, same 20px radius — which the ticket's
     "visually distinguishable from the other 12" criterion does not survive.
     Dark Pro is now the darkest, tightest, most neutral of the four: a teal
     accent, a 12px radius against Classic Dark's 24, and the deepest ground. */
  --bg-page: #0a0a0d;
  --panel: #15151b;
  --chip: #1e1e26;
  --line: #2a2a34;

  --ink-1: #e9ecef;
  --ink-2: #aeb2ba;
  --ink-3: #9ea3ac;

  --accent: #54d6d0;
  --accent-soft: #0d2b2a;
  --on-accent: #041b1a;

  --bar-bg: #1e1e26;
  --bar-ink: #ffffff;
  --overlay-bg: #000000;

  /* Status, lifted off the dark ground. The light-theme values (#16703f,
     #8a5200, #c0271b) are 2-3:1 here — the same class of miss as cause 1 above.
     --warning also fills the review card's five-star row (sections.css
     .googleReviewStars), so it has to be legible, not merely semantic. */
  --success: #7fd3a2;
  /* .btn-success fills with --success, so the text ON it has to move with it:
     #ffffff on this mint is 1.79:1. Same pairing rule as --on-accent. */
  --on-success: #08160e;
  --warning: #f0be6a;
  --error: #f6948a;
  --info: #8fc0ff;
  --success-chip-bg: #12271b;
  --success-chip-ink: #7fd3a2;
  --warning-chip-bg: #2a1f0c;
  --warning-chip-ink: #f0be6a;
  --error-chip-bg: #2c1512;
  --error-chip-ink: #f6948a;
  --accent-chip-bg: #0d2b2a;
  --accent-chip-ink: #63dcd6;
  --neutral-chip-bg: #1e1e26;
  --neutral-chip-ink: #c3c7cd;

  /* A grey-on-white drop shadow is invisible on a near-black ground; depth on
     dark comes from the panel being LIGHTER than the ground, plus a real black
     shadow to seat it. */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
  --shadow-md: 0 6px 20px -6px rgba(0, 0, 0, 0.65);

  --radius-panel: 12px;
  --radius-inner: 10px;
  --radius-control: 8px;
}

.link {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.link:hover {
  border-color: var(--accent);
  box-shadow: 0 4px 20px -6px rgba(84, 214, 208, 0.32);
}

/* The form controls need no rule here: links/style.css builds them from --chip
 * / --line / --ink-1 / --ink-3, so the four tokens above already move them. */
