/* ==========================================================================
   TELAS MUITO GRANDES
========================================================================== */

@media (min-width:1400px){

	.container{
		max-width:1320px;
	}

}


/* ==========================================================================
   NOTEBOOKS E DESKTOPS MENORES
========================================================================== */

@media (max-width:1399.98px){

	:root{
		--header-height:86px;
		--header-height-scroll:72px;
	}

	.container{ max-width:1180px; }

	.site-brand img{
		max-width:190px;
		max-height:58px;
	}

	.site-header.is-scrolled .site-brand img{
		max-height:50px;
	}

	.site-header .nav-link{
		padding-right:11px !important;
		padding-left:11px !important;
		font-size:13px;
	}

	.header-actions{ margin-left:14px; }

	.btn-header-client{
		padding-right:17px;
		padding-left:17px;
	}

	.section-padding{ padding:95px 0; }
	.section-padding-small{ padding:68px 0; }

	.section-title{
		font-size:clamp(34px,4vw,50px);
	}

}


/* ==========================================================================
   TABLETS E MENU MOBILE
========================================================================== */

@media (max-width:1199.98px){

	:root{
		--header-height:78px;
		--header-height-scroll:70px;
	}

	.site-header{
		background:rgba(255,255,255,.98);
	}

	.site-header .navbar-collapse{
		position:absolute;
		top:calc(100% + 10px);
		right:12px;
		left:12px;
		height:auto;
		max-height:calc(100vh - 110px);
		padding:18px;
		border:1px solid var(--color-border);
		border-radius:18px;
		background:rgba(255,255,255,.99);
		box-shadow:var(--shadow-large);
		overflow-y:auto;
	}

	.site-header .navbar-nav{
		display:flex;
		align-items:stretch;
		gap:4px;
		width:100%;
		height:auto;
	}

	.site-header .nav-item{
		display:block;
		width:100%;
	}

	.site-header .nav-link{
		width:100%;
		min-height:46px;
		padding:13px 15px !important;
		border-radius:10px;
		font-size:14px;
	}

	.site-header .nav-link::after{ display:none; }

	.site-header .nav-link:hover,
	.site-header .nav-link.active{
		color:var(--color-primary);
		background:var(--color-primary-light);
	}

	.header-actions{
		width:100%;
		margin-top:14px;
		margin-left:0;
		padding-top:14px;
		border-top:1px solid var(--color-border);
	}

	.btn-header-client{
		width:100%;
		min-height:50px;
	}

	.site-brand img{
		max-width:175px;
		max-height:54px;
	}

	.site-header.is-scrolled .site-brand img{
		max-height:48px;
	}

	.section-padding{ padding:84px 0; }
	.section-padding-small{ padding:62px 0; }

	.footer-description{
		max-width:560px;
	}

}


/* ==========================================================================
   TABLETS
========================================================================== */

@media (max-width:991.98px){

	.section-padding{ padding:76px 0; }
	.section-padding-small{ padding:56px 0; }

	.section-heading{ margin-bottom:38px; }

	.section-title{
		font-size:clamp(32px,6vw,46px);
	}

	.section-description{
		font-size:16px;
	}

	.content-card{ padding:27px; }

	.site-footer{
		padding-top:68px;
	}

	.footer-cta{
		height:auto;
	}

	.whatsapp-float{
		right:18px;
		bottom:18px;
		width:54px;
		height:54px;
		font-size:24px;
	}

	.back-to-top{
		right:22px;
		bottom:86px;
	}

}


/* ==========================================================================
   CELULARES GRANDES
========================================================================== */

@media (max-width:767.98px){

	:root{
		--header-height:72px;
		--header-height-scroll:66px;
	}

	body{
		font-size:15px;
		line-height:1.68;
	}

	.container{
		padding-right:18px;
		padding-left:18px;
	}

	.site-brand img{
		max-width:155px;
		max-height:48px;
	}

	.site-header.is-scrolled .site-brand img{
		max-height:54px;
	}

	.custom-toggler{
		width:43px;
		height:43px;
		border-radius:10px;
	}

	.site-header .navbar-collapse{
		top:calc(100% + 8px);
		right:8px;
		left:8px;
		padding:15px;
		border-radius:15px;
	}

	.section-padding{ padding:64px 0; }
	.section-padding-small{ padding:48px 0; }

	.section-label{
		gap:8px;
		margin-bottom:13px;
		font-size:11px;
	}

	.section-label::before{ width:22px; }

	.section-title{
		font-size:34px;
		line-height:1.1;
		letter-spacing:-.035em;
	}

	.section-description{
		margin-top:17px;
		font-size:15px;
		line-height:1.72;
	}

	.btn{
		min-height:51px;
		padding:12px 21px;
		font-size:13px;
	}

	.content-card{
		padding:24px;
		border-radius:14px;
	}

	.icon-box{
		width:52px;
		height:52px;
		border-radius:12px;
		font-size:20px;
	}

	.site-footer{
		padding:58px 0 24px;
		text-align:center;
	}

	.footer-brand img{
		max-width:250px;
		margin:0 auto;
	}

	.footer-description{
		margin-right:auto;
		margin-left:auto;
	}

	.footer-social{
		justify-content:center;
	}

	.footer-title{
		margin-bottom:17px;
	}

	.footer-links a,
	.footer-contact li{
		justify-content:center;
	}

	.footer-contact i{
		flex:0 0 auto;
	}

	.footer-cta{
		padding:24px 20px;
		text-align:left;
	}

	.footer-bottom{
		margin-top:38px;
		padding-top:21px;
		text-align:center;
	}

	.footer-bottom .text-md-end{
		text-align:center !important;
	}

	.whatsapp-float{
		right:14px;
		bottom:14px;
		width:51px;
		height:51px;
		border-width:3px;
		font-size:23px;
	}

	.back-to-top{
		right:18px;
		bottom:76px;
		width:42px;
		height:42px;
	}

}


