/*!
 * VelocityEHS Help Center — Reskin
 * Loaded LAST via the vehs-reskin must-use plugin, so it overrides Docy,
 * Elementor, Max Mega Menu, Announcer, The Events Calendar, EazyDocs and
 * AJAX Search Pro — regardless of which theme is active.
 * File-level only — FTP mu-plugins/vehs-reskin.php + this file to staging, then live.
 *
 * Design tokens from the Adobe XD reskin:
 *   #000000  black  — header bar, primary buttons, content links, badges
 *   #FFFFFF  white  — nav text, cards, text on dark
 *   #2C3CBB  blue   — announcement/press/breadcrumb bars, card "VIEW" links,
 *                     search button, sidebar folder icons
 *   #8FFF3E  green  — primary CTA (Live Training Calendar), links on dark bars
 *   #F2F2F2  grey   — hero/search band and section backgrounds
 *   #E7E4DF  warm   — alternating rows on event listings
 *
 * Body + headings: proxima-nova-wide (Adobe Fonts kit aky6lov, same as ehs.com).
 * ============================================================================
 * SECTION 1 — FOUNDATION (this file grows in labelled sections as we go)
 * ============================================================================
 */

/* ---- 1a. Reskin palette tokens (referenced throughout the file) ---- */
:root {
  --rk-black:   #000000;
  --rk-white:   #ffffff;
  --rk-blue:    #2C3CBB;
  --rk-blue-rgb: 44, 60, 187;
  --rk-green:   #8FFF3E;
  --rk-grey:    #F2F2F2;
  --rk-altrow:  #E7E4DF;
}

/* ---- 1b. Retire the old teal ------------------------------------------------
 * Docy paints its accent (links, buttons, doc borders, tag hovers, etc.) from
 * --brand_color and rgba(var(--brand_color_rgb), x). The site sets these to the
 * teal (#0E4A63) inline from theme options. Redefining them here — with
 * !important so it wins regardless of inline source order — flips the whole
 * base accent to black (XD Phase-1 misc edits #1 and #2). Elements that should
 * be blue or green are handled per-component in later sections.
 * -------------------------------------------------------------------------- */
:root {
  --brand_color: #000000 !important;
  --brand_color_rgb: 0, 0, 0 !important;
}

/* ---- 1c. Typography: Proxima Nova Wide everywhere (matches www.ehs.com) -----
 * Body is weight 400 ("Proxima Nova regular" in the brief = wide @ 400).
 * !important because Docy applies its heading/body fonts from theme options.
 * Heading CASE (uppercase vs title case) is applied per-component later, since
 * the XD keeps some titles (e.g. card headlines) in title case.
 * -------------------------------------------------------------------------- */
/* Target real text containers only. NOT span/div/a/i — those often carry icon
 * fonts (Font Awesome, dashicons), and forcing Proxima onto them shows tofu
 * boxes instead of glyphs. body inherits to inline text without that risk. */
body,
input, select, textarea, button,
p, li, td, th, blockquote, figcaption, label {
  font-family: "proxima-nova-wide", sans-serif !important;
}

body {
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "proxima-nova-wide", sans-serif !important;
  font-weight: 600;
}


/* ============================================================================
 * SECTION 2 — GLOBAL COLOR OVERRIDES (grounded in the rendered <head> CSS)
 * The theme injects its palette + fonts inline in wp_head AFTER this file, and
 * the Customizer "Additional CSS" later still, so overrides here use !important
 * (and a little extra specificity) to win the cascade.
 * ============================================================================ */

/* ---- 2a. Remaining teal brand variables (theme default #0e4a63) -------------
 * Besides --brand_color, the site paints accents from --secondary_color and
 * EazyDocs' --ezd_brand_color. Point the secondary accents at the reskin blue. */
:root {
  --secondary_color: #2C3CBB !important;
  --ezd_brand_color: #2C3CBB !important;
}

/* ---- 2b. Lock heading weight to 600 (theme sets 700 inline, no !important) -- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 600 !important;
}

/* ---- 2c. Breadcrumb bar: teal -> royal blue (XD) ---------------------------
 * Theme option outputs .page_breadcrumb{background:#0e4a63!important}. Beat it
 * with one extra class of specificity + !important; links inside stay white. */
