@media (max-width: 991.98px) {
	body.primary-menu-open .primary-menu .menu-container {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		z-index: 9999 !important;
	}
}

@media (max-width: 991.98px) {

	.header-user-dropdown,
	.header-user-chip {
		z-index: 9999 !important;
		position: relative;
		pointer-events: auto !important;
	}

	#primary-menu-trigger {
		z-index: 9999 !important;
		position: relative;
		pointer-events: auto !important;
	}
}

/* Corrige z-index do carrinho no mobile */
@media (max-width: 991.98px) {
	#top-cart {
		z-index: 9999 !important;
	}

	.top-cart-content,
	.top-cart-overlay {
		z-index: 99999 !important;
	}
}

/* Idiomas - ícones redondos e destacados */
.lang-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 2.5px solid var(--h-border, #d1d5db);
	background: var(--h-surface, #fff);
	width: 2.8em;
	height: 2.8em;
	margin: 0 0.18em;
	transition: border-color 0.18s, box-shadow 0.18s;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
	overflow: hidden;
	padding: 0;
}

.lang-link.is-active {
	border-color: var(--accent, #007bff);
	box-shadow: 0 0 0 2px var(--accent, #007bff33);
}

.lang-icon {
	width: 2.2em !important;
	height: 2.2em !important;
	border-radius: 50%;
	display: block;
	object-fit: cover;
	margin: 0 auto;
	background: transparent;
}

/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/

.botao-flutuante-wpp.luxo {
	position: fixed;
	bottom: 50px;
	right: 10px;
	display: flex;
	align-items: center;
	gap: 12px;
	z-index: 999;
	font-family: 'Poppins', sans-serif;
}

/* Botão WhatsApp */
.btn-wpp-luxo {
	display: flex;
	align-items: center;
	background: linear-gradient(135deg, #1ebe5d, #0a9940);
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	padding: 12px 20px;
	border-radius: 40px;
	text-decoration: none;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
	transition: all 0.3s ease;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-wpp-luxo i {
	font-size: 20px;
	margin-right: 10px;
}

.btn-wpp-luxo:hover {
	background: linear-gradient(135deg, #24e570, #1dc75a);
	transform: translateY(-2px) scale(1.03);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

/* Botão Subir */
.btn-subir-luxo {
	background: linear-gradient(135deg, #1a2a40, #2b4a6f, #3b5d85);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	color: white;
	text-align: center;
	line-height: 42px;
	font-size: 20px;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	justify-content: center;
	align-items: center;
}

.btn-subir-luxo:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.servico-box {
	transition: all 0.3s ease;
	border: 1px solid transparent;
}

.servico-box:hover {
	border-color: #1C3D64;
	box-shadow: 0 0 15px 2px rgba(22, 75, 133, 0.7);
	color: #1C3D64;
}

.bg-gold-bar {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 220px;
	background: linear-gradient(135deg, #1a2a40, #2b4a6f, #3b5d85);
	transform: translateY(-50%);
	z-index: 1;
	border-radius: 0;
}


/* =================================
RESPONSIVO BOTÕES FLUTUANTES
================================ */

@media (max-width: 768px) {

	.botao-flutuante-wpp.luxo {

		bottom: 20px;
		right: 10px;

		flex-direction: column;

	}

	/* WhatsApp menor */

	.btn-wpp-luxo {

		font-size: 14px;

		padding: 10px 14px;

	}

	.btn-wpp-luxo i {

		font-size: 18px;

	}

	/* botão subir menor */

	.btn-subir-luxo {

		width: 38px;
		height: 38px;

		font-size: 16px;

	}

}


/* =================================
RESPONSIVO CHAT
================================ */

@media (max-width: 768px) {


	/* chat ocupa quase toda largura */

	.chat-suporte {

		width: calc(100% - 20px);

		left: 10px;

		bottom: 80px;

	}

}


/* =================================
TELAS MUITO PEQUENAS
================================ */

@media (max-width: 480px) {

	/* esconder texto do WhatsApp e deixar só o ícone */

	.btn-wpp-luxo span {

		display: none;

	}

	.btn-wpp-luxo {

		width: 48px;
		height: 48px;

		justify-content: center;

		padding: 0;

	}

	.btn-wpp-luxo i {

		margin: 0;

	}

}

/* ----------------------------------------------------------------
	Go To Top
-----------------------------------------------------------------*/



/* chat */
#botao-chat {
	position: fixed;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: linear-gradient(135deg, #1a2a40, #2b4a6f, #3b5d85);
	color: white;
	border: none;
	padding: 10px 15px;
	border-radius: 30px 0 0 30px;
	cursor: pointer;
	font-weight: bold;
	z-index: 1001;
	box-shadow: 0 0 10px rgba(26, 42, 64, 0.6);
}

.chat-suporte {
	width: 400px;
	position: fixed;
	bottom: 90px;
	right: 20px;
	background: #101d2e;
	border: 1px solid #2b4a6f;
	border-radius: 10px;
	display: none;
	flex-direction: column;
	box-shadow: 0 0 10px rgba(43, 74, 111, 0.5);
	z-index: 1050;
}

.chat-header {
	background: linear-gradient(135deg, #1a2a40, #2b4a6f);
	color: white;
	padding: 12px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: bold;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	font-size: 16px;
}

.chat-body {
	background: #0f1c2e;
	color: white;
	height: 350px;
	overflow-y: auto;
	padding: 15px;
	font-size: 13px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.chat-footer {
	display: flex;
	border-top: 1px solid #2b4a6f;
	background-color: #0f1c2e;
}

.chat-footer input {
	flex: 1;
	padding: 10px;
	border: none;
	border-radius: 0;
	outline: none;
	font-size: 14px;
	background-color: rgba(255, 255, 255, 0.08);
	color: white;
}

.chat-footer button {
	background: linear-gradient(135deg, #1a2a40, #2b4a6f);
	color: white;
	border: none;
	padding: 10px 15px;
	cursor: pointer;
	font-weight: bold;
	font-size: 14px;
	border-radius: 0;
}

.mensagem {
	margin-bottom: 8px;
	line-height: 1.4;
	max-width: 80%;
	padding: 8px 12px;
	border-radius: 18px;
	font-size: 13px;
	background: #2b4a6f;
	color: white;
	word-wrap: break-word;
	display: inline-block;
}

.mensagem.enviada {
	background: linear-gradient(135deg, #3b5d85, #2b4a6f);
	color: white;
	align-self: flex-end;
	text-align: right;
}

.mensagem.recebida {
	background: rgba(255, 255, 255, 0.08);
	color: white;
	align-self: flex-start;
	text-align: left;
}

.fechar-chat {
	background: none;
	border: none;
	font-size: 22px;
	color: white;
	cursor: pointer;
}

.chat-option-button {
	margin: 6px 0;
	background: #1f2e45;
	color: white;
	border: 1px solid #2b4a6f;
	padding: 8px 12px;
	border-radius: 8px;
	width: 100%;
	text-align: left;
	font-size: 13px;
	transition: 0.2s;
	cursor: pointer;
}

.chat-option-button:hover,
.chat-option-button.selected {
	background: #3b5d85;
	color: white;
	border-color: white;
}

.chat-input-dynamic {
	width: 100%;
	padding: 8px;
	border: 1px solid #2b4a6f;
	border-radius: 6px;
	margin-top: 10px;
	color: white;
	background: #0f1c2e;
	font-size: 13px;
}

#chat-suporte {
	position: fixed;
	right: 20px;
	bottom: 80px;
	width: 380px;
	height: 400px;
	background-color: #0f1c2e;
	border: 2px solid #2b4a6f;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 0 20px rgba(43, 74, 111, 0.4);
	overflow: hidden;
	z-index: 9999;
}

#chat-body {
	flex: 1;
	overflow-y: auto;
	padding: 15px;
	scrollbar-width: thin;
	scrollbar-color: #3b5d85 transparent;
}

#chat-body::-webkit-scrollbar {
	width: 6px;
}

#chat-body::-webkit-scrollbar-track {
	background: transparent;
}

#chat-body::-webkit-scrollbar-thumb {
	background-color: #3b5d85;
	border-radius: 4px;
}

#chat-footer {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px;
	background-color: #0f1c2e;
	border-top: 1px solid #2b4a6f;
}

.chat-send-button {
	background: linear-gradient(135deg, #1a2a40, #2b4a6f);
	border: none;
	color: white;
	padding: 8px 12px;
	border-radius: 8px;
	font-weight: bold;
	cursor: pointer;
	transition: background 0.3s;
}

.chat-send-button:hover {
	background: #3b5d85;
}


/* icons aparecendo do lado */

.si-box {
	display: flex;
	display: -ms-flexbox;
}

.si-checkbox {
	position: relative;
	width: 40px;
	/* Social Icons Size */
	height: 40px;
	/* Social Icons Size */
	outline: none;

	-webkit-appearance: none;
	cursor: pointer;
	Color: #fff;
}

.si-checkbox::before {
	content: "\e9d1";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size: 1.25rem;
	font-family: "lined-icons";
}

.si-checkbox:checked::before {
	content: "\ea11";
}

.social-menus {
	position: relative;
	display: flex;
	display: -ms-flexbox;
	overflow: hidden;
	width: 0;
	transition: width .2s, height .2s;
}

.si-checkbox:checked~.social-menus {
	width: 200px;
	/* Social Icons width x quantity (eg: 40x5) */
}

/* Vertical */
.flex-column .social-menus {
	-ms-flex-direction: column;
	flex-direction: column;
	width: auto;
	height: 0;
}

.flex-column .si-checkbox:checked~.social-menus {
	height: 200px;
	/* Social Icons height x quantity (eg: 40x5) */
}

/* Fim */

/* Revolution Slider Styles */
.hesperiden .tp-tab {
	border-bottom: 0;
}

.hesperiden .tp-tab:hover,
.hesperiden .tp-tab.selected {
	background-color: #E5E5E5;
}




/* Mini menu */
@media (min-width: 992px) {

	#top-bar.transparent-topbar {
		z-index: 399;
		border-bottom: 0;
		margin-top: -10px;
	}

	#top-bar.transparent-topbar {
		background: transparent !important;
	}

	#top-bar+#header.transparent-header.floating-header {
		margin-top: -5px;
	}

}

.dark .top-links li>a,
.dark #top-social li a {
	color: #FFF;
}

.dark .top-links li:hover {
	background-color: rgba(255, 255, 255, 0.15);
}

.dark #top-social li {
	border-left: 0;
}

span.twitter-typeahead {
	display: block !important;
	position: absolute;
	height: 100%;
}

.tt-menu {
	width: 100%;
	margin: 0;
	padding: 8px 0;
	background-color: #000;
	border: 1px solid rgba(0, 0, 0, 0.2);
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
	-moz-box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
	box-shadow: 0 1px 10px rgba(0, 0, 0, .1);

}

.tt-suggestion {
	padding: 3px 20px;
	font-size: 15px;
	line-height: 24px;
}

.tt-suggestion:hover {
	cursor: pointer;
	color: #FFF;
	background-color: #0097cf;
}

.tt-suggestion.tt-cursor {
	color: #fff;
	background-color: #0097cf;

}

#top-search-trigger form input.form-control.tt-hint {
	color: #999 !important;
}




/* Contato */


.dotted-bg::before {
	content: "";
	position: absolute;
	display: block;
	top: 40%;
	left: 35%;
	width: 110%;
	height: 120%;
	background-size: 12px 12px;
	background-position: center;
	transform: translate(-50%, -50%);

	-webkit-mask-image: radial-gradient(rgba(0, 0, 0, 1), rgba(255, 255, 255, 0) 85%);
	mask-image: radial-gradient(rgba(0, 0, 0, 1), rgba(255, 255, 255, 0) 85%);
	z-index: 0;
}

.dotted-bg::before {
	background-image: radial-gradient(rgba(255, 255, 255, 0.2) 14%, transparent 14%);
}

.dotted-bg.dotted-bg-dark::before {
	background-image: radial-gradient(rgba(4, 4, 4, 0.2) 14%, transparent 14%);
}


/* Briefing */
.file-caption.icon-visible .file-caption-name {
	font-family: 'Lato', sans-serif;
	color: #666;
}

.form-process {
	position: absolute;
	-webkit-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
	background-image: none;
}

.form-process>div {
	background-color: #999;
}

.form-process,
#template-contactform-submitted,
.template-contactform-complete .form-process {
	display: none;
	opacity: 0;
	background-color: rgba(255, 255, 255, 0.7);
}

.template-contactform-processing .form-process {
	display: block;
	opacity: 1;
}