/*
 * Estilos globais — Nikko Turismo
 *
 * Os componentes de Elementor são identificados por classes semânticas
 * configuradas no editor. Identificadores hexadecimais gerados pelo editor
 * não devem ser usados neste arquivo.
 */

/* =========================================================
TOKENS
========================================================= */

:root {
	--nikko-brand-wine: #9f1f2c;
	--nikko-brand-wine-dark: #74141e;
	--nikko-brand-wine-soft: #f8e9e7;
	--nikko-brand-cream: #f4efe8;
	--nikko-brand-cream-deep: #e9dfd3;
	--nikko-brand-paper: #fffdf9;
	--nikko-brand-ink: #201e1d;
	--nikko-brand-muted: #685f59;
	--nikko-brand-muted-light: #968b84;
	--nikko-brand-border: rgba(32, 30, 29, 0.12);
	--nikko-brand-border-strong: rgba(32, 30, 29, 0.2);
	--nikko-font-sans: Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--nikko-surface: #ffffff;
	--nikko-surface-soft: #f8f5f1;
	--nikko-radius-sm: 10px;
	--nikko-radius-md: 18px;
	--nikko-radius-lg: 28px;
	--nikko-shadow-sm: 0 8px 24px rgba(48, 31, 27, 0.07);
	--nikko-shadow-md: 0 20px 50px rgba(48, 31, 27, 0.11);
	--nikko-shadow-lg: 0 30px 80px rgba(48, 31, 27, 0.16);
	--nikko-text-small: .75rem;
	--nikko-text-label: .875rem;
	--nikko-text-body: 1rem;
	--nikko-text-lead: 1.125rem;
	--nikko-heading-display: clamp(2.5rem, 5vw, 4.5rem);
	--nikko-heading-page: clamp(2.25rem, 4.5vw, 3.5rem);
	--nikko-heading-section: clamp(1.875rem, 3vw, 2.5rem);
	--nikko-heading-card: 1.5rem;
	--nikko-heading-leading: 1.12;
	--nikko-copy-leading: 1.7;
	--nikko-section-space: clamp(2.5rem, 6vw, 5rem);
	--nikko-page-gutter: clamp(1.25rem, 3vw, 2.5rem);
	--nikko-panel-padding: clamp(1.25rem, 2.5vw, 2rem);
	--nikko-action-height: 48px;
	--nikko-button-height: 44px;
	--nikko-action-radius: 999px;
	--nikko-motion: 180ms ease;
	--nikko-action-shadow: 0 8px 18px rgba(50, 8, 14, .22);
	--nikko-layout-gap: clamp(24px, 4vw, 48px);
	--nikko-content-width: 1180px;
}

/* =========================================================
BASE E UTILITÁRIOS
========================================================= */

html {
	scroll-behavior: smooth;
	background: var(--nikko-brand-paper);
}

body {
	margin: 0;
	color: var(--nikko-brand-ink);
	background: var(--nikko-brand-paper);
	font-family: var(--nikko-font-sans);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-size: var(--nikko-text-body);
	line-height: var(--nikko-copy-leading);
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
	color: var(--nikko-brand-ink);
	font-family: var(--nikko-font-sans);
	font-weight: 750;
	letter-spacing: -0.035em;
}

body ::selection {
	background: var(--nikko-brand-wine);
	color: #fff;
}

img {
	height: auto;
	max-width: 100%;
}

a {
	transition: color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.nikko-container {
	margin-inline: auto;
	width: min(var(--nikko-content-width), calc(100% - 2 * var(--nikko-page-gutter)));
}

.nikko-sr-only {
	position: absolute;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	width: 1px;
}

/* Shared action system: one geometry, two explicit contrast variants. */

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp, .nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: var(--nikko-button-height) !important;
	padding: 8px 18px !important;
	border: 1px solid transparent !important;
	border-radius: var(--nikko-action-radius) !important;
	background-image: none !important;
	font-family: var(--nikko-font-sans) !important;
	font-size: var(--nikko-text-label) !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	white-space: normal;
	text-align: center;
	cursor: pointer;
	transition: background-color var(--nikko-motion), color var(--nikko-motion), transform var(--nikko-motion), box-shadow var(--nikko-motion);
	box-shadow: none !important;
}

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp) {
	background-color: var(--nikko-brand-wine) !important;
	color: var(--nikko-brand-paper) !important;
}

body :is(.nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button) {
	background-color: var(--nikko-brand-paper) !important;
	color: var(--nikko-brand-wine-dark) !important;
}

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp, .nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button):is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]) {
	transform: translateY(-2px);
	box-shadow: var(--nikko-action-shadow) !important;
}

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp):is(:hover, :focus-visible) {
	background-color: var(--nikko-brand-wine-dark) !important;
}

body :is(.nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button):is(:hover, :focus-visible) {
	background-color: var(--nikko-brand-cream) !important;
}

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp, .nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button):focus-visible {
	outline: 3px solid var(--nikko-brand-wine);
	outline-offset: 3px;
}

body :is(.nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button):focus-visible {
	outline-color: var(--nikko-brand-paper);
}

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp, .nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button):active {
	transform: translateY(0);
	box-shadow: none !important;
}

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp, .nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button):is(:disabled, [aria-disabled="true"]) {
	opacity: .55;
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp, .nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button) :is(.btn-icon, i, svg) {
	color: inherit !important;
}

body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn, .formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-submit-btn, .nikko-tax-archive .nikko-tax-archive__button, .nikko-tax-archive .nikko-tax-archive__card-link, .nikko-pacote-hero__booking .nikko-pacote-hero__whatsapp, .nikko-promotions .nikko-promotions__cta, .service-content-bottom-cta .cta-button, .contact-section-item .formlayer-submit-btn, .nikko-pacote-cta__box .nikko-pacote-button) svg {
	fill: currentColor !important;
	height: 18px;
	width: 18px;
}

body :is(.menu-contact-button, .marketing-banner-button) .ha-creative-btn::before,
body :is(.menu-contact-button, .marketing-banner-button) .ha-creative-btn::after {
	display: none !important;
}

body :is(.menu-contact-button, .marketing-banner-button) .ha-creative-btn > span {
	padding: 0 !important;
}

body .nikko-promotions__title {
	font-family: var(--nikko-font-sans) !important;
	font-size: var(--nikko-heading-display) !important;
	font-weight: 800 !important;
	line-height: var(--nikko-heading-leading) !important;
	letter-spacing: -.04em;
}

body :is(.service-content-top-first-text .title, .sobre-nos-first-content .title, .info-title .elementor-heading-title, .info-header .elementor-heading-title, .nikko-tax-archive__title, .nikko-tax-archive__header h1, .info-section .ha-infobox-title, .info-section #cmplz-document h1, .contact-section > .e-con:first-child > .elementor-widget-eael-info-box:not(.contact-info-header) .title) {
	font-family: var(--nikko-font-sans) !important;
	font-size: var(--nikko-heading-page) !important;
	font-weight: 800 !important;
	line-height: var(--nikko-heading-leading) !important;
	letter-spacing: -.04em;
}

