/* ==========================================================================
   C.R. Chicks — WCAG 2.2 AA remediation: CSS layer
   Original layer verified by live-page injection on 15 Sep 2026.
   Revised layer tested in the authorized Local copy on 5 Oct 2026.

   Load from the Avada CHILD theme. Never edit the parent theme.

   CMS-FIRST: Avada options and saved button attributes supply native colours.
   This stylesheet adds only the remaining component/accessibility states;
   it does not pin those saved options with duplicate root variables.

   MEASURED CONTRAST (verified in-page against the live computed values)
     #4379B8 on #FFFFFF ............ 4.50:1   (needs 4.5) — was #C8D8EB @ 1.45:1
     #FFFFFF on #4879B2 ............ 4.51:1   (needs 4.5) — was #A4BDDA @ 1.93:1
     #9B2308 on #B0C5E1 ............ 4.52:1   (needs 4.5) — was #C02B0A @ 3.32:1
     #5A6B80 on #FFFFFF ............ 5.46:1   (needs 3.0) — border, was < 3:1
     #002D72 on #FFFFFF ........... 12.98:1   (needs 3.0) — focus ring
     #B49102 on #FFFFFF ............ 3.00:1   (needs 3.0) — icon hover, no margin
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CMS colours are saved in Avada Options and the reviewed Home buttons.
   No :root colour overrides or duplicate Home button variables remain.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   2. FOCUS INDICATOR
   Issues 7, 25 — 2.4.7 Focus Visible (AA), 1.4.1 Use of Color (A),
                  1.4.11 Non-text Contrast (AA)

   ROOT CAUSE FOUND LIVE: <body> carries .fusion-disable-outline, an Avada
   setting that strips focus outlines site-wide. Three further rules also
   kill it, all confirmed present in the compiled Avada CSS:
       .flex-container a:focus, .flexslider a:focus        { outline: 0 }
       #sb_instagram a:focus, .sbi_lightbox a:focus        { outline: none }
       .fusion-disable-outline input, select, textarea     { outline: 0 }
   The selectors below are written specifically to outrank all of them.
   VERIFIED live: 3px solid #002D72, offset 2px, on a real Tab press.
   -------------------------------------------------------------------------- */
body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible,
body .fusion-selfhosted-video video:focus-visible,
body summary:focus-visible,
body [tabindex]:not([tabindex="-1"]):focus-visible,
body .flexslider a:focus-visible,
body .flex-container a:focus-visible,
body .flex-direction-nav a:focus-visible,
body .flex-control-nav a:focus-visible,
body #sb_instagram a:focus-visible,
body .sbi_lightbox a:focus-visible,
body #sf-floating-button:focus,
body #sf-modal-closeButton:focus-visible,
body #sf-modal-footer a:focus-visible,
body #toTop:focus-visible {
  outline: 3px solid #002D72 !important;   /* 12.98:1 on white */
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #FFFFFF !important; /* halo keeps it visible on navy/red */
  border-radius: 2px;
}

/* --------------------------------------------------------------------------
   3. Social/menu hover colours come from the native saved Avada options.
   Keyboard focus rings remain in section 2.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   4. Minimal phase: homepage/SR7 banner styling is deferred.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   5. GRAVITY FORMS
   Issue 16 — 1.4.3 "(Required)" marker.  VERIFIED applied: rgb(155,35,8).
   Issue 21 is corrected in the existing scoped Avada Custom CSS source.
   No duplicate input background or border is added here.
   Live markup note: the submit control is <button class="gform_button">,
   NOT input[type=submit] — an input[type=submit] selector matches nothing.
   -------------------------------------------------------------------------- */
.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required .gfield_required_text,
.gform_wrapper .gform_required_legend,
.gform_wrapper .validation_message {
  color: #9B2308 !important;
}

/* --------------------------------------------------------------------------
   6. CAROUSEL TARGET SIZE
   Issue 46 — 2.5.8 Target Size (Minimum), AA (new in WCAG 2.2).
   VERIFIED live: pagination dots measured 11x11 before, 24x24 after.
   The visible dot keeps its design size; only the hit target grows.
   -------------------------------------------------------------------------- */
.flex-control-nav li { margin: 0 3px !important; }
.flex-control-nav li a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 24px !important;
  min-height: 24px !important;
  box-sizing: border-box;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-indent: 0 !important;
  font-size: 0 !important;
}
.flex-control-nav li a::before {
  content: "";
  width: 10px; height: 10px;
  box-sizing: border-box;
  border: 2px solid var(--carousel_nav_color);
  border-radius: 50%;
  background: #FFFFFF;
}
.flex-control-nav li a.flex-active::before {
  background: var(--carousel_nav_color);
  outline: 2px solid var(--carousel_nav_color);
  outline-offset: 2px;
}
/* Native arrow fill/text/hover colours are supplied by Avada.
   The component reduces opacity independently; keep its controls opaque. */
.flex-direction-nav a,
.flex-direction-nav a:hover,
.flex-direction-nav a:focus {
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   7. SUPPORT CLASSES for the JS layer (a11y-remediation.js)
   -------------------------------------------------------------------------- */
.crc-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}
/* Issue 23: the vendor bar has a higher stacking level than Avada's menu.
   Hide that locked background control while the flyout owns interaction.
   The existing inert restoration removes the marker and restores the bar. */
body #sf-floating-button-container[data-crc-inert],
body [data-crc-inert] #sf-floating-button-container {
  visibility: hidden !important;
}
.crc-video-description { font-size: 16px; line-height: 1.5; margin: 12px 0 24px; color: #002D72; }

/* --------------------------------------------------------------------------
   8. REDUCED MOTION — respect the user's CSS animation preference
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* Issue 30 follow-up: reserve the known SDK Close target's visual space.
   The heading remains first in reading order; no provider action is removed. */
#sf-modal-dialog #sf-modal-title {
  box-sizing: border-box;
  padding-left: 0;
  padding-right: 52px;
  overflow-wrap: anywhere;
}
@media (max-width: 480px) {
  #sf-modal-dialog #sf-modal-title {
    padding-top: 52px;
    padding-right: 0;
  }
}
