/* ==========================================================
   isaHub Hero Slider - Front CSS
   Reset cirurgico contra o tema: zera apenas as propriedades
   que costumam vazar (margin, padding, list-style, background,
   font-family herdada, box-shadow de link), sem tocar em
   position/transform/display das classes internas do Swiper
   -- isso quebraria a animacao do slider.
   ========================================================== */

.isahub-hero-slider,
.isahub-hero-slider p,
.isahub-hero-slider h1,
.isahub-hero-slider h2,
.isahub-hero-slider h3,
.isahub-hero-slider ul,
.isahub-hero-slider li,
.isahub-hero-slider a,
.isahub-hero-slider span,
.isahub-hero-slider strong,
.isahub-hero-slider em,
.isahub-hero-slider img,
.isahub-hero-slider button {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	list-style: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-family: var(--isahub-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif) !important;
}

.isahub-hero-slider {
	display: block !important;
	width: 100% !important;
	position: relative !important;
	overflow: hidden !important;
}

.isahub-hero-slider *,
.isahub-hero-slider *::before,
.isahub-hero-slider *::after {
	box-sizing: border-box !important;
}

.isahub-hs-slide {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	height: var(--isahub-height-desktop, 700px) !important;
	overflow: hidden !important;
}

.isahub-hs-picture {
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.isahub-hs-img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
}

.isahub-hs-overlay {
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(90deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.25) 45%, rgba(255,255,255,0) 70%) !important;
	pointer-events: none !important;
}

/* Link cobrindo a imagem inteira (slide sem nenhum texto preenchido).
   Fica depois da imagem/overlay no DOM de proposito, para ficar por
   cima delas e o clique funcionar; a paginacao continua acessivel por
   ter z-index maior (ver .isahub-hs-pagination). */
.isahub-hero-slider .isahub-hs-slide-link {
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 1 !important;
	cursor: pointer !important;
}

.isahub-hs-content {
	position: relative !important;
	z-index: 2 !important;
	width: 100% !important;
	/* Correcao do desalinhamento com o cabecalho em zooms diferentes de
	   100%: antes, o padding era medido a partir da borda da tela
	   inteira (que e edge-to-edge), enquanto o cabecalho do site
	   normalmente fica centralizado dentro de um container de largura
	   maxima. Como o zoom do navegador muda a largura efetiva da tela
	   em pixels de CSS, um padding fixo a partir da borda "anda" em
	   relacao a um container centralizado. Replicando aqui o mesmo
	   padrao de container (max-width + margem automatica) usado pelo
	   cabecalho, os dois ficam sempre alinhados, em qualquer zoom. */
	max-width: var(--isahub-content-max-width, 1200px) !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
	display: block !important;
	padding: 0 var(--isahub-pad-x-desktop, 100px) !important;
}

.isahub-hs-inner {
	display: block !important;
	width: 100% !important;
}

/* Especificidade reforcada (.isahub-hero-slider .isahub-hs-content
   encadeados, nao so a classe do proprio elemento): !important sozinho
   pode perder para uma regra de tema que seja mais especifica e
   TAMBEM use !important — ja confirmamos esse exato problema antes
   (cor do botao, quebra de linha dos titulos de grupo no Diretorias).
   Aqui garantimos o mesmo nivel de protecao para peso, alinhamento,
   tamanho e cor dos 3 textos do slide. */