body :is(.marketing-banner-title .elementor-heading-title, .reviews-title .elementor-heading-title, .sobre-nos-middle-title .title, .nk-title .elementor-heading-title, .nikko-tax-archive__section-title, .nikko-tax-archive__header h2) {
	font-family: var(--nikko-font-sans) !important;
	font-size: var(--nikko-heading-section) !important;
	font-weight: 800 !important;
	line-height: var(--nikko-heading-leading) !important;
	letter-spacing: -.04em;
}

body :is(.nikko-tax-archive__card-title, .sobre-nos-middle-card .elementor-icon-box-title, .sobre-nos-bottom-title .title, .service-content-bottom-cta .eael-cta-heading, .contact-info-header .title) {
	font-family: var(--nikko-font-sans) !important;
	font-size: var(--nikko-heading-card) !important;
	font-weight: 700 !important;
	line-height: var(--nikko-heading-leading) !important;
	letter-spacing: -.04em;
}

body :is(.service-content-top-first-text .title, .sobre-nos-first-content .title, .sobre-nos-middle-title .title,
.marketing-banner-title .elementor-heading-title, .reviews-title .elementor-heading-title, .info-title .elementor-heading-title,
.info-header .elementor-heading-title, .nikko-tax-archive__title, .nikko-tax-archive__section-title, .nikko-tax-archive__card-title,
.nikko-tax-archive__header h1, .nikko-tax-archive__header h2, .info-section .ha-infobox-title) {
	color: var(--nikko-brand-ink) !important;
}

/* Readable editorial copy and field text, without changing widget controls. */

body .formlayer-form-wrapper:not(:where(.mkl-landing *)) textarea.formlayer-input:not(.nikko-pacote-included__form *) {
	min-height: 8rem !important;
	resize: vertical;
}

body :is(.service-content-top-first-text p, .sobre-nos-first-content p, .sobre-nos-middle-text p,
.sobre-nos-middle-card .elementor-icon-box-description, .nk-description p, .nk-address p,
.nikko-tax-archive__card-description, .info-section p, .info-section li) {
	font-size: var(--nikko-text-body) !important;
	line-height: var(--nikko-copy-leading) !important;
}

body :is(.formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-input, .formlayer-form-wrapper:not(:where(.mkl-landing *)) textarea) {
	font-family: var(--nikko-font-sans);
	font-size: var(--nikko-text-body) !important;
}

body :is(.sobre-nos-middle-card .elementor-icon-box-title, .sobre-nos-bottom-title .title,
.nikko-pacote-itinerary__heading) {
	color: var(--nikko-brand-ink) !important;
}

body :is(.sobre-nos-section, .service-content-section, .info-section, .contact-section, .nk-footer-design) :is(p, .elementor-icon-list-text, .elementor-icon-box-description) {
	font-family: var(--nikko-font-sans) !important;
}

/* Compact labels and badges share type, not the meaning of their colors. */

body :is(.nikko-tax-archive__type, .nikko-pacote-tag, .nikko-pacote-hero__tag,
.nikko-pacote-hero__duration, .nikko-pacote-hero__departure) {
	font-family: var(--nikko-font-sans);
	font-size: var(--nikko-text-small) !important;
	font-weight: 600;
	line-height: 1.4;
}

body .info-section #cmplz-document :is(h2,h3,h4) {
	font-family: var(--nikko-font-sans);
	font-size: var(--nikko-heading-card);
	line-height: var(--nikko-heading-leading);
	color: var(--nikko-brand-ink);
}

body :is(.formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-input:not([type=checkbox]):not([type=radio]),
.nikko-tax-archive__field input, .nikko-tax-archive__field select) {
	min-height: var(--nikko-action-height);
	padding: 11px 14px !important;
	border: 1px solid var(--nikko-brand-border-strong) !important;
	border-radius: var(--nikko-radius-sm) !important;
	font-family: var(--nikko-font-sans);
	font-size: var(--nikko-text-body) !important;
	color: var(--nikko-brand-ink);
	line-height: 1.4;
	background-color: var(--nikko-surface) !important;
	transition: border-color var(--nikko-motion), box-shadow var(--nikko-motion);
}

body :is(.formlayer-form-wrapper:not(:where(.mkl-landing *)) .formlayer-input:not([type=checkbox]):not([type=radio]),
.nikko-tax-archive__field input, .nikko-tax-archive__field select):focus {
	border-color: var(--nikko-brand-wine) !important;
	outline: 2px solid var(--nikko-brand-wine);
	outline-offset: 2px;
}

/* Icon navigation keeps its circular shape, sharing target size, motion and focus. */

body :is(.nikko-promotions__arrow, .nikko-pacote-gallery__nav) {
	width: var(--nikko-action-height);
	min-width: var(--nikko-action-height);
	height: var(--nikko-action-height);
	padding: 0;
	border-radius: 50%;
	box-shadow: none;
	transition: background-color var(--nikko-motion), transform var(--nikko-motion), box-shadow var(--nikko-motion);
}

body :is(.nikko-promotions__arrow, .nikko-pacote-gallery__nav):is(:hover, :focus-visible) {
	transform: translateY(-2px);
	box-shadow: var(--nikko-action-shadow);
}

body :is(.nikko-promotions__arrow, .nikko-pacote-gallery__nav):focus-visible {
	outline: 3px solid var(--nikko-brand-wine);
	outline-offset: 3px;
}

body .nikko-promotions__arrow:focus-visible {
	outline-color: var(--nikko-brand-paper);
}

h2.elementor-heading-title.elementor-size-default:not(:where(.mkl-landing *, .reviews-section *)) {
    color: var(--nikko-brand-cream) !important;
}

/* =========================================================
CABEÇALHO E NAVEGAÇÃO
========================================================= */

/* A classe ehf-header supera position: relative do Header Footer Elementor. */

#masthead,
.ehf-header #masthead {
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid rgba(32, 30, 29, 0.08);
	background: #fff;
	box-shadow: 0 8px 28px rgba(44, 28, 24, 0.06);
}

/* Mantém o cabeçalho abaixo da barra administrativa do WordPress. */

body.admin-bar #masthead {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar #masthead {
		top: 46px;
	}
}

/* Em telas pequenas a barra administrativa deixa de ser fixa ao rolar. */

@media (max-width: 600px) {
	body.admin-bar #masthead {
		top: 0;
	}
}

#masthead .top-menu-header {
	min-height: 80px;
	padding: 13px max(24px, calc((100vw - 1240px) / 2)) !important;
	align-items: center;
	gap: clamp(22px, 3vw, 48px);
	background: transparent;
	width: 100%;
}

#masthead .logo-section {
	flex: 0 0 auto;
	align-items: center;
	text-decoration: none;
}

#masthead .site-logo-img img {
	display: block;
	max-height: 54px;
	width: auto;
}

