/* #region global */
/* Reset básico: remove margens e paddings padrão, aplica box-sizing para facilitar layout */
* {
  padding: 0; /* remove espaçamento interno padrão */
  margin: 0; /* remove margens padrão */
  box-sizing: border-box; /* inclui padding e border dentro da largura/altura do elemento */
  text-decoration: none; /* remove sublinhado de links */
  font-family: "Montserrat", sans-serif; /* fonte padrão para todo o site */
}

/* Paleta de cores e variáveis globais */
:root {
  /* Gradientes */
  --color-gradient: linear-gradient(
    to right,
    #050505 10%,
    #0a0d4e 50%,
    #2128be 100%
  ); /* gradiente principal do site, da esquerda para direita */

  --color-gradient1: linear-gradient(
    to top,
    #818181 10%,
    #f6f6fa 50%,
    #818181 80%
  ); /* gradiente secundário, usado em seções de destaque */

  --color-gradient2: linear-gradient(
    to top,
    #12074e 10%,
    #6161d1 60%,
    #1f1883 80%
  ); /* gradiente terciário, para cards ou fundos especiais */
  --color-gradient3: linear-gradient(
    to bottom,
    #493d8b 10%,
    #121263 60%,
    #02020f 80%
  ); /* gradiente terciário, para cards ou fundos especiais */

  /* Cores sólidas */
  --color-bg-dark: #121212; /* fundo escuro principal */
  --color-bg-black: #000000; /* preto puro */
  --color-text-light: #f8f8f8; /* cor clara para textos */
  --color-primary: #c7ba03; /* cor principal de destaque (amarela) */
  --color-muted: #aaa; /* cor para textos secundários ou menos importantes */
  --color-border: #333; /* cor padrão de bordas */

  /* Fonte principal do site */
  --font-main: "Segoe UI", Tahoma, Geneva;
}

/* Estilo global do body */
body {
  background: var(--color-bg-dark); /* aplica fundo escuro */
  color: var(--color-text-light); /* cor padrão de texto */
  font-family: var(--font-main); /* fonte definida na variável */
  scroll-behavior: smooth; /* rolagem suave ao clicar em âncoras */
  overflow-x: hidden; /* impede scroll horizontal indesejado */
}

/* Estilo global de parágrafos */
p {
  font-size: 1.2rem; /* tamanho legível de texto */
  color: var(--color-muted); /* cor mais suave para não competir com títulos */
}

/* #endregion */

/* #region navbar */

/* Estilo do logotipo da navbar */
.navbar-brand img {
  width: 150px; /* largura fixa da logo */
  height: auto; /* altura ajusta automaticamente mantendo proporção */
  margin-right: 10px; /* espaçamento à direita, útil se houver links próximos */
}

/* Estilo geral da navbar */
.navbar {
  background: var(
    --color-gradient
  ); /* fundo com gradiente definido na variável global */
  border-bottom: 1px solid var(--color-border); /* linha fina na parte inferior da navbar */
  .login {
    color: black;
    padding: 5px 20px;
    border: solid 2px var(--color-primary);
    border-radius: 20px;
    background-color: var(--color-primary);
    transition: all 0.3s;
    &:hover {
      font-size: 20px;
      background-color: #2c3286;
      color: var(--color-primary);
    }
  }

  /* Estilo dos links dentro da navbar */
  .nav-link {
    color: var(
      --color-text-light
    ); /* cor clara para contrastar com fundo escuro */
    transition: color 0.3s; /* transição suave ao mudar a cor (hover ou active) */
  }

  /* Hover e estado ativo dos links */
  .nav-link:hover,
  .nav-link.active {
    color: var(
      --color-primary
    ); /* muda para a cor principal (amarela) quando ativo ou em hover */
  }
}
/* 🐾 EFEITO DE TRANSPARÊNCIA DO NAVBAR AO ROLAR O SCROLL */

/* 🐢 Aqui é o navbar quietinho, parado no topo.
   Ele começa com suas cores normais (um gradiente bonito).
   Também tem uma barrinha embaixo pra separar. */

