/*
Theme Name:         Anifa
Description:        Anifa Theme
Version:            1.0
Author:             Diogo-Wevolved

Text Domain:        Anifa
*/

/* Configurações BASE */

* {
	box-sizing: border-box;
	font-weight: 400;

}

html{
    scroll-behavior: smooth;
}

html,
body {
	margin: 0px;
	padding: 0px;
	overflow-x: hidden;
	font-family: "Nimbus San L", sans-serif;
}

main{
	min-height: 54.15vh;
}

body {
	background-image: url(https://anifa.wevolved.pt/wp-content/uploads/2025/11/full-background-1-scaled.png);
	background-repeat: no-repeat;
	background-size: cover;
}

.container {
	width: clamp(70%, 90vw, 100%);
	margin: auto;
	max-width: 100%;
}

/*****************Geral *************/
button {
	background-color: transparent;
	outline: none;
	border: none;
	cursor: pointer;
}

a {
	text-decoration: none;
}

ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

/**************** FONTS ****************/
/* Fonts */
@font-face {
	font-family: "Nimbus San L";
	src: url("fonts/NimbusSanL-Reg.otf");
	font-weight: normal;
	font-style: normal;
}

:root {
	/*Fontes-Tamanho*/
	--h1-size: clamp(2rem, 5vw, 4.5rem);
	--h2-size: clamp(1.5rem, 3.33vw, 3rem);
	--font24: clamp(1rem, 1.67vw, 1.5rem);
	--font20: clamp(0.875rem, 1.39vw, 1.25rem);
	--font15: clamp(0.75rem, 1.04vw, 1rem);
	--font14: clamp(0.75rem, 0.97vw, 0.95rem);

	/*Cores Root*/
	--preto-color: #000013;
	--cinza-dark-color: #808080;
	--cinza-color: #888888;
	--branco-color: #F0EFEA;
	--branco-dif-color: #FDFDFD;
	--verde-color: #009B82;
	--ruas-color: #28231F;
	--azul-color: #015A8B;
	--preto-shadow: #0000134D;
	--black-color:#0D0D0D;

	/*Comprimentos e Larguras*/
	--medida-width: clamp(1.25rem, 1.39vw, 1.5rem);  /*20px*/
	--medida-height: clamp(1.25rem, 1.39vw, 1.5rem); /*20px*/

	--medida-width-botao: 1.25rem;        /*20px*/
	--medida-height-botao:1.25rem;

	--medida-width-logo: clamp(3.875rem, 4.3vw, 5rem);       /*62px*/
	--medida-height-logo: clamp(2.5rem, 2.78vw, 3.5rem);     /*40*/

	/*Paddings */
	--padding-botao: clamp(1rem, 1vw + 0.5rem, 1rem) clamp(1.25rem, 2vw + 0.5rem, 1.25rem);
	/*padding-top / padding-bottom: 16px/padding-left / padding-right: 20px*/

	--padding-header:clamp(0.625rem, 0.625rem, 0.625rem) 
         clamp(0.625rem, 0.625rem, 0.625rem);


	/*Gap*/
	--gap-logo: clamp(0.625rem, 0.69vw, 1rem);  /*9.94px*/
	--gap-header: clamp(1rem, 2vw, 3rem);      /*16px, 2% da largura da tela, 48px*/

}

/******************************* HEADER  ****************************************/

.barra {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px;
	background-color: var(--preto-color);
	position: relative;
}

.barra .p-barra {
	margin: 0;
	color: var(--branco-dif-color);
	font-size: var(--font14);
}

.barra span {
	color: var(--verde-color);
}

.cruz svg {
	width: var(--medida-width);
	height: var(--medida-height);
	vertical-align: middle;
}

/************************** FIM DA BARRA *********************************/
.verde {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 20px 16px;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 120%;
    padding-left: calc(2.25rem + 1rem);
    border: 2px solid var(--branco-dif-color);
    position: relative;
    background-color: var(--verde-color);
    color: var(--branco-dif-color);
}


.verde:hover {
	background-color: #007a67;
}

.verde::before {
	content: '';
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    background-image: url(/wp-content/uploads/2025/11/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
}

.logo img {
	width: var(--medida-width-logo);
	height: var(--medida-height-logo);
	gap: var(--gap-logo);
}

.header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--gap-header);
	padding: var(--padding-header);
	border: 4px solid var(--branco-dif-color);
	box-shadow: 0px 4px 10px 0px var(--preto-shadow);
	border-radius: 6px;
	margin-bottom: clamp(0.75rem, 1vw + 0.5rem, 1.25rem);
	margin-top: clamp(0.75rem, 1vw + 0.5rem, 1.25rem);
}

.header .logo img {
	display: block;
	max-height: clamp(40px, 5vw, 60px);
	height: auto;
	width: auto;
}

.main-menu {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2vw, 2.5rem);
}

/* Lista do menu */
.nav-menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: clamp(1rem, 1.5vw, 2rem);
}

.nav-menu li {
	display: flex;
	align-items: center;
}

nav ul li a {
	color: var(--preto-color);
	font-size: var(--font14);
}

.nav-menu li:not(.current-menu-item) > a {
    color: #888888; 
}

body.home .nav-menu li > a {
    color: var(--preto-color); 
}


.hamburguer {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    font-size: var(--font20);
    cursor: pointer;
    padding: 0;
    color: var(--black-color);
    font-weight: 600;
    text-align: right;
    background: none;
    border: none;
}

/* Menu mobile */
.mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100dvh;
    background-color: white;
    box-shadow: -2px 0 10px rgba(0,0,0,0.1);
    z-index: 1000;
    padding: 2rem;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}

.mobile-menu.active {
    transform: translateX(0);
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
}

.close-menu {
    font-size: var(--font20);
    cursor: pointer;
    color: var(--black-color);
    font-weight: 600;
    background: none;
    border: none;
    padding: 0;
    text-align: right;
}

.mobile-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.mobile-nav,
.mobile-nav .nav-menu-mobile {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Estiliza todos os itens de lista dentro do mobile-nav */
.mobile-nav li,
.mobile-nav .nav-menu-mobile li {
    margin: 0;
    padding: 0;
    width: 100%;
    display: block;
    border-bottom: 1px solid #f5f5f5;
}

/* Estiliza todos os links dentro do mobile-nav */
.mobile-nav a,
.mobile-nav .nav-menu-mobile a {
    text-decoration: none;
    color: #333;
    font-size: 36px;
    display: block;
    padding: 1rem 0;
    width: 100%;
    text-align: left;
    transition: all 0.3s ease;
    font-weight: 500;
}

.mobile-nav a:hover,
.mobile-nav .nav-menu-mobile a:hover {
    background-color: #f9f9f9;
    padding-left: 10px;
}

/* Estilo para itens ativos ou current */
.mobile-nav .current-menu-item > a,
.mobile-nav .nav-menu-mobile .current-menu-item > a {
    color: var(--verde-color);
}

.mobile-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-color: var(--verde-color);
    border: 1px solid var(--branco-color);
    color: var(--branco-dif-color);
    padding: 1rem;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 500;
    margin-top: auto; /* Isso empurra o botão para baixo */
    width: 100%;
    font-size: 1.1rem;
    transition: background-color 0.3s ease;
    position: sticky;
    left: 0;
	top: 100%;
}