#masthead .site-logo-title-section {
	min-width: 0;
}

#masthead .site-logo-title .elementor-heading-title,
#masthead .site-logo-subtitle .elementor-heading-title {
	color: var(--nikko-brand-ink);
}

#masthead .top-nav-menu {
	margin-left: auto;
	flex: 1 1 auto;
	width: auto !important;
	max-width: none !important;
}

#masthead .top-nav-menu .eael-simple-menu-container,
#masthead .top-nav-menu .eael-simple-menu {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

#masthead .top-nav-menu .eael-simple-menu > li > a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 11px 14px !important;
	border: 0 !important;
	border-radius: 999px;
	background: transparent !important;
	color: #302722 !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	line-height: 1.3;
	font-size: var(--nikko-text-label) !important;
}

#masthead .top-nav-menu .eael-simple-menu > li:hover > a,
#masthead .top-nav-menu .eael-simple-menu > li:focus-within > a,
#masthead .top-nav-menu .eael-simple-menu > li.current-menu-item > a,
#masthead .top-nav-menu .eael-simple-menu > li.current-menu-ancestor > a {
	background: var(--nikko-brand-wine-soft) !important;
	color: var(--nikko-brand-wine-dark) !important;
}

#masthead .top-nav-menu .eael-simple-menu > li > a:focus-visible,
#masthead .top-nav-menu .eael-simple-menu .sub-menu a:focus-visible,
#masthead .top-nav-menu .eael-simple-menu-toggle:focus-visible,
#masthead .menu-contact-button a:focus-visible {
	outline: 2px solid var(--nikko-brand-wine);
	outline-offset: 3px;
}

#masthead .top-nav-menu .eael-simple-menu > li > .sub-menu {
	z-index: 10001;
	min-width: 270px;
	padding: 8px !important;
	border: 1px solid #eee3df !important;
	background: var(--nikko-brand-paper) !important;
	box-shadow: 0 16px 38px rgba(42, 24, 20, 0.14) !important;
	border-radius: var(--nikko-radius-sm) !important;
}

#masthead .top-nav-menu .eael-simple-menu .sub-menu a {
	padding: 12px 14px !important;
	border: 0 !important;
	background: transparent !important;
	color: #392e29 !important;
	font-weight: 500 !important;
	line-height: 1.4;
	border-radius: var(--nikko-radius-sm);
	font-size: var(--nikko-text-label) !important;
}

#masthead .top-nav-menu .eael-simple-menu .sub-menu a:hover,
#masthead .top-nav-menu .eael-simple-menu .sub-menu a:focus-visible {
	background: var(--nikko-brand-wine-soft) !important;
	color: var(--nikko-brand-wine-dark) !important;
}

#masthead .menu-contact-button {
	flex: 0 0 auto;
}

@media (max-width: 1024px) {
	#masthead .top-menu-header {
		min-height: 70px;
		padding: 11px 22px !important;
		gap: 18px;
	}

	#masthead .site-logo-img img {
		max-height: 48px;
	}

	#masthead .top-nav-menu {
		position: relative;
		min-width: 46px;
		margin-left: auto;
		flex: 0 0 auto;
		width: 46px !important;
	}

	#masthead .top-nav-menu .eael-nav-menu-wrapper {
		position: absolute !important;
		top: 100%;
		right: 0 !important;
		left: auto !important;
		width: min(360px, calc(100vw - 44px)) !important;
	}

	#masthead .top-nav-menu .eael-simple-menu-toggle-text {
		display: none;
	}

	#masthead .top-nav-menu .eael-simple-menu-toggle {
		display: grid;
		height: 46px;
		padding: 11px !important;
		place-items: center;
		border: 1px solid #eadeda !important;
		background: #fff8f5 !important;
		color: var(--nikko-brand-wine) !important;
		line-height: 1;
		border-radius: var(--nikko-radius-sm) !important;
		width: 46px;
	}

	#masthead .top-nav-menu .eael-simple-menu-toggle svg {
		height: 22px;
		fill: currentColor !important;
		width: 22px;
	}

	#masthead .top-nav-menu .eael-simple-menu-toggle:hover,
	#masthead .top-nav-menu .eael-simple-menu-toggle.eael-simple-menu-toggle-open {
		border-color: var(--nikko-brand-wine) !important;
		background: var(--nikko-brand-wine) !important;
		color: #fff !important;
	}

	#masthead .top-nav-menu .eael-simple-menu.eael-simple-menu-responsive {
		position: absolute;
		top: 12px;
		right: 0;
		left: auto !important;
		transform: none !important;
		z-index: 10001;
		margin: 0 !important;
		max-height: calc(100dvh - 100px);
		padding: 10px !important;
		overflow-y: auto;
		border: 1px solid #eadeda !important;
		border-top: 2px solid var(--nikko-brand-wine) !important;
		border-radius: 0 0 13px 13px !important;
		background: var(--nikko-brand-paper) !important;
		box-shadow: 0 16px 36px rgba(42, 24, 20, 0.15) !important;
		overscroll-behavior: contain;
		width: 100%;
	}

	#masthead .top-nav-menu .eael-simple-menu.eael-simple-menu-responsive > li {
		text-align: left;
		border-bottom: 1px solid #f0e8e4 !important;
		width: 100%;
	}

	#masthead .top-nav-menu .eael-simple-menu.eael-simple-menu-responsive > li:last-child {
		border-bottom: 0 !important;
	}

	#masthead .top-nav-menu .eael-simple-menu.eael-simple-menu-responsive > li > a {
		min-height: 50px;
		padding: 10px 12px !important;
		border-radius: var(--nikko-radius-sm);
		width: 100%;
		font-size: var(--nikko-text-label) !important;
	}

	#masthead .top-nav-menu .eael-simple-menu.eael-simple-menu-responsive .sub-menu {
		position: static !important;
		transform: none !important;
		min-width: 0;
		margin: 0;
		padding: 3px 0 8px 12px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #fbf7f4 !important;
		box-shadow: none !important;
		width: 100% !important;
	}
}

@media (max-width: 640px) {
	#masthead .top-menu-header {
		padding-inline: 16px !important;
	}

	#masthead .site-logo-title-section {
		display: none;
	}
}

/* =========================================================
SEÇÕES COMPARTILHADAS DO ELEMENTOR
========================================================= */

.hero-section,
.hero-shortcode-section {
	min-width: 0;
	width: 100%;
}

.hero-shortcode-section > .elementor-widget-container,
.hero-shortcode-section :is(.elementor-shortcode, .nikko-shortcode-content) {
	width: 100%;
}

.list-services-section {
	display: grid !important;
	position: relative;
	z-index: 5;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: -1px;
	background: #fff !important;
	box-shadow: 0 18px 46px rgba(35, 24, 21, 0.08);
}

.list-services-section .item-service {
	min-width: 0;
	padding: 23px 22px !important;
	border-right: 1px solid var(--nikko-brand-border);
	background: transparent;
	transition: transform 0.22s ease, background-color 0.22s ease;
}