nav.navbar {
  background: var(--color-gradient); /* 🌈 cor inicial (gradiente) */
  border-bottom: 1px solid var(--color-border); /* linha embaixo */
  transition: background 0.35s ease, box-shadow 0.35s ease,
    border-bottom 0.35s ease; /* 🐇 muda de forma suave */
}

/* 🦋 Quando a gente rola a página...
   O navbar vira vidro mágico: meio transparente e desfocado,
   como se tivesse neblina por trás. */

nav.navbar.transparent {
  background: rgba(0, 0, 0, 0.4); /* 🐼 fundo preto com 40% de transparência */
  backdrop-filter: blur(8px); /* 🔮 borrado elegante no que está atrás */
  -webkit-backdrop-filter: blur(8px); /* 🐱 funciona no Safari também */
  border-bottom: none; /* 🚫 tira a linha de baixo */
  transition: background 0.35s ease, backdrop-filter 0.35s ease; /* 🦊 desliza suave */
}

/* 🦉 Aqui cuidamos dos links.
   Quando o navbar fica transparente, a cor das palavrinhas
   também pode mudar para continuar visíveis. */
nav.navbar.transparent .nav-link {
  color: var(--color-text-light); /* 💡 letras mais claras no vidro */
}

/* #endregion */

/* #region home */

/* Vídeo de fundo da seção home */
#myVideoCategoria {
  width: 100vw; /* ocupa toda a largura da tela (viewport) */
  height: 100%; /* ocupa toda a altura do container pai */
  object-fit: cover; /* garante que o vídeo preencha o espaço sem distorcer, cortando se necessário */
  position: absolute; /* posiciona o vídeo fora do fluxo normal do layout */
  top: 0; /* posiciona no topo da página */
  left: 0; /* posiciona à esquerda */
  z-index: -1; /* envia o vídeo para trás de outros elementos (texto, botões, etc.) */
  opacity: 0.5; /* deixa o vídeo semitransparente, para não competir com o conteúdo em cima */
}

/* Container da seção home */
#home {
  background: linear-gradient(
    to bottom,
    var(var(--color-bg-black) 80%)
  ); /* fundo com gradiente do topo para baixo */
  text-align: center; /* centraliza todo o conteúdo de texto dentro da seção */
}

/* Título principal da home */
#home h1 {
  font-size: 6rem; /* tamanho gigante para destaque na tela inicial */
  color: rgb(131, 254, 0); /* verde fluorescente chamativo */
}

/* Span dentro do título, para destacar parte do texto */
#home span {
  color: yellow; /* destaca com amarelo */
  font-size: 3rem; /* tamanho menor que o título principal, mas ainda chamativo */
}

/* #endregion */

/* #region about */

/* Lado esquerdo da seção "About" */
.left {
  background: var(
    --color-gradient2
  ); /* gradiente definido nas variáveis globais */
  color: #fff; /* cor do texto branco */
  padding: 40px 30px; /* espaçamento interno: 40px vertical, 30px horizontal */
  display: flex; /* cria um container flexível */
  flex-direction: column; /* elementos empilhados verticalmente */
  justify-content: space-between; /* distribui espaço entre elementos */
  border-radius: 12px 12px 0 0; /* cantos arredondados na parte superior */

  /* Título principal dentro do lado esquerdo */
  h1 {
    font-size: 60px; /* tamanho grande para destaque */
    font-weight: bold; /* negrito */
    margin: 50px 0px; /* espaçamento vertical do título */

    /* Span dentro do h1 para destacar palavras específicas */
    span {
      font-size: 30px; /* menor que o h1 principal */
      font-weight: bold;
      margin: 50px 0px;

      /* Tag especial dentro do span */
      .tag {
        text-decoration: underline overline; /* sublinha e sobrelinha */
        margin: 50px 30px; /* espaçamento interno/externo */
      }
    }
  }

  /* Parágrafo dentro do lado esquerdo */
  p {
    color: var(--color-text-light); /* cor clara do texto */
    position: center; /* OBS: "center" não é uma propriedade válida; ignora */
    margin: 80px 20px; /* espaçamento externo */
    text-align: justify; /* justifica o texto */
    font-size: 1.2rem; /* tamanho legível */
    line-height: 1.6; /* espaçamento entre linhas */
  }

  /* Botão amarelo dentro do lado esquerdo */
  .btn-yellow {
    background: #83fe00; /* cor de fundo chamativa */
    color: #000; /* cor do texto */
    font-weight: bold; /* negrito */
    border-radius: 8px; /* cantos arredondados */
    padding: 12px 25px; /* espaçamento interno */
    border: none; /* remove borda padrão */
    margin-top: 60px; /* espaçamento acima do botão */
    transition: background 0.3s ease; /* transição suave ao mudar cor */
  }

  /* Hover do botão */
  .btn-yellow:hover {
    background: #2c3286; /* muda cor ao passar o mouse */
    color: #fff; /* texto fica branco */
  }
}

