/* Global */
body, html {
    height: 100%;
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
}

/* Navbar */
.navbar-custom {
    background: rgba(30, 60, 114, 0.85); /* Semi-transparent */
    backdrop-filter: blur(5px);
    padding: 10px 0;
}

.logo-img {
    height: 50px;
}

/* Login Button */
.btn-login {
    background-color: #ffffff;
    color: #1e3c72;
    font-weight: 500;
    padding: 8px 22px;
    border-radius: 25px;
    border: none;
}
.btn-login:hover {
    background-color: #ffd700;
    color: #000;
}

/* Carousel / Hero Section */
.hero-carousel-section {
    height: 100vh; /* Full viewport height */
    width: 100%;
    overflow: hidden;
}

.carousel-image {
    height: 100vh;
    object-fit: cover;
    width: 100%;
}

/* Caption Style */
.carousel-caption {
    bottom: 30%;
    text-align: left;
    max-width: 600px;
    background: rgba(0,0,0,0.4);
    padding: 20px;
    border-radius: 10px;
}

.carousel-caption h1 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #fff;
}

.carousel-caption p {
    font-size: 1.2rem;
    color: #f0f0f0;
}

/* Responsive */
@media (max-width: 768px) {
    .carousel-caption h1 {
        font-size: 1.8rem;
    }
    .carousel-caption p {
        font-size: 1rem;
    }
    .carousel-caption {
        bottom: 20%;
        max-width: 90%;
    }
}
/* Inputs with border-bottom only */
.border-bottom-only {
    border: none;
    border-bottom: 2px solid #1e3c72;
    border-radius: 0;
    padding: 10px 8px;
}

.border-bottom-only:focus {
    box-shadow: none;
    border-bottom: 2px solid #27282b;
}

/* Modal Login Button */
.btn-login-modal {
    background-color: #1e3c72;
    color: #fff;
    font-weight: 500;
    border-radius: 25px;
    padding: 10px 0;
}
.btn-login-modal:hover {
    background-color: #1e3c72;
    color: #ffeeee;
}

/* Modal Header */
.modal-header h5 {
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    text-align: center;
}

/* Links flex container */
.modal-body .d-flex a {
    font-size: 0.95rem;
    color: #1e3c72;
}
.modal-body .d-flex a:hover {
    color: #242423;
}

/* Footer / Bottom Bar */
.modal-footer {
    font-size: 0.8rem;
    color: #666;
}

/* Remove default modal border-radius for modern look */
.modal-content {
    border-radius: 15px;
    padding: 20px;
}
#password-strength {
    font-size: 0.9rem;
    font-weight: 500;
}

#password-strength.weak {
    color: red;
}

#password-strength.medium {
    color: orange;
}

#password-strength.strong {
    color: green;
}
/* Red border for invalid input */
.input-invalid {
    border-bottom: 2px solid red !important;
}

.invalid-feedback {
    color: red;
    font-size: 0.9rem;
    margin-top: 2px;
}