.list-services-section .item-service:last-child {
	border-right: 0;
}

.list-services-section .item-service:hover {
	background: var(--nikko-brand-wine-dark);
	transform: translateY(-4px);
}

.list-services-section .item-service .ha-infobox-title {
	font-weight: 750;
	font-size: var(--nikko-text-label);
}

.list-services-section .item-service .ha-infobox-text,
.list-services-section .item-service .ha-infobox-text p {
	line-height: 1.5;
	font-size: var(--nikko-text-small);
}

.list-services-section .item-service:hover .ha-infobox-title,
.list-services-section .item-service:hover .ha-infobox-text,
.list-services-section .item-service:hover .ha-infobox-text p,
.list-services-section .item-service:hover .ha-infobox-figure {
	color: #fff !important;
}

.list-services-section .item-service:hover svg {
	fill: var(--e-global-color-primary) !important;
}

.national-offer-section,
.cruise-offer-section {
	padding-block: var(--nikko-section-space) !important;
}

.national-offer-section {
	background: radial-gradient(circle at 94% 8%, rgba(159, 31, 44, 0.07), transparent 32%),
		linear-gradient(180deg, #fff 0%, #faf7f3 100%) !important;
}

.cruise-offer-section {
	background: #fff !important;
}

.marketing-banner-inner-section {
	margin-inline: auto;
	width: min(var(--nikko-content-width), calc(100% - 40px));
}

.marketing-banner-section .marketing-banner-tag,
.marketing-banner-section .marketing-banner-text,
.marketing-banner-section .marketing-banner-button {
	position: relative;
	z-index: 1;
}

.reviews-section {
	background-color: #fff !important;
	background-image: none !important;
	padding-block: var(--nikko-section-space) !important;
	padding-inline: 0 !important;
}

.reviews-section::before,
.reviews-section::after {
	display: none !important;
}

.reviews-tag,
.reviews-title,
.reviews-text,
.reviews-shortcode {
	margin-inline: auto !important;
	width: min(var(--nikko-content-width), calc(100% - 2 * var(--nikko-page-gutter))) !important;
	text-align: left;
}

.reviews-tag .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.reviews-tag .elementor-heading-title::before {
	content: '';
	flex-shrink: 0;
	width: 24px;
	height: 1px;
	background: currentColor;
}

.reviews-text p {
	margin: 0;
}

@media (max-width: 800px) {
	.list-services-section {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: 100% !important;
	}

	.list-services-section .item-service {
		min-width: 0 !important;
		min-height: auto;
		padding: 16px !important;
		border-right: 0;
		border-bottom: 1px solid var(--nikko-brand-border);
		width: auto !important;
		max-width: none !important;
	}
}

@media (max-width: 520px) {
	.list-services-section {
		grid-template-columns: minmax(0, 1fr) !important;
		overflow: hidden;
		width: 100% !important;
		max-width: 100% !important;
	}

	.list-services-section .item-service {
		min-width: 0 !important;
		padding: 18px 20px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.list-services-section .item-service:last-child {
		border-bottom: 0;
	}
}

/* =========================================================
PÁGINAS INTERNAS, INFORMAÇÕES E DOCUMENTOS LEGAIS
========================================================= */

body:not(.home):not(.single-oferta):not(.single-cruzeiro) .site-main,
body:not(.home):not(.single-oferta):not(.single-cruzeiro) main.elementor {
	background: var(--nikko-brand-paper);
}

body:not(.home) .elementor-widget-heading h1,
body:not(.home) .elementor-widget-heading h2 {
	font-family: var(--nikko-font-sans);
	font-weight: 800;
	letter-spacing: -0.045em;
}

.info-title,
.info-header,
.info-accordion,
.info-accordion .e-n-accordion,
.info-accordion .e-n-accordion-item-title-header,
.info-accordion-item,
.info-accordion-item-content {
	min-width: 0;
}

.info-accordion .e-n-accordion {
	width: 100%;
}

.info-accordion .e-n-accordion-item-title-text {
	overflow-wrap: anywhere;
}

.info-title {
	margin: clamp(42px, 7vw, 88px) auto 0;
	width: min(1120px, calc(100% - 40px));
}

.info-section {
	margin-inline: auto;
	border: 1px solid var(--nikko-brand-border);
	border-radius: var(--nikko-radius-lg);
	background: var(--nikko-surface);
	box-shadow: var(--nikko-shadow-sm);
	margin-block: var(--nikko-section-space);
	padding: var(--nikko-panel-padding) !important;
	width: min(1120px, calc(100% - 40px));
}

.info-header {
	margin-bottom: clamp(26px, 4vw, 46px);
	padding-bottom: clamp(20px, 3vw, 30px);
	border-bottom: 1px solid var(--nikko-brand-border);
}

.info-header p,
.info-accordion-item-content p,
.info-accordion-item-content li,
.info-section #cmplz-document p,
.info-section #cmplz-document li {
	color: var(--nikko-brand-muted);
	line-height: 1.75;
	font-size: var(--nikko-text-body);
}

.info-accordion {
	display: grid !important;
	gap: 18px;
}

.info-accordion-item {
	padding: clamp(22px, 3.5vw, 36px) !important;
	border: 1px solid var(--nikko-brand-border);
	border-radius: var(--nikko-radius-md);
	background: var(--nikko-surface-soft);
}

.info-accordion-item h2,
.info-accordion-item h3,
.info-accordion-item h4 {
	margin-top: 0;
	color: var(--nikko-brand-wine-dark);
	line-height: 1.2;
}

.info-accordion-item-content > .elementor-widget-container > :first-child,
.info-section #cmplz-document > :first-child {
	margin-top: 0;
}

.info-accordion-item-content > .elementor-widget-container > :last-child,
.info-section #cmplz-document > :last-child {
	margin-bottom: 0;
}

.info-accordion-item-content a,
.info-section #cmplz-document a {
	color: var(--nikko-brand-wine-dark);
	font-weight: 650;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.info-section #cmplz-document {
	margin: 0;
	color: var(--nikko-brand-muted);
	font-family: var(--nikko-font-sans);
	max-width: none;
}

.info-section #cmplz-document h2,
.info-section #cmplz-document h3,
.info-section #cmplz-document h4 {
	margin-top: 2em;
	color: var(--nikko-brand-ink);
	line-height: 1.25;
}

.info-section #cmplz-document table {
	margin-block: 24px;
	border-collapse: collapse;
	border: 1px solid var(--nikko-brand-border);
	background: #fff;
	width: 100%;
}

.info-section #cmplz-document th,
.info-section #cmplz-document td {
	padding: 12px 14px;
	border: 1px solid var(--nikko-brand-border);
	text-align: left;
	vertical-align: top;
}

.info-section #cmplz-document th {
	background: var(--nikko-brand-wine-soft);
	color: var(--nikko-brand-ink);
	font-weight: 750;
}