.mobile-contact:hover {
    background-color: #27ae60;
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 999;
}

.overlay.active {
    display: block;
}

.mobile-nav * {
    box-sizing: border-box;
}
/******************************      FOOTER     ************************************/
/* Wrapper geral */
.subscricao {
    color: #fff;
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.subscricao .tit-subscricao {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 12px;
}
.subscricao .linha-envio p{
	margin: 0 !important;
}



/* span que o CF7 gera à volta do input */
.subscricao .linha-envio .wpcf7-form-control-wrap {
    flex: 1;
}

/* Campo de email */
.subscricao .linha-envio input[type="email"] {
    width: 100%;
    border: none;
    outline: none;
    background: #f3f2ee;
    padding: 20px 20px;
    font-size: 14px;
    color: #111;
}

.subscricao .linha-envio input[type="email"]::placeholder {
    color: #888;
}
.subscricao .linha-envio p{
    display: flex;
    align-items: stretch;
    height: 54px;
    max-width: 100%;
    border-radius: 7px;
    justify-content: space-between;
    border: 1px solid #ffffff;
    overflow: hidden;
    background: #f3f2ee;
    align-items: anchor-center;
}
.subscricao .envio-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 26px;
    border-radius: 7px;
    margin-right: 1px;
    border: none;
    border-left: 1px solid #ffffff;
    background: #020013;
    color: #ffffff;
    height: 50px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}
/* ====== INPUT EMAIL - ESTILO DO PLACEHOLDER ====== */

.subscricao .email::placeholder {
    font-family: "Nimbus San L", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 120% !important;
    letter-spacing: 0 !important;
    color: #888888 !important;
    opacity: 1 !important;
}

/* Texto digitado no input */
.subscricao .email {
    font-family: "Nimbus San L", sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 120% !important;
    letter-spacing: 0 !important;
    color: #1E1E1E !important;
    background: #F2F1EE !important;
}

/* Autofill (Chrome) — mantém estilo do placeholder/texto */
.subscricao input.email:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #F2F1EE inset !important;
    -webkit-text-fill-color: #1E1E1E !important;
    font-family: "Nimbus San L", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    line-height: 120% !important;
}

/* ====== CHECKBOX ====== */

.subscricao input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #ffffff;
    border-radius: 3px;
    display: inline-block;
    position: relative;
    margin-right: 8px;
    cursor: pointer;
}

.subscricao input[type="checkbox"]:checked::after {
    content: "✓";
    color: #ffffff;
    font-size: 15px;
    position: absolute;
    top: -3px;
    left: 2px;
}

/* Texto do checkbox */
.subscricao .linha-aceitacao label,
.subscricao .linha-aceitacao span {
    color: #ffffff !important;
    font-family: "Nimbus San L", sans-serif !important;
    font-size: 14px !important;
}

.wpcf7-not-valid-tip {
    opacity: 0.6;
    position: absolute;
    top: -15px;
    FONT-SIZE: 12PX;
    font-weight: normal;
    display: block;
    left: 15px;
}

/* Ícone seta dentro do botão */
.subscricao .envio-btn .envio-icon svg {
    width: 25px;
    height: 25px;
    fill: #ffffff;
    display: block;
}

/* Texto "Enviar" */
.subscricao .envio-btn .envio-text {
    line-height: 1;
}

/* Hover */
.subscricao .envio-btn:hover {
    background: #050028;
}

/* Linha da aceitação (checkbox) */
.subscricao .linha-aceitacao {
    margin-top: 12px;
    font-size: 13px;
}

.subscricao .linha-aceitacao label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.subscricao .linha-aceitacao input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
}
.wpcf7-list-item {
    margin: 0 !important;
}

footer {
    background-color: var(--preto-color);
    color: var(--branco-color);
    padding: clamp(1.875rem, 3vw, 3.75rem) clamp(1.25rem, 5vw, 5rem) clamp(1.25rem, 2vw, 1.875rem);
    border: 4px solid white;
    margin-bottom: 30px !important;
    border-radius: 10px;
}
.parte-superior {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: clamp(1.875rem, 3vw, 3.125rem);
	margin-bottom: clamp(1.875rem, 3vw, 3.125rem);
}

.parte-superior img {
	width: clamp(5rem, 10vw, 7.5rem);
	height: auto;
}

.nome {
	font-size: clamp(14px, 1.2vw, 1rem);
	color: var(--branco-color);
	margin: 0;
	width: clamp(15rem, 50%, 37.5rem);
	max-width: 100%;
	margin-top: clamp(0.3125rem, 1vw, 0.625rem);
}

.parte-sup.inf {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: clamp(0.5rem, 1vw, 0.9375rem);
}

.redes {
	display: flex;
	gap: clamp(0.625rem, 2vw, 0.9375rem);
	align-items: center;
	margin-top: clamp(2rem, 10vw, 5rem);
}

.redes a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: clamp(1.875rem, 3vw, 2.25rem);
	height: clamp(1.875rem, 3vw, 2.25rem);
	background-color: transparent;
	border-radius: 50%;
}

.redes svg {
	width: clamp(1rem, 1.5vw, 1.25rem);
	height: clamp(1rem, 1.5vw, 1.25rem);
}

/* Parte Inferior */
.parte-inferior {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1.5fr;
	gap: clamp(1.875rem, 3vw, 3.75rem);
	margin-bottom: clamp(1.875rem, 3vw, 3.125rem);
}

.primeiro,
.segundo,
.terceiro {
	display: flex;
	flex-direction: column;
}

.titulo {
    font-size: clamp(16px, 1.5vw, 1.125rem);
    margin-bottom: clamp(10px, 1.5vw, 1.25rem);
    color: var(--branco-color);
    text-transform: capitalize;
    letter-spacing: 0.1px;
    font-family: "Nimbus San L",sans-serif;
}

.menu-navegação,
.menu-organizaçao,
.menu-politicas {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(14px, 1vw, 0.75rem);
}

.menu-navegação li a,
.menu-organizaçao li a,
.menu-politicas li a {
	color: var(--cinza-color);
	text-decoration: none;
	font-size: clamp(14px, 1vw, 0.875rem);
	display: block;
	width: 68%;
	max-width: 100%;
}
.empurrar.vc_col-sm-4{
	text-align: right;
}
.empurrar.vc_col-sm-4 > .vc_column-inner {
    width: 50%;
    float: right;
}
/* Fim */
.fim {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: clamp(1.25rem, 3vw, 1.875rem);
}

