/* Estilos personalizados */
.hero {
    background-color: #58cc02; /* Verde do Duolingo */
    color: white;
}

.btn-success {
    background-color: #58cc02;
    border: none;
}

.btn-juridico {
  background-color: #1b2f41; /* azul escuro exato */
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  padding: 10px 24px;
  border: none;
  border-radius: 999px; /* total arredondado */
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); /* leve sombra */
  transition: all 0.3s ease;
}

.btn-juridico:hover {
  filter: brightness(1.05);
  cursor: pointer;
}

.btn-contrato {
  background-color: #1b4667; /* cor azul escuro do botão */
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  padding: 10px 24px;
  border: none;
  border-radius: 999px; /* botão totalmente arredondado */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.25); /* sombra parecida com a da imagem */
  transition: all 0.3s ease;
}

.btn-contrato:hover {
  filter: brightness(1.05);
  cursor: pointer;
}

body {
  background-color: #ffffff;
}

.main-section {
  padding: 80px 20px;
}

.main-text {
  font-size: 1.8rem;
  font-weight: 700;
  color: #4b4b4b;
  text-align: center;
}

@media (min-width: 768px) {
  .main-text {
    text-align: left;
  }
}

img.main-image {
  max-width: 100%;
  height: auto;
}

.h1-principal {
  color: #950f0f;
  font-weight: 1000px;
}

/* header */

.header {
      background: linear-gradient(90deg, #1a2b44, #2d5b91); /* gradiente semelhante ao da imagem */
      color: white;
      padding: 20px 40px;
    }

    .logo-jus {
      font-weight: 700;
      color: white;
    }

    .logo-via {
      font-weight: 700;
      color: #B4D4F6; /* azul claro aproximado da imagem */
    }

    .btn-comece {
      background: white;
      color: #1a2b44;
      font-weight: 600;
      border-radius: 25px;
      padding: 8px 20px;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
      transition: all 0.3s ease;
    }

    .btn-comece:hover {
      background: #f0f0f0;
      color: #1a2b44;
    }

.texto-introducao {
  color: #1b2f41; /* azul escuro semelhante */
  font-family: 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.4;
}

.texto-introducao p {
  font-size: 32px;
  margin: 0;
  font-weight: 400;
}

.texto-introducao h2 {
  font-size: 30px;
  font-weight: 800;
  margin-top: 16px;
  margin-bottom: 0;
  line-height: 1.2;
}

/* section principal */

.jusvia-section {
      background: linear-gradient(180deg, #0F2D44 0%, #133A58 50%, #1E5378 100%);
      color: white;
      border-radius: 20px;
      padding: 60px 40px;
      position: relative;
      overflow: hidden;
    }
 .jusvia-section::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.02), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

    .jusvia-line {
      position: absolute;
      left: 50%;
      top: 80px;
      bottom: 80px;
      width: 2px;
      background-color: #74D2FF;
      transform: translateX(-50%);
      z-index: 1;
    }

    .jusvia-number {
      position: absolute;
      left: 50%;
      transform: translate(-50%, -50%);
      background-color: #00C2FF;
      color: white;
      font-weight: bold;
      border-radius: 50%;
      width: 32px;
      height: 32px;
      font-size: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
    }

    .jusvia-item {
      margin-bottom: 120px;
      position: relative;
      padding: 0 40px;
    }

    .jusvia-text h5 {
      font-size: 24px;
      padding-left: 30px;
      padding-right: 30px;
      font-weight: bold;
    }

    .jusvia-text p {
      font-size: 16px;
      margin-top: 10px;
      line-height: 1.6;
      padding-left: 30px;
      padding-right: 30px;
    }

    .jusvia-img {
      max-width: 80%;
      height: auto;
    }

    @media (min-width: 768px) {
      .jusvia-item {
        display: flex;
        align-items: center;
      }

      .jusvia-item:nth-child(even) {
        flex-direction: row-reverse;
      }
      
    }

    @media (max-width: 767px) {
      .jusvia-line,
      .jusvia-number {
        display: none;
      }
      .jusvia-img {
        max-width: 100%;
      }
    }

/* Planos section */

.planos-section {
      background: linear-gradient(180deg, #0F2D44 0%, #1E6DA0 100%);
      color: white;
      padding: 60px 20px;
    }

    .planos-section h2 {
      font-size: 32px;
      font-weight: 400;
    }

    .planos-section .highlight {
      font-weight: 600;
      color: #00F2FF;
    }

    .planos-descricao {
      background-color: #00F2FF;
      color: #002033;
      padding: 25px;
      border-radius: 6px;
      font-weight: 500;
      margin-bottom: 40px;
    }

    .btn-assinar {
      background-color: #00F2FF;
      color: #002033;
      font-weight: 600;
      border: none;
      padding: 12px 28px;
      border-radius: 12px;
      transition: background-color 0.3s;
    }

    .btn-assinar:hover {
      background-color: #00c6d8;
    }

.card-plano {
  width: 100%;
  max-width: 270px;
  min-height: 250px;
  background-color: #1D3A53;
  border: 2px solid #00F2FF;
  border-radius: 8px;
  overflow: hidden;
  font-family: Arial, sans-serif;
  color: white;
  margin: 0 auto;
}

.card-plano-header {
  background-color: #00F2FF;
  color: #1D3A53;
  font-weight: 600;
  padding: 15px;
  text-align: center;
  font-size: 16px;
}

.card-plano-body {
  padding: 20px;
}

.card-plano-body ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.card-plano-body ul li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
  line-height: 1.4;
}

.card-plano-body ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #00F2FF;
}