.site-main .formlayer-form-wrapper:not(:where(.mkl-landing *)) {
	margin: clamp(42px, 7vw, 88px) auto;
	padding: clamp(26px, 4vw, 44px);
	border: 1px solid var(--nikko-brand-border);
	border-radius: var(--nikko-radius-lg);
	background: var(--nikko-surface);
	box-shadow: var(--nikko-shadow-sm);
	width: min(820px, calc(100% - 40px));
}

.site-main .formlayer-form:not(:where(.mkl-landing *)) {
	font-family: var(--nikko-font-sans);
}

.site-main .formlayer-label:not(:where(.mkl-landing *)) {
	color: var(--nikko-brand-ink);
	font-weight: 700;
}

.site-main .formlayer-input:not(:where(.mkl-landing *)),
.site-main .formlayer-form:not(:where(.mkl-landing *)) input,
.site-main .formlayer-form:not(:where(.mkl-landing *)) select,
.site-main .formlayer-form:not(:where(.mkl-landing *)) textarea {
	border: 1px solid var(--nikko-brand-border-strong);
	border-radius: var(--nikko-radius-sm);
	background: #fff;
	color: var(--nikko-brand-ink);
}

.site-main .formlayer-input:not(:where(.mkl-landing *)):focus,
.site-main .formlayer-form:not(:where(.mkl-landing *)) input:focus,
.site-main .formlayer-form:not(:where(.mkl-landing *)) select:focus,
.site-main .formlayer-form:not(:where(.mkl-landing *)) textarea:focus {
	border-color: var(--nikko-brand-wine);
	box-shadow: 0 0 0 3px rgba(159, 31, 44, 0.12);
	outline: 0;
}

@media (max-width: 640px) {
	.info-title,
	.info-section,
	.site-main .formlayer-form-wrapper:not(:where(.mkl-landing *)) {
		width: calc(100% - 28px);
	}

	.info-section {
		border-radius: var(--nikko-radius-md);
	}

	.info-accordion-item {
		padding: 21px 17px !important;
	}

	.info-section #cmplz-document {
		overflow-wrap: anywhere;
	}

	.info-section #cmplz-document table {
		display: block;
		overflow-x: auto;
	}
}

/* =========================================================
PÁGINA DE CONTATO
========================================================= */

.contact-section {
	display: grid !important;
	grid-template-columns: minmax(0, 1.68fr) minmax(320px, 0.72fr);
	margin: 72px auto 80px !important;
	align-items: stretch !important;
	background: transparent !important;
	gap: var(--nikko-layout-gap) !important;
	margin-block: var(--nikko-section-space) !important;
	width: min(var(--nikko-content-width), calc(100% - 40px)) !important;
	max-width: var(--nikko-content-width) !important;
}

.contact-section > .e-con {
	min-width: 0;
	width: auto !important;
	max-width: none !important;
}

.contact-section > .e-con:first-child {
	display: flex !important;
	flex-direction: column;
	align-content: start;
	align-items: stretch;
	gap: 24px !important;
	padding: 0 !important;
	background: transparent !important;
	width: 100% !important;
}

.contact-section > .e-con:first-child > .elementor-widget-eael-info-box:not(.contact-info-header) {
	min-width: 0;
	padding: 0 4px;
	width: 100% !important;
}

.contact-section > .e-con:first-child > .elementor-widget-eael-info-box:not(.contact-info-header) .eael-infobox {
	padding: 0;
	text-align: left;
}

.contact-section > .e-con:first-child > .elementor-widget-eael-info-box:not(.contact-info-header) .title {
	margin: 0 0 12px;
	color: var(--nikko-brand-ink);
}

.contact-section > .e-con:first-child > .elementor-widget-eael-info-box:not(.contact-info-header) .title::before {
	display: inline-block;
	height: 2px;
	margin: 0 12px 8px 0;
	border-radius: 999px;
	background: var(--nikko-brand-wine);
	content: '';
	width: 34px;
}

.contact-section > .e-con:first-child > .elementor-widget-eael-info-box:not(.contact-info-header) p {
	margin: 0;
	color: var(--nikko-brand-muted);
	line-height: 1.72;
	max-width: 720px;
	font-size: var(--nikko-text-label);
}

.contact-section > .e-con:last-child {
	display: flex !important;
	flex-direction: column;
	gap: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.08);
	background: linear-gradient(145deg, rgba(159, 31, 44, 0.12), transparent 38%),
		#211e1d !important;
	box-shadow: 0 24px 60px rgba(35, 22, 19, 0.18);
	border-radius: var(--nikko-radius-md);
}

.contact-form-shortcode {
	min-width: 0;
	height: 100%;
	padding: 0 !important;
	border: 1px solid rgba(32, 30, 29, 0.08);
	background: var(--nikko-surface-soft) !important;
	box-shadow: 0 20px 50px rgba(48, 31, 27, 0.09);
	border-radius: var(--nikko-radius-md) !important;
	width: 100% !important;
	max-width: none !important;
}

.contact-form-shortcode > .elementor-widget-container,
.contact-form-shortcode .elementor-shortcode {
	height: 100%;
}

.contact-form-shortcode .formlayer-form-wrapper:not(:where(.mkl-landing *)) {
	margin: 0 !important;
	padding: clamp(30px, 4vw, 46px) !important;
	border: 1px solid var(--nikko-brand-border);
	background: #fff !important;
	box-shadow: none;
	border-radius: var(--nikko-radius-md);
	width: 100%;
	max-width: none;
}

.contact-form-shortcode .formlayer-label {
	margin-bottom: 8px;
	color: var(--nikko-brand-ink);
	font-weight: 750;
	font-size: var(--nikko-text-label);
}

.contact-form-shortcode .formlayer-field-wrap {
	margin-bottom: 22px;
}

.contact-form-shortcode textarea.formlayer-input {
	resize: vertical;
}

.contact-form-shortcode .formlayer-terms-wrap {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 12px;
	padding: 14px 15px;
	border: 1px solid rgba(32, 30, 29, 0.08);
	background: #faf7f3;
	border-radius: var(--nikko-radius-sm);
}

.contact-form-shortcode .formlayer-terms-wrap input[type='checkbox'] {
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--nikko-brand-wine);
	width: 18px;
}

.contact-form-shortcode .formlayer-terms-label {
	color: var(--nikko-brand-muted);
	line-height: 1.55;
	font-size: var(--nikko-text-label);
}

.contact-form-shortcode .formlayer-terms-label a,
.contact-form-shortcode .formlayer-help-text a {
	color: var(--nikko-brand-wine-dark);
	font-weight: 650;
	text-underline-offset: 3px;
}

.contact-form-shortcode .formlayer-captcha-container,
.contact-form-shortcode .cmplz-blocked-content-container {
	overflow: hidden;
	border-radius: 11px;
	max-width: 100%;
}

