/* ==========================================================================
   CX Consult — site stylesheet
   File:     css/cxconsult-site.css   (wp-content/themes/consulting-child/css/)
   Version:  1.0.0   (23 October 2026)
   Owns:     Site-wide brand rules that sit on top of the Consulting theme:
             typeface, links, header/nav, footer, and the rules migrated out of
             WordPress > Customise > Additional CSS (which is now empty).
   Enqueue:  LAST — after the theme, its generated skin and child style.css.
             Loaded by mu-plugins/cxconsult-design-system.php.

   RULES
     1. Every colour, font and size comes from cxconsult-tokens.css via var().
        No hex, no rgb(), no var() fallbacks in this file.
     2. Page-specific styling does not belong here — it lives with the page.
     3. When a rule here replaces one elsewhere, the old one is deleted, not
        left behind.

   CHANGELOG
   v1.0.0  (23 October 2026) First issue with the CX Consult rebrand.
           Migrated the 2,200-byte Additional CSS box into tokenised rules
           (originals kept in cxconsult-access/originals/).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TYPEFACE — Poppins everywhere the theme set Open Sans.
   The theme's Google Fonts request (consulting-default-font) is dequeued by
   the loader, so nothing on the site requests Open Sans any more.
   -------------------------------------------------------------------------- */
body,
p, li, td, th, input, select, textarea, button, label, blockquote,
.wpb_text_column, .wpb_text_column p,
.header_style_4 .header-box .container .nav-box .main_menu_nav > li > a,
.main_menu_nav a,
#footer, #footer p, #footer a,
.vc_btn3, a.vc_btn3, .button, .btn {
    font-family: var(--cxc-ds-font);
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--cxc-ds-font);
    font-weight: var(--cxc-ds-weight-bold);
    color: var(--cxc-ds-heading);
    letter-spacing: -0.01em;
}
body {
    color: var(--cxc-ds-text);
}

/* --------------------------------------------------------------------------
   2. LINKS IN CONTENT — always underlined (Brand Basics §10).
   Graphite link text is too close to Ink body text to rely on colour, so the
   underline is what identifies a link. Buttons are excluded.
   -------------------------------------------------------------------------- */
.wpb_text_column a:not(.vc_btn3):not(.button):not(.btn),
.entry-content p a,
.entry-content li a {
    color: var(--cxc-ds-link);
    text-decoration: underline;
    text-decoration-color: var(--cxc-ds-link-underline);
    text-decoration-thickness: var(--cxc-ds-link-underline-thickness);
    text-underline-offset: var(--cxc-ds-link-underline-offset);
}
.wpb_text_column a:not(.vc_btn3):not(.button):not(.btn):hover,
.entry-content p a:hover,
.entry-content li a:hover {
    color: var(--cxc-ds-link-hover);
    text-decoration-color: var(--cxc-ds-gold);
}
a:focus-visible, button:focus-visible {
    outline: 3px solid var(--cxc-ds-focus);
    outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   3. HEADER — logo and the navigation bar.
   The nav-bar ground itself comes from Theme Options > Header (header_bg =
   Graphite 700); these rules set the link states on it.
   -------------------------------------------------------------------------- */
.logo-box .logo img {
    height: auto;
    max-width: 100%;
}
.header_style_4 .header-box .container .nav-box .main_menu_nav > li > a {
    font-weight: var(--cxc-ds-weight-semibold);
    letter-spacing: 0.02em;
}
.header_style_4 .header-box .container .nav-box .main_menu_nav > li:hover > a,
.header_style_4 .header-box .container .nav-box .main_menu_nav > li.current-menu-ancestor > a,
.header_style_4 .header-box .container .nav-box .main_menu_nav > li.current-menu-parent > a,
.header_style_4 .header-box .container .nav-box .main_menu_nav > li.current_page_ancestor > a,
.header_style_4 .header-box .container .nav-box .main_menu_nav > li.current_page_item > a,
.header_style_4 .header-box .container .nav-box .main_menu_nav > li.current_page_parent > a {
    color: var(--cxc-ds-accent-on-dark);
}

/* --------------------------------------------------------------------------
   4. FOOTER — Graphite 900 band. Replaces the Additional CSS rule
   #footer { background:#494444 }, which overrode the theme option.
   -------------------------------------------------------------------------- */
#footer {
    background: var(--cxc-ds-band-deep);
    color: var(--cxc-ds-text-on-dark);
}
#footer a:hover {
    color: var(--cxc-ds-accent-on-dark);
}

/* --------------------------------------------------------------------------
   5. MIGRATED FROM ADDITIONAL CSS (23 Oct 2026). Same selectors, same
   behaviour; hard-coded colours swapped for tokens.
   -------------------------------------------------------------------------- */

/* Pill menus used on several pages */
ul.cc-nav-pills,
ul.cc-nav-pills li {
    all: unset;
    display: inline-block;
    margin: 0;
    padding: 0;
}
ul.cc-nav-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--cxc-ds-space-sm);
    margin-top: var(--cxc-ds-space-lg);
}
ul.cc-nav-pills li::before,
ul.cc-nav-pills li::after {
    content: none !important;
    display: none !important;
}
ul.cc-nav-pills li a {
    display: inline-block;
    padding: var(--cxc-ds-space-xs) 20px;
    border: 1px solid var(--cxc-ds-graphite-700);
    border-radius: var(--cxc-ds-radius-pill);
    color: var(--cxc-ds-graphite-700);
    background-color: var(--cxc-ds-white);
    text-decoration: none;
    font-weight: var(--cxc-ds-weight-medium);
    font-size: var(--cxc-ds-text-body);
    font-family: inherit;
    transition: background-color 0.2s ease, color 0.2s ease;
}
ul.cc-nav-pills li a:hover {
    background-color: var(--cxc-ds-graphite-700);
    color: var(--cxc-ds-white);
}

/* Smooth in-page jumps, clear of the sticky header */
html {
    scroll-behavior: smooth;
}
[id] {
    scroll-margin-top: 120px;
}

/* The theme's decorative bar after h1-h4 is off site-wide */
.h1:after, h1:after,
.h2:after, h2:after,
.h3:after, h3:after,
.h4:after, h4:after {
    display: none;
}

/* Lists in text blocks. Was #222222b8 (grey at 72% opacity); now solid Ink. */
.wpb_text_column.wpb_content_element ul li {
    color: var(--cxc-ds-text);
    font-size: 17px;
}

.uavc-list-content span.uavc-list-desc {
    vertical-align: text-top;
}

/* Kept as found: a page-specific rule for page 987783. */
.page-id-987783 h1, .h1 {
    line-height: 10px !important;
}

body .vc_tta-container .vc_tta.vc_general.vc_tta-accordion.vc_tta-style-classic .vc_tta-panel .vc_tta-panel-heading .vc_tta-panel-title.vc_tta-controls-icon-position-left a {
    padding-left: 42px;
    color: var(--cxc-ds-text);
}

.wpb_text_column.wpb_content_element.test-heading {
    margin-bottom: 10px;
    margin-top: 10px;
}
