@media (max-width: 576px){
  .hero{
    flex-direction: column;
  }
  .hero .data{
    align-items: center;
  }
  .timer_side{
    padding: 20px;
}
}

/* >= 768px (tablet) */
@media (min-width: 768px){

  /* HERO */
  .hero{
    height: 680px;
    gap: 14px;
  }
  .hero img{
    width: 60%;
  }
  .hero p{
    font-size: 1.7em;
  }
  .hero .date{
    display: flex;
    gap: 18px;
    align-items: center;
  }

  /* SEÇÕES */
  .side{
    padding: 28px 18px;
  }

  /* TIMER: começa a ficar mais “largo” */
  
  .timer_side h2{
    font-size: 2.2em;
  }
  .timer_side #timer{
    font-size: 3.2em;
  }

  /* SOBRE */
  .main_content_side .about{
    margin-bottom: 26px;
  }

  .main_content_side .cards_about{
    gap: 16px;
    justify-content: center;
  }

  /* faz cada card ocupar pelo menos metade da linha no tablet */
  .main_content_side .card{
    flex: 1 1 calc(50% - 16px);
    max-width: 520px;
    padding: 18px;
    border-radius: 16px;
  }

  /* PROGRAMAÇÃO: evita esticar demais */
  .schedule_side .list-group{
    max-width: 860px;
    margin: 0 auto;
  }

  /* PALESTRANTES */
  .speakers_side{
    padding: 3rem 2rem;
  }

  .speakers_side .speaker{
    width: 320px;
  }
  .speakers_side .speaker_img{
    height: 200px;
  }

  /* PATROCINADORES */
  .sponsors_side{
    padding: 3rem 2rem;
  }
  .sponsor img{
    height: 64px;
  }
}


/* >= 992px (desktop) */
@media (min-width: 992px){

  /* HERO */
  .hero{
    height: 760px;
  }
  .hero h1{
    font-size: 4.2em;
  }
  .hero p{
    font-size: 1.8em;
  }
  .hero a{
    padding: 12px 18px;
    border-radius: 999px;
  }

  /* SOBRE: 3 colunas */
  .main_content_side .cards_about{
    gap: 18px;
  }
  .main_content_side .card{
    flex: 1 1 calc(33.333% - 18px);
    max-width: none;
    min-height: 180px;
  }
  .main_content_side .card:nth-child(2){
    border-left: 1px solid #e1e7e7; 
    border-right: 1px solid #e1e7e7; 
    border-radius: 0;
  }

  /* PROGRAMAÇÃO */
  .schedule_side{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .schedule_side p{
    font-size: 1.1rem;
  }

  /* PALESTRANTES: mais confortável em desktop */
  .speakers_side .speaker{
    width: 300px; /* 3-4 por linha dependendo do container */
  }

  /* PATROCINADORES: mais “cara de esteira” */
  .sponsors_track{
    gap: 72px;
    animation-duration: 22s;
  }
  .sponsor img{
    height: 72px;
  }
}


/* >= 1200px (telas grandes) */
@media (min-width: 1200px){

  .side{
    padding: 3.5rem 0; /* container já controla largura */
  }

  .hero{
    height: 820px;
  }
  .hero h1{
    font-size: 4.6em;
  }

  /* Programação mais contida */
  .schedule_side .list-group{
    max-width: 980px;
  }

  /* Palestrantes: foto maior */
  .speakers_side .speaker_img{
    height: 220px;
  }
}
