html, body {
	height: 100%;
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-weight: 200;
	background-color: #f3f4f6;
}
.gradient-bg {
    background: linear-gradient(120deg, #023859 0%, #075473 100%);
}
.gradient-bg-grey {
    background: linear-gradient(120deg, #ffffff 0%, #dddddd 100%);
}
.shine-button {
    position: relative;
    overflow: hidden;
}
.shine-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -25%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    transition: left 0.75s ease-in-out;
}
.shine-button:hover::before {
    left: 75%;
}
.img-w {
	filter: invert(1) brightness(5);
}
.div-parc {
	display: flex;
	align-items: center;
}
.rotate-180 {
    transform: rotate(180deg);
}
.hidden {
    display: none;
}
.btn-primary-custom {
	background-color: #3b82f6;
	color: #fff;
	padding: 0.8rem 1.8rem;
	border-radius: 0.5rem;
	font-weight: 600;
	transition: background-color 0.3s ease, transform 0.2s ease;
}

/* Estilos para o Menu Mobile */
.mobile-menu {
    display: none;
    flex-direction: column;
    background-color: #0d2a4a;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 20;
    padding: 1rem 0;
    overflow-y: auto; 
    max-height: calc(100vh - 64px);
}
.mobile-menu.active {
    display: flex;
}
.mobile-menu a, .mobile-menu .dropdown-toggle {
    color: #1f2937; 
    padding: 0.75rem 1.5rem;
    text-align: left;
    font-weight: 300;
    width: 100%; 
    box-sizing: border-box;
}
.mobile-menu .dropdown-menu {
    display: none;
    flex-direction: column;
    background-color: #1a3a5a;
    padding-left: 1rem;
}
.mobile-menu .dropdown-menu.active {
    display: flex;
}
.mobile-menu .dropdown-menu a {
    padding: 0.5rem 1.5rem;
    font-size: 0.9rem;
    color: white;
}
.only-mob {
    display:none !important;
}
.whatsapp-button {
	background-color: #25D366;
	color: white;
	padding: 12px 24px;
	border-radius: 9999px;
	font-weight: bold;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.3s ease;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.whatsapp-button:hover {
	background-color: #1DA851;
}
.whatsapp-icon {
	margin-right: 8px;
	width: 24px;
	height: 24px;
}
.message-box {
	padding: 1rem;
	margin-top: 1rem;
	border-radius: 0.5rem;
	font-weight: 600;
	text-align: center;
}
.message-box.success {
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}
.message-box.error {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

/* Estilos para o formulário da calculadora */
#calculadora-nuvem-rede {
	background-color: white;
	padding: 2rem;
	border-radius: 0.5rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	margin-top: 2rem;
}
#calculadora-nuvem-rede h2 {
	font-size: 2.25rem;
	font-weight: bold;
	color: #1a202c;
	margin-bottom: 1rem;
	text-align: center;
}
#calculadora-nuvem-rede .small {
	font-size: 0.875rem;
	color: #4a5568;
	margin-bottom: 1.5rem;
	text-align: center;
}
#calculadora-nuvem-rede label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 500;
	color: #4a5568;
}
#calculadora-nuvem-rede input[type="text"],
#calculadora-nuvem-rede input[type="tel"],
#calculadora-nuvem-rede input[type="email"],
#calculadora-nuvem-rede input[type="range"] {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #cbd5e0;
	border-radius: 0.375rem;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
#calculadora-nuvem-rede input[type="text"]:focus,
#calculadora-nuvem-rede input[type="tel"]:focus,
#calculadora-nuvem-rede input[type="email"]:focus,
#calculadora-nuvem-rede input[type="range"]:focus {
	outline: none;
	border-color: #4299e1; /* blue-500 */
	box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.5);
}
#calculadora-nuvem-rede input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	height: 8px;
	background: #e2e8f0;
	border-radius: 5px;
	cursor: pointer;
	margin-top: 0.5rem;
}
#calculadora-nuvem-rede input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 20px;
	height: 20px;
	background: #4299e1;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
#calculadora-nuvem-rede input[type="range"]::-moz-range-thumb {
	width: 20px;
	height: 20px;
	background: #4299e1;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