/* ==========================================================================
   CELULARES PEQUENOS
========================================================================== */

@media (max-width:575.98px){

	.container{
		width:100%;
		padding-right:16px;
		padding-left:16px;
	}

	.site-header .container{
		padding-right:13px;
		padding-left:13px;
	}

	.site-brand img{
		max-width:250px;
		max-height:64px;
	}

	.section-padding{ padding:56px 0; }
	.section-padding-small{ padding:43px 0; }

	.section-title{ font-size:30px; }
	.section-description{ font-size:15px; }

	.btn{ width:100%; }

	.content-card{
		padding:21px 19px;
	}

	.footer-cta h4{
		font-size:20px;
	}

	.form-control,
	.form-select{
		min-height:51px;
		padding:12px 14px;
	}

}


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

@media (max-width:374.98px){

	.site-brand img{ max-width:130px; }

	.custom-toggler{
		width:40px;
		height:40px;
	}

	.section-title{ font-size:27px; }

	.footer-cta{
		padding:21px 17px;
	}

}


/* ==========================================================================
   DISPOSITIVOS EM MODO PAISAGEM
========================================================================== */

@media (max-height:520px) and (orientation:landscape){

	.site-header .navbar-collapse{
		max-height:calc(100vh - 88px);
	}

}


/* ==========================================================================
   REDUÇÃO DE MOVIMENTO
========================================================================== */

@media (prefers-reduced-motion:reduce){

	html{
		scroll-behavior:auto;
	}

	*,
	*::before,
	*::after{
		scroll-behavior:auto !important;
		transition-duration:.01ms !important;
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
	}

}


/* ==========================================================================
   AJUSTES MOBILE
========================================================================== */

@media (max-width:991.98px){

	section,
	.section-title,
	p,
	.card,
	.glass-card{
		text-align:center;
	}

	.section-label{
		justify-content:center;
		margin:auto;
	}

	.section-description{
		text-align:center;
		margin-left:auto;
		margin-right:auto;
	}

	.btn-group,
	.hero-buttons,
	.cta-buttons,
	.section-buttons{
		display:flex;
		justify-content:center;
		flex-wrap:wrap;
		gap:12px;
	}

	.feature-list,
	.info-list,
	.check-list{
		max-width:420px;
		margin:30px auto 0;
	}

	.feature-list li,
	.info-list li,
	.check-list li{
		justify-content:center;
		text-align:center;
	}

	.image-box,
	.image-wrapper{
		margin:0 auto 40px;
	}

	.image-box img,
	.image-wrapper img{
		margin:auto;
	}

	.home-differential-icon{
		margin:0 auto 18px;
		display:flex;
		align-items:center;
		justify-content:center;
	}

}


@media (max-width:767.98px){

	.home-solution-item{
		display:flex !important;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		text-align:center;
		padding:32px 22px;
	}

	.home-solution-icon{
		margin:0 0 18px !important;
	}

	.home-solution-content{
		width:100%;
	}

	.home-solution-content h3,
	.home-solution-content p{
		text-align:center;
	}

	.home-solution-content a{
		display:inline-flex;
		justify-content:center;
	}

	.home-solution-number{
		display:none;
	}

	.home-about-list{
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:18px;
	}

	.home-about-list li{
		width:100%;
		display:flex;
		flex-direction:column;
		align-items:center;
		text-align:center;
		padding:18px;
	}

	.home-about-list li i{
		margin:0 0 14px;
	}

	.home-about-list li span,
	.home-about-list li strong{
		text-align:center;
	}

	.footer-cta,
	.footer-cta h4,
	.footer-cta p{
		text-align:center !important;
	}

	.footer-cta .btn{
		margin:0 auto;
	}

	.home-hero-container{
		align-items:center;
		padding-top:95px;
		padding-bottom:190px;
	}

	.home-hero-content{
		transform:translateY(-28px);
	}

}