/*
 * Mefcom — WCAG 2.1 AA stylesheet.
 * Loaded last in <head> (injected by a11y/A11yRemediator.php) so it can correct the
 * template, SP Page Builder and database-supplied styles.
 *
 * Colour decisions
 *   Brand red   #ec1c25 → #d0151e   5.51:1 on white, 5.06:1 on #f5f5f5   (1.4.3)
 *   Orange text #f5941e → #a85800   5.17:1 on white                      (1.4.3)
 *   Grey text   #808080 → #595959   7.0:1 on white                       (1.4.3)
 *   Focus ring  #0b57d0 + white halo, ≥ 3:1 on every surface used here   (1.4.11, 2.4.7)
 */

:root {
	--a11y-red: #d0151e;
	--a11y-red-dark: #a8101a;
	--a11y-orange-text: #a85800;
	--a11y-text: #2b2b2b;
	--a11y-muted: #595959;
	--a11y-focus: #0b57d0;
	--sppb-link-color: #d0151e;
	--sppb-menu-text-hover-color: #a85800;
}

/* ---------------------------------------------------------------- utilities */

.visually-hidden,
.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ------------------------------------------------- 2.4.1 Bypass blocks: skip link */

.a11y-skip-link {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100000;
	padding: .75rem 1.25rem;
	background: #fff;
	color: #1a1a1a !important;
	font-weight: 700;
	text-decoration: underline;
	transform: translateY(-120%);
	transition: transform .15s ease-out;
}

.a11y-skip-link:focus {
	transform: translateY(0);
	outline: 3px solid var(--a11y-focus);
	outline-offset: -3px;
}

main:focus,
#main-content:focus {
	outline: none;
}

/* ----------------------------------------------- 2.4.7 / 1.4.11 Focus visible */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
iframe:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible {
	outline: 3px solid var(--a11y-focus) !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 5px #fff !important;
	transition: outline 0s, outline-offset 0s, box-shadow 0s !important;
}

/* Keep native rings for browsers without :focus-visible. */
@supports not selector(:focus-visible) {
	a:focus, button:focus, input:focus, select:focus, textarea:focus, [tabindex]:focus {
		outline: 3px solid var(--a11y-focus) !important;
		outline-offset: 2px !important;
	}
}

/* Form fields: a visible 3:1 border (1.4.11). */
.sppb-form-control,
.form-control,
.a11y-form input:not([type="radio"]):not([type="checkbox"]),
.a11y-form select,
.a11y-form textarea {
	border: 1px solid #767676 !important;
}

/* --------------------------------------------- 1.4.3 Contrast — template preset */

a,
a:hover,
a:focus,
a:active {
	color: var(--a11y-red);
}

a:hover {
	color: var(--a11y-red-dark);
}

.btn-primary,
.sppb-btn-primary,
.search .btn-toolbar button,
.pagination > .active > a,
.pagination > .active > span,
.tags > li a:hover,
.sp-module .tagscloud .tag-name:hover {
	background-color: var(--a11y-red) !important;
	border-color: var(--a11y-red) !important;
	color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.sppb-btn-primary:hover,
.sppb-btn-primary:focus {
	background-color: var(--a11y-red-dark) !important;
	border-color: var(--a11y-red-dark) !important;
	color: #fff !important;
}

.sp-page-title {
	background-color: var(--a11y-red) !important;
}

.tags > li a {
	color: var(--a11y-red);
}

/* The desktop mega menu sits on a black bar, where the preset's bright red (4.77:1)
   and orange (8.9:1) already pass — they are deliberately left alone. */

.offcanvas-menu .offcanvas-inner a:hover,
.offcanvas-menu .offcanvas-inner a:focus,
.sp-module ul > li > a:hover,
ul.social-icons > li a:hover {
	color: var(--a11y-red) !important;
}

.error-code,
.coming-soon-number {
	color: var(--a11y-red);
}

/* "MEFCOM" brand spans in body copy were orange (#f5941e, 2.3:1 on white).
   In the dark footer the original orange passes (8.6:1), so only main content changes. */
#main-content .redmef,
#main-content .sppb-addon-text-block h3 > span {
	color: var(--a11y-orange-text) !important;
}

