html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    /*overflow: hidden;*/ /* Prevent entire body from scrolling */
    overflow: visible;
}

body {
    display: flex;
    flex-direction: column;
}

/* Fixed header and footer */
/*header {
    flex-shrink: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
}*/
header {
    position: sticky;
    top: 0;
    z-index: 1030;
}

footer {
    flex-shrink: 0;
    position: sticky; /*fixed*/
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
}

/* Scrollable content between header & footer */
/*.page-content {
    flex: 1 1 auto;
    margin-top: 102px;*/ /* adjust based on header height */
    /*margin-bottom: 38px;*/ /* adjust based on footer height */
    /*overflow-y: auto;
    overflow-x: hidden;
    height: calc(100vh - 140px);*/ /* total space between header & footer */
    /*margin-left: 20px;
    margin-right: 20px;
}*/
.page-content {
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 38px;
}
body {
    font-family: 'Poppins', sans-serif;
    background-color: #f8f9fa;
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.nav-link {
    color: #333;
    font-weight: 500;
    transition: color 0.3s ease;
}

    .nav-link:hover {
        /*color: #00ff00;*/
    }

    .nav-link.active {
        color: #fff !important;  /*#ff0000*/
        background-color: #17c4bb;  /*#AFDDFF*/
    }

/* Sub-Header Styling */
.navbar-subheader {
    background-color: #1281e3; /* #1281e3   #6c757d*/
    /*padding: 1px 0;*/
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    position: sticky; /* fixed */
    margin-top: 75px; /* height of your main navbar */
    left: 0;
    width: 100%;
    z-index: 1029; /* just below the main header (which uses 1030) */
}

    .navbar-subheader .navbar-nav {
        display: flex;
        flex-direction: row;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .navbar-subheader .nav-item {
        margin: 0 2px;
    }

    .navbar-subheader .nav-link {
        color: white;
        font-weight: 500;
        text-decoration: none;
        padding: 3px 10px; /* Reduced padding */
        font-size: 13px; /* Match overall font size */
        transition: background-color 0.3s ease, color 0.3s ease;
    }

        .navbar-subheader .nav-link:hover {
            background-color: #17c4bb;
            color: black;
            border-radius: 10px;
        }

    .navbar-subheader .dropdown {
        position: relative;
    }

    .navbar-subheader .dropdown-menu {
        display: none;
        position: absolute;
        background-color: #1281e3; /*#6c757d*/
        min-width: 180px;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        z-index: 1000;
        border-radius: 4px;
        padding: 0;
        list-style: none;
    }

    .navbar-subheader .dropdown:hover .dropdown-menu {
        display: block;
    }

    .navbar-subheader .dropdown-item {
        color: white;
        padding: 4px 15px;
        text-decoration: none;
        display: block;
        transition: background-color 0.3s ease, color 0.3s ease;
        font-size: 12px;
    }

        .navbar-subheader .dropdown-item:hover {
            background-color: #17c4bb; /* #AFDDFF*/
            /*color: black;*/
        }

/* Dropdown Button Styling */
.dropdown-toggle {
    /*background-color: #6c757d;*/
    border: none;
    padding: 8px 15px;
    font-weight: 500;
    color: #FFFFFF;
    transition: background-color 0.3s ease, color 0.3s ease;
    border-radius: 3px;
    display: inline-block; /* Ensure visibility */
}

    .dropdown-toggle:hover {
        background-color: #1281e3;
        color: #ff6f61;
        cursor: pointer;
    }

.hamburger {
    font-size: 20px;
    display: inline-block; /* Ensure hamburger icon is visible */
}

/* Dropdown box */
.dropdown-menu {
    background-color: #6c757d; /* Matches your current theme */
    border: none;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
    border-radius: 6px; /* Slightly smoother corners */
    min-width: 180px; /* Enough space for icon + text */
    padding: 0;
    list-style: none;
    z-index: 1000;
}

/* Dropdown items */
.dropdown-item {
    color: #FFFFFF;
    padding: 10px 16px;
    display: flex; /* Ensures perfect icon alignment */
    align-items: center; /* Centers icon vertically */
    gap: 10px; /* Space between icon + text */
    font-size: 0.95rem;
    transition: background-color 0.25s ease, color 0.25s ease;
}

    /* Icons inside dropdown */
    .dropdown-item i {
        font-size: 1rem;
        color: #f8f9fa; /* Soft white icon to match text */
        transition: color 0.25s ease;
    }

    /* Hover state */
    .dropdown-item:hover {
        background-color: #AFDDFF; /* Your existing hover background */
        /*color: #ff6f61;*/ /* Hover text color */
    }

        /* Icon hover color (matches your theme) */
        .dropdown-item:hover i {
            /*color: #ff6f61;*/ /* Icons change color along with text */
        }

/* Open dropdown on hover */
.nav-item.dropdown:hover .dropdown-menu {
    display: block;
    right : 0%;
}

/* LOGIN button theme */
.btn-login {
    color: #0d6efd;
    background-color: #ffffff;
    border: 1px solid #0d6efd;
    border-radius: 8px;
}

    .btn-login i {
        color: #0d6efd;
    }

    .btn-login:hover {
        background-color: #0d6efd;
        color: #ffffff;
    }

        .btn-login:hover i {
            color: #ffffff;
        }

/* SIGNUP button theme */
.btn-signup {
    color: #198754;
    background-color: #ffffff;
    border: 1px solid #198754;
    border-radius: 8px;
}

    .btn-signup i {
        color: #198754;
    }

    .btn-signup:hover {
        background-color: #198754;
        color: #ffffff;
    }

        .btn-signup:hover i {
            color: #ffffff;
        }

/* DEMO button theme */
.btn-demo {
    color: #0dcaf0; /* Bootstrap info color */
    background-color: #ffffff;
    border: 1px solid #0dcaf0;
    border-radius: 8px;
}

    .btn-demo i {
        color: #0dcaf0;
    }

    .btn-demo:hover {
        background-color: #0dcaf0;
        color: #ffffff;
    }

        .btn-demo:hover i {
            color: #ffffff;
        }

/* partner button theme */
.btn-partner {
    color: #6f42c1;
    background-color: #ffffff;
    border: 1px solid #6f42c1;
    border-radius: 8px;
}

    .btn-partner i {
        color: #6f42c1;
    }

    .btn-partner:hover {
        background-color: #6f42c1;
        color: #ffffff;
    }

        .btn-partner:hover i {
            color: #ffffff;
        }

/* Global spinner */
.spinner {
    width: 50px;
    height: 50px;
    border: 6px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin: 0 auto 10px auto;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.required-star {
    color: #dc3545; /* bootstrap danger */
    font-weight: 700;
    margin-left: 3px;
}
.required::after {
    content: " *";
    color: #ef4444;
    font-weight: 500;
    margin-left: 2px;
}
/*@media (max-width: 576px) {
    .page-content {
        flex: 1 1 auto;
        margin-top: 150px;*/ /* adjust based on header height */
        /*margin-bottom: 38px;*/ /* adjust based on footer height */
        /*overflow-y: auto;
        overflow-x: hidden;
        height: calc(100vh - 188px);*/ /* total space between header & footer */
        /*margin-left: 20px;
        margin-right: 20px;
    }
}

@media (min-width: 768px) {
    .page-content {
        flex: 1 1 auto;
        margin-top: 150px;*/ /* adjust based on header height */
        /*margin-bottom: 38px;*/ /* adjust based on footer height */
        /*overflow-y: auto;
        overflow-x: hidden;
        height: calc(100vh - 188px);*/ /* total space between header & footer */
        /*margin-left: 20px;
        margin-right: 20px;
    }
}

@media (min-width: 992px) {
    .page-content {
        flex: 1 1 auto;
        margin-top: 102px;*/ /* adjust based on header height */
        /*margin-bottom: 38px;*/ /* adjust based on footer height */
        /*overflow-y: auto;
        overflow-x: hidden;
        height: calc(100vh - 140px);*/ /* total space between header & footer */
        /*margin-left: 20px;
        margin-right: 20px;
    }
}

@media (min-width: 1200px) {
    .page-content {
        flex: 1 1 auto;
        margin-top: 102px;*/ /* adjust based on header height */
        /*margin-bottom: 38px;*/ /* adjust based on footer height */
        /*overflow-y: auto;
        overflow-x: hidden;
        height: calc(100vh - 140px);*/ /* total space between header & footer */
        /*margin-left: 20px;
        margin-right: 20px;
    }
}*/

.logo-preview-wrapper {
    position: relative;
    display: inline-block;
}

/* Small logo */
.logo-small {
    cursor: pointer;
}

/* Hidden big preview */
.logo-large-preview {
    position: absolute;
    top: 60px; /* below navbar */
    left: 0;
    width: 380px; /* adjust size as needed */
    background: white;
    padding: 8px;
    border-radius: 10px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
    display: none;
    z-index: 2000;
    transition: all 0.2s ease;
    transform: scale(0.9);
    opacity: 0;
}

/* Show preview on hover */
.logo-preview-wrapper:hover .logo-large-preview {
    display: block;
    transform: scale(1);
    opacity: 1;
}


/* ?? SELECT2 PREMIUM STYLE */

.select2-container .select2-selection--single {
    height: 38px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    background: #fff;
    transition: all 0.2s ease;
}

    /* Hover */
    .select2-container .select2-selection--single:hover {
        border-color: #6366f1 !important;
    }

/* Focus (IMPORTANT) */
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
}

/* Text */
.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
    padding-left: 10px !important;
    color: #111827 !important;
    font-weight: 500;
}

/* Arrow */
.select2-container .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
    right: 6px;
}

/* Clear button */
.select2-selection__clear {
    margin-right: 50px;
    font-size: 16px;
    color: #9ca3af;
}

/* Dropdown */
.select2-dropdown {
    border-radius: 10px !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
    overflow: hidden;
    font-size: 14px;
}

/* Options */
.select2-results__option {
    padding: 8px 12px;
    transition: background 0.15s ease;
}

/* Hover option */
.select2-results__option--highlighted {
    background: #6366f1 !important;
    color: #fff;
}

/* Selected option */
.select2-results__option[aria-selected="true"] {
    background: #eef2ff;
    color: #4338ca;
    font-weight: 500;
}

/* Search box */
.select2-container--default .select2-search--dropdown .select2-search__field {
    border-radius: 6px;
    border: 1px solid #c7d2fe;
    padding: 6px 8px;
    font-size: 13px;
}

/* Placeholder */
.select2-search__field::placeholder {
    color: #9ca3af;
}

/* Scroll */
.select2-results__options {
    max-height: 280px !important;
}

/* Fix z-index */
.select2-dropdown {
    z-index: 9999 !important;
}

#currentDateTime {
    background-color: #ffffff;
    color: #0d6efd;
    padding: 6px 14px;
    border-radius: 50px;
    font-family: monospace;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
