/* Responsividade para Navbar */
@media (max-width: 767px) {
    .navbar-light .navbar-nav .nav-link {
        font-size: 16px;
        padding: 15px 0;
    }
    .navbar-light .navbar-brand h1 {
        font-size: 1.5rem;
    }
}

/* Responsividade para Seções */
@media (max-width: 576px) {
    .section-title::before {
        width: 120px;
    }
    .service-item {
        height: 250px;
    }
}
@keyframes sk-rotateplane {
    0% {
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    }
    50% {
        transform: perspective(120px) rotateX(180deg) rotateY(180deg);
    }
    100% {
        transform: perspective(120px) rotateX(360deg) rotateY(360deg);
    }
}

/* Animação de título */
@keyframes section-title-run {
    0% {left: 0;}
    50% {left: 45%;}
    100% {left: 0;}
}
/* Navbar transparente por padrão e preenchendo a largura total da tela */
.navbar {
    background-color: rgba(255, 255, 255, 0.1);  /* Transparente por padrão */
    transition: background-color 0.3s ease;  /* Transição suave para a cor de fundo */
    padding: 50px 70px;
    width: 100%;  /* Garantir que a navbar ocupe 100% da largura da tela */
    position: fixed;  /* Fixa a navbar no topo */
    top: 0;
    left: 0;
    z-index: 999;  /* Garante que a navbar fique acima de outros elementos */
}

/* Navbar branca quando rolar a página */
.navbar.scrolled {
    background-color: #fff;  /* Branca quando rolar */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Sombra suave quando rolar */
}

/* Logo da navbar */
.navbar .logoweb {
    max-height: 100px; /* Reduzir a altura da logo para telas menores */
    width: auto;  /* Mantém a proporção da logo */
}

/* Links da navbar */
.navbar .nav-link {
    font-size: 0.875rem; /* Reduzir o tamanho da fonte para links */
    font-weight: 500;
    color: #081844 !important;
    text-transform: uppercase;
    margin-right: 20px;
    transition: color 0.3s ease;
    font-weight: bold;
}

/* Efeito ao passar o mouse sobre os links */
.navbar .nav-link:hover {
    color: #007bff;
}

/* Estilizar o item dropdown */
.navbar .dropdown-menu {
    background-color: #fff;
    border: 1px solid #ddd;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.navbar .dropdown-item {
    color: #333;
    padding: 10px 20px;
}

/* Efeito ao passar o mouse sobre os itens do dropdown */
.navbar .dropdown-item:hover {
    background-color: #f8f9fa;
    color: #007bff;
}

/* =============================
   NAVBAR ACTION BUTTONS
============================= */
.navbar .nav-btn a {
    font-size: 0.875rem;  /* Reduzir o tamanho da fonte */
    padding: 8px 15px;  /* Reduzir o padding */
    border-radius: 30px;
    font-weight: 600;
    text-transform: uppercase;
    display: inline-block;
    transition: 0.3s ease;
}

/* Botão "Obter uma Cotação" */
.navbar .nav-btn .btn-primary {
    background-color: #05274d;
    color: white;
    border: none;
}

.navbar .nav-btn .btn-primary:hover {
    background-color: #0056b3;
}

/* Botão "Portal do Estudante" */
.navbar .nav-btn .btn-secondary {
    background-color: #c71e1e;
    color: white;
    border: none;
}

.navbar .nav-btn .btn-secondary:hover {
    background-color: #0056b3;
}

/* Ajustes para telas menores */
@media (max-width: 767px) {
    /* Reduzir o tamanho da navbar e logo */
    .navbar {
        padding: 20px 30px;  /* Reduzir o padding */
    }

    .navbar .logoweb {
        max-height: 70px; /* Reduzir o tamanho da logo */
    }

    .navbar .nav-link {
        font-size: 0.8rem; /* Reduzir ainda mais o tamanho da fonte */
        margin-right: 10px; /* Reduzir o espaçamento entre os links */
    }

    .navbar .nav-btn a {
        font-size: 0.75rem; /* Reduzir o tamanho da fonte dos botões */
        padding: 6px 12px;  /* Reduzir o padding para botões menores */
    }
}