/* DropFiles category links on the Investors page were grey (3.94:1). */
.dropfiles-content .dropfilescategory:not(.backcategory),
.dropfiles-content .dropfilescategory:not(.backcategory) > span {
	color: #595959 !important;
}

/* SP Page Builder table addon: cells were "grey" (3.68:1 on #f8f6ff). */
.sppb-addon-table-main td,
.sppb-addon-table-main th {
	color: #595959;
}

/* Tab labels on the grey inactive background. */
.sppb-nav-tabs > li > a,
.sppb-nav-tabs > li > a:hover,
.sppb-nav-tabs > li > a:focus {
	color: var(--a11y-red) !important;
}

.sppb-nav-tabs > li:not(.active) > a {
	background-color: #f5f5f5;
}

/* Legacy table-based login boxes (Back office / Track your portfolio). */
.leftext,
.leftext strong {
	color: #1a1a1a !important;
}

[bgcolor="#c41d17" i],
[bgcolor="#c41d17" i] :not(input):not(select):not(textarea):not(button):not(option),
[bgcolor="#f20801" i],
[bgcolor="#f20801" i] :not(input):not(select):not(textarea):not(button):not(option),
[bgcolor="#e01409" i],
[bgcolor="#e01409" i] :not(input):not(select):not(textarea):not(button):not(option) {
	color: #fff !important;
}

[bgcolor="#f20801" i],
[bgcolor="#e01409" i] {
	background-color: var(--a11y-red) !important;
}

/* ------------------------------------------- 1.4.1 Use of colour: links in text */

.sppb-addon-text-block .sppb-addon-content a:not(.sppb-btn),
.sppb-addon-raw-html .sppb-addon-content p a,
.sppb-addon-raw-html .sppb-addon-content td a,
.sppb-addon-raw-html .sppb-addon-content li a,
.article-details .article-body a,
#sp-component .item-page a:not(.btn),
.sppb-addon-text-block a.link,
a.link,
a.nonetext {
	text-decoration: underline !important;
	text-underline-offset: .15em;
}

/* ----------------------------------------- 2.4.3 / 4.1.2 Off-canvas mobile menu */

.offcanvas-menu {
	visibility: hidden;
	transition: visibility 0s linear .4s, transform .4s ease, left .4s ease, right .4s ease, opacity .4s ease;
}

.offcanvas-active .offcanvas-menu {
	visibility: visible;
	transition-delay: 0s;
}

/* 1.4.11: the burger lines were black on the black header bar — invisible. */
#sp-header #offcanvas-toggler .burger-icon > span {
	background-color: #fff !important;
}

#offcanvas-toggler,
.close-offcanvas {
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
}

/* ------------------------------------------------------------------ landmarks */