.direitos,
.feito {
	font-size: clamp(0.75rem, 1vw, 0.875rem);
	margin: 0;
}

.feito span {
	color: var(--verde-color);
	text-decoration: none;
}

p.feito {
	color: var(--branco-color);
}

.feito a {
	color: var(--branco-color);
}

.wpcf7-list-item-label {
	font-size: var(--font14);
}

.wpcf7 form .wpcf7-response-output {
    margin: 7em 0.5em 1em;
}
/****************************** BODY DA HOME  ************************************/
.ino h1 {
	color: var(--preto-color);
	font-size: var(--h1-size);
	line-height: 1.2;
}

.ino p {
	color: var(--preto-color);
	font-size: var(--font20);
	letter-spacing: clamp(0.01em, 0.15vw + 0.005em, 0.02em);
	line-height: 1.5;
}

.ino .bot-qm a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 20px 16px;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 120%;
    padding-left: calc(2.25rem + 1rem);
    border: 2px solid var(--branco-dif-color);
    position: relative;
}

.ino .bot-qm a:hover {
    background-color: #009b82 !important;
    color: var(--branco-dif-color) !important;
    border: 2px solid var(--branco-dif-color);
    transform: scale(1.02) rotate(-0.5deg);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}


.ino .bot-qm a::before, .ino .bot-qm:hover a::before {
    content: '';
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    background-image: url('/wp-content/uploads/2025/11/arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
}



.video {
	width: clamp(20rem, 100%, 107rem);
	height: auto;
	display: block;
	margin: 0 auto;
	border: 4px solid var(--branco-dif-color);
	box-shadow: 0px 4px 10px 0px var(--preto-shadow);
	border-radius: 20px;
	margin-top: clamp(2rem, 5vw, 5rem);
	margin-bottom: clamp(2rem, 5vw, 5rem);
    max-width: 100%;
}

.cresc-tit h2 {
	font-size: var(--h2-size);
	line-height: 1.2;
	width: clamp(11rem, 41%, 35rem);
	max-width: 100%;
}

.cresc-tit {
	margin-bottom: clamp(2rem, 5vw, 4rem);
}

.card1 h4,.cien h4 {
	font-size: var(--font14);
	line-height: 1.2;
	color: var(--branco-dif-color);
	background-color: var(--preto-color);
	padding: clamp(0.5rem, 1vw, 0.625rem);
	border-radius: 4px;
	border-width: 1px;
}

.cien h4{
    width: clamp(6rem, 18vw, 11.5rem);
	max-width: 100%;
}

.tit-mexer {
    width: 154px;
    max-width: 100%;
    margin-bottom: 20px !important;
}

.tit-mexer2{
	max-width: 100%;
    width: 123px;
    margin-bottom: 20px !important;

}

.tit-mexer3{
	max-width: 100%;
    width: 147px;
    margin-bottom: 20px !important;

}

.card1 p {
	font-size: var(--font15);
	line-height: 1.2;
	width: clamp(16px, 75%, 51.3rem);
	max-width: 100%;
}


.card1 {
	background: linear-gradient(157.45deg, #FDFDFD 14.7%, #D0CCB9 99.98%);
	border: 4px solid #FDFDFD;
	height: auto;
	border-radius: 10px;
	padding: clamp(0.50rem, 2vw, 0.63rem) !important;
	aspect-ratio: 5/4.5;
}

.card1 h4{
 margin:0;
}

.card2 .vc_btn3-container {
    margin-bottom: 0px; 
}

.cards {
	display: flex;
	gap: 30px;
	padding: 10px 15px;
	margin-bottom: 200px;
}

.card2 .wpb_content_element{
    margin-bottom: 3px;
}

.cards::before{
    display: none !important;
}

.caixa2 {
	display: flex;
	justify-content: center;
	align-items: center;
	height: clamp(100px, 28vh, 277px);
}

.bola1,
.bola2,
.bola3 {
	width: clamp(20px, 2.22vw, 50px);
	height: clamp(20px, 2.22vw, 50px);
	border-radius: 50%;
	display: inline-block;
	margin: clamp(5px, 1vw, 20px);
	background-color: var(--preto-color);
	animation: bounce 1s infinite;
	animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
}

.bola1 {
	animation-delay: 0s;
}

.bola2 {
	animation-delay: 0.2s;
}

.bola3 {
	animation-delay: 0.4s;
}

@keyframes bounce {

	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-30px);
	}
}

.caixa {
	display: flex;
	justify-content: center;
	align-items: center;
	height: clamp(100px, 24vh, 282px);
}

.bola4 {
	width: clamp(50px, 6.94vw, 150px);
	height: clamp(50px, 6.94vw, 150px);
	border-radius: 50%;
	background-color: var(--preto-color);
	margin: clamp(5px, 1vw, 20px);
	animation: fadeEffect 3s infinite;
		animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);

}

@keyframes fadeEffect {
	0% {
		opacity: 1;
		transform: scale(1);
	}

	50% {
		opacity: 1;
		transform: scale(0.8);
	}

	100% {
		opacity: 0;
		transform: scale(0.5);
	}
}

/* Container central */
.caixa1 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: spin 3.2s infinite linear;
}

.margem{
    margin-top: 35%;
}

/* Bolas do quadrado */
.bola5,
.bola6,
.bola7,
.bola8 {
	width: clamp(20px, 5vw, 46px);
	height: clamp(20px, 5vw, 46px);
	border-radius: 50%;
	background-color: var(--preto-color);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	animation: sequencia 6s infinite ease-in-out;
		animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
}

/* Cada bola vai para um canto diferente */
.bola5 {
	--x: -90%;
	--y: -90%;
}

.bola6 {
	--x: 90%;
	--y: -90%;
}

.bola7 {
	--x: -90%;
	--y: 90%;
}

.bola8 {
	--x: 90%;
	--y: 90%;
}

@keyframes sequencia {
	0% {
		transform: translate(-50%, -50%) scale(0);
	}

	10% {
		transform: translate(-50%, -50%) scale(1);
	}

	40% {
		transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(1);
	}

	60% {
		transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(1.5);
	}

	75% {
		transform: translate(calc(-50% + var(--x)/2), calc(-50% + var(--y)/2)) scale(0.7);
	}

	90% {
		transform: translate(-50%, -50%) scale(0.7);
	}

	100% {
		transform: translate(-50%, -50%) scale(0.7);
	}
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	10% {
		transform: rotate(0deg);
		/* rotação suave para anti-horário */
	}

	40% {
		transform: rotate(0deg);
		/* rotação maior anti-horário */
	}

	60% {
		transform: rotate(0deg);
		/* continua a rotação anti-horário */
	}

	75% {
		transform: rotate(-90deg);
		/* rotação máxima anti-horário */
	}

	80% {
		transform: rotate(-90deg);
		/* volta um pouco */
	}

	100% {
		transform: rotate(-180deg);
		/* retorna à posição inicial */
	}
}