body .page_breadcrumb {
  background-color: var(--rk-blue) !important;
}
body .page_breadcrumb,
body .page_breadcrumb a,
body .page_breadcrumb .breadcrumb-item {
  color: #ffffff !important;
}
body .page_breadcrumb a:hover {
  text-decoration: underline !important;
}

/* ---- 2d. Retire the beige gradient -> flat #F2F2F2 (XD punch #3) ------------
 * Scoped to the same page types the theme paints the #fff8eb->#e8f2f6 gradient
 * on, so we don't repaint pages that shouldn't change. */
body.blog .body_wrapper,
body.topic .body_wrapper,
body.search .body_wrapper,
body.tag .body_wrapper,
body.category .body_wrapper,
body.bbpress .body_wrapper,
body.single-post .body_wrapper,
body .bg_color_gradient {
  background: var(--rk-grey) !important;
}


/* ============================================================================
 * SECTION 3 — GLOBAL HEADER, NAV & ANNOUNCEMENT BAR (appears on every page)
 * Markup: <header class="header"><nav class="navbar ... dark_menu">, logo
 * .navbar-brand.header_logo (.first_logo black / .white_logo reversed), nav =
 * Max Mega Menu (a.mega-menu-link), CTA = .right-nav .nav_btn.tp_btn, bar =
 * Announcer (#ancr-<id>). Theme inline options CSS + Customizer CSS load AFTER
 * this file, so overrides out-specify + !important.
 * ============================================================================ */

/* ---- 3a. Header bar -> black ------------------------------------------------ */
.header,
.header .navbar,
.navbar.menu_one,
.mobile_main_menu {
  background-color: #000000 !important;
}
/* let the black header show through the Max Mega Menu bar */
#mega-menu-wrap-main_menu,
#mega-menu-wrap-main_menu #mega-menu-main_menu {
  background: transparent !important;
}

/* ---- 3b. Logo: show the reversed (light) logo on black ---------------------
 * The black combo logo would vanish on the black bar; show .white_logo instead.
 * The asset phase later drops in the green HighVizGreen logo file. */
.header .navbar-brand .first_logo { display: none !important; }
.header .navbar-brand .white_logo { display: inline-block !important; }

/* ---- 3c. Top-level nav links -> white, uppercase, active/hover underlined --- */
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item > a.mega-menu-link {
  color: #ffffff !important;
  text-transform: uppercase !important;
}
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-current_page_item > a.mega-menu-link {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

/* ---- 3d. Dropdown panel: square corners + black outline, links black -------
 * Beats the Customizer rule .mega-menu-wrap .mega-sub-menu{border-radius:8px
 * !important} with an id + tag for higher specificity. */
#mega-menu-wrap-main_menu ul.mega-sub-menu {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: #ffffff !important;
}
/* ONE outline on the outer dropdown panel only — not every row/column */
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item > ul.mega-sub-menu {
  border: 1px solid #000000 !important;
}
#mega-menu-wrap-main_menu .mega-sub-menu a.mega-menu-link {
  color: #000000 !important;
  text-transform: none !important;
}
#mega-menu-wrap-main_menu .mega-sub-menu a.mega-menu-link:hover {
  color: #000000 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

/* ---- 3e. "Live Training Calendar" CTA: green -> white on hover (XD) --------
 * Theme inline sets .tp_btn teal + .dark_menu text white + hover black (all
 * !important); .dark_menu ... .nav_btn.tp_btn out-specifies every variant. */
.right-nav .nav_btn.tp_btn,
.dark_menu .right-nav .nav_btn.tp_btn {
  background-color: #8FFF3E !important;
  color: #000000 !important;
  border: none !important;
  border-radius: 999px !important;
}
.right-nav .nav_btn.tp_btn:hover,
.dark_menu .right-nav .nav_btn.tp_btn:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
}