/* Lado direito da seção "About" */
.right {
  text-align: center; /* centraliza todo o conteúdo horizontalmente */
  background: var(
    --color-gradient1
  ); /* gradiente definido nas variáveis globais */
  padding: 40px 30px; /* espaçamento interno */
  border-radius: 0 0 12px 12px; /* cantos arredondados na parte inferior */

  /* Logo dentro do lado direito */
  img.logo {
    width: 250px; /* largura fixa */
    margin-bottom: 20px; /* espaçamento abaixo da logo */
  }

  /* Imagem da TV */
  img.tv {
    width: 100%; /* ocupa toda a largura do container */
    max-width: 420px; /* não ultrapassa 420px */
    margin-bottom: 20px; /* espaçamento abaixo */
    background-image: url("../img/Gravação de tela 1 (online-video-cutter.com) (1).gif"); /* GIF de fundo */
    background-size: 383px 217px; /* tamanho do background */
    background-repeat: no-repeat; /* não repete */
    background-position: center; /* centraliza o background */
  }

  /* Subtítulo / destaque */
  h2 {
    font-size: 1.8rem; /* tamanho médio */
    margin-bottom: 20px; /* espaçamento abaixo */
    color: #0a1a56; /* azul escuro */
  }

  /* Parágrafo dentro do lado direito */
  p {
    font-style: italic; /* itálico */
    font-size: 1.5rem; /* tamanho maior para destaque */
    color: #0a1a56; /* azul escuro */
  }
}

/* Ajustes para Desktop (telas >= 768px) */
@media (min-width: 768px) {
  .left {
    border-radius: 12px 0 0 12px; /* cantos arredondados apenas no topo-esquerdo e inferior-esquerdo */
  }
  .right {
    border-radius: 0 12px 12px 0; /* cantos arredondados apenas no topo-direito e inferior-direito */
  }
}

/* #endregion */

/* #region mission */