.contact-form-shortcode .formlayer-help-text {
	margin-top: 9px;
	color: var(--nikko-brand-muted-light);
	line-height: 1.5;
	font-size: var(--nikko-text-small);
}

.contact-info-header {
	margin: 0 0 4px !important;
	padding: 0 4px 26px !important;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
}

.contact-info-header .sub_title {
	margin-bottom: 12px;
	color: #e77b83 !important;
	text-transform: uppercase;
	font-size: var(--nikko-text-small);
	font-weight: 700;
	letter-spacing: .12em;
}

.contact-info-header .title {
	margin: 0 0 15px;
	color: #fff !important;
}

.contact-info-header .description {
	color: rgba(255, 255, 255, 0.66) !important;
	line-height: 1.65;
	font-size: var(--nikko-text-label);
}

.contact-section-item {
	margin: 0 !important;
	padding: 18px 4px !important;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 0;
	background: transparent !important;
	transition: padding-left 0.2s ease, border-color 0.2s ease;
}

.contact-section-item:hover {
	padding-left: 10px !important;
	border-color: rgba(231, 123, 131, 0.42);
	box-shadow: none;
	transform: none;
}

.contact-section-item .elementor-icon-box-wrapper {
	display: grid !important;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	text-align: left !important;
}

.contact-section-item .elementor-icon-box-icon {
	margin: 0 !important;
}

.contact-section-item .elementor-icon {
	display: grid;
	height: 46px;
	padding: 0 !important;
	place-items: center;
	border: 1px solid rgba(231, 123, 131, 0.22);
	border-radius: 50%;
	background: rgba(159, 31, 44, 0.22) !important;
	box-shadow: none;
	width: 46px;
}

.contact-section-item .elementor-icon svg {
	height: 19px;
	fill: #fff !important;
	width: 19px;
}

.contact-section-item .elementor-icon-box-title {
	margin: 1px 0 6px;
	color: #fff !important;
	font-size: 1rem;
	letter-spacing: -0.015em;
	line-height: 1.3;
}

.contact-section-item .elementor-icon-box-description {
	color: rgba(255, 255, 255, 0.64) !important;
	font-size: 0.82rem;
	line-height: 1.55;
}

.contact-section-item .formlayer-submit-btn {
	margin-top: 2px;
}