.a11y-landmark {
	display: block;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

/* Replaces "#sp-header.header-sticky ~ section#sp-main-body" from custom.css, which
   no longer matches once the header sits inside the banner landmark. */
body:has(#sp-header.header-sticky) #sp-main-body {
	padding-top: 0;
}

/* ------------------------- 1.3.1 Headings that were re-levelled keep their look */

:is(h1, h2, h3, h4, h5, h6):where(.a11y-h1) { font-size: calc(1.375rem + 1.5vw); font-weight: 700; }
:is(h1, h2, h3, h4, h5, h6):where(.a11y-h2) { font-size: calc(1.325rem + .9vw); font-weight: 600; }
:is(h1, h2, h3, h4, h5, h6):where(.a11y-h3) { font-size: calc(1.3rem + .6vw); font-weight: 500; }
:is(h1, h2, h3, h4, h5, h6):where(.a11y-h4) { font-size: calc(1.275rem + .3vw); font-weight: 500; }
:is(h1, h2, h3, h4, h5, h6):where(.a11y-h5) { font-size: 1.25rem; font-weight: 500; }
:is(h1, h2, h3, h4, h5, h6):where(.a11y-h6) { font-size: 1rem; font-weight: 500; }

@media (min-width: 1200px) {
	:is(h1, h2, h3, h4, h5, h6):where(.a11y-h1) { font-size: 2.5rem; }
	:is(h1, h2, h3, h4, h5, h6):where(.a11y-h2) { font-size: 2rem; }
	:is(h1, h2, h3, h4, h5, h6):where(.a11y-h3) { font-size: 1.75rem; }
	:is(h1, h2, h3, h4, h5, h6):where(.a11y-h4) { font-size: 1.5rem; }
}

/* "INVESTORS" page heading was #b3b3b3 (2.09:1). */
.sppb-addon-raw-html h2,
.sppb-addon-raw-html .a11y-h2 {
	color: #595959;
}

/* --------------------------------------- 1.3.1 Stray list content, now in <li> */

li.a11y-li {
	list-style: none;
	display: block;
}

ol > li.a11y-li,
ul > li.a11y-li {
	margin-left: 0;
}

/* --------------------------------------- 1.4.5 Images of text → real text */

.a11y-imgtext {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	box-sizing: border-box;
	width: 100%;
	max-width: 212px;
	min-height: 77px;
	padding: .25rem .75rem .25rem 0;
	background: linear-gradient(#fff, #e9e9e9);
	border: 1px solid #c9c9c9;
	color: #1a1a1a;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
	text-decoration: none;
}

a .a11y-imgtext {
	text-decoration: none;
}

a:hover .a11y-imgtext,
a:focus .a11y-imgtext {
	border-color: var(--a11y-red);
}

.a11y-imgtext__icon {
	flex: 0 0 72px;
	align-self: stretch;
	background-image: var(--a11y-imgtext-src);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 100%;
}

.a11y-imgtext__label {
	font-size: 1.05rem;
}

.a11y-imgtext__kicker {
	display: block;
	color: var(--a11y-red);
	font-size: 1.1em;
}

/* SEBI risk disclosure, formerly /images/2023/sebi.png */
.a11y-risk {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	gap: 1.5rem;
	align-items: center;
	color: #1a1a1a;
	text-align: left;
}

.a11y-risk__title {
	margin: 0 0 1rem;
	font-size: 1.75rem;
	font-weight: 400;
	line-height: 1.15;
	text-transform: uppercase;
	color: #1a1a1a;
}

.a11y-risk__title-strong {
	display: block;
	font-weight: 700;
}

.a11y-risk__source {
	margin: 0;
	font-size: .875rem;
	line-height: 1.45;
}

.a11y-risk__list {
	counter-reset: a11y-risk;
	margin: 0;
	padding: 1.25rem;
	list-style: none;
	background: #1f2f8f;
	border-radius: 4px;
}

.a11y-risk__list li {
	counter-increment: a11y-risk;
	position: relative;
	margin: 0 0 .75rem;
	padding: .6rem .75rem .6rem 3rem;
	background: #fff;
	color: #1a1a1a;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.35;
}

.a11y-risk__list li:last-child {
	margin-bottom: 0;
}

.a11y-risk__list li::before {
	content: counter(a11y-risk);
	position: absolute;
	top: 50%;
	left: .6rem;
	width: 1.75rem;
	height: 1.75rem;
	margin-top: -.875rem;
	border-radius: 50%;
	background: #1f2f8f;
	color: #fff;
	font-weight: 700;
	line-height: 1.75rem;
	text-align: center;
}

.modal .a11y-risk {
	padding: 1rem;
}

@media (max-width: 767.98px) {
	.a11y-risk {
		grid-template-columns: 1fr;
	}
}

/* Promotions, formerly /images/2023/01/13/mef.png */
.a11y-promos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	gap: 1.5rem;
}

.a11y-promo {
	display: flex;
	flex-direction: column;
	border: 1px solid #ccc;
	text-align: center;
	line-height: 1.3;
}

.a11y-promo p {
	margin: 0;
	padding: .5rem .75rem;
}

.a11y-promo__head {
	flex: 1;
	padding: .75rem;
}

.a11y-promo--partner .a11y-promo__head,
.a11y-promo--partner .a11y-promo__members {
	background: #c8131c;
	color: #fff;
}

.a11y-promo--client .a11y-promo__head,
.a11y-promo--client .a11y-promo__members {
	background: #a3c94a;
	color: #111;
}

.a11y-promo__headline {
	font-size: 1.25rem;
}

.a11y-promo__headline strong {
	display: block;
	font-size: 1.35rem;
	text-transform: uppercase;
}

.a11y-promo__head a,
.a11y-promo__members a {
	color: inherit !important;
	font-weight: 700;
	text-decoration: underline;
}

.a11y-promo__band,
.a11y-promo__contact {
	background: #111;
	color: #fff;
	font-weight: 700;
}

.a11y-promo__contact a {
	color: #fff !important;
	text-decoration: underline;
}

.a11y-promo__brand {
	background: #fff;
	color: #1a1a1a;
}

.a11y-promo__logo {
	color: var(--a11y-red);
	font-size: 1.5rem;
	font-weight: 800;
	text-transform: uppercase;
}

.a11y-promo__members {
	font-weight: 700;
}

/* Long description for the complaint flowchart */
.a11y-longdesc {
	margin: 1rem 0;
	padding: .75rem 1rem;
	border: 1px solid #767676;
	border-radius: 4px;
	background: #fafafa;
	text-align: left;
}

.a11y-longdesc summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--a11y-red);
	text-decoration: underline;
}

