* {
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body {
    overflow-x: hidden;
    color: #e8eaed;
    background-color: #202124 !important;
}

.cursor-pointer {
    cursor: pointer;
}

#mainNav {
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
    background-color: transparent;
}

#mainNav.scrolled {
    background-color: #202124;
    box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.navbar-brand img {
    border-radius: 8px;
}

.app-main-logo {
    width: 180px;
    height: 180px;
    object-fit: cover;
}

.btn-success {
    background-color: #01875f;
    border-color: #01875f;
    transition: transform 0.2s, background-color 0.2s;
}

.btn-success:hover {
    background-color: #017351;
    border-color: #017351;
    transform: scale(1.02);
}

.btn-outline-light:hover {
    transform: scale(1.02);
}

.quick-stats .fw-bold {
    color: #e8eaed;
}

.swiper {
    width: 100%;
    padding: 20px 0;
}

.swiper-slide {
    width: auto !important;
    max-width: 280px;
}

.swiper-slide img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

.card {
    transition: transform 0.3s ease;
    border-radius: 16px;
}

.card:hover {
    transform: translateY(-5px);
    background-color: #303134 !important;
}

.badge {
    font-weight: 400;
    background-color: #3c4043 !important;
}

footer a:hover {
    opacity: 1 !important;
    text-decoration: underline !important;
}

@media (max-width: 768px) {
    .app-main-logo {
        width: 120px;
        height: 120px;
        margin-bottom: 20px;
    }
    h1 {
        font-size: 1.8rem;
    }
    .swiper-slide {
        max-width: 200px;
    }
    .swiper-slide img {
        height: 350px;
    }
}/* --- Base Typography and Layout for Secure Policy Grid --- */

.securePolicyGrid {
    /* Top and side spacing for the main container */
    padding: 40px 24px 0 24px;
    /* Ensuring text color matches the dark theme */
    color: #e0e0e0;
    line-height: 1.6;
}

/* Moderate sizes for headings to keep them clean and professional */
.securePolicyGrid h1 {
    font-size: 1.75rem;
    margin-bottom: 1.2rem;
    color: #ffffff;
    font-weight: 700;
}

.securePolicyGrid h2 {
    font-size: 1.5rem;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: #ffffff;
    font-weight: 600;
}

.securePolicyGrid h3 {
    font-size: 1.25rem;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    color: #f0f0f0;
    font-weight: 600;
}

.securePolicyGrid h4 {
    font-size: 1.1rem;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
    color: #f0f0f0;
    font-weight: 600;
}

.securePolicyGrid h5 {
    font-size: 1rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    color: #f0f0f0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Paragraph styles for better readability */
.securePolicyGrid p {
    font-size: 0.95rem;
    margin-bottom: 1.25rem;
    color: #cccccc; /* Slightly muted for body text */
}

/* List styles with proper indentation and spacing */
.securePolicyGrid ul {
    margin-bottom: 1.25rem;
    padding-left: 1.5rem;
    list-style-type: disc;
}

.securePolicyGrid li {
    margin-bottom: 0.6rem;
    font-size: 0.95rem;
    color: #cccccc;
}

/* Last element margin reset to prevent extra spacing */
.securePolicyGrid > *:last-child {
    margin-bottom: 0;
}


@media (min-width: 992px) {
    .navbar-expand-lg .navbar-collapse {
        justify-content: flex-end !important;
    }
}

@media (max-width: 991px) {
    #navbarNav{
        background-color: #000 !important;
    }
}


