


/* No topo do style.css */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Quicksand', sans-serif; /* Substituindo o Arial */
}




body {
  background: #fafafa;
  color: #333;
}

/* Cabeçalho */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 50px;
  background: linear-gradient(90deg, #37A6F8, #1B5191, #37A6F8, #1B5191);
}


header .logo {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
}

header nav a {
  margin: 0 15px;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
}

header .btn {
  background: #fff;
  color: #ff69b4;
  padding: 10px 20px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
  font-weight: bold;
}





/* Estado inicial: evita branco */
.hero {
  background:
    linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)),
    url('../img/banner-principal-cantinho-do-saber-5.jpg') center/cover no-repeat;
}

/* Slides escondidos por padrão */
.slide {
  opacity: 0;
}

/* Quando o site carrega de verdade */
body.loaded .slide.active {
  opacity: 1;
}



/* BOTÃO DO BANNER */
.btn-cta {
  background: linear-gradient(135deg, #ff69b4, #ff1493);
  color: #fff;
  padding: 14px 34px;
  border-radius: 30px;
  font-size: 1.1rem;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  margin-top: 15px;
  box-shadow: 0 8px 20px rgba(255,105,180,0.4);
  transition: all 0.3s ease;
}

.btn-cta:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 12px 25px rgba(255,105,180,0.55);
}







/* Hero */
.hero {
  position: relative;
  min-height: 80vh;
  background: 
    linear-gradient(rgba(0,0,0,0.45), rgba(0,0,0,0.45)),
    url('../img/banner-principal-cantinho-do-saber-5.jpg') center/cover no-repeat;
}

.hero h1 {
  font-size: 3rem;
  margin-bottom: 20px;
}

.hero p {
  font-size: 1.2rem;
  margin-bottom: 30px;
}

.hero-buttons .btn {
  margin: 0 10px;
}
.hero-buttons .btn-outline {
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
}




.hero-content {
  animation: fadeUp 0.8s ease-out;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}





/* BANNER PRINCIPAL Slider */
.slider {
  position: relative;
  width: 100%;
  height: 80vh;
  overflow: hidden;
}





.slide {
  position: absolute;
  width: 100%;
  min-height: 80vh;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 20px;
}

.slide.active {
  opacity: 1;
  position: relative;
}

.hero-content {
  background: linear-gradient(
    rgba(0,0,0,0.55),
    rgba(0,0,0,0.35)
  );
  padding: 30px 40px;
  border-radius: 14px;
  max-width: 900px;
  margin: auto;
}

/* Controles */
.slider-controls {
  position: absolute;
  width: 100%;
  top: 50%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 20px;
}

.slider-controls span {
  cursor: pointer;
  font-size: 2rem;
  color: #fff;
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  padding: 10px;
}

/* Indicadores */
.slider-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
}

.slider-dots span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  opacity: 0.6;
  cursor: pointer;
}

.slider-dots .active {
  opacity: 1;
  background: #ff69b4;
}

/* Responsividade */
@media (max-width: 768px) {
  .slider {
  min-height: 80vh;
}
  .hero-content h1 {
    font-size: 1.8rem;
  }
  .hero-content p {
    font-size: 1rem;
  }
}



/* __________ MISSAO VISAO Section */
.missao {
  padding: 80px 20px;
  text-align: center;
  background: #C2E5FC;
}

.missao h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #444;
}

.missao p {
  max-width: 700px;
  margin: 0 auto 50px;
  font-size: 1.1rem;
  color: #666;
}