/* ---- 3g. Down-caret on top-level nav items that open a dropdown (XD) -------- */
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item-has-children > a.mega-menu-link .mega-indicator {
  display: none !important;
}
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item-has-children > a.mega-menu-link::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  vertical-align: middle;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #ffffff;
}

/* ---- 3f. Announcement bar (Announcer): blue bar, white text, green links ---
 * Bar id is dynamic (#ancr-<postID>) with an inline <style>: bg has no
 * !important (our !important wins), but color:#000 is set !important at ID
 * specificity — so we colour the content descendants directly, which beats the
 * inherited value regardless of the ancestor's specificity. */
[id^="ancr-"] {
  background: var(--rk-blue) !important;
}
[id^="ancr-"] .ancr-content,
[id^="ancr-"] .ancr-content * {
  color: #ffffff !important;
}
[id^="ancr-"] .ancr-content a {
  color: var(--rk-green) !important;
}


/* ============================================================================
 * SECTION 4 — ELEMENTOR BUTTONS (secondary treatment)
 * "Access Press Release" etc: black -> white-on-hover with black outline
 * (XD Phase-1 misc edit #6). The green primary CTA stays the Docy .nav_btn.
 * ============================================================================ */
a.elementor-button,
.elementor-button {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
  border-radius: 4px;
}
a.elementor-button:hover,
.elementor-button:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
}


/* ============================================================================
 * SECTION 5 — SEARCH / HERO BANDS & DOC HEADER
 * The light-blue "How can we help?" band (home) is an Elementor background
 * IMAGE on .elementor-element-f7b83ec; the doc search banner is Docy's
 * .search-banner-light. Both -> flat #F2F2F2. Search button (AJAX Search Pro
 * .promagnifier) -> blue. Doc title -> black.
 * ============================================================================ */

/* ---- 5a. Home hero band: light-blue image -> flat grey --------------------- */
.elementor-13451 .elementor-element.elementor-element-f7b83ec,
.elementor-element-f7b83ec {
  background-image: none !important;
  background-color: var(--rk-grey) !important;
}
.elementor-element-f7b83ec > .elementor-background-overlay {
  opacity: 0 !important;
}

/* ---- 5b. Doc search banner: light-blue -> flat grey ------------------------ */
.banner-bg,
.banner-bg .doc_banner_area,
.doc_banner_area.search-banner-light,
.sbnr-global,
.sbnr-aesthetic,
.sbnr-classic,
.sbnr-creative,
.titlebar,
.tip_banner_area,
.gradient_banner_area,
.doc_banner_area {
  background-color: var(--rk-grey) !important;
  background-image: none !important;
}

/* ---- 5c. AJAX Search Pro: blue magnifier + #000 border on field & dropdown -
 * XD: "DROP BAR / SEARCH ADD #000 BORDER", search button #2C3CBB. */
div[id^="ajaxsearchpro"] .promagnifier,
.asp_main_container .promagnifier {
  background: var(--rk-blue) !important;
}
.asp_main_container .probox,
div[id^="ajaxsearchpro"] .probox {
  border: 1px solid #000000 !important;
}
.asp_select2-selection.asp_select2-selection--single {
  border: 1px solid #000000 !important;
}

/* ---- 5d. Doc title: teal -> black -----------------------------------------
 * Overrides the inline .shortcode_title h1{color:#0e4a63!important}. */
body .shortcode_title h1,
body .documentation_info .title,
body .documentation_info h1 {
  color: #000000 !important;
}


/* ============================================================================
 * SECTION 6 — CARDS & DOC SIDEBAR LINKS
 * Card "VIEW »" = Elementor .elementor-post__read-more; Featured cards =
 * Elementor .elementor-cta. Card links -> blue, titles underline blue on hover
 * (XD misc edit #4). Doc sidebar links -> blue/bold/underline on hover.
 * ============================================================================ */