/* Container da seção Mission */
.backMission {
  padding: 50px;
  background: #f8f9fa; /* fundo claro para contraste com os cards */
  font-family: Arial, sans-serif; /* fonte legível para títulos e textos */

  /* Título da seção */
  .section-title {
    margin: 20px 0; /* espaçamento acima e abaixo */
    margin-bottom: 2rem; /* reforço de espaçamento inferior */
    font-weight: bold; /* destaque do título */
    color: #0a1a56; /* azul escuro */
  }

  /* Card individual */
  .card-custom {
    background: #0a1a56; /* azul escuro */
    color: #fff; /* texto branco */
    border-radius: 12px; /* cantos arredondados */
    padding: 0px 40px; /* espaçamento horizontal interno */
    height: 400px; /* altura fixa */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); /* sombra leve padrão */

    /* Transição suave ao passar o mouse */
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
      /* suaviza movimento de elevação */ box-shadow 0.4s
        cubic-bezier(0.4, 0, 0.2, 1); /* suaviza alteração da sombra */

    /* Título do card */
    h2 {
      color: var(--color-text-light); /* cor clara do texto */
      padding-top: 70px; /* espaçamento interno superior */
      margin: 30px 0; /* espaçamento vertical */
      text-align: center; /* centraliza o título */
      margin-bottom: 20px; /* espaçamento inferior */
    }

    /* Parágrafo dentro do card */
    p {
      margin: 50px 20px; /* espaçamento externo */
      color: var(--color-text-light); /* cor clara */
      font-size: 20px; /* tamanho legível */
      line-height: 1.5; /* espaçamento entre linhas */
      text-align: center; /* justifica o texto */
    }
  }

  /* Efeito hover do card */
  .card-custom:hover {
    transform: translateY(-8px) scale(1.03);
    /* sobe 8px e aumenta 3% do tamanho para dar sensação de profundidade */

    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.1);
    /* sombra maior e mais difusa para criar efeito de elevação realista */
  }

  /* Texto do rodapé da seção */
  .footer-text {
    margin-top: 2rem; /* espaço acima */
    font-style: italic; /* itálico */
    font-size: 2rem; /* destaque */
    color: #333; /* cinza escuro */
    text-align: center; /* centralizado */
    padding-bottom: 50px; /* espaço inferior */
  }
}

/* #endregion */

/* #region confiança */

/* Container da seção Confiança */
.confianca {
  background: #0a1a56; /* fundo azul escuro */
  font-family: Arial, sans-serif; /* fonte legível e limpa */
  color: #fff; /* texto padrão branco */
  width: auto; /* ocupa toda a largura disponível */

  /* Título principal da seção */
  h2 {
    color: var(--color-text-light); /* cor clara para contraste */
    padding: 20px 0; /* espaçamento vertical */
  }

  /* Destaques dentro do texto */
  .highlight {
    color: #f9b233; /* amarelo chamativo */
    font-weight: bold; /* enfatiza o texto */
  }

  /* Cards de estatísticas */
  .stats-box {
    background: #fff; /* fundo branco para contraste */
    color: #111; /* texto escuro */
    border-radius: 12px; /* cantos arredondados */
    padding: 20px; /* espaço interno */
    text-align: center; /* conteúdo centralizado */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    /* transição suave ao passar o mouse */

    /* Título do card */
    h3 {
      color: #0a1a56; /* azul escuro */
      font-weight: bold;
      margin-bottom: 5px;
    }

    /* Texto descritivo do card */
    p.quote {
      font-style: italic; /* itálico */
      font-size: 18px; /* tamanho legível */
      color: var(--color-bg-black); /* cor escura para contraste */
    }
  }

  /* Efeito hover nos cards */
  .stats-box:hover {
    transform: translateY(-10px); /* eleva o card 10px */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); /* sombra maior para profundidade */
  }

  /* Texto extra da seção */
  p {
    color: var(--color-text-light);
    font-size: 20px;
    margin-top: 30px;
    font-weight: 500;
    line-height: 1.6; /* espaçamento entre linhas para legibilidade */
  }

  .pQuote {
    color: var(--color-text-light);
    font-size: 20px;
  }

  /* Botão da seção */
  .btn-yellow {
    background: #83fe00; /* verde fluorescente */
    color: #000; /* texto preto */
    font-weight: bold;
    border-radius: 8px;
    padding: 12px 25px;
    border: none;
    margin-top: 60px; /* distância do conteúdo acima */
    transition: background 0.3s ease; /* transição suave ao passar o mouse */
  }

  .btn-yellow:hover {
    background: #2c3286; /* muda para azul escuro no hover */
    color: #fff; /* texto branco no hover */
  }

  /* Animação fade-up para elementos que aparecem ao rolar a página */
  [data-animate] {
    opacity: 0; /* invisível inicialmente */
    transform: translateY(30px); /* deslocamento vertical inicial */
    transition: all 0.8s ease; /* transição suave de todos os efeitos */
  }

  [data-animate].active {
    opacity: 1; /* visível quando ativo */
    transform: translateY(0); /* volta à posição original */
  }
}