/* Cards */
.cards-m {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

.cards-m {
  flex: 1 1 250px;
  padding: 30px;
  border-radius: 15px;
  color: #fff;
  text-align: center;
  min-height: 200px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.cards-m h3 {
  margin-bottom: 15px;
  font-size: 1.3rem;
}

/* Cores dos cards */
.cards-m.laranja { background: #FFA74E; }
.cards-m.green { background: #61C8B3; }
.cards-m.blue { background: #87cefa; }








/* ---------------------- FIM MISSAO VISAO */



/* Intro Section */
.intro {
  padding: 80px 20px;
  text-align: center;
  background: #fff;
}

.intro h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #444;
}

.intro p {
  max-width: 700px;
  margin: 0 auto 50px;
  font-size: 1.1rem;
  color: #666;
}

/* Cards */
.cards {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

.card {
  flex: 1 1 250px;
  padding: 30px;
  border-radius: 15px;
  color: #fff;
  text-align: center;
  min-height: 200px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.card h3 {
  margin-bottom: 15px;
  font-size: 1.3rem;
}

/* Cores dos cards */
.card.pink { background: #ffb6c1; }
.card.green { background: #61C8B3; }
.card.blue { background: #87cefa; }




/* CONTRATURNO Section */
.contraturno {
  background: #F9CEE0;
  text-align: center;
  padding: 80px 20px;
}

.contraturno h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #444;
}

.contraturno p {
  max-width: 700px;
  margin: 0 auto 40px;
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
}

/* Tags coloridas */
.tags {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}

.tag {
  padding: 12px 25px;
  border-radius: 25px;
  font-weight: bold;
  font-size: 1rem;
  color: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.tag.pink { background: #ff69b4; }
.tag.green { background: #32cd32; }
.tag.blue { background: #1e90ff; }



/* Oficinas Section */
.oficinas {
  padding: 80px 20px;
  text-align: center;
  background: #fff;
}

.oficinas h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #444;
}

.oficinas p {
  max-width: 700px;
  margin: 0 auto 50px;
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
}

.oficinas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}

.oficina-card {
  padding: 25px;
  border-radius: 15px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.oficina-card h3 {
  margin: 10px 0;
  font-size: 1.3rem;
}

/* Cores dos cards */
.oficina-card.pink { background: #ff69b4; }
.oficina-card.yellow { background: #ffd700; color: #333; }
.oficina-card.green { background: #32cd32; }
.oficina-card.blue { background: #1e90ff; }
.oficina-card.purple { background: #9370db; }




/* Pacotes Section */
.pacotes {
  background: #EBC4F6;
  text-align: center;
  padding: 80px 20px;
}

.pacotes h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #444;
}

.pacotes p {
  max-width: 700px;
  margin: 0 auto 50px;
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
}

/* Grid de pacotes */
.pacotes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
}

.pacote-card {
  background: #fff;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  text-align: center;
  transition: transform 0.2s;
}

.pacote-card:hover {
  transform: translateY(-5px);
}

.pacote-card h3 {
  font-size: 1.4rem;
  margin-bottom: 10px;
  color: #444;
}

.pacote-card .price {
  font-size: 1.5rem;
  font-weight: bold;
  color: #ff69b4;
  margin-bottom: 15px;
}

.pacote-card ul {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.pacote-card ul li {
  margin: 10px 0;
  color: #666;
}

/* Botão */
.pacote-card .btn {
  background: #ff69b4;
  color: #fff;
  border: none;
  padding: 12px 25px;
  border-radius: 25px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s;
}

.pacote-card .btn:hover {
  background: #ff1493;
}

/* Destaque */
.pacote-card.destaque {
  border: 2px solid #ff69b4;
  transform: scale(1.05);
}





/* Festas Section */
.festas {
  padding: 80px 20px;
  background: #F6F0C1;
  text-align: center;
}

.festas h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #444;
}

.festas p {
  max-width: 700px;
  margin: 0 auto 50px;
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
}

.festas-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-top: 30px;
}

.festa-texto {
  flex: 1 1 300px;
  text-align: left;
}

.festa-texto h3 {
  font-size: 1.5rem;
  margin-bottom: 20px;
  color: #ff69b4;
}

.festa-texto ul {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.festa-texto ul li {
  margin: 10px 0;
  color: #555;
  position: relative;
  padding-left: 20px;
}

.festa-texto ul li::before {
  content: "🎈";
  position: absolute;
  left: 0;
}

.festa-imagem img {
  max-width: 400px;
  border-radius: 15px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* Botão */
.festa-texto .btn {
  background: #ff69b4;
  color: #fff;
  border: none;
  padding: 12px 25px;
  border-radius: 25px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s;
}

.festa-texto .btn:hover {
  background: #ff1493;
}




/* Diferenciais Section */
.diferenciais {
  padding: 80px 20px;
  background: #fdf6f9;
  text-align: center;
}

.diferenciais h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #444;
}

.diferenciais p {
  max-width: 700px;
  margin: 0 auto 50px;
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
}

.diferenciais-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}

.dif-card {
  background: #fff;
  padding: 25px;
  border-radius: 15px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  text-align: center;
  transition: transform 0.2s;
}

.dif-card:hover {
  transform: translateY(-5px);
}

.dif-card h3 {
  margin: 10px 0;
  font-size: 1.2rem;
  color: #ff69b4;
}

.dif-card p {
  font-size: 1rem;
  color: #555;
}



/* Galeria Varal */
.galeria {
  padding: 80px 20px;
  text-align: center;
  background: #D1ECFB;
  position: relative;
}

.galeria h2 {
  font-size: 2rem;
  margin-bottom: 15px;
  color: #444;
}

.galeria p {
  max-width: 600px;
  margin: 0 auto 40px;
  font-size: 1.1rem;
  color: #555;
}

/* Fio do varal */
.varal {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  position: relative;
}

.varal::before {
  content: "";
  position: absolute;
  top: 40px;
  left: 10%;
  right: 10%;
  height: 3px;
  background: #aaa;
  border-radius: 2px;
}

/* Foto estilo varal */
.foto {
  position: relative;
  background: #fff;
  padding: 10px;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transform: rotate(-2deg);
  transition: transform 0.3s;
}

.foto:nth-child(even) {
  transform: rotate(2deg);
}

.foto img {
  width: 180px;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
}

/* Pregadorzinho */
.foto::before {
  content: "📎";
  font-size: 1.5rem;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
}

/* Efeito ao passar o mouse */
.foto:hover {
  transform: scale(1.1) rotate(0);
  z-index: 2;
}





/* Contato Section */
.contato {
  padding: 80px 20px;
  text-align: center;
  background: #49363D;
}

.contato h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #fff;
}

.contato p {
  max-width: 700px;
  margin: 0 auto 30px;
  font-size: 1.1rem;
  color: #fff;
  line-height: 1.6;
}

.contato-info {
  margin-bottom: 30px;
  color: #555;
  font-size: 1rem;
  line-height: 1.8;
}

.btn-whats {
  background: #25d366;
  color: #fff;
  padding: 15px 30px;
  border-radius: 30px;
  font-size: 1.1rem;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s;
}

.btn-whats:hover {
  background: #1ebd58;
}

/* Rodapé */
footer {
  background: #49363D;
  text-align: center;
  padding: 20px;
  font-size: 0.9rem;
  color: #fff;
}

/* Botão flutuante WhatsApp */
.whatsapp-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: #25d366;
  color: #fff;
  font-size: 2rem;
  text-decoration: none;
  border-radius: 50%;
  padding: 15px 18px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  z-index: 1000;
  transition: background 0.3s;
}

.whatsapp-float:hover {
  background: #1ebd58;
}






/* ---------------- RESPONSIVIDADE ---------------- */

/* Telas até 768px */
@media (max-width: 768px) {
  header {
    flex-wrap: wrap;
    padding: 15px 20px;
  }

  header nav {
    display: none;
    flex-direction: column;
    width: 100%;
    text-align: center;
    margin-top: 10px;
    background: linear-gradient(90deg, #ffb6c1, #b0e0e6);
    border-radius: 10px;
    padding: 10px 0;
  }

  header nav.active {
    display: flex;
  }

  header nav a {
    margin: 10px 0;
    font-size: 1.1rem;
  }

  .menu-toggle {
    display: block;
    font-size: 1.8rem;
    cursor: pointer;
    color: #fff;
  }

  header .btn {
    display: none; /* botão de agendamento só no desktop */
  }

  /* Hero */
  .hero {
    padding: 60px 20px;
  }

  .hero h1 {
    font-size: 2rem;
  }

  .hero p {
    font-size: 1rem;
  }

  /* Festas imagem menor */
  .festa-imagem img {
    max-width: 100%;
  }
}

/* Telas até 480px (celulares pequenos) */
@media (max-width: 480px) {
  .hero h1 {
    font-size: 1.6rem;
  }

  .hero p {
    font-size: 0.9rem;
  }

  .btn, .btn-whats {
    font-size: 0.9rem;
    padding: 10px 20px;
  }

  .tag {
    font-size: 0.9rem;
    padding: 8px 15px;
  }
}




/* FAQ Home */
.faq-home {
  padding: 80px 20px;
  background: #ffffff;
  max-width: 900px;
  margin: 0 auto;
}

.faq-home h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 15px;
  color: #444;
}

.faq-intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 40px;
  font-size: 1.1rem;
  color: #666;
}

/* Item FAQ */
.faq-item {
  border-bottom: 1px solid #ddd;
  margin-bottom: 10px;
}

/* Pergunta */
.faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: 18px 10px;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #333;
}

/* Ícone */
.faq-icon {
  font-size: 1.5rem;
  color: #ff69b4;
  transition: transform 0.3s;
}

/* Resposta */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0 10px;
}

.faq-answer p {
  padding-bottom: 20px;
  color: #555;
  line-height: 1.6;
}

/* Ativo */
.faq-item.active .faq-answer {
  max-height: 300px;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
}




window.addEventListener("load", () => {
  document.body.classList.add("loaded");
});