/* Sion Aguascalientes: load after Hallelujah and Elementor. */
body {
  --sion-blue: #0074b5;
  --sion-blue-hover: #005786;
  --sion-ink: #323e45;
  --sion-muted: #52636e;
  --sion-paper: #ffffff;
  --sion-field: #edf1f4;
  --sion-on-dark: #e5edf2;
  --sion-link-dark: #91d4ff;
  --e-global-color-primary: var(--sion-blue);
  --e-global-color-secondary: var(--sion-ink);
  --e-global-color-text: var(--sion-muted);
  --e-global-color-accent: var(--sion-blue);
}

/* Contextual links: retain white text on photo cards and filled buttons. */
body .scheme_default { --sion-link: var(--sion-blue); --sion-link-hover: var(--sion-blue-hover); }
body .scheme_dark { --sion-link: var(--sion-link-dark); --sion-link-hover: #ffffff; }
body :is(.scheme_default, .scheme_dark) a:not(.sc_button):not(.elementor-button):not(.wp-block-button__link) {
  color: var(--sion-link, var(--sion-blue));
}
body :is(.scheme_default, .scheme_dark) a:not(.sc_button):not(.elementor-button):not(.wp-block-button__link):is(:hover, :focus-visible) {
  color: var(--sion-link-hover, var(--sion-blue-hover));
}
body .post_featured .post_info a,
body .sc_services_item .sc_services_item_title a { color: inherit; }

/* Theme hover effects contain gradients and !important declarations. */
body .page_wrap :is(.sc_button, .elementor-button, .wp-block-button__link, input[type="submit"], button[type="submit"], .sc_action_item_link) {
  color: #ffffff !important;
  background: var(--sion-blue) !important;
  border-color: var(--sion-blue) !important;
}
body .page_wrap :is(.sc_button, .elementor-button, .wp-block-button__link, input[type="submit"], button[type="submit"], .sc_action_item_link):is(:hover, :focus-visible) {
  color: #ffffff !important;
  background: var(--sion-blue-hover) !important;
  border-color: var(--sion-blue-hover) !important;
}
body .page_wrap :is(.sc_button_simple, .sc_button_bordered) {
  color: var(--sion-link, var(--sion-blue)) !important;
  background: transparent !important;
}
body .page_wrap :is(.sc_button, .elementor-button) :is(span, i) { color: inherit !important; }

body .scheme_default .sc_icons .sc_icons_icon { color: var(--sion-blue); }
body .scheme_dark .sc_icons .sc_icons_icon { color: var(--sion-link-dark); }
body .scheme_default .sc_icons .sc_icons_item_description { color: var(--sion-ink); }
body .scheme_dark .sc_icons .sc_icons_item_description { color: var(--sion-on-dark); }

/* A known dark surface is essential when decorative images fail to load. */
body .elementor-378 :is(.elementor-element-377f5963, .elementor-element-2e247310, .elementor-element-30e2f23) {
  background-color: #253946;
}
body .elementor-378 :is(.elementor-element-377f5963, .elementor-element-2e247310, .elementor-element-30e2f23) > .elementor-background-overlay {
  background-color: #172c3a;
  opacity: .78;
}
body .scheme_dark :is(.sc_item_title, .sc_item_subtitle, .sc_testimonials_item_content, .sc_testimonials_item_author_title) { color: #ffffff; }

/* Footer layout 462: explicit text colors beat nested theme schemes. */
body footer.footer_wrap { color: var(--sion-on-dark); background-color: var(--sion-ink); }
body footer.footer_wrap :is(h1, h2, h3, h4, h5, h6, .sc_item_title_text) { color: #ffffff !important; }
body footer.footer_wrap :is(p, .sc_icons_item_description, .sc_icons_item_description span, .post_meta, .post_meta_item, .post_info, .post_info_item) { color: var(--sion-on-dark) !important; }
body footer.footer_wrap a { color: var(--sion-on-dark) !important; }
body footer.footer_wrap a:is(:hover, :focus-visible) { color: var(--sion-link-dark) !important; text-decoration: underline; }
body footer.footer_wrap .sc_icons .sc_icons_icon { color: var(--sion-link-dark) !important; }

/* Both contact and newsletter inputs use a light surface and dark text. */
body .page_wrap :is(.wpcf7, .mc4wp-form, .search_form) :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select) {
  color: var(--sion-ink) !important;
  background-color: var(--sion-field) !important;
  border-color: #71828e;
  caret-color: var(--sion-ink);
}
body .page_wrap :is(.wpcf7, .mc4wp-form, .search_form) :is(input, textarea)::placeholder { color: var(--sion-muted) !important; opacity: 1; }
body .page_wrap :is(a, button, input, textarea, select):focus-visible { outline: 3px solid #0074b5; outline-offset: 3px; }
body .scheme_dark :is(a, button, input, textarea, select):focus-visible,
body footer :is(a, button, input, textarea, select):focus-visible { outline-color: #91d4ff; }
body .wpcf7 .wpcf7-not-valid-tip { color: #a11926; }
body .scheme_dark :is(.wpcf7-response-output, .mc4wp-response) { color: #ffffff; }

/* Preserve disabled behavior while keeping the label readable. */
body .page_wrap form :is(input[type="submit"], button[type="submit"]):disabled {
  color: #ffffff !important;
  background: #52636e !important;
  border-color: #52636e !important;
  opacity: 1;
  cursor: not-allowed;
}
/* Interior title banners need a fallback behind their white headings. */
body .top_panel .elementor-section.scheme_dark { background-color: #253946; }
body .menu_mobile .menu_mobile_nav_area a,
body .sc_layouts_row .sc_layouts_menu_mobile_button a { color: #91d4ff !important; }
body .menu_mobile .menu_mobile_nav_area a:is(:hover, :focus-visible) { color: #ffffff !important; }
body .sc_layouts_menu_mobile_button .sc_layouts_item_icon { color: var(--sion-blue) !important; }
body .scheme_dark .sc_layouts_menu_mobile_button .sc_layouts_item_icon { color: var(--sion-link-dark) !important; }
