/*Pagina de Cursos*/

.curso{
	font-family: var(--font); 
	.topo{
		width: 100%; 
		height: 500px; 
		background-color: var(--azul1);
		position: relative;
		.thumb{
			img{
				width: 100%; 
				height: 500px; 
				object-fit: cover; 
				object-position: top; 
				opacity: .9; 
				filter: grayscale(30%) brightness(50%);
			}
		}
		.informacoes{
			display: flex;
			align-items: flex-start;
			flex-direction: column;
			justify-content: center;
			height: 500px;
			position: absolute;
			top: 0;
			right: 0;
			padding: 60px 10%;
			width: 100%;
			.titulo {
				font-weight: 700; 
				font-size: 3rem; 
				color: #fff; 
				width: 60%; 
				margin: 0 0 10px;
				line-height: 100%;
			}
			.grau{
				color: #fff; 
				font-weight: 300; 
				font-size: 1rem;
				display: block;
			}
		}
	}
	.inscrevase-btn{
		background: #011e3b; 
		transition: .3s; 
		padding: 20px; 
		text-align: center; 
		font-size: 1rem; 
		color: #fff; 
		position: sticky; 
		top: 100px; 
		z-index: 1029;
		width: 100%;
		display: block;        
		i{
			color: #78d4fe;
		}
		&:hover{
			background: #0057a3;
		}
	}
	.sobre{
		padding: 70px 10%;
		.formulario { 
			position: sticky; 
			top: 130px; 
			width: 95%; 
			margin: -400px 0px 0px 5%; 
			background: var(--azul1); 
			padding: 40px 10px 20px; 
			border-radius: 10px; 
			z-index: 1030; 
			text-align: left!important;
			h2{
				text-align: left!important; 
				line-height: 1.5!important; 
				font-family: 'Montserrat', sans-serif!important; 
				padding: 0px!important; 
				margin-bottom: -30px!important;
				span{
					font-family: 'Montserrat', sans-serif!important; 
					font-size: 1.2rem!important; 
					font-weight: 600!important;
				}
			}
			label{
				font-family: 'Montserrat', sans-serif!important; 
				font-size: .9rem!important;
			}  
			.bricks-form__submit{
				font-family: 'Montserrat', sans-serif!important;
				font-size: 1rem!important; 
				font-weight: 600!important;
			}    
			button{
				margin-top: -5px!important;
			}                  
		}
		p{
			font-size: 1rem;
			line-height: 1.5;
		}
		strong, a{
			color: var(--azul2);
		}
		ul{
			list-style-position: inside; 
			list-style-image: url(../images/list.png);
		}
		li::marker{
			color: var(--azul2);
		}        
		h2, h3, h4, h5{
			color: var(--azul2);
			line-height: 1.2;
			margin: 0 0 10px; 
			font-weight: 700; 
		}
		h2{
			font-size: 1.5rem;
		}
		h3{
			font-size: 1.4rem;
		} 
		h4{
			font-size: 1.3rem;
		}   
		h5{
			font-size: 1.2rem;
		}  
		#accordionAvaliacoes{
			margin: 50px 0 30px;
		}
		.avaliacoes{
			ul.selos-avaliacacoes{
				list-style: none; 
				display: flex; 
				flex-direction: row; 
				align-items: center; 
				flex-wrap: wrap; 
				gap: 40px; 
				margin: 0;
				padding: 0;
				li{
					img{
						max-width: 380px;
						height: auto;
						display: block;
					}
				}

			}            
		}
		.informacoes{  
			padding: 30px 0 60px;
			ul{
				border-radius: 20px; 
				border: solid 1px #cbcbcb; 
				padding: 30px 20px; 
				display: flex; 
				list-style: none;
				margin: 0;
				gap: 15px;
				justify-content: center; 
				align-items: center;
				li.informacao{
					display: flex; 
					color: #676767; 
					line-height: 1.1; 
					font-size: 1rem;
					border-right: solid 1px var(--cinza2);
					padding-right: 15px;
					i{
						color: var(--azul2);
						margin-right: 5px;
					}
					.titulo{
						color: var(--cinza1); 
						font-size: .8rem;
						strong{
							font-weight: 700; 
							font-size: 1rem;
							display: block;
						}
					}
					&:last-child{
						border-right: 0;
					}
				}
			}    
		}       
		.card{
			border: 0px; 
			margin-bottom: 0px;
			.card-body{
				p{
					margin-bottom: 0px;
				}
				ul{
					list-style-position: inside; 
					list-style-image: url(../images/list.png);
				}
				strong{
					color: var(--azul2);
				}                
			}
			.card-header, .card-header .btn-link {
				cursor: pointer !important; 
				background-color: transparent; 
				color: var(--azul2);
				text-decoration: none;
				padding: 30px;
				border-radius: 20px !important;
				margin: 10px 0!Important;
				border: solid 1px var(--azul1);
				transition: .3s;
				text-align: left;
				width: 100%;
				i{
					color: #00d9ff; 
					margin-right: 10px;
				}
			} 
			.card-header:focus, .card:hover .card-header {
				background-color: var(--azul1); 
				color: #00d9ff;
			}           
			.card-header:focus[aria-expanded="false"] {
				background-color: transparent; 
				color: var(--azul2);
			}
			.card button:focus {
				outline: 0px auto -webkit-focus-ring-color;
			}
		}   

	}
	.conheca{
		background: #011e3b;
		padding: 80px 10%;
		color: #fff;
		p{
			font-size: 1rem;
			line-height: 1.5;
		}
		strong, a{
			color: #00d9ff;
		}
		ul{
			list-style-position: inside; 
			list-style-image: url(../images/list.png);
		}
		li::marker{
			color: var(--azul3);
		}        
		h2, h3, h4, h5{
			color: #fff;
			line-height: 1.2;
			margin: 0 0 10px; 
			font-weight: 700; 
		}
		.contato{
			display: block;
			margin: 5px 0;
			i{
				color: #00d9ff;
			}
		}
		h2{
			font-size: 2rem;
		}
		h3{
			font-size: 1.4rem;
		} 
		h4{
			font-size: 1.3rem;
		}   
		h5{
			font-size: 1.2rem;
		}  
		.botoes{
			margin-top: 40px;
			display: flex;
			gap: 20px;
			align-items: center;
			justify-content: flex-start;
			width: 100%;
			.botao{
				width: max-content;
				max-width: 100%;
				padding: 15px 30px;
				border-radius: 10px;
				background: #fff;
				color: var(--azul2);
				font-weight: 600;
				transition: .3s;
				&:hover{
					background: #00d9ff;
					color: #fff;
				}
			}
		}
		.modal{
			background: #00326491; 
			padding-right: 0!important; 
			z-index: 999999;
			.modal-header{padding: 1rem 1rem 0; border: 0px;} 
			.close{display: none}     
			.btn-secondary {color: #fff; background-color: var(--azul2); transition: .3s; padding: 5px 10px} 
			.btn-secondary:hover {color: #fff; background-color: var(--azul1); transition: .3s;}    
			.modal-title{color: var(--azul2); font-weight: 700; margin-left: 17px; font-size: 150%;}
			.modal-dialog-aside{width: 40%; max-width:80%; height: 100%; margin:0 0 0 auto;transform: translate(0); transition: transform .2s; }
			.modal-dialog-aside .modal-content{  height: inherit; border:0; border-radius: 0;}
			.modal-dialog-aside .modal-content .modal-body{ overflow-y: auto }
			.modal.fixed-left .modal-dialog-aside{ margin-left:auto;  transform: translateX(100%); }
			.modal.fixed-right .modal-dialog-aside{ margin-right:auto; transform: translateX(-100%); }
			.modal.show .modal-dialog-aside{ transform: translateX(0);}
			.table th, .table td {padding: 7px 10px; text-align: left; transition: .01s; font-size: 90%; border-top: 1px solid #ecf6ff; }
			.table-striped tbody tr:nth-of-type(odd) {background-color: rgb(236 246 255);}
			thead{background: var(--azul3);}
			thead tr{color: #fff; font-size: 125%;}
			.modulos{color: var(--azul2); font-weight: 800; margin-left: 20px; font-size: 120%; text-transform: uppercase;}              
		}  
		.galerias{
			padding-left: 60px;
		}
		.galerias-carousel .card-galeria{
			position: relative;
			display: block;
			height: 650px;         
			border-radius: 18px;
			overflow: hidden;
			background-size: cover;
			background-position: center;
			cursor: pointer;
		}
		.galerias-carousel .card-galeria::after{
			content:'';
			position:absolute; inset:0;
			background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 56%);
		}
		.galerias-carousel .titulo-galeria{
			position:absolute;
			bottom: 40px; left: 0px; right: 0px;
			z-index: 2;
			color:#fff;
			text-align: center;
			font-size: 1.2rem;
			line-height: 1.2;
		}
		.galerias-carousel .owl-nav{
			text-align: center;
			margin-top: 20px;
			display: flex;
			justify-content: center;
			gap: 15px;
		}
		.galerias-carousel .owl-nav button.owl-prev,
		.galerias-carousel .owl-nav button.owl-next{width:42px; height:42px; border-radius:50%;background:#fff; color:#0a3a7a; margin-left:8px;}
		.galeria-modal-carousel .item img{ width:100%; height:auto; display:block; border-radius:8px; }
		.galeria-modal-carousel .owl-nav{ margin:0; }
		.galeria-modal-carousel .owl-nav button.owl-prev,
		.galeria-modal-carousel .owl-nav button.owl-next{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(0,0,0,.5); color:#fff; font-size:1.1rem;}
		.galeria-modal-carousel .owl-nav button.owl-prev{ left:10px; }
		.galeria-modal-carousel .owl-nav button.owl-next{ right:10px; }
		.galeria-modal-carousel .owl-nav button.owl-prev:hover,
		.galeria-modal-carousel .owl-nav button.owl-next:hover{ background:rgba(0,0,0,.8); }		
		/* Modal sem fundo branco — só o preto do .modal */
		.modal-galeria{ background: rgb(0 0 0 / 62%); }
		.modal-galeria .modal-dialog{ max-width: 100vw; }
		.modal-galeria .modal-content{
			background: transparent;
			border: 0;
			box-shadow: none;
		}
		.modal-galeria .modal-body{
			background: transparent;
			padding: 0;
		}
		.modal-galeria .close{display: initial;}     


		/* Botão fechar no canto da tela */
		.modal-galeria .close-galeria{
			position: fixed;
			top: 20px; right: 28px;
			z-index: 1060;
			color: #fff;
			opacity: .85;
			font-size: 2.4rem;
			text-shadow: none;
		}
		.modal-galeria .close-galeria:hover{ color:#fff; opacity: 1; }

		/* Imagem: máx 80vh e centralizada, reservando espaço lateral p/ as setas */
		.galeria-modal-carousel .item{
			display: flex;
			justify-content: center;
			align-items: center;
		}
		.galeria-modal-carousel .item img{
			max-height: 80vh;
			max-width: calc(100% - 140px); /* garante folga lateral p/ as navs */
			width: auto;
			border-radius: 6px;
		}
		.galeria-modal-carousel .owl-stage {display: flex; justify-content: center; align-items: center;}
		
		.galeria-modal-carousel	.owl-nav {
			position: absolute;
			display: flex;
			justify-content: space-between;
			align-items: center;
			top: 50%;
			width: 100%;
			.owl-next,.owl-prev{
				width: auto;
				height: auto;
				font-size: 1.5rem;
				line-height: 1;
				color: #fff;
				transition: .3s;
				&:hover{
					color: #0057a3;
				}
			}
			.owl-next{
				margin-right: 5%;
			}
			.owl-prev{
				margin-left: 5%;
			}                
		}
		/* Navs centralizadas na altura e fora da imagem */
		.galeria-modal-carousel .owl-nav{ margin: 0; }
		.galeria-modal-carousel .owl-nav button.owl-prev,
		.galeria-modal-carousel .owl-nav button.owl-next{
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			width: 54px; height: 54px;
			background: transparent;
			color: #fff;
			font-size: 2rem;
			opacity: .8;
		}
		.galeria-modal-carousel .owl-nav button.owl-prev{ left: 10px; }
		.galeria-modal-carousel .owl-nav button.owl-next{ right: 10px; }
		.galeria-modal-carousel .owl-nav button.owl-prev:hover,
		.galeria-modal-carousel .owl-nav button.owl-next:hover{ opacity: 1; }		
	}    
	.galeria{
		background: var(--azul2); 
		border-radius: 0;
		padding: 60px 0px; 
		h2{
			color: #fff; 
			font-weight: 700; 
			font-size: 2rem; 
			margin: 0 0 30px 10%;
		}
		img{
			width: 100%;
			height: 100%; 
			aspect-ratio: 16/9; 
			padding: 0px; 
			object-fit: cover; 
			border-radius: 10px; 
		}
		.owl-item.active.center{
			opacity: 1;
		}
		.owl-item.active, .owl-item.cloned, .owl-item{
			opacity: .3;
		}  
		.owl-carousel{
			position: relative;
			.owl-nav {
				position: absolute;
				display: flex;
				justify-content: space-between;
				align-items: center;
				top: 50%;
				width: 100%;
				.owl-next,.owl-prev{
					width: auto;
					height: auto;
					font-size: 1.5rem;
					line-height: 1;
					color: #fff;
					transition: .3s;
					&:hover{
						color: #0057a3;
					}
				}
				.owl-next{
					margin-right: 5%;
				}
				.owl-prev{
					margin-left: 5%;
				}                
			}
			button{
				outline: 0;
				&:focus{
					outline: 0;
				}
			}
		}               
	}
	.cta-vestibular{
		width: 60%;
		padding: 60px 0 0 10%;
		.vestibular{
			background: transparent; 
			border: solid 1px var(--azul3); 
			color: var(--azul2); 
			text-align: center; 
			padding: 20px 30px; 
			font-size: 1.2rem; 
			border-radius: 20px; 
			width: 100%; 
			font-weight: 600; 
			transition: .3s;
			display: block;
			i{
				color: var(--azul3);
			}
			&:hover{
				background: var(--azul3); 
				border: solid 1px var(--azul3); 
				color: #fff;
				i{
					color: var(--azul1);
				}  
			}
		}      
	}
	.selos{
		background: #f4f6fa; 
		border-radius: 0px 20px 20px 0px; 
		padding: 70px 60px 70px 10%; 
		margin: 50px 0; 
		width: 60%;
		ul{
			list-style: none; 
			display: flex; 
			flex-direction: row; 
			align-items: center; 
			flex-wrap: wrap; 
			gap: 30px; 
			margin: 0;
			padding: 0;
			li{
				img{
					max-width: 160px;
					max-height: 120px;
					display: block;
				}
			}

		}
	}
	.novidades-curso{
		padding: 80px 10%; 
		background: var(--azul2); 
		h2{ 
			font-size: 2rem; 
			line-height: 1.2;
			color: #fff; 
			font-weight: 300; 
			text-align: center; 
			width: 100%; 
			margin: 0px 0px 40px;
			span.high{
				font-weight: 700;
			}
		}
		.postblog{
			width: 100%; 
			min-height: 300px; 
			padding: 0px; 
			background: #fff; 
			border-radius: 15px;
			.imgd img{
				display: block; 
				margin: 0 auto; 
				object-fit: cover; 
				width: 100%; 
				height: 200px; 
				border-radius: 10px 10px 0px 0px;
			}
			.titulo{
				padding: 25px 20px;
				min-height: 140px; 
				display: flex;
				align-items: center;
				justify-content: center;
				h5 {
					font-family: var(--font);
					text-align: center;
					font-weight: 400;
					font-size: 1rem; 
					line-height: 1.3; 
					margin: 0; 
					display: -webkit-box; 
					-webkit-line-clamp: 4; 
					-webkit-box-orient: vertical; 
					overflow: hidden;
				}
			}
			a{
				text-decoration: none;
				color: var(--cinza1);
				&:hover{
					color: var(--azul2);
				}
			}
		}  
		.owl-carousel{
			position: relative;
			.owl-nav {
				position: absolute;
				display: flex;
				justify-content: space-between;
				align-items: center;
				top: 50%;
				width: 100%;
				.owl-next,.owl-prev{
					width: auto;
					height: auto;
					font-size: 1.5rem;
					line-height: 1;
					color: #fff;
					transition: .3s;
					&:hover{
						color: #fff;
					}
				}
				.owl-next{
					margin-right: -3rem;
				}
				.owl-prev{
					margin-left: -3rem;
				}                
			}
			button{
				outline: 0;
				&:focus{
					outline: 0;
				}
			}
		}              
	}
	.depoimentos{
		background: var(--cinza3); 
		padding: 80px 10%;
		h2{ 
			font-size: 2rem; 
			line-height: 1.2;
			color: var(--azul1); 
			font-weight: 300; 
			text-align: center; 
			width: 100%; 
			margin: 0px 0px 40px;
			span.high{
				font-weight: 700;
			}
		}
		.depoimento{
			display: flex;
			width: 80%;
			align-items: center;
			justify-content: space-between;
			gap: 30px;
			flex-direction: row;
			flex-wrap: wrap;
			margin: 0 auto;
			img{
				width: 300px!important; 
				height: 300px; 
				aspect-ratio: 1 / 1;  
				object-fit: cover; 
				display: block; 
				margin: 10px 0px; 
				border-radius: 50%;
			}
			.textos{
				width: calc(100% - 330px);
				p{
					font-weight: 400; 
					font-size: 1rem; 
					line-height: 1.5;
					margin: .5rem 0;
				}
				h5{
					color: var(--azul1); 
					font-weight: 600; 
					font-size: 1rem; 
					line-height:1.3;
					margin: 0;
				}
			}
		}
		.owl-carousel{
			position: relative;
			.owl-nav {
				position: absolute;
				display: flex;
				justify-content: space-between;
				align-items: center;
				top: 50%;
				width: 100%;
				.owl-next,.owl-prev{
					width: auto;
					height: auto;
					font-size: 1.5rem;
					line-height: 1;
					color: var(--azul1);
					transition: .3s;
					&:hover{
						color: var(--azul2);
					}
				}
				.owl-next{
					margin-right: 0;
				}
				.owl-prev{
					margin-left: 0;
				}                
			}
			button{
				outline: 0;
				&:focus{
					outline: 0;
				}
			}
		}
	}

	@media (max-width: 1600px){
		.topo {
			.informacoes {
				padding: 60px;
			}
		}
		.inscrevase-btn{
			top: 75px;
		}
		.sobre {
			padding: 60px;
		}  
		.conheca{
			padding: 60px; 
		}      
		.galeria {
			h2 {
				margin: 0 0 30px 60px;
			}
		}  
		.cta-vestibular {
			padding: 60px 0 0 60px;
		} 
		.selos {
			padding: 70px 60px;
			ul {
				li {
					img {
						max-width: 130px;
						max-height: 100px;
						display: block;
					}
				}
			}            
		}   
		.novidades-curso {
			padding: 60px;
			.owl-carousel {
				.owl-nav {
					.owl-prev {
						margin-left: -2.5rem;
					}
					.owl-next {
						margin-right: -2.5rem;
					}                    
				}
			}            
		}   
		.depoimentos {
			padding: 60px;
		}                               
	}  

	@media (max-width: 1024px){

		.conheca {
			.galerias {
				padding-left: 0;
				margin-top: 40px;
			}
		}

	}

	@media (max-width: 480px){
		.topo {
			height: 300px;
			.thumb {
				img {
					height: 300px;
				}
			}
			.informacoes{
				height: 300px;
				padding: 30px;
				.titulo {
                	font-size: 2.5rem;
				}
			}
		}
		.inscrevase-btn {
			top: 70px;
		}    
		.sobre {
			padding: 25px;
			.formulario {
				width: 100%;
				position: unset;
				margin: 0 0 25px;
			}
			.informacoes {
				padding: 10px 0 40px;
				ul {
					flex-direction: column;
					li.informacao {
						display: flex;
						color: #676767;
						line-height: 1.1;
						font-size: 1rem;
						border-bottom: solid 1px var(--cinza2);
						padding-bottom: 15px;
						padding-right: 0;
						border-radius: 0;
						width: 100%;
						&:last-child{
							border-bottom: 0;
						}
					}        
				}
			} 
			.card{
				.card-body {
					padding: .5rem 0;
				}
			} 
			#accordionAvaliacoes {
				margin: 30px 0 0px;
			}  
		}
		.conheca {
			padding: 40px 30px;
			.galeria-modal-carousel .item img {
				max-height: 100vh;
				max-width: calc(100% - 60px);
			}   
			.botoes {
				.botao {
					padding: 15px 20px;
				}
			}
			.galeria {
				padding: 40px 30px;
				h2 {
					margin: 0 0 20px;
					font-size: 1.6rem;
				}        
			}
			.cta-vestibular {
				padding: 30px;
				width: 100%;
			}   
			.selos {
				padding: 30px;
				width: calc(100% - 30px);
				margin: 0px 0 30px;
			}   
			.novidades-curso {
				padding: 40px 30px;
				h2 {
					font-size: 1.6rem;
					margin: 0px 0px 30px;
				}   
				& .owl-carousel {
					& .owl-nav {
						.owl-next, .owl-prev {
							font-size: 1rem;
						}
						.owl-prev {
							margin-left: -1.3rem;
						}
						.owl-next {
							margin-right: -1.3rem;
						}                
					}
				}             
			}
			.depoimentos {
				padding: 40px 30px;
				h2 {
					font-size: 1.6rem;
					margin: 0px 0px 20px;
				}       
				.depoimento {
					width: 90%;
					gap: 5px; 
					flex-direction: column; 
					text-align: center;  
					.textos {
						width: 100%;
					}
				}  
				.owl-carousel {
					.owl-nav {
						top: 130px;
					}
				}           
			}
		}      
	}