.a11y-longdesc ol {
	margin: .75rem 0 0;
}

/* ------------------------------------------ Rebuilt forms (3.3.1 – 3.3.3) */

.a11y-form {
	max-width: 44rem;
	margin: 0 auto;
	color: #1a1a1a;
	text-align: left;
}

.a11y-form__note {
	margin-bottom: 1rem;
}

.a11y-fieldset {
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	border: 1px solid #c9c9c9;
	border-radius: 4px;
}

.a11y-fieldset legend {
	float: none;
	width: auto;
	margin: 0;
	padding: 0 .35rem;
	font-size: 1.05rem;
	font-weight: 700;
}

.a11y-fieldset--inline {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.5rem;
	align-items: flex-end;
	padding: .75rem 1rem;
}

.a11y-fieldset--inline > legend,
.a11y-fieldset--inline > .a11y-field__hint {
	flex-basis: 100%;
}

.a11y-field {
	margin-bottom: 1rem;
}

.a11y-field label {
	display: block;
	margin-bottom: .25rem;
	font-weight: 600;
}

.a11y-field input,
.a11y-field select,
.a11y-field textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	padding: .5rem .65rem;
	border-radius: 4px;
	background: #fff;
	color: #1a1a1a;
	font: inherit;
}

.a11y-field--short input {
	width: 4.5rem;
}

.a11y-field--year input {
	width: 6.5rem;
}

.a11y-fieldset--inline .a11y-field {
	margin-bottom: 0;
}

.a11y-choice {
	display: flex;
	align-items: center;
	gap: .5rem;
	min-height: 44px;
}

.a11y-choice input {
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
	accent-color: var(--a11y-red);
}

.a11y-choice label {
	margin: 0;
}

.a11y-req {
	color: var(--a11y-red);
	font-weight: 700;
}

.a11y-field__hint {
	margin: .25rem 0 0;
	color: var(--a11y-muted);
	font-size: .9rem;
}

.a11y-field__error {
	display: flex;
	gap: .35rem;
	margin: .35rem 0 0;
	color: #b00012;
	font-weight: 600;
}