#calculadora-nuvem-rede .options label {
	display: flex;
	align-items: center;
	margin-bottom: 0.5rem;
	font-weight: normal;
}
#calculadora-nuvem-rede .options input[type="checkbox"] {
	width: auto;
	margin-right: 0.5rem;
	height: 1.25rem;
	width: 1.25rem;
	border-radius: 0.25rem;
	border: 1px solid #cbd5e0;
	background-color: white;
	cursor: pointer;
}
#calculadora-nuvem-rede button {
	width: 100%;
	padding: 0.75rem 1.5rem;
	margin-top: 1.5rem;
	font-size: 1.125rem;
	font-weight: bold;
	color: white;
	border: none;
	border-radius: 0.375rem;
	cursor: pointer;
	transition: background-color 0.3s ease;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
#calculadora-nuvem-rede button:hover {
	background-color: #3182ce;
}
#result {
	background-color: #edf2f7;
	padding: 1.5rem;
	border-radius: 0.5rem;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
	color: #2d3748;
	text-align: left;
}
#result h3 {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 0.75rem;
	text-align: center;
}
#result p {
	margin-bottom: 0.5rem;
	font-family: 'Courier New', Courier, monospace;
	font-weight: normal;
}
#result .price {
	font-size: 2.5rem;
	font-weight: extrabold;
	color: #4299e1;
	margin-top: 1rem;
	text-align: left;
}
.error-message {
	color: #e53e3e;
	font-size: 0.875rem;
	margin-top: 0.25rem;
}
/* Blog Cards */
.blog-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 450px; /* Altura fixa para uniformidade */
	overflow: hidden;
	border-radius: 0.5rem;
	transition: all 0.3s ease;
}

.blog-card-img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.blog-card:hover .blog-card-img {
	transform: scale(1.05);
}

.blog-card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.3) 100%);
	transition: background 0.3s ease;
}

.blog-card:hover .blog-card-overlay {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0.4) 100%);
}

.blog-card-content {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	padding: 1.5rem;
	color: white;
}

.blog-card-title {
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 600;
	margin-bottom: 0.75rem;
		text-align: left;
}

.blog-card-excerpt {
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 1rem;
		text-align: left;
}

.blog-card-link {
	display: inline-flex;
	align-items: start;
	color: white;
	font-weight: 500;
	transition: color 0.3s ease;
}

.blog-card:hover .blog-card-link {
	color: #93c5fd; /* Cor azul clara no hover */
}

.blog-card-link i {
	margin-left: 0.5rem;
	transition: transform 0.3s ease;
}

.blog-card:hover .blog-card-link i {
	transform: translateX(2px);
}

@media screen and (max-width: 762px) {
    .only-desk {
        display:none !important;
    }
	.only-mob, .only-mobile {
	   display:block;
	}
    .flex {
        flex-direction: column;
    }
    .w-mob {
        width: 100% !important;
    }
    .d-flex-column {
        flex-direction: row;
    }
    .d-justify-center {
        justify-content: center !important;
    }
    .d-align-center {
        align-items: center !important;
    }
    .txt-center {
        text-align:center;
    }
    .m-auto-mob {
        margin:0 auto;
    }
    .margin-0 {
        margin:0 !important;
    }
    .margin-b-10 {
        margin-bottom:10px;
    }
    .pad-20 {
        padding:20px !important;
    }
    .pad-30 {
        padding:30px !important;
    }
    .pad-50 {
        padding:50px !important;
    }
    .mobile-cert-logo {
        height: 3.5rem;
    }
	.hero-title-mobile {
		font-size: 2.25rem; /* text-4xl */
	}
	.hero-subtitle-mobile {
		font-size: 1.125rem; /* text-lg */
	}
	.hero-text-mobile {
		font-size: 0.9rem; /* 0.9rem para parágrafos */
	}
	.hero-button-mobile {
		font-size: 1rem; /* text-base */
	}
    /* Mobile Top Bar Layout */
    .top-bar-mobile-layout {
        flex-direction: row !important;
        align-items: flex-start;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }
    .top-bar-mobile-layout > div {
        width: 100%;
        justify-content: flex-start;
    }
    .top-bar-mobile-layout .social-icons-mobile {
        order: 2;
        margin-top: 0.5rem;
		flex-direction: row !important;
    }
    .top-bar-mobile-layout .contact-info-mobile {
        order: 1;
        margin-bottom: 0.5rem;
    }
    .top-bar-mobile-layout .area-cliente-mobile {
        order: 3;
        justify-content: flex-end;
        align-items: end;
    }
	.contact-info-mobile {
		flex-direction: row !important;
	}
	.top-bar-mobile-layout .area-cliente-mobile a, header .header-mobile, .contact-info-mobile {
        flex-direction: row !important;
    }
	#mobile-menu .relative a, .row-mob {
		flex-direction: row !important;
	}
}