.lid h2 {
	font-size: var(--h2-size);
	line-height: 1.2;
	color: var(--preto-color);
}

.lid p {
    font-size: var(--font15);
    line-height: 1.2;
    color: #000013;
    width: clamp(100px, 36%, 744px);
    margin: 0 auto;
    max-width: 100%;
}

.caixa3{
	position: relative;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: giro 1s infinite linear;

}

.objeto{
	width: clamp(50px, 6.94vw, 150px);
	height: clamp(50px, 6.94vw, 150px);
	background-color: var(--preto-color);
	margin: clamp(5px, 1vw, 20px);
	animation: trocas 2s infinite ease-in-out;
	animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
}

.card2 {
    background: linear-gradient(157.45deg, #FDFDFD 14.7%, #D0CCB9 99.98%);
	border: 4px solid #FDFDFD;
	height: 500px;
	border-radius: 10px;
	padding: clamp(0.50rem, 2vw, 0.63rem) !important;
    display: flex;
	align-items: end;
}

@keyframes trocas {
	0% {
		opacity: 1;
		transform: scale(1);
	}

	50% {
		opacity: 1;
		transform: scale(0.5);
		border-radius: 60%;
	}

	100% {
		opacity: 0;
		transform:scale(1.5);
		border-radius: 60%;
	}
}

@keyframes giro{
	0%{
		transform: rotate(0deg);
	}

	50%{
		transform: rotate(-45deg);
	}

	100%{
		transform: rotate(-45deg);
	}
}

.card2 p{
	font-size: var(--font24);
	line-height: 1.2;
}



/* Bolas do quadrado */
.bola9,
.bola10,
.bola11,
.bola12,
.bola13,
.bola14,
.bola15,
.bola16,
.bola17 {
	width: clamp(20px, 5vw, 50px);
	height: clamp(20px, 5vw, 50px);
	border-radius: 50%;
	background-color: var(--preto-color);
	position: absolute;
	top: 50%;
	left: 50%;
    animation: solCentral 8s infinite ease-in-out;
	animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
}

    .bola10 {
            animation: aparecer 8s infinite ease-in-out;
            animation-delay: 0s;
        }

        .bola11 {
            animation: aparecer 8s infinite ease-in-out;
            animation-delay: 0s;
        }

        .bola12 {
            animation: aparecer 8s infinite ease-in-out;
            animation-delay: 0.6s;
        }

        .bola13 {
            animation: aparecer 8s infinite ease-in-out;
            animation-delay: 0.6s;
        }

        .bola14 {
            animation: aparecer 8s infinite ease-in-out;
            animation-delay: 1.2s;
        }

        .bola15 {
            animation: aparecer 8s infinite ease-in-out;
            animation-delay: 1.2s;
        }

        .bola16 {
            animation: aparecer 8s infinite ease-in-out;
            animation-delay: 1.8s;
        }

        .bola17 {
            animation: aparecer 8s infinite ease-in-out;
            animation-delay: 1.8s;
        }

        /* Animação da bola central */
        @keyframes solCentral {
            0% {
                transform: translate(-50%, -50%) scale(1);
            }
            10% {
                transform: translate(-50%, -50%) scale(2.5);

            }
            20% {
                transform: translate(-50%, -50%) scale(2.5);
            }
            30% {
                transform: translate(-50%, -50%) scale(1.5);
            }
            90% {
                transform: translate(-50%, -50%) scale(1);
            }
            95% {
                transform: translate(-50%, -50%) scale(1);
            }
            100% {
                transform: translate(-50%, -50%) scale(1);
            }
        }

        /* Animação das bolas periféricas */
        @keyframes aparecer {
            0% {
                transform: translate(-50%, -50%) scale(0);
                opacity: 0;
            }
            15%, 70% {
                opacity: 1;
            }
            20% {
                transform: translate(-50%, -50%) scale(1);
            }
            25% {
                transform: translate(var(--x), var(--y)) scale(1);
            }
            70% {
                transform: translate(var(--x), var(--y)) scale(1);
            }
            85% {
                transform: translate(-50%, -50%) scale(1);
                opacity: 1;
            }
            95% {
                transform: translate(-50%, -50%) scale(0);
                opacity: 0;
            }
            100% {
                transform: translate(-50%, -50%) scale(0);
                opacity: 0;
            }
        }

        /* Posições específicas para cada bola */
        .bola10 { --x: -50%; --y: calc(-50% - 120px); } /* topo */
        .bola11 { --x: calc(-50% + 85px); --y: calc(-50% - 85px); } /* topo-direita */
        .bola12 { --x: calc(-50% + 120px); --y: -50%; } /* direita */
        .bola13 { --x: calc(-50% + 85px); --y: calc(-50% + 85px); } /* baixo-direita */
        .bola14 { --x: -50%; --y: calc(-50% + 120px); } /* baixo */
        .bola15 { --x: calc(-50% - 85px); --y: calc(-50% + 85px); } /* baixo-esquerda */
        .bola16 { --x: calc(-50% - 120px); --y: -50%; } /* esquerda */
        .bola17 { --x: calc(-50% - 85px); --y: calc(-50% - 85px); } 

.contactos {
    min-height: 70vh;
}

.cardsv2{
	display: flex;
	gap: 15px;
	padding: 15px 0px;
	margin-bottom: 125px;
}

.mini-botao a{
    position: relative;
}

.mini-botao a ::before {
    content: '';
    position: absolute;
    top: 53%;
    left: 26%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url('/wp-content/uploads/2025/11/arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
}


.mini-botao a:hover{
    background: #009b82 !important;
    transform: scale(1.02) rotate(-0.5deg);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.mini-botao .vc_btn3.vc_btn3-size-md {
    padding: 22px;
    height: 22px;
    width: 22px;
}
/******************************  QUEM SOMOS  ************************************/
.voz h1{
font-size: var(--h1-size);
color: var(--preto-color);
}

.voz h1 em{
	font-style: normal !important;
	color: var(--verde-color);
}

.bola-giga{
	margin-bottom: 110px;
}

.roda{
  animation: girar 4s linear infinite; 
}

@keyframes girar {
  0% {
    transform: rotate(0deg);
  }
 
  80%{
	transform: rotate(360deg);
  }
  100%{
	transform: rotate(360deg);
  }
}


 .voz .texto h2,.voz .texto2 h2,.voz .texto3 h2{
	font-size: var(--h1-size);
	color: var(--preto-color);
	margin-bottom: 0 !important;
	margin-top: 0 !important;
	text-align: center;
}

.voz .texto p, .voz .texto2 p, .voz .texto3 p{
	font-size: var(--font24);
	text-align: center;

}

.voz .texto, .voz .texto2, .voz .texto3{
    position: absolute;
    top: 49%;
    left: 50%;
    transform: translate(-50%,-50%);
}

/* Todos começam invisíveis */
.voz .texto,
.voz .texto2,
.voz .texto3 {
  opacity: 0;
  transition: opacity 0.3s linear;
}

.voz .texto {
  animation: t1 4s linear infinite;
}

@keyframes t1 {
  0%, 40%   { opacity: 1; }
  41%, 100% { opacity: 0; }
}

/* TEXTO 2 → 41% a 60% */
.voz .texto2 {
  animation: t2 4s linear infinite;
}

@keyframes t2 {
  0%, 40%, 61%, 100% { opacity: 0; }
  41%, 60%           { opacity: 1; }
}

/* TEXTO 3 → 61% a 100% */
.voz .texto3 {
  animation: t3 4s linear infinite;
}

@keyframes t3 {
  0%, 60%   { opacity: 0; }
  61%, 100% { opacity: 1; }
}


.cien p{
	font-size: var(--font20);
	color: var(--preto-color);
	line-height: 1.5;
    width: clamp(12.5rem, 39%, 29rem);
	max-width: 100%;
}

.cards .card1 .alinhar {
    margin-top: clamp(1rem, 40%, 14rem);
}


.cards .card1 .mud p{
	font-size: var(--font24) !important;
	color: var(--preto-color);
	width: 100% !important;
}

.cards.v2 {
    margin-bottom: clamp(2rem, 3.5625rem, 5rem) !important;
}

.ino.v2 {
    position: absolute;
    top: 50%; 
    left: 50%;
    transform: translate(-50%, -50%);
}

.imagem-grupo .video::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #00001366; 
    pointer-events: none; 
	border-radius: 16px;
}

.imagem-grupo .video {
    position: relative; 
}

.imagem-grupo .video img {
    display: block;
    object-fit: cover;
	border-radius: 16px;
    width: 100%;
    height: auto;
}

.ino.v2 h1{
	font-size: var(--h2-size);
	line-height: 1.2;
	color: var(--branco-dif-color);
	margin-top: 0;
	margin-bottom: 0;
}


/***************************  Projetos/Parcerias  ********************************/
.proj h2{
	font-size: var(--h2-size);
	color: var(--preto-color);
	line-height: 1.2;
}

.proj h1 {
    color: var(--azul-color);
    font-size: var(--h1-size);
    line-height: 1.2;
    margin-bottom: clamp(0.5rem, 2%, 2rem);
}

.proj p {
    color: var(--preto-color);
    font-size: var(--font15);
    line-height: 1.2;
    letter-spacing: 0.02em;
    max-width: 100%;
	margin: auto;
}

.back-verde h1 {
    width: clamp(15rem, 40%, 35rem);
    max-width: 100%;
    top: 50%;
    left: 50%;
    color: var(--branco-dif-color);
    position: absolute;
    transform: translate(-50%, -50%);
}

.back-verde figure{
	width: 100%;
}

.back-verde figure > div{
	width: 100%;
	text-align: center;
}
.cards.v3 h3{
	font-size: var(--font24);
	line-height: 1.2;
	color: var(--preto-color);
}

.cards.v3 p{
	font-size: var(--font15);
	color: var(--preto-color);
	margin-left: 0;
	width: 100%;
}

.cards.v3 h1{
	margin-left: 0 !important;
margin-top: clamp(2rem, 42%, 14rem) !important;
}

.ino.v3 h2{
color: var(--branco-dif-color);
font-size: var(--h2-size);
line-height: 1.2;
margin: auto;
}

.ino.v3 {
    position: absolute;
margin: auto;
width: 1280px;
height: auto;
max-width: 100%;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}

.cards.v3{
margin-bottom: clamp(2rem, 3.4375rem, 5rem);
}

.cards.v3 .remov{
	margin-bottom: 0;
}


.video figure{
	width: 100%;
}

.wpb_single_image .vc_single_image-wrapper {
    width: 100%;
}

.bot-qm button{
margin: auto;
}

.imagem-grupo.v2{
	position: relative;
}

.ino.v3 .vc_general.vc_btn3.vc_btn3-size-md.vc_btn3-shape-rounded.vc_btn3-style-custom.vc_btn3-icon-left{
	border: 2px solid var(--branco-dif-color);
} 

/***************************  CONTACTOS  ********************************/
.contactos h2{
font-size: var(--h2-size);
line-height: 1.2;
color: var(--preto-color);
}

.contactos p{
	font-size: var(--font15);
	line-height: 1.2;
	letter-spacing: 0.002rem;
	color: var(--ruas-color);
}

.ruas-cont {
    margin-top: clamp(1rem, 10.5%, 8rem);
}

.verde.inativo {
    background-color: var(--preto-color); 
    cursor: not-allowed;    
    pointer-events: none;  
    border: 2px solid var(--branco-dif-color);
}


/* 1) Define a tua base (podes mudar para a tua font do site) */
.contactos,
.contactos .wpcf7,
.contactos .wpcf7 form{
  font-family: inherit !important;
  color: #0f172a;
}
textarea.mens {
    min-height: 160px !important;
}
/* 2) Aplica o MESMO estilo a todos os campos (inclui textarea e select) */
.contactos .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.contactos .wpcf7 select,
.contactos .wpcf7 textarea{
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #0f172a !important;

  width: 60%;
  border: 0 !important;
  border-bottom: 1px solid #0f172a !important;
  background: transparent !important;

  padding: 12px 0 !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  -webkit-appearance: none;
  appearance: none;

  /* evita “saltar” font diferente no textarea */
  line-height: 1.4 !important;
}

/* 3) Placeholder igual em todos */
.contactos .wpcf7 input::placeholder,
.contactos .wpcf7 textarea::placeholder{
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #0f172a !important;
  opacity: 1 !important;
}

/* 4) Focus (opcional) */
.contactos .wpcf7 input:focus,
.contactos .wpcf7 select:focus,
.contactos .wpcf7 textarea:focus{
  border-bottom-width: 2px !important;
}

/* 5) Textarea: garante que não fica com “cara” diferente */
.contactos .wpcf7 textarea{
  resize: none;
  min-height: 44px;
  height: 44px;
}

/* 6) Labels/Texto do checkbox (política privacidade) consistente */
.contactos .wpcf7 .wpcf7-list-item-label,
.contactos .wpcf7 label{
  font-family: inherit !important;
  font-size: 14px !important;
  color: rgba(15, 23, 42, .65) !important;
}

/* 7) Se tens classes antigas (.nome2 .email2 .inst .mens), mantém compatível */
.contactos .nome2,
.contactos .email2,
.contactos .inst,
.contactos .mens{
  font-family: inherit !important;
  font-size: 16px !important;
  color: #0f172a !important;
}


/* ====== CHECKBOX ====== */
.contactos .wpcf7-acceptance input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--cinza-color); 
    margin-right: 6px;
}