.a11y-field__error::before {
	content: "!";
	display: inline-grid;
	place-items: center;
	flex: 0 0 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background: #b00012;
	color: #fff;
	font-size: .8rem;
}

[aria-invalid="true"] {
	border: 2px solid #b00012 !important;
}

.a11y-form__summary {
	margin-bottom: 1.5rem;
	padding: 1rem 1.25rem;
	border: 3px solid #b00012;
	border-radius: 4px;
	background: #fff5f5;
	color: #1a1a1a;
}

.a11y-form__summary h2 {
	margin: 0 0 .5rem;
	font-size: 1.15rem;
	color: #b00012;
}

.a11y-form__summary a {
	color: #b00012 !important;
	text-decoration: underline;
}

.a11y-form__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.a11y-form__actions .sppb-btn {
	min-height: 44px;
	padding: .5rem 1.5rem;
}

.sppb-btn-default {
	background: #fff;
	border: 1px solid #595959;
	color: #1a1a1a;
}

/* SP Page Builder forms: required-field message only after a failed submit. */
.sppb-form-builder-required {
	color: #b00012;
}

/* ---------------------------------------------- 2.2.2 Carousel pause control */

.a11y-carousel-toggle {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	min-height: 44px;
	margin: 0 0 .5rem;
	padding: .35rem .9rem;
	border: 1px solid #595959;
	border-radius: 4px;
	background: #fff;
	color: #1a1a1a;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
}

.a11y-carousel-toggle:hover {
	background: #f0f0f0;
}

/* The background-video control sits on the hero instead of pushing it down. */
.a11y-toggle-host {
	position: relative;
}

.a11y-carousel-toggle--video {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 30;
	margin: 0;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .35);
}

.a11y-carousel-toggle__icon {
	display: inline-block;
	width: .8rem;
	height: .8rem;
	background: currentColor;
	clip-path: polygon(0 0, 35% 0, 35% 100%, 0 100%, 0 0, 65% 0, 100% 0, 100% 100%, 65% 100%, 65% 0);
}

.a11y-carousel-toggle[aria-pressed="true"] .a11y-carousel-toggle__icon {
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* Carousel indicators: a real <button> fills each dot (added by a11y.js). */
.sppb-carousel-indicators li {
	position: relative;
	cursor: pointer;
}

.a11y-indicator-btn {
	position: absolute;
	inset: -6px;
	width: auto;
	height: auto;
	min-width: 24px;
	min-height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

/* --------------------------------------------- 1.4.10 Reflow at 320 CSS px */

img,
iframe,
video {
	max-width: 100%;
}

img {
	height: auto;
}

table {
	max-width: 100%;
}

@media (max-width: 767.98px) {
	table[role="presentation"],
	table[role="presentation"] > tbody,
	table[role="presentation"] > tbody > tr,
	table[role="presentation"] > tbody > tr > td,
	table[role="presentation"] > tr,
	table[role="presentation"] > tr > td {
		display: block;
		width: auto !important;
		max-width: 100%;
		height: auto !important;
	}

	/* Data tables scroll inside their own box instead of the page. */
	.sppb-addon-content table:not([role="presentation"]) {
		display: block;
		overflow-x: auto;
	}

	.sppb-addon-button-group .sppb-btn {
		max-width: 100%;
		white-space: normal;
	}
}

/* ---------------------------------------------- 1.4.12 Text spacing */

.sppb-btn,
.sp-megamenu-parent > li > a,
.sppb-nav-tabs > li > a {
	height: auto !important;
	min-height: 0;
}

/* --------------------------------------------- 2.3.x Motion: honour the OS setting */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* ------------------------------------- 2.1.1 Mega-menu drop-downs open on focus */

.sp-megamenu-parent > li.a11y-open > .sp-dropdown,
.sp-megamenu-parent > li:focus-within > .sp-dropdown {
	display: block;
	opacity: 1;
	visibility: visible;
	transform: none;
	z-index: 99;
}

/* -------------------- 2.4.7 Logo carousel: static layout while keyboard-focused */

.a11y-carousel-static .sppb-carousel-extended-outer-stage,
.a11y-carousel-static .sppb-carousel-extended-list {
	overflow: visible !important;
	height: auto !important;
}

.a11y-carousel-static .sppb-carousel-extended-stage {
	display: flex !important;
	flex-wrap: wrap;
	gap: 20px;
	width: auto !important;
	transform: none !important;
	transition: none !important;
}

.a11y-carousel-static .sppb-carousel-extended-item {
	width: auto !important;
	margin: 0 !important;
}

.a11y-carousel-static .clone {
	display: none !important;
}

/* ------------------------------ 1.4.3 / 1.4.10 / 1.4.12 Main menu never wraps off its bar
   At 1200–1399px the ten items (1248px) overflowed the 1140px bar, so "Support Ticket" and
   "Contact Us" dropped onto the white page as white text. Tighter padding makes them fit;
   where they still wrap (992–1199px, or with enlarged text spacing) the black bar grows. */

@media (min-width: 992px) {
	#sp-header {
		height: auto !important;
		min-height: 80px;
	}

	#sp-header .sp-megamenu-parent {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
	}
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
	#sp-header .sp-megamenu-parent > li > a,
	#sp-header .sp-megamenu-parent > li > span {
		padding-left: 8px;
		padding-right: 8px;
	}
}

