/* PageSpeed/a11y fixes - 2026-05-21 */

/* Header and CTA contrast. */
.elementor-widget-button.open-modal .elementor-button,
.open-modal .elementor-widget-button .elementor-button,
.open-modal.elementor-widget-button .elementor-button {
	color: #fff !important;
	fill: #fff !important;
}

.elementor-widget-button.open-modal .elementor-button .elementor-button-text,
.open-modal .elementor-widget-button .elementor-button .elementor-button-text,
.open-modal.elementor-widget-button .elementor-button .elementor-button-text {
	color: #fff !important;
}

main .elementor-widget-button.open-modal .elementor-button,
main .open-modal .elementor-widget-button .elementor-button,
main .open-modal.elementor-widget-button .elementor-button {
	color: #172536 !important;
	fill: #172536 !important;
}

main .elementor-widget-button.open-modal .elementor-button .elementor-button-text,
main .open-modal .elementor-widget-button .elementor-button .elementor-button-text,
main .open-modal.elementor-widget-button .elementor-button .elementor-button-text {
	color: #172536 !important;
}

header .elementor-widget-button.open-modal .elementor-button,
header .open-modal .elementor-widget-button .elementor-button,
header .open-modal.elementor-widget-button .elementor-button,
header .elementor-widget-button.open-modal .elementor-button .elementor-button-text,
header .open-modal .elementor-widget-button .elementor-button .elementor-button-text,
header .open-modal.elementor-widget-button .elementor-button .elementor-button-text {
	color: #fff !important;
	fill: #fff !important;
}

.elementor-button[href^="tel:"] {
	color: #fff !important;
	fill: #fff !important;
}

.elementor-button[href^="tel:"] .elementor-button-text {
	color: #fff !important;
}

/* Coupon-card copy contrast. */
.badge-top-right .elementor-heading-title,
.badge-top-right .elementor-widget-text-editor,
.badge-top-right .elementor-widget-text-editor p {
	color: #1f1f1f !important;
}

/* Footer text was too light against the footer background in Lighthouse. */
.jos-rich-footer .jrf-address span,
.jos-rich-footer .jrf-hours span,
.jos-rich-footer .jrf-license,
.jos-rich-footer .jrf-copyright,
.jos-rich-footer .jrf-links a {
	color: #4b5563 !important;
}

/* Fixed backgrounds are expensive on mobile and slow the hero LCP render. */
.elementor-14941 .elementor-element.elementor-element-27f77824:not(.elementor-motion-effects-element-type-background),
.elementor-14941 .elementor-element.elementor-element-27f77824 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-attachment: scroll !important;
}

/* Swiper bullets need a 24px tap target. Keep the visible dot small. */
.swiper-pagination .swiper-pagination-bullet {
	position: relative !important;
	width: 24px !important;
	height: 24px !important;
	margin: 0 6px !important;
	border: 0 !important;
	background: transparent !important;
	opacity: 1 !important;
}

.swiper-pagination .swiper-pagination-bullet::after {
	position: absolute;
	inset: 7px;
	border-radius: 50%;
	background: #1f3a5f;
	content: "";
	opacity: 0.45;
}

.swiper-pagination .swiper-pagination-bullet-active::after {
	background: #e30e1f;
	opacity: 1;
}

.swiper-pagination .swiper-pagination-bullet:focus-visible {
	outline: 2px solid #1f3a5f;
	outline-offset: 2px;
}
