@media screen and (min-width: 1921px){
	.conteudo-quem {
	max-width: 1440px;
	margin: auto;
}
	.rio-vertical{
	margin: auto 0 !important;
		display: flex;
}
	.rio-vertical:last-child{
		justify-content: flex-end;
	}
	.divisoria-svg{
		display: none
	}
}

.bmais-intro {
	width: 100vw;
	height: calc(100dvh - 60px);
	display: flex;
	
}

.bmais-intro::after {
	content: '';
	background-image: url('/wp-content/uploads/2024/10/Ribeira_Site_V03.svg');
	position: absolute;
	width: 100%;
	background-size: cover;
	height: inherit;
	background-position: center;
	background-attachment: fixed;
	border-bottom: 2px solid var(--black);
	box-shadow: inset 4px -4px 16px rgba(0,0,0,.15);
}

@media screen and (max-width: 500px){
	.bmais-intro::after{
		background-position: 0%;
		animation-name: panover-bg;
		animation-duration: 16s;
		animation-iteration-count: infinite;
		animation-timing-function: ease-in-out;
	}
}

@keyframes panover-bg{
	0%{
		background-position: 0%;
	}
	50%{
		background-position: 100%;
	}
	100%{
		background-position: 0%;
	}
}

.bmais-hero {
	max-width: 700px;
	margin: auto;
	z-index: 1;
	text-align: center;
}

@media screen and (max-width: 740px){
	.bmais-hero{
		margin: auto 1rem;
	}
	#quem-somos, .frentes{
	margin: 60px 0 !important;
}
}

a{
	width: fit-content;
	display: block;
	margin: auto;
}

#quem-somos{
	margin: 100px 0;
}

#quem-somos h1, .missao h1, .frentes h1{
	text-align: center;
}

.colunas-rio{
	display: grid;
}

@media screen and (min-width: 1520px){
	.colunas-rio{
	grid-template-columns: 1fr 4fr 1fr;
}
}

@media screen and (min-width: 1180px) and (max-width: 1520px){
	.colunas-rio{
	grid-template-columns: 1fr 5fr 1fr;
}
}

@media screen and (max-width: 1180px){
	.colunas-rio{
	grid-template-columns: 0fr 1fr 0fr;
}
	.fileira-rio{
		margin: 3rem 1rem !important;
	}
}

.fileira-rio{
	display: grid;
	gap: 3rem;
	margin: 3rem 1rem;
}

.fileira-rio div{
	width: 100%;
}

.fileira-rio img{
	filter: none !important;
}

.fileira-rio img:hover{
	animation-play-state: paused;
}

.fileira-rio div, .fileira-rio img {
    margin: auto;
}
.fileira-rio:nth-child(odd){
	grid-template-columns: 1fr 3fr;
}

.fileira-rio:nth-child(even){
	grid-template-columns: 2fr 1fr;
}

@media screen and (max-width: 740px){
	.fileira-rio{
    grid-template-columns: 1fr !important;
}
	.fileira-rio div,  .txt-missao h5{
		order: 1;
		padding-bottom: 2.8rem;
		border-bottom: 4px dotted var(--black);
		text-align: center !important;
	}
	
	.txt-missao h3{
		padding-top: 2rem;
	}
	
	.txt-missao h5{
		font-weight: 400;
		font-size: 1rem;
		letter-spacing: .5px;
		line-height: 1.4;
	}
		.logo-bmais-rio{
		max-width: 220px !important;
	}
	.fileira-rio img{
	order: 0;
		max-width: 300px;
		margin: auto;
}
	
	.fileira-rio:last-child div {
	padding-bottom: 80px;
}
	
	.conteudo-missao{
		grid-template-columns: 1fr !important;
	}
	
	.txt-missao{
		order: 0;
		text-align: center;
	}
	
	.txt-missao .vert-line{
		display: none;
	}
	
	.txt-missao div:last-child{
		display: none;
		
	}
	
	.puzzle-wrap{
		order: 1;
	}
	
	.puzzle-row{
           --tam-img: (100vw - 2rem) / 3 !important;
		--distancia-top: 5rem;
	}
	
}

.conteudo-missao {
	max-width: 1100px;
	margin: auto;
	padding: 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
	gap: 2rem;
	z-index: 1;
  position: relative;
}

/*.conteudo-missao div{
	border: 1px solid black;
}*/

.vert-line {
	height: 175px;
	background: var(--lima);
	width: fit-content;
	border-radius: 20px;
}

.vert-line::before {
	content: '';
	width: 15px;
	height: 15px;
	background: black;
	display: block;
	position: sticky;
	top: 36vh;
	border-radius: 40px;
}


.txt-missao h3 {
	margin: 1rem 0 !important;
}
.puzzle-row{
           --tam-img: 518px / 3;
	--distancia-top: 4rem;
           position: sticky;
           top: var(--distancia-top);
           display: flex;
}

@media screen and (max-width: 1132px){
	.puzzle-row{
		--tam-img: (50vw - 3rem) / 3;
	}
	
	/*.vert-line{
		height: 100px
	}*/
}
.puzzle-row div{
            width: 33.33%;
            aspect-ratio: 1;  
        }

.puzzle-wrap img{
            width: 100%;
            aspect-ratio: 1;
            object-fit: cover;
	background-color: white;
        }

