/* Hallmark · checked: 2026-11-10 · genre: editorial (inferred)
 * floor: see the handoff · fixed: 34, 41, 49a, 67, F3, F6, F15, F24, F26, 25 · structural: printed (8, 9, 42, 44c, 58, 59, 77, 78)
 * built: the project · redesign: polish · v2.0.0 */

/* SaskADHD polish 1.0.0
 * One override layer, loaded after Elementor and the saskadhd-* stylesheets.
 * Override rules start with `html body` so they outrank the later inline blocks
 * (Customizer CSS, sacu-page-style, stg-signal-home-style) by specificity, not source order.
 * Deactivate the plugin to undo every rule in this file. */

/* ── 1. Tokens: the one palette and the two faces ─────────────────────────── */
:root {
  --color-brand: #1b2e91;
  --color-brand-deep: #202b53;
  --color-ink: #202333;
  --color-text: #404757;
  --color-muted: #525967;
  --color-pale: #eff3fa;
  --color-warm: #f8f6f1;
  --color-line: #d8dfed;
  --color-accent: #fee33e;
  --color-accent-ink: #202333;
  --color-paper: #f9faff;
  --color-on-dark: #f7f8ff;

  --font-display: "Montserrat", Arial, sans-serif;
  --font-body: "Atkinson Hyperlegible", Arial, sans-serif;

  --label-size: 14px;
  --control-height: 48px;
}

/* ── 2. The older palettes, re-pointed to the tokens ──────────────────────── */
html body.elementor-kit-20575 {
  --e-global-color-primary: var(--color-brand);
  --e-global-color-secondary: var(--color-brand-deep);
  --e-global-color-text: var(--color-text);
  --e-global-color-accent: var(--color-accent);
}
html body .sad-design {
  --sad-blue: var(--color-brand);
  --sad-ink: var(--color-ink);
  --sad-paper: var(--color-warm);
  --sad-line: var(--color-line);
}
html body .sad-home-polish {
  --sad-soft-blue: var(--color-pale);
  --sad-accent-line: var(--color-line);
}
html body .elementor .sr-refined {
  --sr-blue: var(--color-brand);
  --sr-navy: var(--color-brand-deep);
  --sr-ink: var(--color-ink);
  --sr-muted: var(--color-muted);
  --sr-pale: var(--color-pale);
  --sr-warm: var(--color-warm);
  --sr-line: var(--color-line);
  --sr-yellow: var(--color-accent);
}
html body :is(.stg-care, .sacu-section) {
  --sacu-blue: var(--color-brand);
  --sacu-ink: var(--color-ink);
  --sacu-text: var(--color-text);
  --sacu-yellow: var(--color-accent);
  --sacu-pale: var(--color-pale);
  --sacu-line: var(--color-line);
}
html body .elementor .sad-design.sph-home {
  --sph-ink: var(--color-ink);
  --sph-blue: var(--color-brand);
  --sph-muted: var(--color-muted);
  --sph-line: var(--color-line);
}
html body .elementor .sxe-refined {
  --sxe-blue: var(--color-brand);
  --sxe-navy: var(--color-brand-deep);
  --sxe-ink: var(--color-ink);
  --sxe-muted: var(--color-muted);
  --sxe-pale: var(--color-pale);
  --sxe-warm: var(--color-warm);
  --sxe-line: var(--color-line);
  --sxe-yellow: var(--color-accent);
}
html body .elementor .sv-refined {
  --sv-blue: var(--color-brand);
  --sv-ink: var(--color-ink);
  --sv-body: var(--color-text);
  --sv-line: var(--color-line);
  --sv-pale: var(--color-pale);
  --sv-warm: var(--color-warm);
  --sv-action: var(--color-accent);
}

/* ── 3. Page edge (gate 34): clip, never hidden; hidden breaks sticky ─────── */
html,
html body {
  overflow-x: clip !important;
}
html {
  scrollbar-color: var(--color-line) var(--color-paper);
}
::selection {
  background-color: var(--color-accent);
  color: var(--color-accent-ink);
}

/* ── 4. Labels (gate 67): as typed, body face, a step smaller, untracked ──── */
html body .elementor p.elementor-heading-title,
html body .elementor-post__badge,
html body .elementor-post__read-more {
  text-transform: none !important;
  letter-spacing: normal !important;
}
html body .sad-design .sad-eyebrow .elementor-heading-title,
html body .elementor .sr-refined .sr-plan-label .elementor-heading-title,
html body .sacu-section :is(.sacu-eyebrow p, p.sacu-eyebrow),
html body .sigh-announcement.sigh-announcement :is(.sigh-eyebrow, .sigh-eyebrow p),
html body .elementor .sad-design.sph-home .scv-eyebrow .elementor-heading-title,
html body .elementor .sv-refined .sv-step .scv-eyebrow .elementor-heading-title,
html body .elementor-post__badge,
html body .elementor-post__read-more,
/* homepage and /start-screening labels styled per element in Elementor */
html body .elementor .elementor-element:is(
  .elementor-element-295f902c, .elementor-element-9ff1ce18, .elementor-element-9dc9d92c,
  .elementor-element-4a4cee41, .elementor-element-0000c350, .elementor-element-69cc881b,
  .elementor-element-d7908939, .elementor-element-02cdf2dc, .elementor-element-5057486f,
  .elementor-element-0dacd01d, .elementor-element-9852facd, .elementor-element-afe4d2d7
) .elementor-heading-title {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-family: var(--font-body) !important;
  font-size: var(--label-size) !important;
  line-height: 1.4 !important;
}
/* the article badge: off-palette teal pill becomes a quiet brand tag */
html body .elementor-post__badge {
  background-color: var(--color-paper) !important;
  color: var(--color-brand) !important;
  font-weight: 700 !important;
}
html body .elementor-post__read-more {
  color: var(--color-brand) !important;
  font-weight: 700 !important;
}
/* step numbers 01 to 03: even-width figures (F6) */
html body .elementor .elementor-element:is(.elementor-element-69cc881b, .elementor-element-d7908939, .elementor-element-02cdf2dc) .elementor-heading-title,
html body .elementor table :is(td, th) {
  font-variant-numeric: tabular-nums;
}