/* ---- 6a. Card "VIEW »" read-more links -> blue, underline on hover ---------- */
a.elementor-post__read-more,
.elementor-post__read-more {
  color: var(--rk-blue) !important;
  font-weight: 600;
}
.elementor-post__read-more:hover {
  color: var(--rk-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* ---- 6b. Card titles: blue + underline on hover ---------------------------- */
.elementor-cta:hover .elementor-cta__title,
.elementor-cta__title a:hover,
.elementor-post__title a:hover {
  color: var(--rk-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* ---- 6c. Doc left sidebar links: hover -> blue, bold, underline ------------- */
.doc_left_sidebarlist a:hover,
.left_sidebarlist a:hover,
.tip_doc_area .left_sidebarlist .nav-sidebar a:hover {
  color: var(--rk-blue) !important;
  font-weight: 600;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* ---- 6d. Doc category badge (EazyDocs doc_badge taxonomy): black pill ------
 * The pill colour is the term's own colour, applied inline; our !important beats
 * it. XD: #000 bg, #FFF text, border radius. */
.doc-badge,
.doc-badges .doc-badge,
.ezd-badge,
.ezd-doc-badge {
  background-color: #000000 !important;
  color: #ffffff !important;
  border-radius: 4px !important;
}
.doc-badge a,
.ezd-badge a,
.ezd-doc-badge a {
  color: #ffffff !important;
}


/* ============================================================================
 * SECTION 7 — EVENTS / COMMUNITY CALENDAR (The Events Calendar / Tribe)
 * Classes: .tribe-events-c-search__button (Find Events),
 * .tribe-events-calendar-list__event-row / __event-title-link (list rows),
 * .tribe-events-c-subscribe-dropdown__button (Subscribe).
 * ============================================================================ */

/* ---- 7a. "Find Events" button: black -> white on hover ----------------------
 * NOTE: the annotated mockup renders this black; the misc-edits list says white
 * with a black border. I matched the mockup — flip if you want the list version. */
.tribe-events-c-search__button,
.tribe-common-c-btn.tribe-events-c-search__button {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
  border-radius: 4px !important;
}
.tribe-events-c-search__button:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
}

/* ---- 7b. Event titles + month headings -> black, underline on hover -------- */
.tribe-events-calendar-list__event-title-link,
.tribe-events-widget-events-list__event-title-link,
.tribe-events-calendar-list__month-separator-text,
.tribe-events-header__title,
.tribe-events-calendar-list__event-title,
.tribe-events-widget-events-list__event-title {
  color: #000000 !important;
}
.tribe-events-calendar-list__event-title-link:hover,
.tribe-events-widget-events-list__event-title-link:hover {
  color: #000000 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* ---- 7c. Alternating event rows -> warm grey #E7E4DF ------------------------
 * (nth-of-type so the month-separator rows don't throw off the alternation)
 * The grey background sits on .__event, which has NO internal padding, so it
 * hugs the text; the white rows only look roomier because their air comes from
 * the row margins. Give EVERY event box the same top/bottom padding so grey and
 * white read the same, and pad the date-tag column to match so the date stays
 * aligned with the event time. */
.tribe-events-calendar-list__event {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}
.tribe-events-calendar-list__event-date-tag {
  padding-top: 22px !important;
}
.tribe-events-calendar-list__event-row:nth-of-type(even) .tribe-events-calendar-list__event {
  background-color: var(--rk-altrow) !important;
}

/* ---- 7d. "Subscribe to Calendar" button: white outline -> black on hover ---- */
.tribe-events-c-subscribe-dropdown__button {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
  border-radius: 4px !important;
}
.tribe-events-c-subscribe-dropdown__button:hover {
  background-color: #000000 !important;
  color: #ffffff !important;
}


/* ============================================================================
 * SECTION 8 — EVENTS / COMMUNITY SEARCH BAND + PAGE BACKGROUND
 * The "- All Capabilities" search band on events/community pages is a reusable
 * Elementor template (post 22562), light-blue #BAD7E4 on elements b9a37e4 /
 * 1da996e (NOT the Docy doc banner). The pale wash behind the events list is
 * the .body_wrapper background.
 * ============================================================================ */

/* ---- 8a. Elementor #BAD7E4 light-blue backgrounds -> grey -------------------
 * Used on the search band (b9a37e4 / 1da996e) AND several page bodies
 * (22e5a1f, fdb1a45, c9478ac — e.g. the All Solutions & Capabilities page).
 * The colour is painted on the element and its motion-effects layer. */
.elementor-element-b9a37e4,
.elementor-element-1da996e,
.elementor-element-22e5a1f,
.elementor-element-fdb1a45,
.elementor-element-c9478ac,
.elementor-element-b9a37e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-1da996e > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-22e5a1f > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-fdb1a45 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-c9478ac > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--rk-grey) !important;
  background-image: none !important;
}

/* ---- 8b. Events/community page wash -> flat white -------------------------- */
body[class*="tribe_events"] .body_wrapper,
body.single-tribe_events .body_wrapper {
  background: #ffffff !important;
}


/* ============================================================================
 * SECTION 9 — FOOTER (Docy .doc_footer_area) -> black
 * Markup: .doc_footer_top.has_bg_color (currently #f5f5f5), logo img.logo-light,
 * social .social_facebook/_twitter/_linkedin, .widget_text (Contact Support +
 * copyright), .doc_footer_bottom.
 * ============================================================================ */

/* ---- 9a. Footer background -> black ---------------------------------------- */
.doc_footer_area,
.doc_footer_top,
.doc_footer_top.has_bg_color,
.doc_footer_bottom,
.simple_footer {
  background-color: #000000 !important;
}

/* ---- 9b. Footer text + links -> white, green on hover ---------------------- */
.doc_footer_area,
.doc_footer_area p,
.doc_footer_area sub,
.doc_footer_area sup,
.doc_footer_area .textwidget,
.doc_footer_area .f_widget {
  color: #ffffff !important;
}
.doc_footer_area a {
  color: #ffffff !important;
}
.doc_footer_area a:hover {
  color: var(--rk-green) !important;
  text-decoration: underline !important;
}

/* ---- 9c. Social icons -> clean white glyphs, no grey box (XD) --------------- */
.doc_footer_area .doc_about_widget ul.list-unstyled {
  display: flex !important;
  gap: 16px;
  padding: 0;
  margin-top: 16px;
}
.doc_footer_area .doc_about_widget ul.list-unstyled li {
  margin: 0 !important;
  list-style: none;
}
.doc_footer_area .doc_about_widget ul.list-unstyled li a {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.doc_footer_area .doc_about_widget ul.list-unstyled li a i,
.doc_footer_area .social_facebook,
.doc_footer_area .social_twitter,
.doc_footer_area .social_linkedin {
  color: #ffffff !important;
  font-size: 22px !important;
}
.doc_footer_area .doc_about_widget ul.list-unstyled li a:hover i {
  color: var(--rk-green) !important;
}

/* ---- 9d. Footer logo -> white interim (green HighVizGreen file in asset phase) */
.doc_footer_area .doc_about_widget img.logo-light {
  filter: brightness(0) invert(1);
}


/* ============================================================================
 * SECTION 10 — COMMUNITY LANDING PAGE (Elementor)
 * High-confidence items; the rest (left-menu colours, on-demand cards, the
 * "Upcoming Live Events" box border, layout tweaks) get targeted from a
 * screenshot since it's a complex Elementor layout.
 * ============================================================================ */

/* ---- 10a. Review slider: hide the broken star rating, left-align text (XD #13) */
.elementor-widget-reviews .elementor-star-rating,
.elementor-testimonial .elementor-star-rating {
  display: none !important;
}
.elementor-widget-reviews .elementor-testimonial__text,
.elementor-widget-reviews .elementor-testimonial__content,
.elementor-widget-reviews .elementor-testimonial__cite,
.elementor-widget-reviews .elementor-testimonial__header {
  text-align: left !important;
}

/* ---- 10b. Community "View Calendar" (Tribe widget link) -> blue, bold ------- */
.tribe-events-widget-events-list__view-more-link {
  color: var(--rk-blue) !important;
  font-weight: 600 !important;
}
.tribe-events-widget-events-list__view-more-link:hover {
  color: var(--rk-blue) !important;
  text-decoration: underline !important;
}


/* ============================================================================
 * SECTION 11 — BRAND ASSETS (logo swap)
 * Files live in this mu-plugin's /assets/ folder (FTP'd with it), so the swap
 * is 100% file-level — no media library / DB change. `content:url()` replaces
 * the rendered <img>. Icons handled separately.
 * ============================================================================ */

/* ---- 11a. Header logo -> green HighVizGreen --------------------------------- */
.header .navbar-brand .white_logo,
.header .navbar-brand .first_logo {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/VelocityEHS_Logo_HighVizGreen_RGB.png") !important;
  width: auto !important;
  height: auto !important;
  max-height: 54px !important;
}
.header .navbar-brand .first_logo { display: none !important; }
.header .navbar-brand .white_logo { display: inline-block !important; }

/* ---- 11b. Footer logo -> green (overrides the interim white filter, 9d) ----- */
.doc_footer_area .doc_about_widget img.logo-light {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/VelocityEHS_Logo_HighVizGreen_RGB.png") !important;
  filter: none !important;
  width: auto !important;
  height: auto !important;
  max-height: 60px !important;
}


/* ============================================================================
 * SECTION 12 — ICON SWAPS + REMAINING PAGE ITEMS
 * Icons live in this mu-plugin's /assets/icons/ folder. `content:url()` swaps
 * the rendered <img> (file-level, no DB change).
 * ============================================================================ */

/* ---- 12a. Home "Featured Articles" card icons -> gray-green ----------------- */
.elementor-element-1790a19 .elementor-cta__image img,
.elementor-element-5bcdaca .elementor-cta__image img,
.elementor-element-11f4b6b .elementor-cta__image img {
  width: auto !important;
  height: 88px !important;
  object-fit: contain !important;
}
.elementor-element-1790a19 .elementor-cta__image img {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Accelerate-Platform-Icon_1x1in.png") !important;
}
.elementor-element-5bcdaca .elementor-cta__image img {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_Operational-Risk.svg") !important;
}
.elementor-element-11f4b6b .elementor-cta__image img {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_Safety.svg") !important;
}

/* ---- 12b. Event-list category icons -> gray-green (accessibility) ----------
 * The icon <img> and the category class are in sibling columns, so :has() on
 * the row maps each category to its icon. Unmatched categories keep their icon. */
.tribe-events-calendar-list__event-featured-image {
  width: auto !important;
  height: 64px !important;
  object-fit: contain !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-chemical-management) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_Chemical-Management_Industry_Chemical.svg") !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-control-of-work) .tribe-events-calendar-list__event-featured-image,
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-contractor-compliance) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_Contractor-Safety-and-Permit-to-Work.svg") !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-environmental) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_Environmental-Compliance.svg") !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-esg) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_ESG.svg") !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-industrial-ergonomics) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_Industrial-Ergonomics.svg") !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-office-ergonomics) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Office.svg") !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-operational-risk) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_Operational-Risk.svg") !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-safety) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Solution_Safety.svg") !important;
}
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-accelerate) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Accelerate-Platform-Icon_1x1in.png") !important;
}
/* categories without a dedicated icon -> neutral "Simple Solution" gray-green */
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-ehs-management) .tribe-events-calendar-list__event-featured-image,
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-industrial-hygiene) .tribe-events-calendar-list__event-featured-image,
.tribe-events-calendar-list__event-row:has(.tribe_events_cat-training-learning) .tribe-events-calendar-list__event-featured-image {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/Icons_Solutions-and-Brand_1x1in_.125stroke_RGB_Gray-Green_Master_Simple%20Solution.svg") !important;
}