.contact-section > .e-con:last-child .contact-section-item:last-child {
	margin-top: 18px !important;
	padding: 20px !important;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: linear-gradient(135deg, #8d1017, #ad1825) !important;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.17);
	border-radius: var(--nikko-radius-md);
}

.contact-section > .e-con:last-child .contact-section-item:last-child .elementor-icon {
	border: 0;
	background: rgba(255, 255, 255, 0.12) !important;
	box-shadow: none;
}

.contact-section > .e-con:last-child .contact-section-item:last-child .elementor-icon-box-title {
	color: #fff !important;
}

.contact-section > .e-con:last-child .contact-section-item:last-child .elementor-icon-box-description,
.contact-section > .e-con:last-child .contact-section-item:last-child .elementor-icon-box-description a {
	color: rgba(255, 255, 255, 0.84) !important;
}

@media (max-width: 1024px) {
	.contact-section {
		grid-template-columns: 1fr;
		gap: var(--nikko-layout-gap) !important;
		margin-block: var(--nikko-section-space) !important;
		width: min(900px, calc(100% - 40px)) !important;
	}

	.contact-section > .e-con:last-child {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 28px;
	}

	.contact-info-header,
	.contact-section > .e-con:last-child .contact-section-item:last-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 760px) {
	.contact-section > .e-con:first-child {
		display: flex !important;
		min-width: 0 !important;
		flex-direction: column;
		gap: 24px !important;
		width: 100% !important;
	}

	.contact-section > .e-con:first-child > .elementor-widget-eael-info-box:not(.contact-info-header) {
		padding: 0 2px;
		width: 100% !important;
	}
}

@media (max-width: 640px) {
	.contact-section {
		min-width: 0 !important;
		gap: var(--nikko-layout-gap) !important;
		margin-block: var(--nikko-section-space) !important;
		max-width: calc(100% - 28px) !important;
		width: calc(100% - 28px) !important;
	}

	.contact-form-shortcode {
		min-width: 0 !important;
		padding: 14px !important;
		border-radius: var(--nikko-radius-md) !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.contact-form-shortcode .formlayer-form-wrapper:not(:where(.mkl-landing *)) {
		padding: 24px 18px !important;
		border-radius: var(--nikko-radius-md);
	}

	.contact-form-shortcode .formlayer-width-50 {
		width: 100% !important;
	}

	.contact-section > .e-con:last-child {
		display: flex !important;
		min-width: 0 !important;
		padding: 30px 22px !important;
		border-radius: var(--nikko-radius-md);
		width: 100% !important;
		max-width: 100% !important;
	}

	.contact-section-item .elementor-icon-box-wrapper {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.contact-section-item .elementor-icon {
		height: 42px;
		width: 42px;
	}
}

/* =========================================================
COMPATIBILIDADE DO WIDGET WHATSAPP — REGRAS EXISTENTES
========================================================= */

.ha-whatsapp--chat-theme-onboarding .ha-whatsapp-popup__header-avatar {
	border: 0 !important;
}

@media (max-width: 640px) {
	.nikko-container {
		width: min(var(--nikko-content-width), calc(100% - 2 * var(--nikko-page-gutter)));
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}

	body :is(.menu-contact-button .ha-creative-btn, .marketing-banner-button .ha-creative-btn,
.formlayer-submit-btn, .nikko-tax-archive__button, .nikko-tax-archive__card-link,
.nikko-pacote-button, .nikko-promotions__cta, .service-content-bottom-cta .cta-button,
.nikko-promotions__arrow, .nikko-pacote-gallery__nav) {
		transition: none !important;
		transform: none !important;
	}
}

/* =========================================================
PÁGINA SOBRE NÓS
========================================================= */

/* Sobre nós: only the explicitly scoped Elementor content. */

.sobre-nos-section {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding: 0 !important;
	background: #fffdf9;
	color: var(--nikko-brand-ink);
	font-family: var(--nikko-font-sans, 'DM Sans', Arial, sans-serif);
	width: 100%;
	max-width: none;
}

/* Classes verified against the published Elementor structure. */

.sobre-nos-section .sobre-nos-top-section {
	display: grid !important;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: center;
	margin-inline: auto;
	background: #fffdf9;
	color: var(--nikko-brand-ink);
	font-family: var(--nikko-font-sans, 'DM Sans', Arial, sans-serif);
	padding: var(--nikko-section-space) var(--nikko-page-gutter) !important;
	gap: var(--nikko-layout-gap) !important;
	width: 100% !important;
	max-width: var(--nikko-content-width);
}

.sobre-nos-section *,
.sobre-nos-section *::before,
.sobre-nos-section *::after {
	box-sizing: border-box;
}

.sobre-nos-section :is(.sobre-nos-first, .sobre-nos-second) {
	min-width: 0;
	margin: 0;
	gap: 0;
	width: 100% !important;
	max-width: none;
}

.sobre-nos-section .sobre-nos-first {
	padding: 0 !important;
}

.sobre-nos-section .sobre-nos-first-content .eael-infobox,
.sobre-nos-section .sobre-nos-first-content .infobox-content {
	padding: 0 !important;
	background: transparent;
	text-align: left;
}

.sobre-nos-section .sobre-nos-first-content .sub_title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	color: var(--nikko-brand-wine) !important;
	font-family: inherit;
	line-height: 1.5;
	text-transform: uppercase;
	font-weight: 700;
	font-size: var(--nikko-text-small);
	letter-spacing: .12em;
}

.sobre-nos-section .sobre-nos-first-content .sub_title::before {
	content: '';
	height: 2px;
	flex-shrink: 0;
	background: currentColor;
	width: 30px;
}

.sobre-nos-section .sobre-nos-first-content .title {
	margin: 0 0 24px;
	color: var(--nikko-brand-ink);
}

.sobre-nos-section .sobre-nos-first-content p {
	margin: 0 0 18px;
	color: var(--nikko-brand-muted);
	font-size: var(--nikko-text-body);
	line-height: var(--nikko-copy-leading);
}

.sobre-nos-section .sobre-nos-first-alert {
	margin-top: 10px;
}

.sobre-nos-section .sobre-nos-first-alert .elementor-alert {
	padding: 4px 0 4px 18px;
	border: 0;
	border-left: 2px solid var(--nikko-brand-wine);
	border-radius: 0;
	background: transparent;
	color: var(--nikko-brand-ink);
	max-width: 380px;
}

.sobre-nos-section .sobre-nos-first-alert .elementor-alert-title {
	font-weight: 600;
	line-height: 1.6;
	font-size: var(--nikko-text-body);
}

.sobre-nos-section .sobre-nos-second {
	position: relative;
	overflow: hidden;
	min-height: 360px;
	padding: 36px !important;
	background: var(--nikko-brand-cream);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: var(--nikko-radius-md);
}

.sobre-nos-section .sobre-nos-second::after {
	content: '';
	position: absolute;
	height: 290px;
	right: -165px;
	top: -90px;
	border: 1px solid #a21d2e20;
	border-radius: 50%;
	pointer-events: none;
	width: 290px;
}

.sobre-nos-section .sobre-nos-second-img .elementor-image-box-wrapper {
	text-align: left;
}

.sobre-nos-section .sobre-nos-second-img .elementor-image-box-img {
	margin: 0 0 20px !important;
	width: 200px !important;
	max-width: 100%;
}

.sobre-nos-section .sobre-nos-second-img img {
	display: block;
	height: auto;
	width: 100%;
}

.sobre-nos-section .sobre-nos-second-img .elementor-image-box-title {
	margin: 0 0 24px;
	color: var(--nikko-brand-ink);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -1px;
	max-width: 290px;
	font-size: var(--nikko-heading-section);
}

.sobre-nos-section .sobre-nos-second > .e-con {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	padding: 20px 0 0 !important;
	border-top: 1px solid #e6ddd5;
	width: 100%;
}

.sobre-nos-section .sobre-nos-second-icons {
	min-width: 0;
	width: 100%;
}

.sobre-nos-section .sobre-nos-second-icons .elementor-icon-box-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 10px;
}

.sobre-nos-section .sobre-nos-second-icons .elementor-icon-box-icon {
	margin: 0 !important;
}

.sobre-nos-section .sobre-nos-second-icons .elementor-icon {
	color: var(--nikko-brand-wine) !important;
	font-size: 19px;
}

.sobre-nos-section .sobre-nos-second-icons .elementor-icon-box-title {
	margin: 0;
	color: var(--nikko-brand-muted);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;
}

.sobre-nos-section .sobre-nos-middle-section {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	padding: var(--nikko-section-space) var(--nikko-page-gutter) 0 !important;
}

.sobre-nos-section .sobre-nos-middle-section,
.sobre-nos-section .sobre-nos-bottom-section {
	display: grid !important;
	gap: 24px 40px;
	margin: 0 auto;
	background: var(--nikko-brand-cream);
	width: 100%;
	max-width: var(--nikko-content-width);
}

.sobre-nos-section .sobre-nos-bottom-section {
	grid-template-columns: minmax(0, .65fr) minmax(0, 1.6fr);
	padding: 85px 42px 60px !important;
}

.sobre-nos-section .sobre-nos-middle-section > .e-con,
.sobre-nos-section .sobre-nos-bottom-section > .e-con {
	min-width: 0;
	padding: 0 !important;
	width: 100%;
}

.sobre-nos-section :is(.sobre-nos-middle-title, .sobre-nos-bottom-title) .eael-infobox,
.sobre-nos-section :is(.sobre-nos-middle-title, .sobre-nos-bottom-title) .infobox-content {
	padding: 0 !important;
	background: transparent;
	text-align: left;
}

.sobre-nos-section :is(.sobre-nos-middle-title, .sobre-nos-bottom-title) .sub_title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	color: var(--nikko-brand-wine) !important;
	line-height: 1.5;
	text-transform: uppercase;
	font-size: var(--nikko-text-small);
	font-weight: 700;
	letter-spacing: .12em;
}

.sobre-nos-section :is(.sobre-nos-middle-title, .sobre-nos-bottom-title) .sub_title::before {
	content: '';
	height: 2px;
	background: currentColor;
	width: 30px;
}

.sobre-nos-section .sobre-nos-middle-title .title {
	margin: 0;
	color: var(--nikko-brand-ink);
}

.sobre-nos-section .sobre-nos-middle-text p {
	margin: 0;
	color: var(--nikko-brand-muted);
	font-size: var(--nikko-text-body);
	line-height: var(--nikko-copy-leading);
}

.sobre-nos-section .sobre-nos-middle-card {
	height: 100%;
	background: #fffdf9;
	padding: var(--nikko-panel-padding) !important;
	border-radius: var(--nikko-radius-md);
}

.sobre-nos-section .sobre-nos-middle-card .elementor-icon-box-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	text-align: left;
}

.sobre-nos-section .sobre-nos-middle-card .elementor-icon-box-icon {
	margin: 0 0 22px !important;
}

.sobre-nos-section .sobre-nos-middle-card .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	border-radius: 50%;
	background: #f5e7e5;
	color: var(--nikko-brand-wine) !important;
	font-size: 21px;
	width: 42px;
}

.sobre-nos-section .sobre-nos-middle-card .elementor-icon-box-title,
.sobre-nos-section .sobre-nos-bottom-title .title {
	margin: 0 0 12px;
	color: var(--nikko-brand-ink);
}

.sobre-nos-section .sobre-nos-middle-card .elementor-icon-box-description {
	margin: 0;
	color: var(--nikko-brand-muted);
	font-size: var(--nikko-text-body);
	line-height: var(--nikko-copy-leading);
}