.puzzle-row:nth-child(3), .puzzle-row:nth-child(4), .puzzle-row:nth-child(5){
            top: calc(var(--tam-img) + var(--distancia-top));
        }

        .puzzle-row:nth-child(6), .puzzle-row:nth-child(7), .puzzle-row:nth-child(8){
            top: calc( 2 * var(--tam-img) + var(--distancia-top));
        }


	.conteudo-missao h4.boxpadrao{
		text-align: center;
		width: 100%;
		margin: auto;
		margin-bottom: 2rem;
	}

.divisoria-svg {
	/*background: blue;*/
	height: 100px;
	position: relative;
	z-index: 0;
}

#divi-roxa-01 div{
	height: 480px;
    background-image: url(/wp-content/uploads/2024/10/divisoria-missao.svg);
   /* background-color: rgba(0, 255, 0, 0.5);*/
    background-position-x: center;
    background-position-y: bottom;
	position: absolute;
  bottom: 0;
  width: 100%;
}


.frentes, .contato{
	max-width: 1440px;
	margin: 100px auto;
	padding: 1rem;
	text-align: center;
}

.frentes h5{
	max-width: 850px;
	margin: auto;
	padding-bottom: 2rem;
}
	.trio-frentes{
	display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 2rem;
	}
@media screen and (min-width: 1081px){
.trio-frentes .card-pop-corpo{
	min-height: 250px;
	display: flex;
	align-items: center;
	}
}
.trio-frentes .card-pop:first-child {
	--bordabotao: var(--laranja-bmais);
}

.trio-frentes .card-pop:nth-child(2){
	--bordabotao: var(--olive);
}

.trio-frentes .card-pop:nth-child(3){
	--bordabotao: var(--royal);
}

@media screen and (max-width: 1080px){
	.trio-frentes, .frente-plataforma{
		grid-template-columns: 1fr !important;
		gap: 0;
	}
	.frente-plataforma .card-pop{
		aspect-ratio: unset !important;
	}
	.frente-plataforma img{
		order:0;
	}
	.frente-plataforma .card-pop{
		order:1
	}
	.trio-frentes .card-pop-header{
		height: unset !important;
	}
}

.trio-frentes .card-pop-header {
	height: 100px;
	align-content: center;
}

.frente-plataforma{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}
.frente-plataforma img, .frente-plataforma .card-pop {
	width: 100%;
  /*aspect-ratio: 5 / 3;*/
  height: 100%;
  object-fit: cover;
  margin: 0;
}

.frente-plataforma .card-pop-corpo {
	height: 100% !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#nf-form-title-3 nf-fields-wrap{
	display: grid;
  grid-template-columns: 2fr 1fr;
}

#nf-form-title-3 nf-fields-wrap nf-field{
	height: fit-content;
}

#nf-form-3-cont .nf-before-form-content, #nf-form-3-cont .nf-after-form-content, #nf-form-3-cont .nf-error-msg{
	display: none;
}

#nf-form-3-cont nf-fields-wrap{
	display: grid;
	grid-template-columns: 4fr 1fr;
	align-items: end;
	gap: 1rem;
}

#nf-form-3-cont nf-field div {
	margin-bottom: 0 !important;
}

@media screen and (max-width: 450px){
	#nf-form-3-cont nf-fields-wrap{grid-template-columns: 1fr !important;
		gap: 0;
	}
}
#nf-form-3-cont .nf-field-element input[type="submit"]{
	width: 100%;
}

#nf-form-3-cont nf-field{
	height: fit-content;
}
#divi-amarela-01{
	height: 234px;
}
#divi-amarela-01 div{
	height:234px;
    background-image: url(/wp-content/uploads/2024/10/divisoria-contato_01.svg);
    background-position-x: center;
    background-position-y: middle;
	position: absolute;
  bottom: 0;
  width: 100%;
}

@media screen and (max-width: 740px){
	#divi-amarela-01, #divi-amarela-01 div{
	height: 150px;
		background-size: cover;
}
}

.contato{
	text-align: left;
	margin: auto;
	margin-bottom: 100px
}

#nf-form-2-cont form:first-child div{
display: flex;
flex-direction: column;
}

#nf-form-2-cont form input[type="submit"]{
	width: fit-content !important;
}
#nf-form-2-cont .nf-before-form-content{
order:10;
}

@media screen and (max-width: 740px){
	#nf-form-2-cont .nf-field-container{
		width: 100%;
		margin: 1rem 0;
	}
}

/* FULL WIDTH em desktops e grandes resoluções */
.conteudo-quem,
.bmais-hero,
.conteudo-missao,
.frentes,
.contato,
.container,
.content-area,
.main-content {
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Especificamente para telas MUITO grandes (ultra-wide) */
@media screen and (min-width: 1921px) {
    .conteudo-quem {
        max-width: 100vw !important;
        margin: 0 !important;
    }
}

/* Mantém margens/paddings suaves em MOBILE para melhor leitura */
@media screen and (max-width: 900px) {
    .conteudo-quem,
    .bmais-hero,
    .conteudo-missao,
    .frentes,
    .contato,
    .container,
    .content-area,
    .main-content {
        max-width: 100vw !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
