/**
 * Street Team Studios Accessibility — front-end styles.
 *
 * Loaded only when the "Focus states, colour contrast & keyboard
 * navigation" module is enabled (Settings → Accessibility). Scoped
 * narrowly to the elements the audit flagged; nothing here changes overall
 * layout, spacing or typography.
 */

/* -----------------------------------------------------------------------
 * 1. Focus indicators (WCAG 2.4.7)
 * The theme's own `a:focus{outline:0}` (style.css) removes all focus
 * rings. This restores a high-contrast one on every interactive element,
 * plus a fallback for browsers without :focus-visible support.
 *
 * Uses box-shadow, not outline: the wpsm FAQ accordion plugin emits a
 * per-instance inline <style> block (e.g. "#wpsm_accordion_3185
 * .wpsm_panel-title a:focus{outline:0!important}") whose ID selector
 * out-specifies any outline rule this stylesheet could add. box-shadow
 * is a property nothing else on the site sets on :focus, so it always
 * wins without needing to out-specify anything.
 * --------------------------------------------------------------------- */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
summary:focus,
[tabindex]:focus,
.wpsm_panel-heading a:focus {
	box-shadow: 0 0 0 2px #fff, 0 0 0 5px #003878 !important;
	outline: 3px solid transparent !important;
	outline-offset: 2px !important;
}

.skip-link.screen-reader-text:focus {
	box-shadow: 0 0 0 2px #fff, 0 0 0 5px #003878 !important;
}

/* Desktop dropdown sub-menus should stay reachable via keyboard, not just
 * mouse hover (style.css opens them on :hover only). */
.main-navigation li.menu-item-has-children:focus-within > .sub-menu,
.main-navigation li.menu-item-has-children:focus-within > ul {
	display: block !important;
}

/* -----------------------------------------------------------------------
 * 2. Colour contrast (WCAG 1.4.3) — darker pink, ~4.85:1 on white,
 * replacing the ~4.0:1 brand pink only where it is used as text.
 * --------------------------------------------------------------------- */
.main-navigation li a:hover,
.main-navigation li.current-menu-item a,
.main-navigation li.current_page_item a,
.entry-title a,
.entry-content a,
.wpsm_panel-title,
.wpsm_panel-title a,
.wpsm_panel-title span,
#myDIV,
.mean-container a.meanmenu-reveal {
	/* #c2106f, not the lighter #d61a82 used for backgrounds below: the FAQ
	 * accordion headings (.wpsm_panel-title) sit on a light grey
	 * (#e8e8e8) background, where #d61a82 only reaches 3.95:1. #c2106f
	 * clears AA (4.5:1) on both grey and white. */
	color: #c2106f;
}

/* The site's own Customizer "Additional CSS" sets a bare `a { color:
 * #ed2490 }` (~4.0:1 on white), which every link without a more specific
 * rule inherits — post-date/byline links, sidebar widget links, and the
 * footer's phone/email/FAQ links all have no theme rule of their own, so
 * they fall through to that failing pink. Each selector below is specific
 * enough (class + type) to beat that bare `a` selector without
 * !important, restoring the theme's own passing grey (#6f6f63, ~5.1:1)
 * rather than introducing a third colour. Flagged in the report: the
 * Customizer CSS itself is outside this plugin's scope to edit. */
.posted-on a,
.entry-meta a,
.widget a,
.site-footer a {
	color: #6f6f63;
}

#myDIV {
	background-color: #d61a82;
	color: #fff;
}

.mean-container a.meanmenu-reveal {
	background-color: #d61a82 !important;
	color: #fff;
}

/* Links inside body copy need a non-colour cue too (WCAG 1.4.1), since no
 * shade of the brand pink reaches 3:1 against the surrounding grey text.
 * Scoped to .entry-content (post/page body) so nav, buttons and other
 * chrome outside the content area are unaffected. */
.entry-content a,
.wpsm_panel-body a {
	text-decoration: underline;
}

/* Third-party "Join Here!" button colour is set via Hustle's own inline
 * <style>; !important is needed to win against that per-instance rule.
 * Flagged in the accessibility report to also fix in Hustle's settings. */
.hustle-ui a.hustle-button-cta {
	color: #c2106f !important;
}

/* -----------------------------------------------------------------------
 * 3. Misc low-contrast text spotted in the audit.
 * --------------------------------------------------------------------- */
.flex-caption,
.slide-title {
	color: #5a5a51;
}

/* -----------------------------------------------------------------------
 * 4. Click-only footer toggle becomes a real button (JS adds the
 * role/tabindex; this just keeps its look unchanged and shows a pointer).
 * --------------------------------------------------------------------- */
[data-sts-toggle] {
	cursor: pointer;
}

/* -----------------------------------------------------------------------
 * 5. Reduced motion: pause the home page carousel for anyone who asked
 * the OS to minimise animation. JS also reads this preference.
 * --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	#bdgslider .item {
		transition: none !important;
	}
}