.sobre-nos-section .sobre-nos-bottom-section .elementor-widget-eael-feature-list .eael-feature-list-item .eael-feature-list-title {
	margin: 0;
	color: var(--nikko-brand-ink);
	font-weight: 600;
	line-height: 1.6;
	font-size: var(--nikko-text-label);
}

.sobre-nos-section .sobre-nos-bottom-section .elementor-widget-eael-feature-list .eael-feature-list-item .eael-feature-list-content {
	margin: 3px 0 0;
	color: var(--nikko-brand-muted);
	line-height: 1.6;
	font-size: var(--nikko-text-label);
}

@media (max-width: 767px) {
	.sobre-nos-section .sobre-nos-top-section {
		grid-template-columns: minmax(0, 1fr);
		padding: var(--nikko-section-space) var(--nikko-page-gutter) !important;
		gap: var(--nikko-layout-gap) !important;
	}

	.sobre-nos-section .sobre-nos-second {
		min-height: 300px;
		padding: 28px !important;
	}

	.sobre-nos-section .sobre-nos-middle-section,
	.sobre-nos-section .sobre-nos-bottom-section {
		grid-template-columns: minmax(0, 1fr);
		padding: 42px 22px 0 !important;
		gap: 24px;
	}

	.sobre-nos-section .sobre-nos-bottom-section {
		padding-bottom: 42px !important;
	}

	.sobre-nos-section .sobre-nos-middle-card {
		padding: var(--nikko-panel-padding) !important;
	}
}

/* =========================================================
PÁGINAS DE SERVIÇOS — CONTEÚDO E CTA COMPARTILHADOS
========================================================= */

.service-content-section {
	display: flex;
	flex-direction: column;
	gap: 0 !important;
	margin-inline: auto;
	background: #fffdf9;
	color: var(--nikko-brand-ink);
	font-family: var(--nikko-font-sans, 'DM Sans', Arial, sans-serif);
	padding: var(--nikko-section-space) var(--nikko-page-gutter) !important;
	width: 100%;
	max-width: var(--nikko-content-width) !important;
}

.service-content-section *,
.service-content-section *::before,
.service-content-section *::after {
	box-sizing: border-box;
}

.service-content-section .service-content-top-section {
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
	align-items: center;
	padding: 0 !important;
	margin: 0 0 var(--nikko-section-space);
	gap: var(--nikko-layout-gap);
	width: 100%;
}

.service-content-section :is(.service-content-top-first, .service-content-top-second, .service-content-bottom-section) {
	min-width: 0;
	gap: 0;
	padding: 0 !important;
	width: 100%;
	max-width: none;
}

.service-content-section .service-content-top-first-text :is(.eael-infobox, .infobox-content) {
	padding: 0 !important;
	background: transparent;
	text-align: left;
}

.service-content-section .service-content-top-first-text .sub_title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	color: var(--nikko-brand-wine) !important;
	line-height: 1.5;
	text-transform: uppercase;
	font-size: var(--nikko-text-small);
	font-weight: 700;
	letter-spacing: .12em;
}

.service-content-section .service-content-top-first-text .sub_title::before {
	content: '';
	height: 2px;
	flex-shrink: 0;
	background: currentColor;
	width: 28px;
}

.service-content-section .service-content-top-first-text .title {
	margin: 0 0 20px;
}

.service-content-section .service-content-top-first-text p {
	margin: 0 0 16px;
	color: var(--nikko-brand-muted);
	overflow-wrap: anywhere;
}

.service-content-section .service-content-top-first-list {
	margin-top: 8px;
	padding-top: 17px;
	border-top: 1px solid #e7dfd7;
	width: 100%;
}

.service-content-section .service-content-top-first-list .elementor-icon-list-items {
	margin: 0;
}

.service-content-section .service-content-top-first-list .elementor-icon-list-item {
	align-items: flex-start;
	margin: 0;
}

.service-content-section .service-content-top-first-list .elementor-icon-list-icon {
	padding-top: 2px;
}

.service-content-section .service-content-top-first-list .elementor-icon-list-icon svg {
	height: 17px;
	fill: var(--nikko-brand-wine);
	width: 17px;
}

.service-content-section .service-content-top-first-list .elementor-icon-list-text {
	color: var(--nikko-brand-muted);
	font-size: var(--nikko-text-small);
	line-height: 1.6;
}

.service-content-section .service-content-top-second {
	position: relative;
	overflow: hidden;
	background: var(--nikko-brand-cream);
	border-radius: var(--nikko-radius-md);
}

.service-content-section .service-content-top-second-img {
	display: block;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--nikko-radius-md);
	width: 100% !important;
	max-width: 100%;
}

.service-content-section .service-content-top-second-text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 34px 20px 18px;
	background: linear-gradient(transparent, rgba(25, 21, 18, .8));
	width: 100%;
}

.service-content-section .service-content-top-second-text p {
	margin: 0;
	color: #fffdf9;
	line-height: 1.6;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-size: var(--nikko-text-small);
}

.service-content-section .service-content-bottom-cta {
	width: 100%;
}

.service-content-section .service-content-bottom-cta .eael-call-to-action {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px 32px;
	position: relative;
	overflow: hidden;
	border: 0;
	background: var(--nikko-brand-wine) !important;
	text-align: left;
	padding: var(--nikko-panel-padding) !important;
	border-radius: var(--nikko-radius-md);
}

.service-content-section .service-content-bottom-cta .eael-call-to-action::after {
	content: '';
	position: absolute;
	right: -95px;
	top: -110px;
	height: 330px;
	border: 1px solid #ffffff20;
	border-radius: 50%;
	pointer-events: none;
	width: 330px;
}

.service-content-section .service-content-bottom-cta .eael-cta-heading {
	grid-column: 1;
	margin: 0;
	color: #fffdf9 !important;
	text-transform: none;
}

.service-content-section .service-content-bottom-cta .eael-call-to-action > p {
	grid-column: 1;
	margin: 0;
	color: #f6e4e1 !important;
	line-height: 1.7;
	max-width: 440px;
	font-size: var(--nikko-text-label);
}

.service-content-section .service-content-bottom-cta .cta-button {
	grid-column: 2;
	grid-row: 1 / 3;
	position: relative;
	z-index: 1;
	margin: 0 !important;
}

.service-content-section .service-content-bottom-cta .btn-icon {
	display: inline-flex;
	margin: 0;
}

@media (max-width: 767px) {
	.service-content-section .service-content-top-section {
		grid-template-columns: minmax(0, 1fr);
	}

	.service-content-section .service-content-top-second-img {
		aspect-ratio: 4 / 3;
	}

	.service-content-section .service-content-bottom-cta .eael-call-to-action {
		grid-template-columns: minmax(0, 1fr);
	}

	.service-content-section .service-content-bottom-cta .cta-button {
		grid-column: 1;
		grid-row: auto;
		justify-self: start;
		margin-top: 15px !important;
	}
}