/* #endregion */

/* #region descomplicado */

/* Container principal da seção Descomplicado */
.descomplicado {
  background: #fff; /* fundo branco */
  font-family: Arial, sans-serif; /* fonte limpa e legível */
  color: #111; /* texto escuro padrão */

  /* Título principal da seção */
  h2 {
    font-size: 50px; /* tamanho grande para destaque */
    font-weight: bold; /* negrito */
    color: #0a1a56; /* azul escuro */
  }

  /* Subtítulo da seção */
  .subtitle {
    font-size: 20px; /* tamanho menor que o título */
    color: var(--color-bg-black); /* cor escura para contraste */
    margin-bottom: 40px; /* espaço abaixo do subtítulo */
  }

  /* Container para imagens */
  .image-box {
    img {
      max-width: 100%; /* garante que a imagem nunca ultrapasse o container */
      height: auto; /* mantém proporção da imagem */
      transition: transform 0.5s ease; /* transição suave para hover */
    }
    /* Efeito hover na imagem */
    img:hover {
      transform: scale(1.05); /* aumenta 5% do tamanho ao passar o mouse */
    }
  }

  /* Parágrafo com destaque e animação */
  p {
    font-style: italic bold; /* itálico e negrito ao mesmo tempo */
    font-size: 20px; /* tamanho legível */
    color: var(--color-bg-black); /* texto escuro */
    margin-top: 20px; /* espaço acima do parágrafo */
    text-align: center; /* centraliza o texto */
    line-height: 1.6; /* espaçamento entre linhas */
    transform: translateY(30px); /* desloca o texto para baixo inicialmente */
    transition: all 0.8s ease; /* animação suave ao mudar propriedades */
  }
}

/* #endregion */

/* #region criação dos serviços */

/* Container principal da seção "Criação dos Serviços" */
.criacao {
  background: linear-gradient(
    to right,
    #00145c,
    #061852
  ); /* gradiente azul escuro horizontal */
  color: #fff; /* texto branco por padrão */
  font-family: Arial, sans-serif; /* fonte limpa e legível */

  /* Título h2 com destaque em parte do texto */
  h2 span {
    color: #ffb400; /* amarelo para destacar palavras-chave */
  }

  /* Subtítulos h3 */
  h3 {
    text-align: center; /* justifica o texto para um visual limpo */
    font-size: 2rem; /* tamanho grande, mas menor que h2 */
    margin-bottom: 20px; /* espaço abaixo do título */
    color: var(--color-bg-black); /* cor escura para contraste */
  }

  /* Parágrafos */
  p {
    margin-top: 20px; /* espaço acima do parágrafo */
    text-align: center; /* justifica o texto */
    color: var(--color-bg-black); /* cor escura para leitura */
  }

  /* Caixa de recurso/feature (ex.: cada serviço) */
  .feature-box {
    background: #f1f1f1; /* fundo claro para contraste com o gradiente */
    color: #000; /* texto escuro */
    border-radius: 10px; /* cantos arredondados */
    padding: 25px; /* espaçamento interno */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* transição suave para hover */

    /* Ícone dentro da feature */
    .feature-icon {
      font-size: 35px; /* tamanho grande do ícone */
      margin-bottom: 15px; /* espaço abaixo do ícone */
      color: #e63946; /* cor vermelha para destaque */
    }
  }

  /* Efeito hover para cada feature-box */
  .feature-box:hover {
    transform: translateY(-8px); /* levanta 8px a caixa */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); /* sombra maior para profundidade */
  }

  /* Imagem da TV (ou outra imagem dentro da seção) */
  .img-tv {
    max-width: 100%; /* garante responsividade */
  }
}

/* #endregion */

/* #region carrossel */