.contactos .wpcf7-acceptance label {
    font-size: 0.85rem;
    color: var(--cinza-color);
	margin-bottom: clamp(4px, 0.56vw, 8px);

}

.contactos .wpcf7-list-item{
	margin: 0 !important;
}
/* ====== BOTÃO ====== */
.contactos .btn-seta {
    background: var(--preto-color);
    color: var(--branco-dif-color);
    padding: 20px 20px 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 20px 16px;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 120%;
    padding-left: calc(2.25rem + 1rem);
    border: 2px solid var(--branco-dif-color);
    position: relative;
}

.contactos .btn-seta:hover {
    background-color: #009b82 !important;
    color: var(--branco-dif-color) !important;
    border: 2px solid var(--branco-dif-color);
    transform: scale(1.02) rotate(-0.5deg);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.btn-seta::before {
    content: '';
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    background-image: url('/wp-content/uploads/2025/11/arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
    font-family: "Nimbus San L",sans-serif;
}



.contactos .wpcf7-form-control-wrap {
    width: 100%;
    display: block;
}


.contactos .wpcf7-response-output {
    position: absolute;
    top: clamp(80%, 87%, 90%);   
    left: clamp(15%, 20%, 25%);  
}
/******************************  BLOG ************************************/
.blog h1{
	font-size: var(--h1-size);
	line-height: 1.2;
	color: var(--preto-color);
}

/* ===== BASE DO GRID ===== */
.lista-noticias {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: clamp(1rem, 2vw, 2.5rem); 
}

.card-noticia {
    background: var(--branco-dif-color);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
}

.card-imagem img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

/* =======================================================
   PADRÃO QUE SE REPETE INFINITAMENTE (A CADA 13 POSTS)
   -------------------------------------------------------
   12n + 1 → início de 1 bloco de 5 linhas
   Bloco tem 12 itens:
        1-2-3 → normais
        4-5   → 5 é largo
        6-7   → 6 é largo
        8-9-10 → normais
		11-12-13 → normais
   E depois repete 
========================================================= */

/* Linha 2 → segundo item é largo */
.lista-noticias .card-noticia:nth-child(13n + 5) {
    grid-column: span 2;
}

/* Linha 3 → primeiro item é largo  */
.lista-noticias .card-noticia:nth-child(13n + 6) {
    grid-column: span 2;
}

/* ============================
   HERO EM CARD BRANCO
   ============================ */


/* Card branco grande */
.hero-noticia {
    background:var(--branco-dif-color);
    border-radius: 10px;
    padding: clamp(1rem, 2vw, 1.25rem); /* 20px */
    overflow: hidden;
    margin-bottom: clamp(1.5rem, 3vw, 1.6875rem) !important; /* 27px */
}

.hero-imagem img {
    width: 100%;
height: clamp(20rem, 50vw, 35rem);
    object-fit: cover;
    margin-bottom: clamp(1rem, 2vw, 1.375rem);
    border-radius: 4px;
}


.hero-noticia .aba-novidades {
	top: 27px;
	left: 44px;
}


.hero-titulo a {
    color: var(--preto-color);
    text-decoration: none;
    font-size: var(--font24);
    line-height: 1.2;
}

.hero-descricao a {
    color: var(--cinza-color);
    font-size: var(--font15);
    text-decoration: none;
}


/* TAG NOVIDADES */
.aba-novidades {
    display: inline-block;
    background: var(--preto-color);
    color: var(--branco-dif-color);
    font-size: var(--font14);
    padding: clamp(0.25rem, 0.5vw, 0.3125rem) clamp(0.5rem, 1vw, 0.75rem);
    border-radius: 4px;
    margin-bottom: clamp(0.75rem, 1.5vw, 0.75rem);
    position: relative;
    z-index: 10;
}

.hero-descricao a{
	font-size: var(--font15);
	color: var(--cinza-color);
	line-height: 1.2;
	width: 40%;
	max-width: 100%;
}

.hero-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}
/* ============================
   LISTA DE CARDS
   ============================ */

.lista-noticias {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* CARD */
.card-noticia {
    background: var(--branco-dif-color);
    padding: clamp(0.75rem, 2vw, 1rem); /* 16px → 1rem */
    position: relative;
    transition: all 0.3s ease;
}

/* IMAGEM COM BORDA BRANCA */
.card-imagem {
    display: block;
    border-radius: 10px; /* 12px → 0.75rem */
    overflow: hidden;
}

.card-imagem img {
    width: 100%;
    height: clamp(15rem, 30vw, 21.4375rem); /* 343px → ~21.4375rem */
    object-fit: cover;
}

.card-corpo {
    padding-top: clamp(0.75rem, 1.5vw, 1rem); /* 16px → 1rem */
}

.card-titulo {
    font-size: clamp(1.25rem, 2vw, 1.5rem); /* 20-24px */
    margin-bottom: clamp(0.5rem, 1vw, 0.5rem); /* 8px */
    color: var(--preto-color);
}

.card-excerto {
    font-size: clamp(0.875rem, 1.5vw, 0.9375rem); /* 14-15px */
    color: var(--cinza-color);
}

/* TAG NOS CARDS */
.aba-novidades {
    position: absolute;
    top: clamp(1.5rem, 3vw, 1.5rem); /* 24px */
    left: clamp(1.5rem, 3vw, 1.5rem); /* 22px */
    background: var(--preto-color);
    color: var(--branco-dif-color);
    padding: clamp(0.25rem, 0.5vw, 0.25rem) clamp(0.625rem, 1vw, 0.625rem); /* 4px 10px */
    font-size: clamp(0.875rem, 1.5vw, 0.875rem); /* 14px */
    z-index: 5;
    border: 1px solid var(--branco-dif-color);
}

.loader-container {
    text-align: center;
    margin: 2rem 0;
}

.spinner {
    width: 3rem;
    height: 3rem;
    border: 4px solid var(--branco-dif-color);
    border-top: 4px solid var(--verde-color); 
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 1rem;
}

@keyframes spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loader-container p {
    font-size: var(--font14);
    color: var(--cinza-color);
    margin: 0;
}
/****************************** PAG BLOG ************************************/

/* --- Conversão base: 1rem = 16px --- */

/* Header */
.publicacao-header {
  text-align: center;
  padding: clamp(3rem, 4vw, 5rem) 0 clamp(1.5rem, 2.5vw, 2.5rem); /* ~80px top / 40px bottom responsivo */
}

.publicacao-titulo {
  font-size: clamp(1.5rem, 2.2vw, 2.25rem); /* responsivo: ~24px -> ~36px */
  margin-bottom: 0.625rem; /* 10px */
}

/* Link anterior */
.link-ant {
  font-size: clamp(0.85rem, 0.9vw, 0.9375rem); /* ~13.6px -> ~15px */
}

.link-ant a {
  color: var(--cinza-dark-color);
  text-decoration: none;
}

.link-ant span {
  color: #0D0D0D;
}

.publicacao-imagem-full img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16 / 9;
    margin: 0;
    border-radius: 1rem;
    object-fit: cover;
    object-position: center;
}

/* Conteúdo */
.publicacao-conteudo {
  font-size: var(--font15);
  line-height: 1.2; 
  color: var(--preto-color);
  padding-bottom: 3.75rem; /* 60px */
  width: clamp(18rem, 37%, 50rem); 
  max-width: 100%;
  margin-left: clamp(10rem, 33%, 36rem); 
}

.publicacao-conteudo p {
  margin-bottom: 1.25rem; /* 20px */
}

/* Projeto relacionado */
.projeto-relacionado {
  padding: 2.5rem; /* 40px */
  border-radius: 1rem; /* 16px */
}

.publicacoes-sugestoes {
  padding: clamp(2.5rem, 4vw, 3.75rem) 0; /* ~60px vertical */
}

.sugestoes-titulo {
  font-size: clamp(1.5rem, 2.2vw, 2.25rem); 
  margin-bottom: 2.5rem; /* 40px */
  text-align: center;
  line-height: 1.2;
  color: var(--preto-color);
}

.sugestoes-grid {
  display: grid;
  grid-template-columns: 1fr minmax(18rem, 2fr); 
  gap: clamp(1.5rem, 2.5vw, 2.5rem); /* ~40px gap */
}

/* itens de sugestão */
.sugestao-item {
  background-color: var(--branco-dif-color);
  padding: 1.25rem; /* 20px */
  border-radius: 1rem; /* 16px */
}

.sugestao-thumb img {
  width: 100%;
  height: clamp(18rem, 24rem, 24.25rem); /* ~288px -> ~388px, responsivo */
  object-fit: cover;
  border-radius: 0.75rem; /* 12px */
}

.sugestao-titulo {
  font-size: var(--font24);
  margin: 0.9375rem 0 0.625rem; /* 15px 0 10px */
  color: var(--preto-color);
  line-height: 1.2;
}

.sugestao-excerto {
  font-size: var(--font15);
    color: var(--cinza-color);
}

.margem-baixo{
    margin-bottom:21% !important;
}

.cards .vc_column-inner{
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/****************************** MEDIA QUERIES ************************************/
@media (max-width:1024px){

    .proj h2 {
    text-align: center;
}

	  .cards,.cardsv2 {
        display: flex;
        flex-direction: column; /* empilha os cards verticalmente */
        gap: 15px;
        padding: 10px 15px;
        margin: 0 auto 100px auto; /* centraliza horizontalmente */
        align-items: center; /* centraliza os cards no eixo horizontal */
        justify-content: center;
    }

    .card1,.card2{
        width: 90%; /* ocupa a maior parte da tela */
        max-width: 100%; /* limita o tamanho máximo */
        padding: clamp(0.5rem, 4vw, 1rem) !important;
        margin: 0 auto; /* garante centralização individual dos cards */
    }

    .lid h2 {
        font-size: clamp(1.2rem, 2.5vw, 2rem);
    }

    .lid p {
        font-size: clamp(0.8rem, 2vw, 1rem);
        width: 90%;
    }

    .card2 p {
        font-size: clamp(1rem, 2.5vw, 1.5rem);
    }

	
}




/* Size considerado para Tablet */
@media only screen and (max-width: 991px) {
.caixa,.caixa2{
    height:clamp(100px,28vh,81px);
}


.card1{
	aspect-ratio: 3/4.5;
}
}

@media only screen and (max-width: 600px) {
    .subscricao .linha-envio {
	    height: 46px;
	    margin: 20px;
	}
	.back-verde h1 {
		top: 42%;
		font-size: 22px !important;
		line-height: 28px !important;
	}
.proj h1 {
    text-align: center !important;
}
.empurrar.vc_col-sm-4 > .vc_column-inner {
    width: 100%;
    float: unset;
    text-align: center !important;
}
	.mobile-nav a, .mobile-nav .nav-menu-mobile a{
		font-size: 28px;	
	}
	.bola-giga {
    margin-bottom: 40px;
}
.parte-superior img {
    width: 140px;
    margin-bottom: 30px;
}
	.ino .bot-qm a::before, .ino .bot-qm:hover a::before {
    width: 14px;
    height: 14px;
}
	.subscricao .envio-btn {
	    height: 44px;
	}
	#wpadminbar{
		display: none;
	}


	.publicacao-conteudo {
    margin-left: clamp(7rem, 27%, 36rem);
}

.proj h2 {
    font-size: var(--h2-size);
    color: var(--preto-color);
    line-height: 1.2;
	text-align: center;
}

.cien h4 {
    font-size: var(--font14);
    line-height: 1.2;
    color: var(--branco-dif-color);
    background-color: var(--preto-color);
    padding: clamp(0.5rem, 1vw, 0.625rem);
    border-radius: 4px;
    border-width: 1px;
    width: clamp(6rem, 25vw, 11.5rem);
    max-width: 100%;
}

.card1{
	aspect-ratio: 4.5/5;
}

.direitos, .feito {
    font-size: clamp(12px, 1vw, 0.875rem);
    margin: 0;
}

}

  /* Estilos responsivos */
        @media (max-width: 768px) {
            .main-menu, .verde {
                display: none;
            }
            
            .hamburguer {
                display: flex;
            }
            
            .mobile-menu {
                display: block;
            }

.cien h4 {
    font-size: var(--font14);
    line-height: 1.2;
    color: var(--branco-dif-color);
    background-color: var(--preto-color);
    padding: clamp(0.5rem, 1vw, 0.625rem);
    border-radius: 4px;
    border-width: 1px;
    width: clamp(6rem, 33vw, 11.5rem);
    max-width: 100%;
	margin-left: 40px;
}

.cien p {
    font-size: var(--font20);
    color: var(--preto-color);
    line-height: 1.5;
    width: clamp(12.5rem, 39%, 29rem);
    max-width: 100%;
    margin-left: 40px;
}

.roda img{
	width: 95%;
}

 .parte-superior {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.5rem;
    }
    
    .parte-sup.inf {
        align-items: center;
        width: 100%;
    }
    
    .nome {
        width: 100%;
        text-align: center;
    }
    
    .redes {
        margin-top: 1.5rem;
        justify-content: center;
    }
    
    .parte-inferior {
        grid-template-columns: 1fr;
        gap: 2rem;
        text-align: center;
    }
    
    .primeiro,
    .segundo,
    .terceiro,
    .subscricao {
        align-items: center;
    }
    
    .menu-navegação li a,
    .menu-organizaçao li a,
    .menu-politicas li a {
        width: 100%;
    }
    
    .fim {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
		margin-top: 75px;
    }
    

    

	.back-verde h1 {
    font-size: var(--h2-size);
}

.lista-noticias {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: clamp(1rem, 2vw, 2.5rem); 
}

.card-noticia {
    background: var(--branco-dif-color);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
}

.card-imagem img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

/* Remove todas as regras de grid-column span */
.lista-noticias .card-noticia:nth-child(13n + 5),
.lista-noticias .card-noticia:nth-child(13n + 6) {
    grid-column: 1;
}

.contactos{
	margin-left: 40px !important;
}

.cresc-tit h2{
	text-align:center;
	width:100%;
}

.card1 h4 {
    font-size: var(--font14);
    line-height: 1.2;
    color: var(--branco-dif-color);
    background-color: var(--preto-color);
    padding: clamp(0.5rem, 1vw, 0.625rem);
    border-radius: 4px;
    border-width: 1px;
    width: clamp(8rem, 18vw, 11.5rem);
    max-width: 100%;
}

    .card2 {
        height: 400px; /* Reduz a altura */
        padding: clamp(0.5rem, 3vw, 1rem) !important;
        align-items: end; /* Alinha conteúdo no topo */
    }

    .card2 p {
        font-size: var(--font18); /* Reduz tamanho da fonte */
        line-height: 1.3;
        margin-top: 1rem;
    }

    /* Ajusta tamanho das bolas */
    .bola9,
    .bola10,
    .bola11,
    .bola12,
    .bola13,
    .bola14,
    .bola15,
    .bola16,
    .bola17 {
      top: 35%;
    }

    /* Ajusta as posições das bolas para telas menores */
    .bola10 { --x: -50%; --y: calc(-50% - 80px); } /* topo */
    .bola11 { --x: calc(-50% + 60px); --y: calc(-50% - 60px); } /* topo-direita */
    .bola12 { --x: calc(-50% + 80px); --y: -50%; } /* direita */
    .bola13 { --x: calc(-50% + 60px); --y: calc(-50% + 60px); } /* baixo-direita */
    .bola14 { --x: -50%; --y: calc(-50% + 80px); } /* baixo */
    .bola15 { --x: calc(-50% - 60px); --y: calc(-50% + 60px); } /* baixo-esquerda */
    .bola16 { --x: calc(-50% - 80px); --y: -50%; } /* esquerda */
    .bola17 { --x: calc(-50% - 60px); --y: calc(-50% - 60px); }

    .texto-pro.vc_row.vc_row-flex {
    flex-wrap: unset;
}

.text-pro2{
	display: flex;
}

.sugestoes-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: clamp(1rem, 2vw, 2.5rem); 
}
.cards.v3 p {
    font-size: 16px;
    line-height: 18px;
}
.cards.v3 h3 {
    font-size: 26px;
    line-height: 1.2;
    color: var(--preto-color);
    text-align: center;
}
.cards.v3 h1 {
    margin-left: 0 !important;
    margin-top: 50px !important;
    font-size: 75px;
    line-height: 80px;
}
.ino .bot-qm a {
    padding: 15px 15px 15px 45px;
}
}