/* =============================
   RESPONSIVIDADE PARA BOTÕES NAVBAR
============================= */
@media (max-width: 767px) {
    .navbar .nav-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        margin-top: 10px;
    }

    .navbar .nav-btn a {
        width: 85%;
        font-size: 0.55rem;      /* fonte menor */
        padding: 6px 0;          /* padding reduzido */
        border-radius: 12px;     /* cantos mais suaves */
    }
}



/* Botão de alternância (hamburger) para dispositivos móveis */
.navbar-toggler {
    border: none;
    background-color: transparent;
}

.navbar-toggler .fa-bars {
    font-size: 1.5rem;
    color: #333;
}

/* Ajustar a navbar para o conteúdo quando o menu é fechado */
.navbar-collapse {
    width: 100%; /* Garante que o conteúdo se espalhe por toda a largura */
}
/* Controles do carrossel (setas) */
.carousel-control-next,
.carousel-control-prev {
    background-color: transparent;
    border: none;
    width: 10%;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    background-color: transparent;
    color: black;
    font-size: 1.2rem;
    border: none;
}

/* Garantir que o carrossel ocupe toda a altura da tela */
#header-carousel {
    height: 100vh;
    width: 100vw;
    position: relative;
    overflow: hidden;
}

/* As imagens do carrossel devem ocupar toda a tela */
#header-carousel .carousel-item img {
    height: 100vh;
    width: 100vw;
    object-fit: cover; /* Imagem cobre toda a área */
}

/* Área do conteúdo (legenda) dentro do carrossel */
.carousel-caption {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 10px;
    border-radius: 10px;
    width: 100%;
}

/* Texto dentro da legenda */
.carousel-caption .p-3 {
    max-width: 700px;
    margin: 0 auto;
}

/* Responsividade adicional para telas pequenas */
@media (max-width: 768px) {
    .carousel-caption {
        padding: 15px;
        font-size: 14px;
    }

    .carousel-caption h1,
    .carousel-caption h2,
    .carousel-caption h3 {
        font-size: 1.5rem;
    }

    .carousel-caption p {
        font-size: 1rem;
    }

    #header-carousel {
        height: 100vh;
    }

    #header-carousel .carousel-item img {
        object-position: center;
    }
}




/* Hover nos itens de serviço */
.service-item:hover .service-icon {
    transform: scale(1.1);
    transition: transform 0.3s ease-in-out;
}

/* Efeitos de hover na equipe */
.team-item:hover .team-social {
    background: rgba(9, 30, 62, .8);
}

.team-item:hover .team-img img {
    transform: scale(1.15);
    transition: transform 0.3s ease-in-out;
}
.header-highlight {
    position: relative;
    top: 50%; /* um pouco mais sutil */
    background-color: rgba(0, 123, 255, 0.1); /* ou a cor do seu tema */
    padding: 30%;
    border-radius: 8px;
    max-width: 100%;
    margin: 0 auto;
}

.header-highlight h4 {
    font-size: 2.2rem;
}

.header-highlight h5 {
    font-size: 1.8rem; /* menor que display-4 */
    font-weight: 600;
    margin-bottom: 1rem;
}

