/* ============================================================
   XM Light Mode — site-wide styles
   Scoped to body.xm-bg-from-query (added unconditionally
   by the plugin, so these rules always apply).
   ============================================================ */

/* ------------------------------------
   GLOBAL: White background mode
------------------------------------ */
body.xm-bg-from-query {
  background-color: #ffffff !important;
  color: #2F3B52 !important;
}

/* Headings */
body.xm-bg-from-query .wp-block-heading,
body.xm-bg-from-query h1,
body.xm-bg-from-query h2,
body.xm-bg-from-query h3,
body.xm-bg-from-query h4,
body.xm-bg-from-query h5,
body.xm-bg-from-query h6 {
  color: #0F5FC0 !important;
}

/* Paragraphs */
body.xm-bg-from-query .wp-block-paragraph,
body.xm-bg-from-query p {
  color: #2F3B52 !important;
}

/* Links */
body.xm-bg-from-query a {
  color: #0F5FC0 !important;
}
body.xm-bg-from-query a:hover {
  color: #2563EB !important;
}

/* =========================================
   Buttons (visual only)
========================================= */
body.xm-bg-from-query .wp-block-button.is-style-outline .wp-block-button__link,
body.xm-bg-from-query .wp-block-button.is-style-outline .wp-element-button {
  background-color: #0F5FC0 !important;
  color: #ffffff !important;
  border-color: #0F5FC0 !important;
  background-image: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.xm-bg-from-query .wp-block-button.is-style-outline .wp-block-button__link:hover,
body.xm-bg-from-query .wp-block-button.is-style-outline .wp-element-button:hover,
body.xm-bg-from-query .wp-block-button.is-style-outline .wp-block-button__link:focus,
body.xm-bg-from-query .wp-block-button.is-style-outline .wp-element-button:focus {
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #ffffff !important;
  outline: none !important;
}
body.xm-bg-from-query .wp-block-button.is-style-outline .wp-block-button__link:focus-visible,
body.xm-bg-from-query .wp-block-button.is-style-outline .wp-element-button:focus-visible {
  box-shadow: 0 0 0 2px rgba(124,196,255,.45) !important;
}

/* ------------------------------------
   MEDIA + ICONS
------------------------------------ */
body.xm-bg-from-query svg,
body.xm-bg-from-query svg path {
  fill: #2F3B52 !important;
  stroke: #2F3B52 !important;
}

/* Cover blocks */
body.xm-bg-from-query .wp-block-cover,
body.xm-bg-from-query .wp-block-cover-image {
  background-color: #ffffff !important;
}
body.xm-bg-from-query .wp-block-cover__gradient-background,
body.xm-bg-from-query .wp-block-cover__background {
  background: none !important;
}

/* ------------------------------------
   Explicit color overrides
------------------------------------ */
body.xm-bg-from-query .has-white-color {
  color: #2F3B52 !important;
}
body.xm-bg-from-query .has-white-background-color {
  background-color: #ffffff !important;
}
body.xm-bg-from-query .has-black-background-color {
  background-color: #000000 !important;
}

/* =========================================
   Kadence Accordion
========================================= */
body.xm-bg-from-query .wp-block-kadence-accordion,
body.xm-bg-from-query .kt-accordion-wrap,
body.xm-bg-from-query .kt-accordion-inner-wrap {
  background-color: #E6E7EC !important;
  border-color: #D1D7E0 !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-header,
body.xm-bg-from-query .kt-accordion-wrap .kt-blocks-accordion-header {
  background-color: #E6E7EC !important;
  color: #2F3B52 !important;
  border-color: #D1D7E0 !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-title,
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-title strong,
body.xm-bg-from-query .kt-accordion-wrap .kt-blocks-accordion-title,
body.xm-bg-from-query .kt-accordion-wrap .kt-blocks-accordion-title strong {
  color: #2F3B52 !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-accordion-panel,
body.xm-bg-from-query .kt-accordion-wrap .kt-accordion-panel,
body.xm-bg-from-query .wp-block-kadence-accordion .kt-accordion-panel-inner,
body.xm-bg-from-query .kt-accordion-wrap .kt-accordion-panel-inner {
  background-color: #E6E7EC !important;
  color: #2F3B52 !important;
  border-color: #D1D7E0 !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-accordion-panel-inner p,
body.xm-bg-from-query .kt-accordion-wrap .kt-accordion-panel-inner p {
  color: #2F3B52 !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger,
body.xm-bg-from-query .kt-accordion-wrap .kt-blocks-accordion-icon-trigger {
  color: #2F3B52 !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger::before,
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger::after,
body.xm-bg-from-query .kt-accordion-wrap .kt-blocks-accordion-icon-trigger::before,
body.xm-bg-from-query .kt-accordion-wrap .kt-blocks-accordion-icon-trigger::after {
  border-color: #2F3B52 !important;
}

/* Kadence accordion — custom chevrons */
body.xm-bg-from-query {
  --acc-chevron-inactive: #6B7C93;
  --acc-chevron-active:   #0F5FC0;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-header .kt-blocks-accordion-icon-trigger,
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-header svg,
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-header .kt-svg-icon,
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-header i {
  display: none !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-header {
  position: relative !important;
  padding-right: 44px !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion .kt-blocks-accordion-header::before {
  content: none !important;
}
body.xm-bg-from-query .wp-block-kadence-accordion button.kt-blocks-accordion-header {
  position: relative !important;
  padding-right: 44px !important;
}
/* Inactive chevron (DOWN) */
body.xm-bg-from-query .wp-block-kadence-accordion button.kt-blocks-accordion-header::after {
  content: "" !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  width: 14px !important;
  height: 14px !important;
  transform: translateY(-50%) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 14px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5.5l4 4 4-4' fill='none' stroke='%236B7C93' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
/* Active chevron (UP) */
body.xm-bg-from-query .wp-block-kadence-accordion button.kt-blocks-accordion-header[aria-expanded="true"]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5.5l4 4 4-4' fill='none' stroke='%230F5FC0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  transform: translateY(-50%) rotate(180deg) !important;
}

/* =========================================
   Query Loop Service Cards
========================================= */
body.xm-bg-from-query li.wp-block-post > .wp-block-columns {
  background-color: #E6E7EC !important;
}
body.xm-bg-from-query .wp-block-post .wp-block-columns.is-layout-flex > .wp-block-column.is-vertically-aligned-top {
  border-style: solid;
  border-color: #D1D7E0;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.xm-bg-from-query .wp-block-columns.is-layout-flex > .wp-block-column.is-vertically-aligned-top:hover {
  border-color: #2563EB;
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}
body.xm-bg-from-query .wp-block-columns.is-layout-flex > .wp-block-column.has-border-color {
  border-color: #D1D7E0 !important;
  background-color: #E6E7EC !important;
}

/* =========================================
   Highlight color
========================================= */
body.xm-bg-from-query .has-custom-light-blue-logo-color-color {
  color: #7CC4FF !important;
}

/* Swiper pagination (specific page IDs) */
body.xm-bg-from-query:is(.page-id-10125, .page-id-11768, .page-id-10525, .page-id-10967, .page-id-12117)
  .my-carousel
  .cb-pagination.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
  background-color: transparent !important;
  background: transparent !important;
}

/* =========================================
   Separator
========================================= */
body.xm-bg-from-query hr.wp-block-separator {
  border: 0 !important;
  height: 1px !important;
  background-color: #D1D7E0 !important;
  opacity: 1 !important;
}
body.xm-bg-from-query hr.wp-block-separator.is-style-wide,
body.xm-bg-from-query hr.wp-block-separator.is-style-default {
  background-color: #D1D7E0 !important;
}
body.xm-bg-from-query hr.wp-block-separator.is-style-dots {
  background: none !important;
  border: 0 !important;
  color: #D1D7E0 !important;
  opacity: 1 !important;
}

/* =========================================
   Columns with .xm-panel class
========================================= */
body.xm-bg-from-query .wp-block-columns.xm-panel {
  background-color: #E6E7EC !important;
  border: 1px solid #D1D7E0 !important;
}
body.xm-bg-from-query .wp-block-columns.xm-panel .wp-block-columns:not(.xm-panel) {
  background-color: transparent !important;
  border: none !important;
}

/* =========================================
   Gravity Forms submit buttons
========================================= */
body.xm-bg-from-query input#gform_submit_button_30.button.gform_button {
  background-image: none !important;
  background: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: #0F5FC0 !important;
  border: 1px solid #0F5FC0 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
body.xm-bg-from-query input#gform_submit_button_30.button.gform_button::before,
body.xm-bg-from-query input#gform_submit_button_30.button.gform_button::after {
  content: none !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.xm-bg-from-query input#gform_submit_button_30.button.gform_button:hover,
body.xm-bg-from-query input#gform_submit_button_30.button.gform_button:focus {
  background-image: none !important;
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(124,196,255,.45) !important;
}
body.xm-bg-from-query input#gform_submit_button_30.button.gform_button[disabled] {
  background-image: none !important;
  background-color: #9DBAF5 !important;
  border-color: #9DBAF5 !important;
  color: #ffffff !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}
/* All GF submit buttons */
body.xm-bg-from-query .gform_wrapper .gform_footer input[type='submit'].button,
body.xm-bg-from-query .gform_wrapper .gform_page_footer input[type='submit'].button,
body.xm-bg-from-query .gform_wrapper .gform_button.button {
  background-image: none !important;
  background: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-color: #0F5FC0 !important;
  border: 1px solid #0F5FC0 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
body.xm-bg-from-query .gform_wrapper .gform_footer input[type='submit'].button:hover,
body.xm-bg-from-query .gform_wrapper .gform_footer input[type='submit'].button:focus,
body.xm-bg-from-query .gform_wrapper .gform_page_footer input[type='submit'].button:hover,
body.xm-bg-from-query .gform_wrapper .gform_page_footer input[type='submit'].button:focus,
body.xm-bg-from-query .gform_wrapper .gform_button.button:hover,
body.xm-bg-from-query .gform_wrapper .gform_button.button:focus {
  background-image: none !important;
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(124,196,255,.45) !important;
}
body.xm-bg-from-query .gform_wrapper .gform_footer input[type='submit'].button[disabled],
body.xm-bg-from-query .gform_wrapper .gform_page_footer input[type='submit'].button[disabled],
body.xm-bg-from-query .gform_wrapper .gform_button.button[disabled] {
  background-image: none !important;
  background-color: #9DBAF5 !important;
  border-color: #9DBAF5 !important;
  color: #ffffff !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

/* =========================================
   Ajax Search Lite
========================================= */
body.xm-bg-from-query #ajaxsearchlite1 {
  border: 2px solid #0F5FC0 !important;
  border-radius: 14px !important;
  padding: 2px !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.xm-bg-from-query #ajaxsearchlite1 .probox {
  background: #ffffff !important;
  border: 1px solid #D1D7E0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background-clip: padding-box !important;
  box-shadow: none !important;
}
body.xm-bg-from-query #ajaxsearchlite1 .proinput input.orig {
  background: #ffffff !important;
  color: #2F3B52 !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}
body.xm-bg-from-query #ajaxsearchlite1 .proinput input.orig::placeholder {
  color: #6B7C93 !important;
}
body.xm-bg-from-query #ajaxsearchlite1 .promagnifier,
body.xm-bg-from-query #ajaxsearchlite1 .promagnifier::before,
body.xm-bg-from-query #ajaxsearchlite1 .promagnifier::after,
body.xm-bg-from-query #ajaxsearchlite1 .promagnifier .innericon,
body.xm-bg-from-query #ajaxsearchlite1 .promagnifier .innericon::before,
body.xm-bg-from-query #ajaxsearchlite1 .promagnifier .innericon::after {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.xm-bg-from-query #ajaxsearchlite1 .promagnifier .innericon svg,
body.xm-bg-from-query #ajaxsearchlite1 .promagnifier .innericon svg path {
  fill: #0F5FC0 !important;
  stroke: #0F5FC0 !important;
}

/* =========================================
   Image hover effects
========================================= */
body.xm-bg-from-query {
  --hover-brightness: 1.06;
  --hover-contrast: 1.04;
  --hover-saturation: 1.03;
}
body.xm-bg-from-query img {
  filter: none !important;
}
body.xm-bg-from-query a img,
body.xm-bg-from-query figure a img {
  transition:
    filter .16s ease,
    transform .16s ease,
    box-shadow .16s ease,
    outline-color .16s ease,
    outline-width .16s ease,
    outline-offset .16s ease;
}
body.xm-bg-from-query a:hover img,
body.xm-bg-from-query a:focus img,
body.xm-bg-from-query figure:hover a img,
body.xm-bg-from-query figure:focus-within a img {
  filter: brightness(var(--hover-brightness))
          contrast(var(--hover-contrast))
          saturate(var(--hover-saturation)) !important;
  transform: translateZ(0) scale(1.008);
}
body.xm-bg-from-query figure a::before,
body.xm-bg-from-query figure a::after,
body.xm-bg-from-query figure::before,
body.xm-bg-from-query figure::after {
  background: transparent !important;
  opacity: 0 !important;
}
@media (prefers-reduced-motion: reduce) {
  body.xm-bg-from-query a img,
  body.xm-bg-from-query figure a img {
    transition: filter .001s linear, outline-color .001s linear, outline-width .001s linear;
  }
  body.xm-bg-from-query a:hover img,
  body.xm-bg-from-query a:focus img,
  body.xm-bg-from-query figure:hover a img,
  body.xm-bg-from-query figure:focus-within a img {
    transform: none !important;
  }
}

/* =========================================
   Mark / inline color fixes
========================================= */
body.xm-bg-from-query .entry-content mark.has-inline-color[style*="color:#fff" i],
body.xm-bg-from-query .entry-content mark.has-inline-color[style*="color:#ffffff" i],
body.xm-bg-from-query .entry-content mark.has-inline-color[style*="color:#fafafa" i] {
  color: #2F3B52 !important;
}
body.xm-bg-from-query .entry-content mark.has-inline-color[style*="background-color:rgba(0,0,0,0)" i],
body.xm-bg-from-query .entry-content mark.has-inline-color[style*="background-color: transparent" i] {
  background-color: #FFF4C2 !important;
  color: #2F3B52 !important;
}
body.xm-bg-from-query a mark.has-inline-color,
body.xm-bg-from-query .wp-block-button .wp-block-button__link mark.has-inline-color,
body.xm-bg-from-query .wp-element-button mark.has-inline-color {
  color: inherit !important;
  background-color: inherit !important;
}

/* =========================================
   Post date
========================================= */
body.xm-bg-from-query .entry-content .wp-block-post-date,
body.xm-bg-from-query .entry-content .wp-block-post-date time {
  color: #2F3B52 !important;
  background: transparent !important;
}
body.xm-bg-from-query .wp-block-post-date,
body.xm-bg-from-query .wp-block-post-date time,
body.xm-bg-from-query .wp-block-post-date a,
body.xm-bg-from-query .wp-block-post-date a time {
  color: #2F3B52 !important;
  text-decoration: none !important;
}
body.xm-bg-from-query .wp-block-post-date a:hover,
body.xm-bg-from-query .wp-block-post-date a:focus {
  color: #2563EB !important;
  outline: none !important;
  box-shadow: none !important;
}
body.xm-bg-from-query .wp-block-post-date svg,
body.xm-bg-from-query .wp-block-post-date svg * {
  fill: #2F3B52 !important;
  stroke: #2F3B52 !important;
}
body.xm-bg-from-query .wp-block-post-date[style*="color:#fff" i],
body.xm-bg-from-query .wp-block-post-date[style*="color:#ffffff" i],
body.xm-bg-from-query .wp-block-post-date a[style*="color:#fff" i],
body.xm-bg-from-query .wp-block-post-date a[style*="color:#ffffff" i] {
  color: #2F3B52 !important;
}

/* =========================================
   Post Template as panel (.xm-panel on UL)
========================================= */
body.xm-bg-from-query ul.wp-block-post-template.xm-panel {
  background-color: #E6E7EC !important;
  border: 1px solid #D1D7E0 !important;
  border-radius: 12px !important;
  padding: 20px !important;
  box-shadow: none !important;
}
body.xm-bg-from-query ul.wp-block-post-template.xm-panel.is-layout-grid,
body.xm-bg-from-query ul.wp-block-post-template.xm-panel.wp-block-post-template-is-layout-grid {
  gap: var(--wp--style--block-gap, 1.5rem) !important;
}
body.xm-bg-from-query ul.wp-block-post-template.xm-panel > li.wp-block-post {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.xm-bg-from-query ul.wp-block-post-template.xm-panel:focus-within {
  box-shadow: 0 0 0 2px rgba(124,196,255,.45) !important;
  outline: none !important;
}
body.xm-bg-from-query ul.wp-block-post-template.xm-panel .wp-block-group:not(.xm-panel),
body.xm-bg-from-query ul.wp-block-post-template.xm-panel .wp-block-columns:not(.xm-panel) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* =========================================
   Show/hide utility classes
========================================= */
.xm-show-in-light {
  display: none !important;
  visibility: hidden !important;
}
body.xm-bg-from-query .xm-show-in-light {
  display: revert !important;
  visibility: visible !important;
}
body.xm-bg-from-query .xm-hide-in-light {
  display: none !important;
  visibility: hidden !important;
}

/* =========================================
   Pricing snippet marks
========================================= */
body.xm-bg-from-query .wp-container-core-group-is-layout-fc054d2d mark.has-inline-color.has-text-link-color {
  color: #0F5FC0 !important;
  background-color: transparent !important;
  text-decoration: none !important;
}
body.xm-bg-from-query .wp-container-core-group-is-layout-fc054d2d mark[style*="color:#fff" i],
body.xm-bg-from-query .wp-container-core-group-is-layout-fc054d2d mark[style*="color:#ffffff" i],
body.xm-bg-from-query .wp-container-core-group-is-layout-fc054d2d mark[style*="color:#fafafa" i] {
  color: #0F5FC0 !important;
}
body.xm-bg-from-query .wp-container-core-group-is-layout-fc054d2d p {
  color: #2F3B52 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.xm-bg-from-query .wp-block-group.is-layout-flex.is-nowrap mark.has-inline-color.has-text-link-color {
  color: #0F5FC0 !important;
  background-color: transparent !important;
}
body.xm-bg-from-query .wp-block-group.is-layout-flex.is-nowrap p.has-product-heading-font-size mark.has-inline-color.has-text-link-color {
  color: #0F5FC0 !important;
}

/* =========================================
   List bullet / number colors
========================================= */
body.xm-bg-from-query ul.wp-block-list > li::marker,
body.xm-bg-from-query ol.wp-block-list > li::marker,
body.xm-bg-from-query ul li::marker,
body.xm-bg-from-query ol li::marker {
  color: #0F5FC0 !important;
}

/* =========================================
   Footer social icons
========================================= */
body.xm-bg-from-query footer .wp-block-social-links svg,
body.xm-bg-from-query footer .wp-block-social-links svg *,
body.xm-bg-from-query .wp-block-footer .wp-block-social-links svg,
body.xm-bg-from-query .wp-block-footer .wp-block-social-links svg *,
body.xm-bg-from-query .site-footer .wp-block-social-links svg,
body.xm-bg-from-query .site-footer .wp-block-social-links svg * {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* =========================================
   Underline animation
========================================= */
body.xm-bg-from-query .underline-animation::before {
  background-color: #0F5FC0 !important;
}
body.xm-bg-from-query .underline-animation:hover::before {
  background-color: #2563EB !important;
}

/* =========================================
   Post Author Name
========================================= */
body.xm-bg-from-query .wp-block-post-author-name.has-link-color,
body.xm-bg-from-query .wp-block-post-author-name.has-text-link-color,
body.xm-bg-from-query .wp-block-post-author-name a,
body.xm-bg-from-query .wp-block-post-author-name a:link,
body.xm-bg-from-query .wp-block-post-author-name a:visited {
  color: #0F5FC0 !important;
  text-decoration: none !important;
}
body.xm-bg-from-query .wp-block-post-author-name a:hover,
body.xm-bg-from-query .wp-block-post-author-name a:focus {
  color: #2563EB !important;
  outline: none !important;
  box-shadow: none !important;
}
body.xm-bg-from-query .wp-block-post-author-name:not(.has-link-color):not(.has-text-link-color):not(:has(a)) {
  color: #2F3B52 !important;
}
body.xm-bg-from-query .wp-block-post-author-name[style*="color:#fff" i],
body.xm-bg-from-query .wp-block-post-author-name[style*="color:#ffffff" i] {
  color: #0F5FC0 !important;
}

/* =========================================
   Navigation
========================================= */
body.xm-bg-from-query .wp-block-navigation a,
body.xm-bg-from-query .wp-block-navigation .wp-block-navigation-item__content,
body.xm-bg-from-query .wp-block-navigation .wp-block-navigation-item__label {
  color: #2F3B52 !important;
  text-decoration: none !important;
}
body.xm-bg-from-query .wp-block-navigation-item.nav-link-blue a,
body.xm-bg-from-query .wp-block-navigation-item.nav-link-blue .wp-block-navigation-item__content,
body.xm-bg-from-query .wp-block-navigation-item.nav-link-blue .wp-block-navigation-item__label {
  color: #0F5FC0 !important;
}
body.xm-bg-from-query .wp-block-navigation a:hover,
body.xm-bg-from-query .wp-block-navigation a:focus {
  color: #2563EB !important;
  outline: none !important;
  box-shadow: none !important;
}
body.xm-bg-from-query .wp-block-navigation li.nav-link-blue > a::before,
body.xm-bg-from-query .wp-block-navigation li.nav-link-blue a.wp-block-navigation-item__content::before,
body.xm-bg-from-query .wp-block-navigation li.nav-link-white > a::before,
body.xm-bg-from-query .wp-block-navigation li.nav-link-white a.wp-block-navigation-item__content::before {
  background-color: #2d5eba !important;
}
body.xm-bg-from-query .wp-block-navigation li.nav-link-blue > a:hover::before,
body.xm-bg-from-query .wp-block-navigation li.nav-link-blue a.wp-block-navigation-item__content:hover::before,
body.xm-bg-from-query .wp-block-navigation li.nav-link-white > a:hover::before,
body.xm-bg-from-query .wp-block-navigation li.nav-link-white a.wp-block-navigation-item__content:hover::before {
  background-color: #2d5eba !important;
}

/* =========================================
   WHITE MODE — Gravity Forms field labels
   v1.0.1: Extra specificity needed because
   GF's theme framework loads its own
   var(--gf-local-color) !important AFTER
   this stylesheet, winning the cascade.
   Adding .gform_wrapper scope breaks the tie.
========================================= */
body.xm-bg-from-query .gform_wrapper .gfield_label,
body.xm-bg-from-query .gform_wrapper .gfield_label label,
body.xm-bg-from-query .gform_wrapper .gfield--type-html .gfield_label {
  color: #2F3B52 !important;
}

/* Required asterisk — brand blue */
body.xm-bg-from-query .gform_wrapper .gfield_required,
body.xm-bg-from-query .gform_wrapper .gfield_required .gfield_required {
  color: #0F5FC0 !important;
}

/* =========================================
   WHITE MODE — Gravity Forms field inputs
   Background matches panel/accordion gray (#E6E7EC)
   Border uses palette divider (#D1D7E0)
========================================= */
body.xm-bg-from-query .gform_wrapper input[type="text"],
body.xm-bg-from-query .gform_wrapper input[type="email"],
body.xm-bg-from-query .gform_wrapper input[type="tel"],
body.xm-bg-from-query .gform_wrapper input[type="url"],
body.xm-bg-from-query .gform_wrapper input[type="number"],
body.xm-bg-from-query .gform_wrapper input[type="password"],
body.xm-bg-from-query .gform_wrapper input[type="search"],
body.xm-bg-from-query .gform_wrapper input[type="date"],
body.xm-bg-from-query .gform_wrapper input[type="time"],
body.xm-bg-from-query .gform_wrapper textarea,
body.xm-bg-from-query .gform_wrapper select {
  background-color: #E6E7EC !important;
  color: #2F3B52 !important;
  border-color: #D1D7E0 !important;
}
/* Placeholder text */
body.xm-bg-from-query .gform_wrapper input::placeholder,
body.xm-bg-from-query .gform_wrapper textarea::placeholder {
  color: #6B7C93 !important;
  opacity: 1 !important;
}
/* Focus state — brand blue ring */
body.xm-bg-from-query .gform_wrapper input[type="text"]:focus,
body.xm-bg-from-query .gform_wrapper input[type="email"]:focus,
body.xm-bg-from-query .gform_wrapper input[type="tel"]:focus,
body.xm-bg-from-query .gform_wrapper input[type="url"]:focus,
body.xm-bg-from-query .gform_wrapper input[type="number"]:focus,
body.xm-bg-from-query .gform_wrapper input[type="password"]:focus,
body.xm-bg-from-query .gform_wrapper input[type="search"]:focus,
body.xm-bg-from-query .gform_wrapper input[type="date"]:focus,
body.xm-bg-from-query .gform_wrapper input[type="time"]:focus,
body.xm-bg-from-query .gform_wrapper textarea:focus,
body.xm-bg-from-query .gform_wrapper select:focus {
  border-color: #0F5FC0 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(124,196,255,.45) !important;
}

/* =========================================
   ADMIN BAR — hardcode WP default palette
   Prevents light-mode rules bleeding into
   #wpadminbar. Uses WordPress's own default
   admin bar colors so it always looks correct.
========================================= */
body.xm-bg-from-query #wpadminbar {
  background-color: #1d2327 !important;
}
body.xm-bg-from-query #wpadminbar *,
body.xm-bg-from-query #wpadminbar *::before,
body.xm-bg-from-query #wpadminbar *::after {
  color: #c3c4c7 !important;
  background-color: transparent !important;
  border-color: transparent !important;
  fill: #c3c4c7 !important;
  stroke: none !important;
  box-shadow: none !important;
  filter: none !important;
}
/* Hover / focus states */
body.xm-bg-from-query #wpadminbar .ab-item:hover,
body.xm-bg-from-query #wpadminbar .ab-item:focus,
body.xm-bg-from-query #wpadminbar .menupop:hover > .ab-item,
body.xm-bg-from-query #wpadminbar li:hover > .ab-item {
  color: #ffffff !important;
  background-color: transparent !important;
}
/* Dropdown menus */
body.xm-bg-from-query #wpadminbar .ab-sub-wrapper,
body.xm-bg-from-query #wpadminbar .ab-submenu {
  background-color: #1d2327 !important;
}
/* Notification / update count bubbles */
body.xm-bg-from-query #wpadminbar .ab-label,
body.xm-bg-from-query #wpadminbar .count {
  color: #c3c4c7 !important;
}

/* =========================================
   CLOUD TOUR EXCLUSION  v1.0.9
   Tour pages carry body.xmct-tour-page.
   Uses explicit values sourced directly from
   tour-builder.css so every element matches
   the tour's own design intent exactly.
   Palette reference:
     bg        #ffffff
     panel     #E6E7EC
     border    #D1D7E0
     text      #2F3B52
     headings  #0F5FC0
     muted     #6B7C93
     white     #ffffff (on dark/colored backgrounds)
========================================= */

/* ── Page body ───────────────────────────────────────────── */
body.xm-bg-from-query.xmct-tour-page {
  background-color: #ffffff !important;
  color: #2F3B52 !important;
}

/* ── Generic headings (outside hero) ────────────────────── */
body.xm-bg-from-query.xmct-tour-page h1,
body.xm-bg-from-query.xmct-tour-page h2,
body.xm-bg-from-query.xmct-tour-page h3,
body.xm-bg-from-query.xmct-tour-page h4,
body.xm-bg-from-query.xmct-tour-page h5,
body.xm-bg-from-query.xmct-tour-page h6 {
  color: #0F5FC0 !important;
}

/* ── Hero section — text sits on a dark blue gradient ───── */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-hero,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-hero h1,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-hero h2,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-hero h3,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-hero p,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-hero-sub {
  color: #ffffff !important;
}

/* ── Generic body text & paragraphs ─────────────────────── */
body.xm-bg-from-query.xmct-tour-page p,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-tagline,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-about-paragraph,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-feature-item,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-feature-desc,
body.xm-bg-from-query.xmct-tour-page .xmct-svc-desc,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-service-excerpt {
  color: #2F3B52 !important;
}

/* ── Muted / secondary text ──────────────────────────────── */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-services-title,
body.xm-bg-from-query.xmct-tour-page .xmct-section-sub,
body.xm-bg-from-query.xmct-tour-page .xmct-svc-desc,
body.xm-bg-from-query.xmct-tour-page .xmct-counter {
  color: #6B7C93 !important;
}

/* ── Product/service name headings ───────────────────────── */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-product-name,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-service-name,
body.xm-bg-from-query.xmct-tour-page .xmct-section-title,
body.xm-bg-from-query.xmct-tour-page .xmct-footer-cta-title,
body.xm-bg-from-query.xmct-tour-page .xmct-preview-card-name {
  color: #0F5FC0 !important;
}

/* ── Tab pills ───────────────────────────────────────────── */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-tab {
  color: #6B7C93 !important;
  border-color: #D1D7E0 !important;
  background-color: transparent !important;
}
body.xm-bg-from-query.xmct-tour-page .xmct-tp-tab:hover {
  color: #0F5FC0 !important;
  border-color: #0F5FC0 !important;
  background-color: transparent !important;
}
body.xm-bg-from-query.xmct-tour-page .xmct-tp-tab.xmct-tp-tab--active {
  background-color: #0F5FC0 !important;
  border-color: #0F5FC0 !important;
  color: #ffffff !important;
}
/* Tab nav strip background */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-tabs-wrap {
  background-color: #ffffff !important;
  border-color: #D1D7E0 !important;
}

/* ── Tour action buttons (.xmct-tp-btn) ──────────────────── */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-btn {
  background-color: #0F5FC0 !important;
  color: #ffffff !important;
  border-color: #0F5FC0 !important;
  background-image: none !important;
}
body.xm-bg-from-query.xmct-tour-page .xmct-tp-btn:hover {
  background-color: #2563EB !important;
  border-color: #2563EB !important;
  color: #ffffff !important;
}
body.xm-bg-from-query.xmct-tour-page .xmct-tp-btn--outline {
  background-color: #ffffff !important;
  color: #0F5FC0 !important;
  border: 2px solid #0F5FC0 !important;
}
body.xm-bg-from-query.xmct-tour-page .xmct-tp-btn--outline:hover {
  background-color: #0F5FC0 !important;
  color: #ffffff !important;
}

/* ── Service buttons (.xmct-tp-service-btn) ─────────────── */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-service-btn {
  background-color: #0F5FC0 !important;
  color: #ffffff !important;
  border: none !important;
  background-image: none !important;
}

/* ── Builder buttons inside #xmct-root ───────────────────── */
body.xm-bg-from-query.xmct-tour-page .xmct-btn--primary,
body.xm-bg-from-query.xmct-tour-page a.xmct-btn--primary {
  background-color: #0F5FC0 !important;
  color: #ffffff !important;
  background-image: none !important;
}
body.xm-bg-from-query.xmct-tour-page .xmct-btn--outline {
  background-color: transparent !important;
  color: #0F5FC0 !important;
  border-color: #0F5FC0 !important;
}
body.xm-bg-from-query.xmct-tour-page .xmct-btn--ghost {
  background-color: transparent !important;
  color: #6B7C93 !important;
  border-color: #D1D7E0 !important;
}

/* ── Links (non-button) ─────────────────────────────────── */
body.xm-bg-from-query.xmct-tour-page a {
  color: #0F5FC0 !important;
}
body.xm-bg-from-query.xmct-tour-page a:hover {
  color: #2563EB !important;
}

/* ── SVG icons — let the tour control all fill/stroke ───── */
body.xm-bg-from-query.xmct-tour-page svg,
body.xm-bg-from-query.xmct-tour-page svg path {
  fill: initial !important;
  stroke: initial !important;
}

/* ── Images — disable light-mode hover effects ───────────── */
body.xm-bg-from-query.xmct-tour-page img {
  filter: none !important;
}
body.xm-bg-from-query.xmct-tour-page a img,
body.xm-bg-from-query.xmct-tour-page figure a img {
  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

/* ── List markers ─────────────────────────────────────────── */
body.xm-bg-from-query.xmct-tour-page ul li::marker,
body.xm-bg-from-query.xmct-tour-page ol li::marker {
  color: #0F5FC0 !important;
}
/* Feature list bullets use a CSS pseudo, not ::marker */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-feature-item::before,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-about-bullets li::before {
  background-color: #0F5FC0 !important;
  color: #2F3B52 !important;
}

/* ── Panel / card backgrounds ────────────────────────────── */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-product-col,
body.xm-bg-from-query.xmct-tour-page .xmct-tp-service-card,
body.xm-bg-from-query.xmct-tour-page .xmct-preview-card,
body.xm-bg-from-query.xmct-tour-page .xmct-service-card {
  background-color: #ffffff !important;
  border-color: #D1D7E0 !important;
}
/* Service card grid wrapper — transparent on tour pages */
body.xm-bg-from-query.xmct-tour-page .xmct-tp-service-cards {
  background-color: transparent !important;
  border: none !important;
}
/* Gray tray only inside the builder preview, not the live tour page */
body.xm-bg-from-query.xmct-tour-page .xmct-service-grid,
body.xm-bg-from-query.xmct-tour-page .xmct-preview-svcs-wrap {
  background-color: #E6E7EC !important;
  border-color: #D1D7E0 !important;
}

/* ── Inputs inside the builder ───────────────────────────── */
body.xm-bg-from-query.xmct-tour-page .xmct-about-input,
body.xm-bg-from-query.xmct-tour-page .xmct-about-textarea {
  background-color: #ffffff !important;
  color: #2F3B52 !important;
  border-color: #D1D7E0 !important;
  box-shadow: none !important;
}
body.xm-bg-from-query.xmct-tour-page .xmct-about-input:focus,
body.xm-bg-from-query.xmct-tour-page .xmct-about-textarea:focus {
  border-color: #0F5FC0 !important;
  box-shadow: 0 0 0 3px rgba(15,95,192,0.1) !important;
}

/* ── Inputs in the hero (restore key) stay white-on-dark ─── */
body.xm-bg-from-query.xmct-tour-page .xmct-key-input {
  background-color: rgba(255,255,255,0.1) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.3) !important;
  box-shadow: none !important;
}
