 body {
     background: linear-gradient(to bottom, rgb(0, 9, 19), rgb(1, 28, 53));
 }

 .carousel-link {
     display: block;
     position: relative;
 }

 .carousel-overlay {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     color: white;
     background-color: rgba(0, 0, 0, 0.5);
     padding: 10px;
     border-radius: 5px;
     display: none;
     font-size: 16px;
     cursor: pointer;
 }

 .carousel-link:hover .carousel-overlay {
     display: block;
 }

 body {
     height: 200vh;
 }

 .scroll-btn {
     position: fixed;
     bottom: 20px;
     left: 50%;
     transform: translateX(-50%);
     padding: 5px 20px;
     font-size: 18px;
     border: none;
     border-radius: 50px;
     background-color: #007bff;
     color: white;
     cursor: pointer;
     font-weight: bold;
     animation: pulse 1.5s infinite;
 }

 @keyframes pulse {
     0% {
         box-shadow: 0 0 10px rgba(0, 123, 255, 0.7);
     }

     50% {
         box-shadow: 0 0 20px rgba(0, 123, 255, 0.9);
     }

     100% {
         box-shadow: 0 0 10px rgba(0, 123, 255, 0.7);
     }
 }

 .bg-img {
     object-fit: cover;
     width: 100%;
     height: 100vh;
     position: absolute;
     top: 0;
     left: 0;
     opacity: 0;
     transition: opacity 2s ease-in-out;
 }

 .bg-img:first-child {
     opacity: 1;
 }

 .bg-dark-overlay {
     background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7));
     top: 0;
     left: 0;
     position: absolute;
 }

 .header-titulo {
     font-size: 3rem;
     font-weight: bold;
     text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
 }

 .btn-warning:hover {
     background-color: #ff8800 !important;
     color: white !important;
 }

 @media (max-width: 768px) {
     .header-titulo {
         font-size: 2rem;
     }
 }

 .btn-animated-gradient {
     color: #fff !important;
     border: none;
     background: linear-gradient(-45deg, #ff416c, #ff4b2b, #1e90ff, #28a745);
     background-size: 400% 400%;
     animation: gradientBG 6s ease infinite;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
     transition: transform 0.2s ease-in-out;
 }

 .btn-animated-gradient:hover {
     transform: scale(1.05);
     box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
 }

 @keyframes gradientBG {
     0% {
         background-position: 0% 50%;
     }

     50% {
         background-position: 100% 50%;
     }

     100% {
         background-position: 0% 50%;
     }
 }

 header.bg-cycle {
     flex: 1;
     position: relative;
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 /* Estilização do botão */
 .btn-aluno {
     position: fixed;
     top: 15px;
     left: 50%;
     transform: translateX(-50%);
     z-index: 1050;
     padding: 0.2rem 1.3rem;
     font-weight: 600;
     font-size: 0.8rem;
     border: none;
     color: #fff;
     /* background: linear-gradient(90deg, #1f8ef1, rgb(40, 58, 161)); */
     box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
     border-radius: 50px;
     transition: background 0.4s ease, transform 0.3s ease;
 }

 /* Ícone com espaço */
 .btn-aluno i {
     font-size: 1.2rem;
 }

 /* Efeito ao passar o mouse */
 .btn-aluno:hover {
     /* background: linear-gradient(90deg, #5e72e4, #1f8ef1); */
     transform: translateX(-50%) scale(1.05);
     color: rgb(255, 251, 0);
 }

 /* Responsividade para telas menores */
 @media (max-width: 576px) {
     .btn-aluno {
         font-size: 0.8rem;
         padding: 0.1rem 0.6rem;
     }
 }

 #mensagem {
     transition: opacity 0.8s ease;
 }

 #mensagem.oculto {
     opacity: 0;
 }

 .modal-content {
     background-color: #1e1e1e;
     border-radius: 1rem;
 }

 .btn-social {
     margin-bottom: 10px;
     color: #fff;
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .btn-whatsapp {
     background-color: #25D366;
 }

 .btn-facebook {
     background-color: #3b5998;
 }

 .btn-linkedin {
     background-color: #0077B5;
 }

 .btn-email {
     background-color: #6c757d;
 }

 .modal-header {
     border-bottom: 1px solid #444;
 }

 .modal-footer {
     border-top: none;
 }

 #mensagem {
     color: #28a745;
     margin-top: 10px;
 }

 .btn-social {
     transition: background-color 0.3s ease, transform 0.2s ease;
     width: 100%;
     margin-bottom: 0.5rem;
 }

 .btn-social:hover {
     transform: scale(1.03);
 }

 /* Cores específicas no hover */
 #shareWhatsapp:hover {
     background-color: #25d366;
     color: white;
 }

 #shareFacebook:hover {
     background-color: #1877f2;
     color: white;
 }

 #shareLinkedin:hover {
     background-color: #0a66c2;
     color: white;
 }

 #shareEmail:hover {
     background-color: #6c757d;
     color: white;
 }

 h1.display-4 {
     font-size: 3rem;
     color: rgb(255, 255, 255);
     /* Azul vibrante */
     text-shadow: 1px 1px 2px rgba(0, 0, 0, 2.3);
 }

 p.lead {
     font-size: 1.25rem;
     color: #fff;
     font-weight: 400;
     text-shadow: 1px 1px 2px rgba(0, 0, 0, 2.3);
 }

 p.lead strong {
     color: rgb(255, 255, 255);
     font-weight: 700;
 }

 p.lead i {
     color: rgb(255, 255, 255);
     /* Ícones com cor verde para contraste */
     text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
 }

 .btn-animated-gradient {
     background: linear-gradient(135deg, #0d6efd, #6610f2);
     color: #fff;
     border: none;
     transition: all 0.3s ease-in-out;
 }

 .btn-animated-gradient:hover {
     transform: scale(1.05);
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
 }

 .btn-orange-dark {
     background-color: #d35400;
     color: #fff;
     border: none;
 }

 .btn-orange-dark:hover {
     background-color: #a84300;
 }

 #videoWrapper {
     visibility: hidden;
     opacity: 0;
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     z-index: 10;
     width: 100%;
     padding: 20px;
     display: flex;
     justify-content: center;
     align-items: center;
     /* background-color: rgba(0, 0, 0, 0.85); */
     transition: opacity 0.8s ease-in-out, visibility 0.8s;
 }

 #videoWrapper.active {
     visibility: visible;
     opacity: 1;
 }

 #videoWrapper video {
     max-width: 90%;
     max-height: 80vh;
     border-radius: 20px;
     box-shadow: 0 0 30px rgba(0, 0, 0, 0.7);
 }

 #fecharVideo {
     position: absolute;
     top: 15px;
     right: 25px;
     font-size: 2rem;
     color: #fff;
     background: none;
     border: none;
     z-index: 11;
 }

 #fecharVideo:hover {
     color: #f39c12;
 }



 /* Estiliza a faixa de legendas */
 video::cue {
     background: rgba(0, 0, 0, 0.7);
     /* Fundo escurecido translúcido */
     color: #fff;
     /* Cor branca para o texto */
     font-size: 1.6rem;
     /* Tamanho da fonte */
     font-weight: 600;
     padding: 0.3em 0.6em;
     border-radius: 8px;
     text-shadow: 1px 1px 2px #000;
 }

 /* Ajustes opcionais para responsividade em mobile */
 @media (max-width: 576px) {
     video::cue {
         font-size: 0.95rem;
     }
 }