/* Custom styles for SMAN 2 Kuta Selatan LMS */
.hero {
    background: linear-gradient(90deg, #0056b3 60%, #fff 100%);
    color: #fff;
    padding: 60px 0 40px 0;
}

.hero-title {
    font-size: 2.8rem;
    font-weight: 700;
}

.hero-subtitle {
    font-size: 1.3rem;
    font-weight: 400;
}

.school-badge {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 1rem;
    padding: 0.5rem 1.5rem;
    display: inline-block;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: 1.2rem;
}

.feature-icon {
    font-size: 2.5rem;
    color: #0056b3;
}

.course-card {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
    transition: box-shadow 0.2s;
}

.course-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.13);
}

/* Custom blue carousel control icons */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: none !important;
    background-image: none !important;
    color: #0d6efd !important;
    /* Bootstrap primary blue */
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-control-prev-icon::after,
.carousel-control-next-icon::after {
    font-family: "bootstrap-icons";
    color: #0d6efd;
    font-size: 2rem;
}

.carousel-control-prev-icon::after {
    content: "\f284";
    /* bi-chevron-left */
}

.carousel-control-next-icon::after {
    content: "\f285";
    /* bi-chevron-right */
}

/* Hide number input spinners for Student ID */
.no-spinner::-webkit-outer-spin-button,
.no-spinner::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.no-spinner {
    -moz-appearance: textfield;
}

/* Sticky footer for all pages */
html,
body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

footer {
    margin-top: auto;
}

/* Dashboard sidebar background color */
.sidebar {
    background-color: #e9f0fb !important;
    /* Light blue, matches theme */
    min-height: 100vh;
    min-height: auto;
    border-right: 1px solid #dee2e6;
}

/* Sidebar overlays navbar on small screens */
@media (max-width: 991.98px) {
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        width: 220px;
        height: 100vh;
        z-index: 1051;
        /* higher than navbar (Bootstrap default is 1030) */
        box-shadow: 2px 0 8px rgba(0, 0, 0, 0.08);
        border-right: 1px solid #dee2e6;
        background-color: #e9f0fb !important;
        transition: transform 0.3s ease;
    }

    .sidebar+main {
        margin-left: 0 !important;
    }
}

@media (min-width: 992px) {
    .sidebar {
        position: static;
        min-height: 100vh;
        height: auto;
        z-index: 1;
    }
}

/* Sidebar menu hover and active effects */
.sidebar-menu .nav-link {
    border-radius: 0.375rem;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

.sidebar-menu .nav-link:hover,
.sidebar-menu .nav-link.active {
    background: #0d6efd !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(13, 110, 253, 0.08);
}

.sidebar-menu .nav-link:hover i,
.sidebar-menu .nav-link.active i {
    color: #fff !important;
}

/* Dashboard Theme Customization */
.dashboard-bg {
    background: #f7f9fb;
    /* min-height: 100vh; */
}

.dashboard-bg main {
    min-height: 0;
    min-height: 100vh;
    height: auto;
    display: block;
}

.dashboard-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #232c3d;
    margin-bottom: 0.5rem;
}

.dashboard-subtitle {
    font-size: 1.1rem;
    color: #6c757d;
    margin-bottom: 2rem;
}

.dashboard-card {
    background: #22335a !important;
    border: none;
    border-radius: 1.25rem !important;
    box-shadow: 0 4px 24px rgba(34, 51, 90, 0.08);
    padding: 0.5rem 0.5rem;
}

.card-color {
    background: #22335a !important;
}

.dashboard-card-number {
    font-size: 2.5rem;
    color: #fff;
    font-weight: 700;
}

.dashboard-card-label {
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
}

.dashboard-card-sub {
    color: #b6c2e1;
    font-size: 0.95rem;
}

.dashboard-icon svg {
    color: #fff;
    background: #2e437a;
    border-radius: 0.75rem;
    padding: 0.5rem;
    box-shadow: 0 2px 8px rgba(34, 51, 90, 0.10);
}

.dashboard-table {
    /* border-radius: 1.25rem !important; */
    border-radius: 0 !important;
    box-shadow: 0 4px 24px rgba(34, 51, 90, 0.08);
    overflow: hidden;
    background: #fff;
    border: none;
}

.dashboard-table-header {
    background: #22335a !important;
    color: #fff !important;
    font-size: 1.1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;

    border-top-left-radius: 1.25rem !important;
    border-top-right-radius: 1.25rem !important;
    border-bottom: none;
}

.dashboard-activity-table th,
.dashboard-activity-table td {
    vertical-align: middle;
    font-size: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.dashboard-table-thead {
    background: #f7f9fb;
    color: #22335a;
    font-weight: 600;
    border-bottom: 2px solid #e9f0fb;
}

.dashboard-activity-table tr {
    border-bottom: 1px solid #f0f2f7;
}

.dashboard-activity-table tr:last-child {
    border-bottom: none;
}

/* Responsive tweaks for dashboard */
@media (max-width: 767.98px) {
    .dashboard-card {
        margin-bottom: 1rem;
    }

    .dashboard-title {
        font-size: 2rem;
    }
}