/* =========================================================================
   TIPOGRAFIA OFICIAL: PAVONA ALTA (VSM AMBIENTAL - FAMÍLIA COMPLETA WOFF2)
   ========================================================================= */
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-Thin.woff2') format('woff2');
	font-weight: 100;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-ThinItalic.woff2') format('woff2');
	font-weight: 100;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-ExtraLight.woff2') format('woff2');
	font-weight: 200;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-ExtraLightItalic.woff2') format('woff2');
	font-weight: 200;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-LightItalic.woff2') format('woff2');
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-Italic.woff2') format('woff2');
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-MediumItalic.woff2') format('woff2');
	font-weight: 500;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-SemiBoldItalic.woff2') format('woff2');
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-BoldItalic.woff2') format('woff2');
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-ExtraBold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-ExtraBoldItalic.woff2') format('woff2');
	font-weight: 800;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-Black.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Pavona Alta';
	src: url('../fonts/PavonaAlta-BlackItalic.woff2') format('woff2');
	font-weight: 900;
	font-style: italic;
	font-display: swap;
}

/* Alias sem espaço para compatibilidade */
@font-face {
	font-family: 'PavonaAlta';
	src: url('../fonts/PavonaAlta-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'PavonaAlta';
	src: url('../fonts/PavonaAlta-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'PavonaAlta';
	src: url('../fonts/PavonaAlta-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'PavonaAlta';
	src: url('../fonts/PavonaAlta-SemiBold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'PavonaAlta';
	src: url('../fonts/PavonaAlta-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'PavonaAlta';
	src: url('../fonts/PavonaAlta-ExtraBold.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'PavonaAlta';
	src: url('../fonts/PavonaAlta-Black.woff2') format('woff2');
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

.mkb-slider-wrapper {
	width: 100%;
	position: relative;
	margin-bottom: 0;
}

.mkb-banner {
	width: 100%;
	position: relative;
	display: block;
	overflow: hidden;
	height: var(--mkb-d-h, auto);
	border-radius: var(--mkb-slider-radius, 0px);
}

.mkb-global-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.mkb-media-layer {
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}

.mkb-media-layer picture, 
.mkb-media-layer .mkb-image, 
.mkb-media-layer .mkb-video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	line-height: 0;
}

.mkb-hide-mobile { display: block; }
.mkb-hide-desktop { display: none; }

/* MASK LAYER (MÁSCARA VERDE / GRADIENTE) */
.mkb-mask-layer {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.mkb-mask-layer.mkb-mask-gradient_green {
	background: 
		linear-gradient(90deg, rgba(0, 35, 18, 0.96) 0%, rgba(0, 40, 20, 0.92) 40%, rgba(0, 45, 24, 0.75) 70%, rgba(0, 36, 18, 0.50) 100%),
		linear-gradient(180deg, rgba(0, 22, 12, 0.75) 0%, rgba(0, 25, 14, 0.35) 40%, rgba(0, 22, 12, 0.75) 100%);
}

.mkb-mask-layer.mkb-mask-solid {
	background-color: #002d1a;
}

.mkb-mask-layer.mkb-mask-gradient_radial {
	background: radial-gradient(circle at 30% 50%, rgba(0, 45, 26, 0.4) 0%, rgba(0, 25, 14, 0.95) 100%);
}

/* OVERLAY TEXT BOX */
.mkb-overlay-layer {
	position: absolute;
	top: 0; 
	left: 50%;
	transform: translateX(-50%);
	width: 100%; 
	max-width: 1408px; /* Alinhado com a largura max da página (1280px de conteudo + 128px de paddings) */
	height: 100%;
	z-index: 3;
	display: flex;
	padding-left: 16px; /* Margem padrão mobile */
	padding-right: 16px;
	box-sizing: border-box;
	pointer-events: none; /* A camada inteira vazado clique */
}

@media (min-width: 768px) {
	.mkb-overlay-layer {
		padding-left: 64px; /* Margem padrão desktop (px-margin-desktop) */
		padding-right: 64px;
	}
}

.mkb-text-box {
	max-width: var(--mkb-content-width, 800px);
	pointer-events: auto; /* O texto e o botâo capturam clique */
}
.mkb-global-link .mkb-text-box {
	pointer-events: none;
}

/* PRÉ-TÍTULO (EYEBROW) */
.mkb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	font-size: var(--mkb-e-size, 14px);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.3;
}

.mkb-eyebrow-line {
	display: inline-block;
	width: 32px;
	height: 2px;
	background-color: currentColor;
	border-radius: 2px;
	flex-shrink: 0;
}

.mkb-eyebrow-dot {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	color: currentColor;
	flex-shrink: 0;
}

.mkb-eyebrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: currentColor;
}

.mkb-eyebrow-text {
	display: inline-block;
}

.mkb-title {
	margin: 0 0 15px 0;
	font-weight: 800;
	line-height: var(--mkb-t-lh, 0.95);
	font-size: var(--mkb-t-size);
	text-shadow: 0 2px 10px rgba(0,0,0,0.5); /* Sombra pesada para leitura independente do fundo */
	letter-spacing: var(--mkb-t-ls, -2px);
}

.mkb-subtitle {
	margin: 0 0 30px 0;
	font-weight: 400;
	line-height: var(--mkb-s-lh, 1.4);
	font-size: var(--mkb-s-size);
	letter-spacing: var(--mkb-s-ls, normal);
	text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

/* CONTAINER DOS BOTÕES */
.mkb-buttons-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 28px;
}

.mkb-pos-top-left .mkb-buttons-wrap,
.mkb-pos-center-left .mkb-buttons-wrap,
.mkb-pos-bottom-left .mkb-buttons-wrap {
	justify-content: flex-start;
}
.mkb-pos-top-center .mkb-buttons-wrap,
.mkb-pos-center-center .mkb-buttons-wrap,
.mkb-pos-bottom-center .mkb-buttons-wrap {
	justify-content: center;
}
.mkb-pos-top-right .mkb-buttons-wrap,
.mkb-pos-center-right .mkb-buttons-wrap,
.mkb-pos-bottom-right .mkb-buttons-wrap {
	justify-content: flex-end;
}

.mkb-action-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 32px;
	border-radius: 9999px;
	border: 2px solid transparent;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.25;
	transition: all 0.25s ease;
	box-shadow: 0 4px 14px rgba(0,0,0,0.25);
	cursor: pointer;
	box-sizing: border-box;
}
.mkb-action-btn:hover {
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 6px 20px rgba(0,0,0,0.35);
	text-decoration: none;
	filter: brightness(1.08);
}
.mkb-action-btn:active {
	transform: translateY(0) scale(0.99);
}

/* 9 POSITIONS */
.mkb-pos-top-left { align-items: flex-start; justify-content: flex-start; text-align: left; }
.mkb-pos-top-center { align-items: flex-start; justify-content: center; text-align: center; }
.mkb-pos-top-right { align-items: flex-start; justify-content: flex-end; text-align: right; }

.mkb-pos-center-left { align-items: center; justify-content: flex-start; text-align: left; }
.mkb-pos-center-center { align-items: center; justify-content: center; text-align: center; }
.mkb-pos-center-right { align-items: center; justify-content: flex-end; text-align: right; }

.mkb-pos-bottom-left { align-items: flex-end; justify-content: flex-start; text-align: left; }
.mkb-pos-bottom-center { align-items: flex-end; justify-content: center; text-align: center; }
.mkb-pos-bottom-right { align-items: flex-end; justify-content: flex-end; text-align: right; }

/* Móbile Fixes */
@media (max-width: 767px) {
	.mkb-banner { height: var(--mkb-m-h, var(--mkb-d-h, auto)); }
	
	.mkb-title { font-size: calc(var(--mkb-t-size) * 0.7) !important; }
	.mkb-subtitle { font-size: calc(var(--mkb-s-size) * 0.8) !important; }

	.mkb-hide-mobile { display: none !important; }
	.mkb-hide-desktop { display: block !important; }
	
	.mkb-overlay-layer { padding: 25px; }

	.mkb-text-box { max-width: 100% !important; }

	.mkb-title { max-width:90vw; }
	.mkb-subtitle { max-width:90vw; }
	.mkb-buttons-wrap { gap: 12px; margin-top: 20px; }
	.mkb-action-btn { padding: 11px 22px; font-size: 14px; }
}

/* SWIPER FIXES (Evitar bugs visuais com Swiper default) */
.mkb-swiper-container {
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto; 
	border-radius: var(--mkb-slider-radius, 0px);
}
.mkb-swiper-container .mkb-banner {
	border-radius: 0; /* Container já redimensiona, evita gaps sujos na transição cover */
}
.mkb-swiper-container .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Customizar setas/pontos do Swiper para combinarem com os tons brancos premium */
.mkb-swiper-container .swiper-pagination {
	z-index: 99 !important;
	pointer-events: auto !important;
}
.mkb-swiper-container .swiper-pagination-bullet {
	background: #fff;
	opacity: 0.5;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
	cursor: pointer !important;
	pointer-events: auto !important;
}
.mkb-swiper-container .swiper-pagination-bullet-active {
	opacity: 1;
}

/* Setas de navegação personalizadas e imunes a interceptação de cliques */
.mkb-button-next,
.mkb-button-prev {
	position: absolute;
	top: 50%;
	width: var(--swiper-navigation-size, 45px);
	height: var(--swiper-navigation-size, 45px);
	margin-top: calc(0px - (var(--swiper-navigation-size, 45px) / 2));
	z-index: 99 !important;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--swiper-navigation-color, #ffffff);
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
	pointer-events: auto !important;
	transition: transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.2s ease;
}

.mkb-button-next:hover,
.mkb-button-prev:hover {
	transform: scale(1.2);
	opacity: 0.95;
}

.mkb-button-next:active,
.mkb-button-prev:active {
	transform: scale(0.9);
}

.mkb-button-next svg,
.mkb-button-prev svg {
	width: 60%;
	height: 60%;
	display: block;
}

.mkb-button-next {
	right: 25px;
	left: auto;
}

.mkb-button-prev {
	left: 25px;
	right: auto;
}

@media (max-width: 767px) {
	.mkb-button-next,
	.mkb-button-prev {
		width: 36px;
		height: 36px;
		margin-top: -18px;
	}
	.mkb-button-next { right: 12px; }
	.mkb-button-prev { left: 12px; }
}