/*Section final*/
.cta-section {
  background-color: #ffffff;
  color: #0F2D44;
}

.btn-cta {
  background-color: #168fbd;
  color: white;
  padding: 12px 30px;
  border-radius: 15px;
  font-weight: 600;
  font-size: 18px;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
  text-decoration: none;
}

.btn-cta:hover {
  background-color: #1172a0;
  color: white;
}

/*pagina precos*/
.planos-section {
  background: linear-gradient(180deg, #0F2D44 0%, #1E6DA0 100%);
  color: #1D3A53;
}

.plano-card {
  padding: 25px 20px;
  border-radius: 12px;
  min-height: 100%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  position: relative;
}

.bg-cyan {
  background-color: #00F2FF;
}

.plano-nome {
  display: inline-block;
  padding: 4px 12px;
  font-weight: 600;
  margin-bottom: 15px;
  background-color: transparent;
}

.plano-preco {
  font-weight: 700;
  margin-bottom: 15px;
}

.plano-desc {
  font-size: 15px;
  margin-bottom: 20px;
}

.plano-beneficio {
  border-top: 1px solid #ccc;
  padding: 15px 0;
  font-size: 14px;
  text-align: left;
}

.btn-plano {
  background-color: #1daac7;
  color: white;
  padding: 10px 24px;
  border-radius: 20px;
  font-weight: 600;
  border: none;
  transition: all 0.3s ease;
}

.btn-plano:hover {
  background-color: #168aa3;
  color: #fff;
}

/* Ribbon destaque */
.ribbon {
  position: absolute;
  top: 10px;
  right: -40px;
  transform: rotate(45deg);
  background: #00F2FF;
  color: #1D3A53;
  padding: 4px 40px;
  font-weight: 700;
  font-size: 13px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  z-index: 1;
}

/*-----FOOTER----*/

footer {
  background-color: #192e41;
  color: #fff;
}

.footer-links {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.footer-links li {
  margin-bottom: 0.5rem;
}

footer .footer-links a{
  text-decoration: none;
  color: white;
  text-transform: uppercase;
  font-size: larger;
  font-weight: 400;
}

.espacamento-inferior {
  margin-bottom: 50px;
}

footer .footer-links a:hover{
  color: rgb(0, 153, 255);
}

#icones a {
  margin-right: 20px;
  color: #fff;
  text-decoration: none;
  font-size: 25px;
}

#icones a:hover {
  color: rgb(0, 153, 255);
}