/* ACF Slider — lightweight hero slider styles. */

@font-face {
	font-family: 'Cocogoose';
	src: url('fonts/Cocogoose.woff2') format('woff2'),
	     url('fonts/Cocogoose.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

.brs-slider {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	height: var(--brs-height, 620px);
	overflow: hidden;
	background: #11151a;
}

/* `.brs-slider` prefix (0,2,0) beats the theme's `.entry-content ul` (0,1,1),
   which otherwise adds margin-top/bottom/left to the track ul. */
.brs-slider .brs-slider__track {
	list-style: none;
	margin: 0;
	padding: 0;
	height: 100%;
}

/* `.brs-slider` prefix raises specificity to (0,2,0) so the reset beats the
   theme's `.entry-content ul > li` (0,1,2), which otherwise adds margin-bottom
   and font-size to every slide li. */
.brs-slider .brs-slider__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease;
}

.brs-slider__slide.is-active {
	opacity: 1;
	visibility: visible;
}

/* Subtle horizontal motion for the "slide" transition variant. */
.brs-slider--slide .brs-slider__slide {
	transform: translateX(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.brs-slider--slide .brs-slider__slide.is-active {
	transform: translateX(0);
}

/* Centered content band inside each slide; holds the overlay panel.
   justify/align come from the per-slide --brs-justify / --brs-align vars. */
.brs-slider__inner {
	position: relative;
	z-index: 1;
	height: 100%;
	width: min(1260px, calc(100% - 40px));
	margin: 0 auto;
	display: flex;
	justify-content: var(--brs-justify, flex-start);
	align-items: var(--brs-align, center);
}

.brs-slider__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.brs-slider .brs-slider__panel {
	position: relative;
	z-index: 1;
	max-width: var(--brs-panel-maxw, 720px);
	padding: 40px 50px;
	background: var(--brs-panel-bg, rgba(40, 44, 48, 0.6));
	color: var(--brs-text, #fff);
}

.brs-slider .brs-slider__heading {
	margin: 0;
	font-family: var(--brs-heading-font, 'Cocogoose', 'Roboto', sans-serif);
	font-weight: 500;
	font-size: var(--brs-heading-size, clamp(22px, 2.4vw, 34px));
	line-height: 1.45;
	color: var(--brs-text, #fff);
}

.brs-slider .brs-slider__bullets {
	margin: 18px 0 0;
	padding-left: 0;
	list-style: none;
	font-family: 'Roboto', sans-serif;
	font-size: var(--brs-bullet-size, clamp(18px, 1.7vw, 24px));
	line-height: 1.6;
	color: var(--brs-text, #fff);
}

.brs-slider .brs-slider__bullets li {
	list-style: none;
	position: relative;
	margin-bottom: 12px;
	padding-left: 2em;
	/* Applied on the li (not just the ul) so it beats the theme's
	   `.entry-content ul > li { font-size }` rule, which targets the li directly
	   and would otherwise override the inherited bullet size. */
	font-size: var(--brs-bullet-size, clamp(18px, 1.7vw, 24px));
	line-height: 1.6;
}

/* Colored circle (recolorable via --brs-bullet) with a static white check on top. */
.brs-slider .brs-slider__bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15em;
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background-color: var(--brs-bullet, #5cb85c);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l3.6 3.6 8.4-8.4' fill='none' stroke='%23ffffff' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 72% 72%;
}

.brs-slider .brs-slider__cta {
	display: inline-block;
	margin-top: 24px;
	padding: 20px 35px;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	font-size: var(--brs-cta-size, clamp(16px, 1.6vw, 24px));
	line-height: 1;
	color: var(--brs-cta-text, #fff);
	background: var(--brs-cta-bg, #f69323);
	border-radius: 5px;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.brs-slider .brs-slider__cta:hover,
.brs-slider .brs-slider__cta:focus-visible {
	background: var(--brs-cta-hover, #00688f);
	color: var(--brs-cta-text, #fff);
}

/* Navigation */
.brs-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}
.brs-slider__arrow--prev { left: 16px; }
.brs-slider__arrow--next { right: 16px; }
.brs-slider__arrow:hover { background: rgba(0, 0, 0, 0.65); }

.brs-slider__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 10px;
}

.brs-slider__dot {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.brs-slider__dot.is-active { background: #fff; }

/* Visible focus indicators (>= 3:1 against the dark hero). */
.brs-slider__arrow:focus-visible,
.brs-slider__dot:focus-visible {
	outline: 3px solid #f69323;
	outline-offset: 2px;
}

/* Responsive heights — scale the per-slider height down at each breakpoint. */
@media (max-width: 1366px) { .brs-slider { height: calc(var(--brs-height, 620px) * 0.9); } }
@media (max-width: 1024px) { .brs-slider { height: calc(var(--brs-height, 620px) * 0.8); } }
@media (max-width: 768px) {
	.brs-slider { height: calc(var(--brs-height, 620px) * 0.77); }
	.brs-slider .brs-slider__panel { max-width: 100%; padding: 24px 28px; }
	.brs-slider__arrow { display: none; }
}

/* Respect reduced-motion: no transitions/animation. */
@media (prefers-reduced-motion: reduce) {
	.brs-slider__slide,
	.brs-slider--slide .brs-slider__slide,
	.brs-slider__cta {
		transition: none;
	}
}
