/**
 * Banner home — carrossel full-width.
 * Busca: região highlighted abaixo (.hero-search).
 */

:root {
	--brand-green: #5eb344;
	--brand-navy: #003060;
	--brand-orange: #ff8a22;
	--hero-bg: #f5f7f8;
}

/* Barrio region--full-width: outer full-width + inner .container. */
.region-wrapper-banner.full-width > .container {
	max-width: none;
	width: 100%;
	padding-inline: 0;
}

.banner > .region-banner,
.banner .region-wrapper-banner {
	width: 100%;
	max-width: none;
}

.home-hero {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: var(--hero-bg, #f5f7f8);
}

.home-hero__inner {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding: 0;
}

.home-hero__media,
.banner-carousel-wrap {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.home-hero__carousel,
.banner-carousel {
	position: relative;
	width: 100%;
	max-width: none;
	margin-inline: 0;
	overflow: hidden;
}

.home-hero__carousel .carousel-inner,
.home-hero__carousel .carousel-item,
.home-hero__carousel picture,
.banner-carousel .carousel-inner,
.banner-carousel .carousel-item,
.banner-carousel picture {
	width: 100%;
	line-height: 0;
}

.home-hero__img,
.banner-slide-img {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: auto;
	margin-inline: 0;
	object-fit: cover;
}

/* Setas laterais */
.home-hero__carousel .carousel-control-prev,
.home-hero__carousel .carousel-control-next,
.banner-carousel .carousel-control-prev,
.banner-carousel .carousel-control-next {
	width: 3.5rem;
	opacity: 0.95;
	z-index: 3;
}

.home-hero__carousel .carousel-control-prev-icon,
.home-hero__carousel .carousel-control-next-icon,
.banner-carousel .carousel-control-prev-icon,
.banner-carousel .carousel-control-next-icon {
	width: 1.75rem;
	height: 1.75rem;
	filter: none;
	background-size: 100% 100%;
}

.home-hero__carousel .carousel-control-prev:hover,
.home-hero__carousel .carousel-control-next:hover,
.home-hero__carousel .carousel-control-prev:focus,
.home-hero__carousel .carousel-control-next:focus,
.banner-carousel .carousel-control-prev:hover,
.banner-carousel .carousel-control-next:hover,
.banner-carousel .carousel-control-prev:focus,
.banner-carousel .carousel-control-next:focus {
	opacity: 1;
}

/* Dots: canto inferior direito */
.home-hero__carousel .carousel-indicators,
.banner-carousel .carousel-indicators {
	position: absolute;
	left: auto;
	right: 1.25rem;
	bottom: 1.25rem;
	z-index: 3;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: auto;
	margin: 0;
	padding: 0;
	gap: 0.45rem;
}

.home-hero__carousel .carousel-indicators [data-bs-target],
.banner-carousel .carousel-indicators [data-bs-target] {
	box-sizing: border-box;
	flex: 0 0 auto;
	width: 0.5rem;
	height: 0.5rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 0;
	border-bottom: 0;
	border-radius: 999px;
	background-color: #fff;
	background-clip: border-box;
	opacity: 1;
	text-indent: -9999px;
	overflow: hidden;
	appearance: none;
	-webkit-appearance: none;
	transition: width 0.2s ease, background-color 0.2s ease;
}

.home-hero__carousel .carousel-indicators .active,
.banner-carousel .carousel-indicators .active {
	width: 1.75rem;
	background-color: var(--brand-orange, #ff8a22);
}

/* Hero de busca abaixo do carrossel */
.path-frontpage.banner-carousel-enabled .highlighted {
	position: relative;
	z-index: 4;
	margin-top: 0;
	padding: 0;
	background: #fff;
	scroll-margin-top: calc(var(--header-h, 87px) + 0.75rem);
}

.path-frontpage.banner-carousel-enabled .highlighted > .section {
	padding-top: 0;
	padding-bottom: 0;
	max-width: none;
}

.path-frontpage.banner-carousel-enabled .hero-search {
	scroll-margin-top: calc(var(--header-h, 87px) + 0.75rem);
}

.path-frontpage.banner-carousel-enabled .banner-search-front {
	padding: 0 1.5rem 1.5rem;
}

.path-frontpage.banner-carousel-enabled .banner-search-front .banner-search-card {
	margin-top: 0;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	box-shadow: 0 8px 28px rgba(0, 18, 48, 0.16);
}

@media (max-width: 767.98px) {
	.home-hero__carousel .carousel-control-prev,
	.home-hero__carousel .carousel-control-next,
	.banner-carousel .carousel-control-prev,
	.banner-carousel .carousel-control-next {
		width: 2.5rem;
	}

	.home-hero__carousel .carousel-control-prev-icon,
	.home-hero__carousel .carousel-control-next-icon,
	.banner-carousel .carousel-control-prev-icon,
	.banner-carousel .carousel-control-next-icon {
		width: 1.25rem;
		height: 1.25rem;
	}

	.home-hero__carousel .carousel-indicators,
	.banner-carousel .carousel-indicators {
		right: 0.75rem;
		bottom: 0.75rem;
	}

	.path-frontpage.banner-carousel-enabled .banner-search-front {
		padding: 0 1rem 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-hero__carousel.carousel,
	.banner-carousel.carousel {
		scroll-behavior: auto;
	}

	.home-hero__carousel .carousel-indicators [data-bs-target],
	.banner-carousel .carousel-indicators [data-bs-target] {
		transition: none;
	}
}