.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-menor {
	display: block !important;
	width: 100% !important;
	max-width: 620px !important;
	margin-left: var(--isahub-slide-titulo-menor-ml, 0) !important;
	margin-right: var(--isahub-slide-titulo-menor-mr, auto) !important;
	font-size: var(--isahub-slide-titulo-menor-size, var(--isahub-fs-titulo-menor-desktop, 16px)) !important;
	font-weight: var(--isahub-slide-titulo-menor-weight, 400) !important;
	text-align: var(--isahub-slide-titulo-menor-align, left) !important;
	color: var(--isahub-slide-titulo-menor-color, var(--isahub-slide-text-color, #333333)) !important;
	margin-bottom: 10px !important;
}

.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-maior {
	display: block !important;
	width: 100% !important;
	max-width: 620px !important;
	margin-left: var(--isahub-slide-titulo-maior-ml, 0) !important;
	margin-right: var(--isahub-slide-titulo-maior-mr, auto) !important;
	font-size: var(--isahub-slide-titulo-maior-size, var(--isahub-fs-titulo-maior-desktop, 46px)) !important;
	line-height: 1.15 !important;
	font-weight: var(--isahub-slide-titulo-maior-weight, 400) !important;
	text-align: var(--isahub-slide-titulo-maior-align, left) !important;
	color: var(--isahub-slide-titulo-maior-color, var(--isahub-slide-text-color, #1a1a1a)) !important;
	margin-bottom: 16px !important;
}

.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-maior strong,
.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-maior b {
	display: inline !important;
	font-weight: 800 !important;
}

.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-maior em,
.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-maior i {
	display: inline !important;
	font-style: italic !important;
}

.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-maior span {
	display: inline !important;
}

.isahub-hero-slider .isahub-hs-content .isahub-hs-texto-menor {
	display: block !important;
	width: 100% !important;
	max-width: 620px !important;
	margin-left: var(--isahub-slide-texto-menor-ml, 0) !important;
	margin-right: var(--isahub-slide-texto-menor-mr, auto) !important;
	font-size: var(--isahub-slide-texto-menor-size, var(--isahub-fs-texto-menor-desktop, 15px)) !important;
	font-weight: var(--isahub-slide-texto-menor-weight, 400) !important;
	text-align: var(--isahub-slide-texto-menor-align, left) !important;
	color: var(--isahub-slide-texto-menor-color, var(--isahub-slide-text-color, #444444)) !important;
}

.isahub-hero-slider .isahub-hs-button {
	display: inline-block !important;
	position: relative !important;
	z-index: 2 !important;
	margin-top: 22px !important;
	padding: 14px 32px !important;
	background: var(--isahub-slide-btn-bg, #1a1a1a) !important;
	color: var(--isahub-slide-btn-text, #ffffff) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	text-align: center !important;
	cursor: pointer !important;
	transition: filter 0.25s ease, transform 0.25s ease !important;
}

.isahub-hero-slider .isahub-hs-button:hover,
.isahub-hero-slider .isahub-hs-button:focus {
	/* filter em vez de trocar a cor "na mao": funciona certo com
	   qualquer cor customizada que o admin escolher, sem precisar de
	   um campo separado so para o hover. */
	filter: brightness(0.85) !important;
	color: var(--isahub-slide-btn-text, #ffffff) !important;
	transform: translateY(-2px) !important;
}

/* Paginacao (bullets estilo barra + bolinhas, como no print de referencia) */
.isahub-hs-pagination {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 24px !important;
	z-index: 3 !important;
}

.isahub-hs-pagination .swiper-pagination-bullet {
	display: block !important;
	width: 22px !important;
	height: 4px !important;
	border-radius: 2px !important;
	background: rgba(0,0,0,0.25) !important;
	opacity: 1 !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
}

.isahub-hs-pagination .swiper-pagination-bullet-active {
	width: 40px !important;
	background: #1a1a1a !important;
}

/* Responsivo */
@media (max-width: 767px) {
	.isahub-hs-slide {
		height: var(--isahub-height-mobile, 560px) !important;
		align-items: flex-end !important;
	}

	.isahub-hs-overlay {
		background: linear-gradient(0deg, rgba(255,255,255,0.75) 10%, rgba(255,255,255,0.15) 55%, rgba(255,255,255,0) 80%) !important;
	}

	.isahub-hs-content {
		padding: 0 var(--isahub-pad-x-mobile, 24px) var(--isahub-pad-bottom-mobile, 60px) var(--isahub-pad-x-mobile, 24px) !important;
	}

	.isahub-hs-inner {
		max-width: 100% !important;
	}

	.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-menor {
		font-size: var(--isahub-slide-titulo-menor-size, var(--isahub-fs-titulo-menor-mobile, 14px)) !important;
	}

	.isahub-hero-slider .isahub-hs-content .isahub-hs-titulo-maior {
		font-size: var(--isahub-slide-titulo-maior-size, var(--isahub-fs-titulo-maior-mobile, 28px)) !important;
	}

	.isahub-hero-slider .isahub-hs-content .isahub-hs-texto-menor {
		font-size: var(--isahub-slide-texto-menor-size, var(--isahub-fs-texto-menor-mobile, 14px)) !important;
	}

	.isahub-hero-slider .isahub-hs-button {
		margin-top: 16px !important;
		padding: 11px 24px !important;
		font-size: 14px !important;
	}

	.isahub-hs-pagination {
		bottom: 16px !important;
	}
}
