/*
	Theme Name: Caravaggio Energia
	Theme URI: 
	Author: Atom Digital
	Author URI: https://atomdigital.com.br/
	Description: 
	Requires at least: 6.1
	Tested up to: 6.2
	Requires PHP: 7.4
	Version: 1.0
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	Text Domain: template
	Tags: Eficiência Energética
*/

@import url(css/partials/at-header.css);
@import url(css/partials/at-footer.css);
@import url(css/partials/at-breadcrumb.css);

:root{

	--color-neutral-100: #000000;
	--color-neutral-200: #1B1B1B;
	--color-neutral-300: #DEE2E6;
	--color-neutral-400: #EEEEEE;
	--color-neutral-500: #7F7F7F;
	--color-neutral-600: #CDCDCD;
	--color-neutral-700: #EFEFEF;
	--color-neutral-800: #F5F5F5;
	--color-neutral-900: #FFFFFF;


	--color-font: var(--color-neutral-200);
	--color-font-white: var(--color-neutral-900);
	--color-font-black: var(--color-neutral-100);

	--color-primary: #152352;
	--color-secondary: #97b73f;
	--color-tertiary: #edb225;


	--color-details-primary: var(--color-primary);
	--color-details-secondary: var(--color-secondary);
	--color-details-tree: var(--color-tertiary);

	--bg-color-black: var(--color-neutral-100);
	--bg-color-light-gray: var(--color-neutral-800);
	--bg-color-gray: var(--color-neutral-700);
	--bg-color-gray-secondary: var(--color-neutral-600);
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: 'Inter', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0.02em;
	color: var(--color-font);
}
a{
	text-decoration: none;
}


/*********** Start Background ***********/

.bg-color-neutral-100{
	background-color: var(--color-neutral-100);
}
.bg-color-neutral-200{
	background-color: var(--color-neutral-200);
}
.bg-color-neutral-400{
	background-color: var(--color-neutral-400);
}
.bg-color-neutral-500{
	background-color: var(--color-neutral-500);
}
.bg-color-neutral-800{
	background-color: var(--color-neutral-800);
}
.bg-color-neutral-900{
	background-color: var(--color-neutral-900);
}

.bg-color-primary{
	background-color: var(--color-primary);
}
.bg-color-secondary{
	background-color: var(--color-secondary);
}
.bg-color-tertiary{
	background-color: var(--color-tertiary);
}

/*********** End Background ***********/

/*********** Start Colors ***********/

.text-color-neutral-100{
	color: var(--color-neutral-100);
}
.text-color-neutral-200{
	color: var(--color-neutral-200);
}
.text-color-neutral-400{
	color: var(--color-neutral-400);
}
.text-color-neutral-500{
	color: var(--color-neutral-500);
}
.text-color-neutral-800{
	color: var(--color-neutral-800);
}
.text-color-neutral-900{
	color: var(--color-neutral-900);
}

.text-color-primary{
	color: var(--color-primary);
}
.text-color-secondary{
	color: var(--color-secondary);
}
.text-color-tertiary{
	color: var(--color-tertiary);
}

/*********** End Colors ***********/

/*********** Start Text sizes ***********/

.heading-size-xs {
	font-size: 1.375rem; /* 22px */
}
.heading-size-sm {
	font-size: 1.5rem; /* 24px */
}
.heading-size-md {
	font-size: 1.75rem; /* 28px */
}
.heading-size-lg {
	font-size: 2rem; /* 32px */
}
.heading-size-xl {
	font-size: 2.625rem; /* 42px */
}
.heading-size-xxl {
	font-size: 3.75rem; /* 60px */
}

@media screen and (max-width: 576px) {
    .heading-size-lg {
    	font-size: 1.7rem !important; /* 32px */
    }
    .heading-size-xl {
    	font-size: 2rem !important; /* 42px */
    }
    .heading-size-xxl {
    	font-size: 2.5rem !important; /* 60px */
    }
}

.text-size-xs {
	font-size: 0.625rem;  /* 10px */
}
.text-size-sm {
	font-size: 0.75rem; /* 12px */
}
.text-size-md {
	font-size: 0.875rem; /* 14px */
}
.text-size-lg {
	font-size: 1rem; /* 16px */
}
.text-size-xl {
	font-size: 1.125rem; /* 18px */
}
.text-size-xxl {
	font-size: 1.25rem; /* 20px */
}
/*********** End Text sizes ***********/


/********* Start Swiper Config *********/
.swiper-pagination{
    top: 105% !important;
    z-index: 99;
}
.swiper-pagination-bullet {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid var(--color-primary);
    opacity: 0.5;
    background-color: transparent;
}