.header-highlight p {
    font-size: 1rem;
    line-height: 1.6;
}
.p :hover{
color: #333 !important;
}
/* Back to top */
.back-to-top {
    position: fixed;
    right: 45px;
    bottom: 45px;
    z-index: 99;
    background-color: var(--primary);
    color: rgb(241, 7, 7);
    padding: 15px;
    border-radius: 50%;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.back-to-top.show {
    display: block;
    opacity: 1;
}

.back-to-top:hover {
    background-color: var(--secondary);
}
/* Estilo para o cabeçalho */
.service h1, .service h4 {
    color: #343a40; /* Cor escura para títulos */
}

/* Estilo para o texto do parágrafo */
.service p {
    color: #495057; /* Texto escuro, mas não tão forte quanto o título */
    font-size: 1rem; /* Tamanho confortável para leitura */
    line-height: 1.6; /* Melhor espaçamento entre as linhas */
}

/* Melhorar a legibilidade do botão */
.service-item .btn {
    font-weight: bold; /* Deixar o texto do botão em negrito */
}

/* Estilizando os links dentro do conteúdo da página de serviço */
.service-content-inner a {
    color: #007bff; /* Cor azul para os links */
    text-decoration: none; /* Retirar o sublinhado */
}

.service-content-inner a:hover {
    color: #0056b3; /* Escurecer o link ao passar o mouse */
    text-decoration: underline; /* Adicionar sublinhado ao passar o mouse */
}

/* Modal: Garantir boa legibilidade dentro do formulário */
.modal-body input, .modal-body select {
    background-color: #f8f9fa; /* Fundo mais claro para os campos de input */
    border: 1px solid #ced4da; /* Borda mais suave */
    color: #495057; /* Cor escura para o texto do campo */
}

/* Garantir que o botão no modal tenha bom contraste */
.modal-footer .btn-primary {
    background-color: #007bff;
    color: #ffffff;
}

.modal-footer .btn-secondary {
    background-color: #6c757d;
    color: #ffffff;
}
/* Estilo para os links dentro do conteúdo da página de serviço */
.service-content-inner a {
    color: #007bff; /* Cor azul para os links */
    text-decoration: none; /* Retirar o sublinhado */
}

.service-content-inner a:hover {
    color: #000000 !important; /* Alterar a cor para preto ao passar o mouse */
    text-decoration: underline; /* Adicionar sublinhado ao passar o mouse */
}

/* Melhorando o contraste do botão no hover */
.service-item .btn:hover {
    background-color: #0056b3; /* Cor mais escura para o fundo do botão no hover */
    color: #ffffff; /* Manter o texto branco no botão */
}

/* ============================
   NAVBAR
============================ */

/* Navbar transparente por padrão e preenchendo a largura total da tela */
.navbar {
    background-color: rgba(255, 255, 255, 0.1);
    transition: background-color 0.3s ease;
    padding: 50px 70px;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
}

/* Ajustes da marca da navbar */
.navbar-brand h1 {
    margin: 0;
    font-size: 2rem;
}

/* Links da navbar */
.navbar-light .navbar-nav .nav-link {
    color: #000;
    font-size: 18px;
    padding: 15px;
    transition: color 0.3s ease;
}

.navbar-light .navbar-nav .nav-link:hover {
    color: #007bff;
}

/* Responsividade para Navbar */
@media (max-width: 767px) {
    .navbar {
        padding: 20px 30px;
    }

    .navbar-light .navbar-nav .nav-link {
        font-size: 16px;
        padding: 10px 0;
    }

    .navbar-brand h1 {
        font-size: 1.5rem;
    }

    .navbar-toggler {
        border: none;
        background: transparent;
        font-size: 1.2rem;
    }
}

/* ============================
   SEÇÕES
============================ */

.section-title {
    position: relative;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 40px;
}

.section-title::before {
    content: "";
    display: block;
    width: 150px;
    height: 3px;
    background-color: #007bff;
    margin: 0 auto 10px auto;
}

@media (max-width: 576px) {
    .section-title::before {
        width: 120px;
    }

    .service-item {
        height: 250px;
    }
}

/* ============================
   ANIMAÇÕES
============================ */

/* Animação de título */
@keyframes section-title-run {
    0% { left: 0; }
    50% { left: 45%; }
    100% { left: 0; }
}

/* Animação personalizada */
@keyframes sk-rotateplane {
    0% {
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    }
    50% {
        transform: perspective(120px) rotateX(180deg) rotateY(180deg);
    }
    100% {
        transform: perspective(120px) rotateX(360deg) rotateY(360deg);
    }
}

/* ============================
   UTILITÁRIOS (se desejar)
============================ */

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.text-center {
    text-align: center;
}
