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

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/
body {
	overflow-x: hidden;
}



.sticky-header #header-wrap .menu-link.est {
	color: #444;
}

/* CSS Principal Layout */
@media (min-width: 992px) {

	.menu-link {
		padding-left: 13px;
		padding-right: 13px;
		text-transform: none;
		font-weight: 500;
		letter-spacing: 0;
		font-size: 1.1rem;
	}

	.sub-menu-container .menu-item > .menu-link { font-size: 0.875rem; }

	.primary-menu ul li .mega-menu-content.style-2 ul.mega-menu-column > li.mega-menu-title > a {
		text-decoration: underline !important;
		color: var(--bs-danger) !important;
	}

	#header.full-header .menu-container { border-right: 0; }

	.slider-caption h2 {
		font-size: 60px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 5px;
	}

}


@media (max-width: 991.98px) {

	#top-account {
	    padding-right: 15px;
	}

}

#top-account {
	font-size: 14px;
	font-weight: 500;
	border-right: 1px solid #DDD;
	padding: 3px 15px 3px 0;
}

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

body.top-search-open #top-search-trigger > i { opacity: 0; }

/* shop-categories */
.shop-categories [class^=col-] {
	position: relative;
	margin-bottom: 30px;
}

.shop-categories [class^=col-] > a {
	display: block;
	position: relative;
	height: 200px;
	background-color: #EEE;
}

.shop-categories [class^=col-] img { display: block; }

.shop-categories [class^=col-] > a::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.4);
	opacity: 0.4;
	-webkit-transition: all .7s ease;
	transition: all .7s ease;
}

.shop-categories [class^=col-] > a:hover::before { opacity: 1; }

