/* Mobile-first: aplica até 767px */
@media (max-width: 767px) {
body{
    background-color: var(--azul-polinesio);
}
#container {
    /* Evita overflow lateral e respeita altura total visível */
    display: grid;
    grid-template-areas: 
      "header"
      "aside"
      "main"
      "footer";
      height: 100vh;
    /* cada área ocupa 1 coluna — mais simples para mobile */
  }
  header {
    grid-area: header;
    height: 3.75rem;
    background-color: var(--objetivo-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1rem; /* simplificação do shorthand */
  }

  aside {
    grid-area: aside;
    /* Evita altura fixa — use proporção ou padding responsivo */
    min-height: 250px;
    background: url("assets/capa01.webp") center/cover no-repeat;
    display: flex;
    justify-content: center;
  }
.banner-content{
  position: relative;
  z-index: 1;                       /* acima do overlay */
  padding: 2rem;
  text-align: center;
}

.textotopo {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  align-items: center;
  justify-content: flex-end; /* usa 'flex-end' em vez de 'end' */
  width: 100%;
  padding-bottom: 1rem;

  background-color: rgba(0, 26, 74, 0.7);

  position: relative;   /* necessário para z-index funcionar */
  z-index: 2;           /* traz o texto para frente */
}

.textotopo h1{
color: yellow;
font-size: 30px;
font-weight: 600;
z-index: 2;
}
.textotopo h2{
color: #ffffff;
font-size: 20px;
font-weight: 500;
z-index: 2;
}
  main {
    width: 100%;
    grid-area:
    "lugar "
    "lugar "
    "lugar "
    "lugar "
    "lugar "
  ;}

    .lugar{
      grid-area: lugar;
      height: 300px;
      width: 100vw;
      background-color: white;
    }
  footer {
    grid-area: footer;
    background-color: var(--objetivo-blue-dark);
    text-align: center;
    color: var(--objetivo-white);
    padding: 1rem 0;
  }

/* Botão hamburguer (apenas linhas CSS) */
.hamburger{
--size:48px; /* tamanho do botão */
width:var(--size);
height:var(--size);
display:flex; /* garante alinhamento central */
align-items:center; /* alinha verticalmente as linhas */
justify-content:center; /* centraliza horizontalmente */
flex-direction:column; /* empilha as linhas verticalmente */
background:transparent;
border:0;
cursor:pointer;
padding:0;
border-radius:8px;
}
.hamburger:focus{outline:3px solid rgba(51,102,255,0.15)}
/* As três linhas */
.hamburger .line{
display:block;
width:28px;
height:3px;
background:#111;
border-radius:2px;
transition:transform 0.32s cubic-bezier(.2,.9,.3,1), opacity 0.18s ease;
position:relative;
}
.hamburger .line + .line{margin-top:6px}
/* Estado 'aberto' transforma as linhas em um X */
.hamburger.open .line:nth-child(1){
transform: translateY(9px) rotate(45deg);
}
.hamburger.open .line:nth-child(2){
opacity:0;
transform: scaleX(0.6);
}
.hamburger.open .line:nth-child(3){
transform: translateY(-9px) rotate(-45deg);
}
/* Painel do menu */
.menu{
position:absolute;
top:calc(2rem + 48px);
right:1rem;
min-width:200px;
background:#ffffff;
border-radius:10px;
box-shadow:0 10px 30px rgba(16,24,40,0.12);
padding:0.5rem 0.5rem;
transform-origin:top right;
transform:scale(0.96);
opacity:0;
pointer-events:none;
transition:opacity 0.18s ease, transform 0.22s cubic-bezier(.2,.9,.3,1);
z-index:100;
}
.menu.open{opacity:1;pointer-events:auto;transform:scale(1)}
.menu a{
display:block;padding:0.65rem 0.9rem;text-decoration:none;color:#111;border-radius:6px;font-weight:600;font-size:0.95rem}
.menu a:hover{background:rgba(6,28,70,0.04)}
.brand img{
width: 220px;
}
/* Container principal do grid */
@font-face {
font-family:'Graviola' ;
src: url('fonts/GraviolaSoft-Medium.otf') format('truetype');
}
.roda01 {
  background-color: var(--azul-azul);
  width: 100%;
  min-height: 30vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem;
}



.btnanimado{
  background-color: var(--azul-bizantino);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
  transform: all 0.3s ease;
}
.btnanimado:hover {
  background-color: var(--azul-polinesio); /* Azul mais escuro */
  transform: scale(1.03); /* Aumenta levemente */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); /* Sombra suave */
}
.whatsapp {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #25D366;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  z-index: 1000;
}
.whatsapp img {
  width: 35px;
}
@media (max-width: 320px) {
  .logo img {
    width: 80px;
  }
  .menu-hamburguer {
    font-size: 1.6rem;
  }

}
.footerst {
  background:var(--azul-polinesio);
  padding: 2rem 1rem;
  color: #001f3f;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.loguint {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}
.loguint img {
  width: 120px;
}

.contato p {
  margin: 4px 0;
  font-size: 0.9rem;
  text-align: center;
  color:aliceblue;
}
main {
  display: flex;
  flex-direction: column; /* empilha os filhos na vertical */
  align-items: stretch; /* cada filho ocupa toda a largura do main */
}

.lugar {
  text-align: center;
  padding: 1rem; /* adiciona respiro interno */
  width: 100%; /* ocupa toda a largura disponível */
  height: auto; /* ajusta de acordo com o conteúdo */
}
  .lugar:nth-child(1) {
    background-color: var(--amarelo-tangerina);
  }
    .lugar:nth-child(2) {
    background-color: var(--azul-pedra-lua);
  }
      .lugar:nth-child(3) {
    background-color:white;
  }
      .lugar:nth-child(4) {
    background-color: var(--azul-polinesio);
  }
.blsEst video {
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.lugar img {
  width: 180px;
  height: auto;
}
.blsEst {
  display: grid;
  grid-template-areas: 
    "imgtbls amontoado";
  grid-template-columns: 1fr 1fr; /* duas colunas iguais */
  gap: 1rem; /* espaço entre os elementos */
}

.imgtbls {
  grid-area: imgtbls;
  border-radius: 1rem;
  box-shadow: 5px 5px 10px rgba(0,0,0,0.5);
  background: url("assets/p_seletivo_p.webp");
  background-size: cover;     /* imagem cobre todo o espaço */
  background-position: center;/* garante centralização */
  background-repeat: no-repeat;
               /* ocupa toda a largura do grid */
}
.amontoado {
  grid-area: amontoado;
}
.amontoado p:nth-child(1){
  font-family: "Graviola", sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
   color: var(--azul-polinesio);
}
.amontoado p:nth-child(2),
.amontoado p:nth-child(6){
font-family: "Montserrat", sans-serif;
font-size: .8rem;
font-weight: 550;
 color: var(--azul-polinesio);
}

.amontoado p:nth-child(3),
.amontoado p:nth-child(4),
.amontoado p:nth-child(5){
  font-family: "Barlow Semi Condensed", sans-serif;
  font-size: .9rem;
  font-weight: 600;
  color: var(--azul-azul);
}

.inscreva {
  margin-top: 1rem;
  display: inline-block;
  background-color: var(--azul-pedra-lua); /* azul turquesa */
  color: #0033cc;            /* azul-azul */
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* animação ao passar o mouse */
.inscreva:hover {
  background-color:var(--azul-bizantino); /* azul turquesa mais escuro */
  color: white;
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* leve efeito ao clicar */
.inscreva:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.blsVideo {
  display: grid;
  grid-template-areas: 
    "vd001 vd002";
  gap: 1rem; /* espaço entre os elementos */
}
video{
  border-radius: 1.5rem;
  box-shadow: -8px 5px 4px  rgba(0, 12, 0, 0.2);/*<offset-x> <offset-y> <blur-radius> <spread-radius> <color>; 
*/
}
.imgVd{
grid-area: vd002;
}
.imgsO{
grid-area: vd001;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.blsVideo1{
grid-area: blsVideo1;
}
.imglogo{
  grid-area: imglogo;
}
.profs{
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.profs p{
  color: white;
  font-size: 1.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}
img.imgprofs{
  width: 460px;
  border-radius: 1.3rem;
  box-shadow: -8px 5px 4px  rgba(0, 0, 0, 0.2);/*<offset-x> <offset-y> <blur-radius> <spread-radius> <color>; */
}

.txtto{
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 1.5rem;
  background-color: var(--azul-bizantino);
  text-align: left;
   line-height: 2rem;
}
 .txtto p{
    color: white;
    text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.8); /* Black shadow, 3px right, 3px down, 5px blur, 50% opacity */
    font-family: "Barlow Semi Condensed",sans-serif;
   

  }
.txtto p:nth-child(1),
.txtto p:nth-child(2),
.txtto p:nth-child(9),
.txtto p:nth-child(10){
  font-family:"Graviola",sans-serif ;
  text-align: center;
  color: var(--amarelo-tangerina);
}
.txtto p:nth-child(10){
 font-size: 1.5rem;
}
footer {
  display: grid;
  grid-template-rows: auto auto; /* duas linhas: uma para cada bloco */
  justify-items: center;         /* centraliza horizontalmente o conteúdo das células */
  align-items: center;           /* centraliza verticalmente cada célula */
  text-align: center;
  background-color: var(--objetivo-blue-dark); /* cor de fundo do rodapé */
  color: #fff;
  width: 100%;
}

/* BLOCO SUPERIOR */
.roda01 {
  background-color: var(--amarelo-tangerina);
  width: 100%;
  padding: 2rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.roda01 h1 {
  color: #001f3f;
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
}

.roda01 h2 {
  color: tomato;
  font-size: 1.2rem;
  font-weight: 500;
  margin: 0 0 0.8rem 0;
}

.roda01 .btnanimado {
  background-color: var(--azul-bizantino);
  color: white;
  text-decoration: none;
  border-radius: 8px;
  padding: 0.8rem 1.5rem;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.roda01 .btnanimado:hover {
  background-color: var(--azul-polinesio);
  transform: scale(1.05);
}

/* BLOCO INFERIOR */
.footerst {
  background-color: var(--objetivo-blue-dark);
  width: 100%;
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.footerst .loguint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.footerst .loguint img {
  max-height: 50px;
  object-fit: contain;
}

.footerst .contato p {
  margin: 0.3rem 0;
  font-size: 0.95rem;
}

/* BOTÃO FLUTUANTE WHATSAPP */
.btn-whatsapp {
  position: fixed;
  bottom: 20px;     /* distância da borda inferior */
  right: 20px;      /* distância da borda direita */
  width: 55px;
  height: 55px;
  background-color: #25D366;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;    /* garante que fique acima de tudo */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-whatsapp img {
  width: 28px;
  height: 28px;
  filter: invert(100%) brightness(200%); /* deixa o ícone branco */
}

.btn-whatsapp:hover {
  transform: scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}




}/*fim da media*/