.swiper-pagination-bullet-active {
    background-color: var(--color-primary);
    opacity: 1; 
}
.swiper-button-next, .swiper-button-prev {
    background: none;
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid var(--color-primary);
    padding: .4rem;
    top: 50%; /* Alinha ao meio */
    transform: translateY(-50%); /* Ajusta exatamente no centro */
    margin-top: auto;
}
.swiper-button-prev {
    left: -4rem;
}
.swiper-button-next {
    right: -4rem;
}
.swiper-button-next:after, 
.swiper-button-prev:after {
    font-size: 20px;
    content: '';
}
@media screen and (max-width: 768px) {
    .swiper-button-next, .swiper-button-prev {
        width: 30px;
        height: 30px;
    }
    .swiper-button-prev {
        left: -1rem;
    }
    .swiper-button-next {
        right: -1rem;
    }
}
@media screen and (max-width: 576px) {
    .swiper-button-next, .swiper-button-prev {
        width: 26px;
        height: 26px;
    }
}
/********* End Swiper Config *********/
@media screen and (max-width: 768px) {}


.at-btn_main {
    position: relative; /* necessário para posicionar o ::before */
    overflow: hidden;   /* impede que a marca d’água ultrapasse o botão */
    border: 1.5px solid var(--color-details-secondary);
    color: var(--color-details-secondary);
    font-size: 16px;
    padding: 10px 15px;
    border-radius: 10px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    transition: .3s ease-in-out;
    background-color: transparent; /* ou sua cor de fundo atual */
}

/* Mantém o conteúdo do botão acima da marca d’água */
.at-btn_main > * {
    position: relative;
    z-index: 1;
}


.at-btn_white{
	background-color: var(--bg-color-gray);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 15px 20px;
	border: 1.5px solid var(--color-details-primary);
	color: var(--color-details-secondary);
	border-radius: 10px;
	gap: 10px;
	transition: .3s ease-in;
}
.at-btn_white:hover{
	color: var(--color-details-primary);
}

/***** Tamanho para tablets na horizontal *****/
@media screen and (max-width: 1024px) {

	html,body{
		width: 100vw;
		overflow-x: hidden;
	}

}

/***** Tamanho para tablets na horizontal *****/
@media screen and (max-width: 1024px) and (min-width: 770px) {
}

/***** Tamanho para tablets na vertical *****/
@media screen and (max-width: 769px) and (min-width: 650px) {

	.heading-size-xs {
		font-size: 1.2rem;
	}
	.heading-size-sm {
		font-size: 1.375rem;
	}
	.heading-size-md {
		font-size: 1.5rem;
	}
	.heading-size-lg {
		font-size: 1.875rem;
	}
	.heading-size-xl {
		font-size: 2.25rem;
	}
	.heading-size-xxl {
		font-size: 3rem;
	}


	.text-size-xs {
		font-size: 0.55rem;
	}
	.text-size-sm {
		font-size: 0.675rem;
	}
	.text-size-md {
		font-size: 0.75rem;
	}
	.text-size-lg {
		font-size: .925rem;
	}
	.text-size-xl {
		font-size: 1rem;
	}
	.text-size-xxl {
		font-size: 1.125rem;
	}

}

/***** Tamanho para smartphones na horizontal *****/
@media screen and (max-width: 649px) and (min-width: 500px){


}

/***** Tamanho para smartphones na vertical *****/
@media screen and (max-width: 499px){

	section{
		overflow: hidden;
	}

	.heading-size-xs {
		font-size: 1.125rem; /* 22px */
	}
	.heading-size-sm {
		font-size: 1.25rem; /* 24px */
	}
	.heading-size-md {
		font-size: 1.5rem; /* 28px */
	}
	.heading-size-lg {
		font-size: 1.875rem; /* 32px */
	}
	.heading-size-xl {
		font-size: 2.25rem; /* 42px */
	}
	.heading-size-xxl {
		font-size: 3rem; /* 60px */
	}


	.text-size-xs {
		font-size: 0.5rem;  /* 10px */
	}
	.text-size-sm {
		font-size: 0.625rem; /* 12px */
	}
	.text-size-md {
		font-size: 0.75rem; /* 14px */
	}
	.text-size-lg {
		font-size: .975rem; /* 16px */
	}
	.text-size-xl {
		font-size: 1rem; /* 18px */
	}
	.text-size-xxl {
		font-size: 1rem; /* 20px */
	}

	.at-btn_main{
		font-size: 14px;
		padding: 12px 20px;
		border-width: 1px;
	}
	.at-btn_main::before {
	    top: auto;
	    bottom: 0;
	    left: 0;
	    width: 100%;
	    height: 90%;
	    background-position: left top;
	    background-size: contain;
    	opacity: 0.25;
	}

}