.product .product-title h3 {
	font-size: 14px;
	letter-spacing: -1px;
	line-height: 1.3;
	font-weight: 500;
	letter-spacing: 0;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-transform: capitalize;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

.product-price {
	font-size: 25px;
	font-weight: 500;
}

.product-image .product-overlay {
	opacity: 0;
	width: 90px;
	height: auto;
	position: absolute;
	top: auto;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transition: bottom .3s ease, opacity .3s .1s ease !important;
	-o-transition: bottom .3s ease, opacity .3s .1s ease !important;
	transition: bottom .3s ease, opacity .3s .1s ease !important;
}

.product-image:hover .product-overlay {
	opacity: 1;
	bottom: 20px;
}

.product-overlay a span { display: none; }

.product-overlay a {
	width: 40px;
	height: 40px !important;
	border-radius: 50%;
	text-align: center;
	line-height: 41px;
	padding-left: 2px;
}
.product-overlay a:last-child {
	margin-left: 10px;
}

.owl-carousel .owl-nav [class*=owl-] { opacity: 1; }
.owl-carousel .owl-nav .owl-next { right: -18px; }
.owl-carousel .owl-nav .owl-prev { left: -18px; }

.row.grid-6 .product-overlay a span { display: none; }

.row.grid-6 [class^=col-] { margin-bottom: 20px; }

ul.iconlist li {
	margin: 8px 0;
}

ul.iconlist i {
	top: 0 !important;
	width: 10px !important;
	font-size: 10px;
}

.clients-grid.grid-8 li { width: 12.5% }

.button.button-desc.button-small {
	padding: 14px 20px;
	font-size: 16px;
}

.button.button-desc.button-small i {
	top: -1px;
	width: 34px;
	font-size: 34px;
	text-align: left;
}

.button.button-desc.button-small span {
	font-size: 12px;
	margin:  0 0 8px 0;
}

.widget .list-unstyled li { margin-bottom: 3px; }

.widget .list-unstyled li a { color: #666 !important; }

.shop-footer-features h5 a:hover {
	color: #444;
	border-bottom: 1px dotted #AAA;
}

.shop-footer-features i {
	position: relative;
	top: 8px;
	width: 30px;
	height: 30px;
	font-size: 30px;
	margin-right: 10px;
	color: #888;
}

.shop-footer-features h5 span { color: #A0ACB6 !important; } /*Final de CSS*/

/* Banner Principal */
.slider-caption.one h1 {
	font-size: 60px;
	font-weight: 650;
	text-transform: uppercase;
	letter-spacing: 3px;
	line-height: 4rem;
}

.swiper-slide.prin.dark::after,
.card-img.dest::after,
.section.cta.dark::after,
.section.parallax.dark::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	content: "";
	display: block;
	opacity: 0.7;
	background-color: #000;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	border-radius: 6px;
}
/* Final Banner Principal */

/* CTA De Divulgação */
.promo.div h3, 
.promo.div span {
	color: #FFF;
}

.button.div {
	background-color: #0343be;
}
/* Final CTA De Divulgação */

.item-categories h5 {
	position: absolute;
	top: auto;
	left: 10px;
	bottom: 0;
	padding: 12px 22px;
}


.text-n-right {
	position: relative;
	padding: 0;
	font-size: 36px;
	line-height: 46px;
	font-weight: 700;
	text-align: left;
}

/* Responsive Device more than 992px (.device-md >)
-----------------------------------------------------------------*/
@media (min-width: 992px) {

	.text-n-right {
		padding: 30px;
		font-size: 48px;
		line-height: 64px;
		margin-right: -90px;
		text-align: right;
		z-index: 1;
		background-color: #FFF;
		-webkit-transform: translateX(16%);
		transform: translateX(16%);
	}
}

/* Listagem de Notícias */
.course-categories .card a span {
	display: block;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	color: #FFF;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.course-categories .card a span i {
	display: block;
	margin-bottom: 5px;
	font-size: 20px;
}

.hover-effect {
	-webkit-transition:  transform .25s ease, box-shadow .3s ease;
	-o-transition:  transform .25s ease, box-shadow .3s ease;
	transition:  transform .25s ease, box-shadow .3s ease;
	-webkit-transform-style: preserve-3d;
	-webkit-backface-visibility: hidden;
	box-shadow: none;
	border: 0;
}

.hover-effect:hover {
	-webkit-transform: translateY(-2px);
	-ms-transform: translateY(-2px);
	-o-transform: translateY(-2px);
	transform: translateY(-2px);
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.course-card .card-footer { border-top-color: #EEE; }

.rating-stars i { color: #f4c150; }

.course-card .card-title a { color: #333; }

.course-card .card-title a:hover { color: var(--themecolor); }

.course-card  .card-title-sub { font-size: 11px; }

.course-card .author-number {
	font-size: 11px;
    position: absolute;
    top: -4px;
    right: -4px;
}

@media (min-width: 992px) {

	.heading-block h3 {
		font-size: 42px;
		letter-spacing: -2px;
	}

	.course-card .card-title {
		font-size: 19px;
		line-height: 1.25;
	}

} /*Final de Listagem de Notícias*/

/* CTA de Chamada Para Whats */
/* Verde escurecido: o #34af23 anterior dava 2,88:1 com texto branco,
   abaixo do mínimo de 4,5:1 do WCAG AA. Este dá 4,61:1. */
.button.button-border.button-light.cta {
    border-color: #25871a;
    background-color: #25871a;
}/* Final do CTA */


#copyrights {
	border-top: 3px solid #f48738;
}


/* ==== copyrights ==== */
#loading {
		-webkit-animation: rotation 2s infinite linear;
}

@keyframes rotation {
    from { transform-origin:center center;}
    to {transform:rotateY(180deg);}
}

#copyright {
	color: #999;
	background-color: #333; 
	padding: 20px 0;
	font-size: 0.875rem;
    line-height: 1.8;
}

#copyright a {
	color: #FFF;
}

#copyright a:hover {
	color: #FFC107;
}


/* ==== Botão flutuante de WhatsApp ====
   Fica em todas as páginas, canto inferior direito. O link é montado no
   RWhatsapp.php com a página em que o visitante está. */

.wpp-flutuante {
	position: fixed;
	z-index: 598;              /* logo abaixo do #gotoTop (599) */
	right: 22px;
	bottom: 22px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 60px;
	min-width: 60px;
	max-width: 60px;
	padding: 0;
	border-radius: 999px;
	/* #25871A: mesmo verde corrigido do resto do site (4,61:1 com branco) */
	background-color: #25871a;
	color: #fff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.28);
	overflow: hidden;
	transition: max-width .3s ease, background-color .2s ease;
}

.wpp-flutuante:hover,
.wpp-flutuante:focus-visible {
	color: #fff;
	background-color: #1f7516;
	max-width: 280px;          /* abre e revela o rótulo */
}

.wpp-flutuante-icone {
	flex: 0 0 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
}

.wpp-flutuante-rotulo {
	white-space: nowrap;
	padding-left: 20px;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1;
	opacity: 0;
	transition: opacity .2s ease;
}

.wpp-flutuante:hover .wpp-flutuante-rotulo,
.wpp-flutuante:focus-visible .wpp-flutuante-rotulo { opacity: 1; }

.wpp-flutuante:focus-visible {
	outline: 3px solid #f48534;
	outline-offset: 3px;
}

/* O #gotoTop do tema fica em right:30px / bottom:30px e colidiria com o
   botão. Empilha ele acima. */
.stretched #gotoTop { bottom: 96px; }

/* Em telas de toque o hover não existe: o rótulo nunca abriria, então o
   botão fica só com o ícone. */
@media (max-width: 767.98px) {
	.wpp-flutuante { right: 16px; bottom: 16px; }
	.wpp-flutuante:hover { max-width: 60px; }
	.wpp-flutuante:hover .wpp-flutuante-rotulo { opacity: 0; }
	.stretched #gotoTop { bottom: 84px; }
}

/* Na página Distribuidora existe a barra fixa de CTA no mobile, que já tem
   um botão de WhatsApp. Dois seria redundante e um cobriria o outro. */
@media (max-width: 991.98px) {
	body.dist-page .wpp-flutuante { display: none; }
	body.dist-page.stretched #gotoTop { bottom: 84px; }
}

@media (prefers-reduced-motion: reduce) {
	.wpp-flutuante,
	.wpp-flutuante-rotulo { transition: none; }
}

@media all and (min-width: 520px) and (max-width: 768px) {
	#top-bar {
		display: none;
	}
	#header {
		top: 0px;
	}
	#logo {
		position: relative !important;
		left: -71% !important;
	}
	#logo::before {
		display: none;
	}
}

@media all and (min-width: 376px) and (max-width: 520px) {
	#top-bar {
		display: none;
	}
	#header {
		top: 0px;
	}
	#logo {
		position: relative !important;
		left: -50% !important;
	}
	#logo::before {
		display: none;
	}
}

@media all and (min-width: 321px) and (max-width: 375px) {
	#top-bar {
		display: none;
	}
	#header {
		top: 0px;
	}
	#logo {
		position: relative !important;
		left: -42% !important;
	}
	#logo::before {
		display: none;
	}
}

@media (max-width: 320px) {
	#top-bar {
		display: none;
	}
	#header {
		top: 0px;
	}
	#logo {
		position: relative !important;
		left: -32% !important;
	}
	#logo::before {
		display: none;
	}
}