/* Risk-disclosure pop-up: a close button big enough to hit and see. */
.modal-body > button[aria-label="Close"] {
	min-width: 44px;
	min-height: 44px;
	border: 1px solid #595959;
	border-radius: 4px;
	background: #fff;
	color: #1a1a1a;
	font-size: 1.5rem;
	line-height: 1;
}

/* 1.4.12 / 1.4.10: DropFiles folder tiles (Investors page) cut names off with an
   ellipsis inside a fixed 47px-high tile; let the full name wrap instead. */
.dropfiles-content .dropfilescategory {
	height: auto !important;
	min-height: 47px;
	overflow: visible !important;
}

.dropfiles-content .dropfilescategory > span {
	display: inline-block;
	max-width: 100%;
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
	overflow-wrap: anywhere;
}

/* ----------------------------------------------------- 2.4.5 Site map (footer) */

.a11y-sitemap {
	margin: 0;
	padding: 1rem max(15px, calc((100% - 1110px) / 2));
	background: #0f1321;
	color: #fff;
}

.a11y-sitemap summary {
	cursor: pointer;
	font-weight: 700;
	text-decoration: underline;
}

.a11y-sitemap ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
	gap: .25rem 1.5rem;
	margin: .75rem 0;
	padding: 0;
	list-style: none;
}

.a11y-sitemap a,
.a11y-sitemap summary {
	color: #fff !important;
}

.a11y-sitemap a {
	text-decoration: underline;
}

/* SP Page Builder "danger" buttons (Media Center): white on #ff2b02 was 3.75:1. */
.sppb-btn-danger,
.sppb-btn-danger:hover,
.sppb-btn-danger:focus {
	background-color: #c82100 !important;
	border-color: #c82100 !important;
	color: #fff !important;
}

/* 2.5.8-style target spacing for slide dots: 12px dots, 24px apart, 24px buttons. */
.sppb-carousel-indicators li {
	width: 12px !important;
	height: 12px !important;
	margin: 6px !important;
}

.a11y-indicator-btn {
	inset: auto;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 24px;
	min-width: 0;
	min-height: 0;
	transform: translate(-50%, -50%);
}

/* 1.4.3: hero slider text sits on a moving, partly bright video. A dark gradient
   behind the text keeps white copy ≥ 4.5:1 against even the brightest frames. */
.sp-video-background::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, .7) 70%, rgba(0, 0, 0, .55) 85%, rgba(0, 0, 0, .25) 100%);
}