/* ── 5. Type: two faces, balanced heads, a readable measure ───────────────── */
html body .elementor :is(h1, h2, h3, h4).elementor-heading-title,
html body .elementor-location-footer :is(h2, h3, h4),
html body .elementor .sr-refined .sr-articles :is(.elementor-post__title, .elementor-post__title a),
html body .sad-design .sad-heading .elementor-heading-title {
  font-family: var(--font-display) !important;
  text-wrap: balance;
  overflow-wrap: break-word;
  min-width: 0;
}
html body .elementor :is(.elementor-widget-text-editor, .sad-copy, .elementor-post__excerpt, .elementor-icon-list-text, .e-n-accordion-item),
html body .elementor :is(.elementor-widget-text-editor, .sad-copy, .elementor-post__excerpt) :is(p, li),
html body .elementor :is(.elementor-widget-text-editor, .sad-copy, .elementor-post__excerpt) :is(p, li, div) :is(strong, b, em, a, span),
html body .elementor .elementor-widget-html :is(p, li, summary, details, strong, b, em, a, caption, th, td),
html body .sad-design .sad-navigation .elementor-sub-item {
  font-family: var(--font-body) !important;
}
html body .elementor :is(.elementor-widget-text-editor, .sad-copy, .elementor-post__excerpt) p {
  text-wrap: pretty;
}
/* the measure binds page content only; the crisis bar and the footer keep their own widths */
html body [data-elementor-type="wp-page"] :is(.elementor-widget-text-editor, .sad-copy) :is(p, li) {
  max-width: 36em;
}
html body .e-n-accordion-item-title-text {
  text-wrap: balance;
}
/* /assessment heads join the other pages' navy; the dark band keeps its own !important ink */
html body .elementor .sad-design.sad-page-assessment .sad-heading :is(h1, h2, h3).elementor-heading-title {
  color: var(--color-brand);
}
/* article titles on the brand navy, not the kit's older secondary */
html body .elementor :is(.elementor-post__title, .elementor-post__title a) {
  color: var(--color-brand) !important;
}

/* ── 6. One primary button (F15): navy on light, yellow only on the dark footer ── */
html body .elementor .elementor-element:is(.elementor-element-a840fae4, .elementor-element-86c75819) .elementor-button {
  background-color: var(--color-brand) !important;
  color: var(--color-paper) !important;
  border-color: var(--color-brand) !important;
}
html body .elementor .elementor-element:is(.elementor-element-a840fae4, .elementor-element-86c75819) .elementor-button:hover {
  background-color: var(--color-brand-deep) !important;
  border-color: var(--color-brand-deep) !important;
}
html body .elementor .elementor-element:is(.elementor-element-a840fae4, .elementor-element-86c75819) .elementor-button:active {
  background-color: var(--color-ink) !important;
  border-color: var(--color-ink) !important;
}
html body .elementor .elementor-element:is(.elementor-element-a840fae4, .elementor-element-86c75819) .elementor-button :is(.elementor-button-text, .elementor-button-icon) {
  color: inherit !important;
}
/* header and footer actions stand 48px and never wrap (39b, 49a) */
html body .elementor .elementor-element:is(.elementor-element-a840fae4, .elementor-element-e6bc672e) .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: var(--control-height) !important;
  padding-block: 12px !important;
  padding-inline: 20px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
html body .elementor .elementor-element:is(.elementor-element-a840fae4, .elementor-element-86c75819, .elementor-element-e6bc672e) .elementor-button:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 3px;
  transition: none;
}
html body .elementor .elementor-element.elementor-element-a840fae4 .elementor-button:focus-visible,
html body .elementor .elementor-element.elementor-element-86c75819 .elementor-button:focus-visible {
  outline-color: var(--color-brand-deep);
}

/* ── 7. One edge per surface (F24): the hairline stays, the soft shadow goes ── */
html body .sacu-person-card {
  box-shadow: none !important;
}

/* ── 8. Phones: hero and Signal copy align with the boxes below them ───────── */
@media (max-width: 767px) {
  html body :is(.sacu-hero-copy, .sigh-copy, .sigh-action-panel, .sacu-wrap) :is(.elementor-heading-title, .elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-icon-list-items) {
    text-align: left !important;
  }
  html body :is(.sacu-hero-copy, .sigh-copy, .sigh-action-panel, .sacu-wrap) :is(.elementor-widget-text-editor, .elementor-widget-heading) {
    margin-inline: 0 !important;
  }
}
