/* Post-migration QA fixes (Danilo pre-go-live round): responsive overflow + a11y.
   Loaded last so it wins over theme/plugin CSS. No visual redesign — only containment,
   focus visibility, and touch-target sizing. */

/* 1) Horizontal-overflow containment.
   The GS Logo Slider (Swiper) and Smart Slider 3 lay their off-screen slides / controls
   out in a row that leaked ~47px past the viewport (scrollWidth > clientWidth at >=768px).
   Clip the carousels at their own containers, and clip any residual at the page root.
   overflow-x:clip (not hidden) does NOT break position:sticky (the sticky header). */
.gs_logo_container,
.gs_carousel_swiper,
.swiper,
.n2-ss-slider,
.n2-ss-slider-controls,
.n2-ss-align,
.n2-section-smartslider { overflow: hidden; }
html, body { overflow-x: clip; max-width: 100%; }

/* 2) Visible keyboard focus. The theme suppressed focus outlines; restore a clear,
   brand-colored focus ring for every interactive element (WCAG 2.4.7). */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.n2-bullet:focus-visible,
.swiper-pagination-bullet:focus-visible {
  outline: 3px solid #5F4AF3 !important;
  outline-offset: 2px !important;
  border-radius: 2px;
}

/* 3) Touch-target size. The Smart Slider pagination dots were ~10x10px. Keep the visible
   dot small but expand the hit area to >=24x24px (WCAG 2.5.8) via padding + bg-clip so the
   dot itself is unchanged visually. */
.n2-bullet {
  min-width: 24px !important;
  min-height: 24px !important;
  background-clip: content-box !important;
  padding: 7px !important;
  box-sizing: border-box !important;
}

/* 4) Contrast: the FluentForm submit button was white text on #1a7efb (~3.87:1, below
   WCAG AA 4.5:1). Darken the blue so the label passes (#1565c0 -> ~5.9:1). */
.fluentform .ff-btn-submit,
.fluentform button[type="submit"],
.ff-btn.ff-btn-submit,
.frm_button_submit {
  background-color: #1565c0 !important;
}