/* smartphones plus */
@media only screen and (max-width: 414px) {

.ino.v2 h1{
    font-size: 20px;
}

.ino.v2 .bot-qm a{
    font-size: var(--font14);
    padding: clamp(0.4rem, 1vw, 0.6rem) 
             clamp(1rem, 2vw, 1.5rem) 
             clamp(0.4rem, 1vw, 0.6rem) 
             clamp(2.5rem, 3vw, 2rem);
}

	.publicacao-conteudo {
    margin-left: clamp(0rem, 17%, 36rem);
}

.proj p {
    color: var(--preto-color);
    font-size: 16px;
    line-height: 1.2;
    max-width: 100%;
    text-align: center !important;
}

.cien h4 {
    font-size: var(--font14);
    line-height: 1.2;
    color: var(--branco-dif-color);
    background-color: var(--preto-color);
    padding: clamp(0.5rem, 1vw, 0.625rem);
    border-radius: 4px;
    border-width: 1px;
    width: clamp(6rem, 36vw, 11.5rem);
    max-width: 100%;
    margin-left: 40px;
}

}


@media only screen and (max-width: 375px) {
.cien h4 {
    font-size: var(--font14);
    line-height: 1.2;
    color: var(--branco-dif-color);
    background-color: var(--preto-color);
    padding: clamp(0.5rem, 1vw, 0.625rem);
    border-radius: 4px;
    border-width: 1px;
    width: clamp(6rem, 38vw, 11.5rem);
    max-width: 100%;
    margin-left: 40px;
}

.proj h1 {
    color: var(--azul-color);
    font-size: var(--h1-size);
    line-height: 1.2;
    margin-left: clamp(1rem, 54%, 9rem);
    margin-bottom: clamp(0.5rem, 2%, 2rem);
}

.back-verde h1 {
    font-size: 17px;
}

.ino.v3 h2 {
    color: var(--branco-dif-color);
    font-size: 19px;
    line-height: 1.2;
    margin: auto;
}

.mens {
    width: 60%;
    border: none;
    border-bottom: 1px solid #3b3b3b;
    background: transparent;
    padding: 0.8rem 0;
    font-size: 0.95rem;
    outline: none;
    transition: 0.3s;
    overflow: hidden;
    min-height: 59px;
    box-sizing: border-box;
    line-height: 1.4;
    resize: none;
    max-height: 63vh;
    margin-bottom: clamp(4px, 0.56vw, 8px);
}

.contactos h2 {
    font-size: var(--h2-size);
    line-height: 1.2;
    color: var(--preto-color);
    width: 71%;
    max-width: 100%;
    text-align: center;
}
}