.carousel {
  padding: 20px;
  background: var(--color-gradient2);
  font-family: Arial, sans-serif;
  color: #fff;

  #carouselOnClick {
    background: transparent;
    max-width: 850px;
    margin: auto;

    .carousel-control-prev {
      padding-bottom: 180px;
    }
    .carousel-control-next {
      padding-bottom: 180px;
    }
  }

  .carousel-item {
    text-align: center;
    padding: 50px;
    background: transparent;
    color: var(--color-text-light);
    object-fit: contain;

    img {
      object-fit: contain;
      max-height: auto;
    }
    .textCarousel {
      margin-top: 30px;
      padding-top: 30px;
    }
  }
}

/* #endregion */

/* #region depoimentos */
.depoimentos {
  background: var(--color-text-light);
  color: var(--color-text-light);
  font-family: Arial, sans-serif;
  h3 {
    color: #0a1a56;
    font-size: 40px;
    padding: 50px 0;
    text-align: center;
  }
  .depoimento-card {
    background: #0a1a56;
    color: var(--color-text-light);
    border-radius: 15px;
    padding: 20px 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s;

    img {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      object-fit: cover;
      margin: 20px 0;
    }
    h5 {
      font-weight: bold;
      margin-bottom: 5px;
    }
    span {
      font-style: italic;
      color: var(--color-text-light);
    }
    p {
      color: var(--color-text-light);
      font-size: 14px;
      margin-top: 10px;
    }
  }
  .depoimento-card:hover {
    transform: translateY(-5px);
  }
  .stars {
    color: #ffc107;
    font-size: 18px;
  }
}
/* #endregion */

/* #region contatos */
.contatos {
  font-family: Arial, sans-serif;
  background: var(--color-gradient3);
  color: var(--color-text-light);
  padding: 60px 20px;

  h2 {
    font-size: 40px;
    font-weight: bold;
    margin: 40px 0px;
    text-align: center;
    color: var(--color-text-light);
  }
  p {
    font-size: 18px;
    margin-bottom: 40px 0px;
    text-align: center;
    color: var(--color-text-light);
  }
  .contact-form {
    background: #fff;
    color: #333;
    border-radius: 12px;
    padding: 25px 40px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    h5 {
      margin-bottom: 20px;
      font-weight: bold;
      color: #001a44;
    }
  }
  .btn-custom {
    background: #001a88;
    color: #fff;
    font-weight: bold;
    border-radius: 8px;
    transition: 0.3s;
  }
  .btn-custom:hover {
    background: #0033cc;
  }
  .contact-info {
    margin-top: 40px;

    h5 {
      font-weight: bold;
      margin-bottom: 5px;
    }
    i {
      font-size: 24px;
      margin-right: 10px;
      color: #fff;
    }
  }
}
/* #endregion */

/* #region footer */
footer {
  background-color: #02020f;
  color: var(--color-text-light);
  padding: 20px 0;

  .footer-logo img {
    max-height: 80px;
  }
  .social-icons a {
    color: #fff;
    font-size: 35px;
    margin: 0 10px;
    transition: 0.3s;
  }
  .social-icons a:hover {
    color: var(--color-primary);
    font-size: 45px;
  }
  .copyright {
    padding-top: 30px;
    margin-top: 30px;
    font-size: 14px;
  }
}
/* #endregion */


.btn-yellow,
.btn-yellow:link,
.btn-yellow:visited {
  display: inline-block;
  background-color: #ffc107; /* ou a cor do seu botão original */
  color: #000; /* cor do texto */
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none; /* remove o sublinhado */
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.btn-yellow:hover {
  background-color: #ffb300; /* cor ao passar o mouse */
}



/* =======================================
   🌿 Botão exclusivo para formulário WhatsApp
   ======================================= */
.botao-formulario {
  margin-top: 20px; /* espaçamento acima do botão */
  text-align: left; /* ou center, se preferir centralizado */
}

.botao-formulario a {
  display: inline-block;
  background-color: #25D366; /* verde WhatsApp */
  color: #111; /* texto preto */
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

/* ✨ Efeito ao passar o mouse */
.botao-formulario a:hover {
  background-color: #1ebc5c; /* tom mais escuro no hover */
  color: #fff; /* muda o texto para branco */
  transform: translateY(-3px); /* leve flutuação */
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}

