/* ---- 12c. Elementor text-editor links (incl. community on-demand list): teal
 *          -> black, blue underline on hover. Beats the inline span colour. --- */
.elementor-widget-text-editor a,
.elementor-widget-text-editor a span,
.elementor-widget-text-editor a strong,
.elementor-widget-text-editor a b {
  color: #000000 !important;
}
.elementor-widget-text-editor a:hover,
.elementor-widget-text-editor a:hover span {
  color: var(--rk-blue) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* ---- 12d. Doc content links -> black, bold + underline on hover (XD #7) ----- */
.editor-content a,
.ezd_doc_content a,
.documentation_info .editor-content a {
  color: #000000 !important;
  text-decoration-color: #000000 !important;
}
.editor-content a:hover {
  color: #000000 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* ---- 12e. Doc right sidebar (Share this Doc / Access All Release Notes) ------ */
.doc_rightsidebar a {
  color: #000000 !important;
}
.doc_rightsidebar a:hover {
  color: var(--rk-blue) !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* ---- 12f. Comment form "Post Comment" button -> black, hover white (XD #10) -- */
#commentform input[type="submit"],
.comment-form input[type="submit"],
.comment-form .submit,
.comment-form button[type="submit"] {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 2px solid #000000 !important;
  border-radius: 4px !important;
}
#commentform input[type="submit"]:hover,
.comment-form input[type="submit"]:hover,
.comment-form .submit:hover,
.comment-form button[type="submit"]:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
}

/* ---- 12g. Events archive: add the "Community Events" heading (XD #14) -------- */
body.post-type-archive-tribe_events .tribe-events-l-container::before,
body.tribe-events-page-template .tribe-events-l-container::before {
  content: "Community Events";
  display: block;
  font-family: "proxima-nova-wide", sans-serif;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  color: #000000;
  margin: 0 0 24px;
}


/* ============================================================================
 * SECTION 13 — DOC PAGE BACKGROUND + sidebar/footer fix
 * The doc area is white.
 *
 * Root cause of BOTH the grey "step" AND the nav being cut off by the footer:
 * the theme forces .doc_left_sidebarlist to height:100vh with a grey ::before band
 * (#f5f7f9, height:100%, width:400%), and its JS flips the aside to position:FIXED
 * on scroll (adds .sticky class). position:fixed escapes the container, so that
 * 100vh grey band + nav stay pinned to the viewport and run straight over the
 * footer at the bottom of the page. (Covering it with the footer then hid the last
 * nav items — wrong trade-off.)
 *
 * Fix: force the aside to position:STICKY instead of fixed. Sticky respects its
 * containing block — it still pins while you read a long article, but releases at
 * the section bottom (above the footer), so every nav item stays visible and no
 * grey bleeds onto the black footer. No footer z-index hack needed.
 * ============================================================================ */
body.single-docs .body_wrapper,
body:has(.doc_left_sidebarlist) .body_wrapper,
.doc_documentation_area {
  background: #ffffff !important;
}
.doc_documentation_area .ezd-xl-col-7,
.doc_documentation_area .doc-middle-content {
  background-color: #ffffff !important;
}
.doc_documentation_area .doc_left_sidebarlist.sticky,
aside.doc_left_sidebarlist.sticky {
  position: sticky !important;
  top: 65px !important;
}


/* ============================================================================
 * SECTION 14 — SEARCH "CAPABILITIES" DROPDOWN (AJAX Search Pro select2)
 * The capability picker in the search bar was too narrow, wrapping long option
 * names. Widen the open dropdown so options read on one/clean lines.
 * ============================================================================ */
.asp_select2-dropdown,
.asp_select2-container--open .asp_select2-dropdown {
  width: 440px !important;
  min-width: 440px !important;
  max-width: 92vw !important;
}
.asp_select2-results__option {
  white-space: normal !important;
  padding: 8px 14px !important;
  line-height: 1.4 !important;
}


/* ============================================================================
 * SECTION 15 — UPPERCASE PAGE / SECTION TITLES (match the XD)
 * Elementor Heading widgets (hero, "Featured Articles", etc.) + doc titles.
 * Card/link/event titles are NOT .elementor-heading-title, so they stay Title
 * Case as the XD shows them.
 * ============================================================================ */
.elementor-heading-title,
.shortcode_title h1,
.documentation_info .title,
.documentation_info h1,
.breadcrumb_content h1 {
  text-transform: uppercase !important;
}


/* ============================================================================
 * SECTION 16 — MEETING FEEDBACK (Help Center reconnect)
 * ============================================================================ */

/* ---- 16a. Nav typography (design spec): top-level items = Ballinger Mono ALL
 * CAPS; dropdown links = Ballinger; green CTA = Proxima Nova ALL CAPS. --------- */
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item > a.mega-menu-link {
  font-family: "ballinger-mono", monospace !important;
  text-transform: uppercase !important;
}
#mega-menu-wrap-main_menu .mega-sub-menu a.mega-menu-link {
  font-family: "ballinger", sans-serif !important;
}
.right-nav .nav_btn.tp_btn,
.dark_menu .right-nav .nav_btn.tp_btn {
  font-family: "proxima-nova-wide", sans-serif !important;
  text-transform: uppercase !important;
}

/* ---- 16b. Footer: align content left ---------------------------------------- */
.doc_footer_area .footer_widget,
.doc_footer_area .f_widget,
.doc_footer_area .widget_text .textwidget,
.doc_footer_area .doc_service_list_widget {
  text-align: left !important;
}

/* ---- 16c. Community Events: center the event images within their column ------ */
.tribe-events-calendar-list__event-featured-image-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* ============================================================================
 * SECTION 17 — CALLOUT / ALERT BOXES (Docly alerts box) — recolor per design
 * Markup: .elementor-widget-docly_alerts_box -> .alert.message_alert.alert-info
 * (blue) / .alert-warning (yellow). Keep the text; swap bg + outline.
 * ============================================================================ */
.message_alert.alert-info {
  background-color: #E8FFD8 !important;
  border: 1px solid #63ED00 !important;
}
.message_alert.alert-warning {
  background-color: #FFFECC !important;
  border: 1px solid #FFFD65 !important;
}


/* ============================================================================
 * SECTION 18 — RELEASE NOTES / POST BANNER (.doc_banner_area.single_breadcrumb)
 * Markup: <section class="doc_banner_area single_breadcrumb"> with decorative
 * .banner_shap_img shapes, a .meta-item.date pill, and <h1 class="title">.
 * Fixes: height, decorative dots, title colour/case/font, date-pill blue.
 * ============================================================================ */

/* 18a. Rebalance banner height: generous space ABOVE the title, tight below.
 * (Theme uses padding:265px 0 175px, or 190/120 on single-post.) The big gap
 * UNDER the title is really the content section's padding — .blog_area{padding:
 * 100px 0} — so trim that top padding too. */
.doc_banner_area.single_breadcrumb {
  padding-top: 90px !important;
  padding-bottom: 30px !important;
  min-height: 0 !important;
}
body.single-post .blog_area {
  padding-top: 30px !important;
}

/* 18b. Remove the decorative shape dots / plus icons */
.doc_banner_area .banner_shap_img {
  display: none !important;
}
.doc_banner_area.single_breadcrumb::before,
.doc_banner_area.single_breadcrumb::after {
  display: none !important;
}

/* 18c. Title -> black, ALL CAPS, Proxima Nova Wide (was white/title-case) */
.doc_banner_area .doc_banner_content h1.title,
.doc_banner_area .doc_banner_content .title {
  color: #000000 !important;
  text-transform: uppercase !important;
  font-family: "proxima-nova-wide", sans-serif !important;
}

/* 18d. "Updated on" date pill -> reskin blue, white text/icon */
.doc_banner_area .post-meta-top .meta-item.date,
.doc_banner_area .post-meta-top .meta-item.date i {
  background: var(--rk-blue) !important;
  color: #ffffff !important;
}


/* ============================================================================
 * SECTION 19 — Doc folder icons -> blue (SVGs in assets/icons/)
 * EazyDocs <img> icons: sidebar img.closed (folder-closed.png) / img.open
 * (folder-open.png) on category nav items, and the content-grid category card
 * icon .documentation_item .icon img (folder.png). content:url() swaps the file.
 * MAPPING: closed folder -> blue-closed-folder.svg, open folder ->
 * blue-list-icon-page.svg. The content-grid category cards show the OPEN folder.
 * ============================================================================ */
.nav-sidebar .nav-item .nav-link img.closed {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/blue-closed-folder.svg") !important;
}
.nav-sidebar .nav-item .nav-link img.open,
.d-items .documentation_item .icon img {
  content: url("/wp-content/mu-plugins/vehs-reskin/assets/icons/blue-list-icon-page.svg") !important;
}

