.form-consent a {
  font-size: inherit !important;
  color: inherit !important;
  text-decoration: underline !important;
}

.form-consent a:hover,
.form-consent a:active,
.form-consent a:focus {
  text-decoration: none !important;
}

.form-consent p > a {
  font-size: inherit !important;
  color: inherit !important;
  text-decoration: underline !important;
}

.form-consent p > a:hover,
.form-consent p > a:active,
.form-consent p > a:focus {
  text-decoration: none !important;
}

body.home .form-call {
  a {
    color: inherit;
  }
}

.gform_wrapper {
  .validation_error {
    display: none;
  }
}

/* Fixing program field list item margin bottom */
.fr-form .fr-programs ul { margin: 0 !important; }
.fr-form .fr-programs ul li.fr-combobox__group { margin: 0 !important; }
.fr-form .fr-programs ul li.fr-combobox__option { margin: 0 !important; padding: 2px 8px }

/* ==========================================================================
   focus.css  v1.2
   Bulletproof WCAG 2.x AA/AAA focus styles — no CSS variables, no @layer
   Maximum browser compatibility including IE 9+
   Import before all other stylesheets.
   ========================================================================== */

/* ── 1. Reset all browser/component outlines ────────────────────────────────── */
*,
*::before,
*::after {
  outline:        none !important;
  outline-offset: 0    !important;
}

/* ── 2. Legacy :focus fallback (IE 9+, all browsers without :focus-visible) ─── */
:focus {
  outline:        2px solid #0066CC !important;
  outline-offset: 2px               !important;
  box-shadow:
    0 0 0 2px #ffffff,
    0 0 0 4px #0066CC               !important;
  border-radius:  3px               !important;
}

/* ── 3. Suppress ring for pointer/touch — modern browsers only ──────────────── */
:focus:not(:focus-visible) {
  outline:    none !important;
  box-shadow: none !important;
}

/* ── 4. Explicit :focus-visible for keyboard users — modern browsers ─────────── */
:focus-visible {
  outline:        2px solid #0066CC !important;
  outline-offset: 2px               !important;
  box-shadow:
    0 0 0 2px #ffffff,
    0 0 0 4px #0066CC               !important;
  border-radius:  3px               !important;
}

/* ── 5. Windows High Contrast / forced-colors ───────────────────────────────── */
@media (forced-colors: active) {
  :focus,
  :focus-visible {
    outline:        3px solid ButtonText !important;
    outline-offset: 2px                  !important;
    box-shadow:     none                 !important;
  }
}

/* ── 6. Respect prefers-reduced-motion ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  :focus,
  :focus-visible {
    transition: none !important;
  }
}

/* ── 7. Skip link ───────────────────────────────────────────────────────────── */
.skip-link {
  position:        absolute;
  top:             -100%;
  left:            1rem;
  z-index:         9999;
  padding:         0.5rem 1rem;
  background:      #ffffff;
  color:           #000000;
  font-weight:     bold;
  text-decoration: none;
  border-radius:   4px;
  transition:      top 0.1s;
}

.skip-link:focus,
.skip-link:focus-visible {
  top: 1rem;
}

/* =====================================================
   SKYE CHATBOT SAFE POSITION FIX
   Supports multiple footer layouts.
   Keeps existing design. Only fixes button position + top cut.
   ===================================================== */

/* Desktop: Ask Skye button */
#rag-chat-widget-container,
.MuiScopedCssBaseline-root .MuiBox-root {
    bottom: 70px !important;
}

/* Desktop: open Skye chat window */
#rag-chat-widget-container .skye-chat-window,
#chat-widget-container {
    bottom: 140px !important;
    max-height: calc(100vh - 156px) !important;
}

/* Dynamic viewport support */
@supports (height: 100dvh) {
    #rag-chat-widget-container .skye-chat-window,
    #chat-widget-container {
        max-height: calc(100dvh - 156px) !important;
    }
}

/* =====================================================
   MOBILE DEFAULT: compact 1-row footer
   Footer layout:
   [Phone] [Request Info] [Apply Now]
   ===================================================== */
@media screen and (max-width: 800px) {

    body {
        --skye-mobile-button-bottom: 58px;
        --skye-mobile-window-bottom: 122px;
        --skye-mobile-window-max-offset: 132px;
    }

    /* Hide Back to Top button on mobile to avoid conflict with Skye */
    body:has(.MuiScopedCssBaseline-root) .desktop-fixed-footer .back-to-top,
	  body:has(.MuiScopedCssBaseline-root) .desktop-fixed-footer .back-to-top a,
	  body:has(#rag-chat-widget-container) .desktop-fixed-footer .back-to-top,
	  body:has(#rag-chat-widget-container) .desktop-fixed-footer .back-to-top a {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Mobile: Ask Skye button */
    #rag-chat-widget-container,
    .MuiScopedCssBaseline-root .MuiBox-root {
        bottom: var(--skye-mobile-button-bottom) !important;
    }

    /* Mobile: open Skye chat window */
    #rag-chat-widget-container .skye-chat-window,
    #chat-widget-container {
        bottom: var(--skye-mobile-window-bottom) !important;
        max-height: calc(100vh - var(--skye-mobile-window-max-offset)) !important;
    }
}

/* Dynamic viewport support for mobile */
@supports (height: 100dvh) {
    @media screen and (max-width: 800px) {
        #rag-chat-widget-container .skye-chat-window,
        #chat-widget-container {
            max-height: calc(100dvh - var(--skye-mobile-window-max-offset)) !important;
        }
    }
}

/* =====================================================
   MOBILE OVERRIDE: stacked 2-row footer
   footer layout:
   [Phone] [Request Info]
   [Apply Now]
   ===================================================== */
@media screen and (max-width: 800px) {
    body:has(.desktop-fixed-footer .desktop-fixed-request-info.elementor-widget-text-editor):has(.desktop-fixed-footer .desktop-fixed-apply.elementor-widget-button):has(.desktop-fixed-footer .back-to-top .go2Top) {
        --skye-mobile-button-bottom: 96px;
        --skye-mobile-window-bottom: 160px;
        --skye-mobile-window-max-offset: 170px;
    }
}

/* Prevent inner MUI boxes from moving inside chat window */
#rag-chat-widget-container .skye-chat-window .MuiBox-root,
#chat-widget-container .MuiBox-root {
    bottom: auto !important;
}