@media only screen and (max-width: 320px) {

.cien h4 {
    font-size: var(--font14);
    line-height: 1.2;
    color: var(--branco-dif-color);
    background-color: var(--preto-color);
    padding: clamp(0.5rem, 1vw, 0.625rem);
    border-radius: 4px;
    border-width: 1px;
    width: clamp(6rem, 43vw, 11.5rem);
    max-width: 100%;
    margin-left: 40px;
}

.back-verde h1 {
    font-size: var(--font24);
}

.proj h1 {
    color: var(--azul-color);
    font-size: var(--h1-size);
    line-height: 1.2;
    margin-left: clamp(1rem, 42%, 10rem);
    margin-bottom: clamp(0.5rem, 2%, 2rem);
}

.publicacao-conteudo {
    margin-left: clamp(0rem, 8%, 36rem);
}

.mens {
    width: 60%;
    border: none;
    border-bottom: 1px solid #3b3b3b;
    background: transparent;
    padding: 0.8rem 0;
    font-size: 0.95rem;
    outline: none;
    transition: 0.3s;
    overflow: hidden;
    min-height: 55px;
    box-sizing: border-box;
    line-height: 1.4;
    resize: none;
    max-height: 60vh;
    height: 43px !important;
    margin-bottom: clamp(4px, 0.56vw, 8px);
}

    .objeto {
    width: clamp(50px, 8vw, 70px);
    height: clamp(50px, 8vw, 70px);
    margin: clamp(3px, 1vw, 15px);
}
}