﻿:root {
    --rockwell: #ffc000; /* Accent */
    --rockwell-blue: #10253f; /* Accent */
    --primary: #153a70; /* Darker Blue */
    --secondary: #6c757d; /* Default Grey */
    --warning: #856404; /* Darker Gold */
    --danger: #721c24; /* Darker Red */
    --success: #34d399; /* Lighter/Brighter Green */
    --light: #f8f9fa; /* Off-white text */
    --dark: #0f172a; /* Deep Slate background */
    --surface: #1e293b; /* Slightly lighter than body bg for cards/modals */
    --info: #c8d6e5
}

/* --- Buttons --- */
.btn {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: filter 0.2s;
}

    .btn:hover {
        filter: brightness(1.2);
    }

.btn-primary {
    background-color: var(--primary);
    color: white;
}

.btn-success {
    background-color: var(--success);
    color: #000;
}

.btn-warning {
    background-color: var(--warning);
    color: #fff;
}

.btn-danger {
    background-color: var(--danger);
    color: #fff;
}

.btn-rockwell {
    background-color: var(--rockwell);
    color: #000;
}

    /* Bootstrap's .btn:hover/:active resolve background from --bs-btn-hover-bg,
       which is undefined for this custom variant, so the fill would vanish. */
    .btn-rockwell:hover,
    .btn-rockwell:focus,
    .btn-rockwell:focus-visible,
    .btn-rockwell:active,
    .btn-rockwell:first-child:active {
        background-color: var(--rockwell);
        color: #000;
        filter: brightness(1.1);
    }

.btn-secondary {
    background-color: var(--secondary);
    color: #fff;
}

/* --- Outline Buttons (mirror solid variants) --- */
.btn-outline-primary {
    background-color: transparent;
/*    border: 2px solid var(--primary);*/
    color: var(--primary);
}

    .btn-outline-primary:hover {
        background-color: var(--primary);
        color: #fff;
        filter: none;
    }

.btn-outline-secondary {
    background-color: transparent;
/*    border: 2px solid var(--secondary);*/
    color: var(--secondary);
}

    .btn-outline-secondary:hover {
        background-color: var(--secondary);
        color: #fff;
        filter: none;
    }

.btn-outline-success {
    background-color: transparent;
/*    border: 2px solid var(--success);*/
    color: var(--success);
}

    .btn-outline-success:hover {
        background-color: var(--success);
        color: #000;
        filter: none;
    }

.btn-outline-warning {
    background-color: transparent;
/*    border: 2px solid var(--warning);*/
    color: var(--warning);
}

    .btn-outline-warning:hover {
        background-color: var(--warning);
        color: #fff;
        filter: none;
    }

.btn-outline-danger {
    background-color: transparent;
/*    border: 2px solid var(--danger);*/
    color: var(--danger);
}

    .btn-outline-danger:hover {
        background-color: var(--danger);
        color: #fff;
        filter: none;
    }

.btn-outline-rockwell {
    background-color: transparent;
/*    border: 2px solid var(--rockwell);*/
    color: var(--rockwell);
}

    .btn-outline-rockwell:hover {
        background-color: var(--rockwell);
        color: #000;
        filter: none;
    }

/* --- Badges --- */
.badge {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    border-radius: 12px;
    font-weight: bold;
}

.badge-primary {
    background-color: var(--primary);
    color: var(--light);
}

.badge-success {
    background-color: var(--success);
    color: #000;
}

.badge-danger {
    background-color: var(--danger);
    color: #fff;
}

/* --- Background --- */
.bg-rockwell {
    background-color: var(--rockwell);
    color: #000;
}

.bg-rockwell-blue {
    background-color: var(--rockwell-blue);
    color: var(--rockwell);
}

.bg-secondary {
    background-color: var(--secondary) !important;
    color: var(--rockwell);
}

/* --- Color --- */
.text-rockwell {
    color: var(--rockwell)!important;
}

.text-rockwell-blue {
    color: var(--rockwell-blue) !important;
}

.text-primary {
    color: var(--primary) !important;
}

.text-secondary {
    color: var(--secondary) !important;
}

.text-success {
    color: var(--success) !important;
}

.text-danger {
    color: var(--danger) !important;
}

.text-warning {
    color: var(--warning) !important;
}

.text-light {
    color: var(--light) !important;
}

.text-dark {
    color: var(--dark) !important;
}

.text-muted {
    color: var(--secondary) !important;
}

/* --- Font Family --- */
.font-brittany {
    font-family: 'Brittany', cursive;
    letter-spacing: 5px;
}

.font-garet {
    font-family: 'Garet', sans-serif;
    letter-spacing: 0.5px;
    font-weight: 400;
}
    .font-garet h1,
    .font-garet h2,
    .font-garet h3,
    .font-garet h4,
    .font-garet h5,
    .font-garet h6,
    .font-garet strong,
    .font-garet .fw-bold,
    .font-garet .form-label,
    .font-garet .btn,
    .font-garet .form-control 
    {
        font-family: 'Garet', sans-serif !important;
        font-weight: 500 !important;
        letter-spacing: 0.5px !important;
    }

.font-glacial {
    font-family: 'Glacial', sans-serif;
}

.font-copperplate {
    font-family: 'Copperplate', serif;
    letter-spacing: 5px;
    text-transform: uppercase;
}

/* Checkbox Input*/
.form-check-input:checked {
    background-color: var(--rockwell) !important;
    border-color: var(--rockwell) !important;
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(188, 143, 93, 0.25);
}

/* Customized */
.nav-link {
    color: white !important
}
    .nav-link.active {
        background-color: var(--primary) !important;
    }


/* Fixed icon column so labels line up regardless of glyph width */
.sidebar-nav ul .sidebar-item .sidebar-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

    .sidebar-nav ul .sidebar-item .sidebar-link > i {
        width: 1.25rem;
        min-width: 1.25rem;
        margin: 0;
        text-align: center;
        flex-shrink: 0;
    }

.sidebar-link.active {
    background-color: var(--rockwell) !important;
    color: var(--rockwell-blue) !important;
}

    .sidebar-link.active i {
        color: var(--rockwell-blue) !important;
    }

.sidebar-nav ul .sidebar-item .first-level .sidebar-item .sidebar-link.active {
    background-color: var(--primary) !important;
    color: var(--rockwell) !important;
}

    .sidebar-nav ul .sidebar-item .first-level .sidebar-item .sidebar-link.active i {
        color: var(--rockwell) !important;
    }

.sidebar-nav .has-arrow::after {
    border-color: var(--rockwell) !important;
}
.sidebar-nav li > .has-arrow.active::after {
    border-color: black !important;
}
.footer-landing {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: transparent !important;
    display: flex;
    justify-content: flex-end;
    padding: 0.6rem 1.5rem;
    font-size: 0.8rem;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

    .footer-landing .container,
    .footer-landing span {
        color: rgba(255, 255, 255, 0.8);
        margin-right: 0;
        text-align: right;
        max-width: none;
    }

    .footer-landing a {
        color: var(--rockwell) !important;
        text-decoration: none;
    }
/* ── Landing background ── */
.landing-bg {
    background-image: url('/images/landing/background.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
}

/* ── Glass card (landing pages) ── */
.card-glass-landing {
    background: rgba(10, 20, 35, 0.62) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 48px rgba(0, 0, 0, 0.45) !important;
}

    .card-glass-landing .form-label {
        color: rgba(255, 255, 255, 0.85);
    }

    .card-glass-landing .form-control {
        background: rgba(255, 255, 255, 0.08);
        border-color: rgba(255, 255, 255, 0.18);
        color: #fff;
    }

        .card-glass-landing .form-control:focus {
            background: rgba(255, 255, 255, 0.12);
            border-color: rgba(255, 192, 0, 0.55);
            color: #fff;
            box-shadow: 0 0 0 0.2rem rgba(255, 192, 0, 0.15);
        }

        .card-glass-landing .form-control::placeholder {
            color: rgba(255, 255, 255, 0.35);
        }

    .card-glass-landing .btn-outline-secondary {
        background: rgba(255, 255, 255, 0.08);
        border-color: rgba(255, 255, 255, 0.18);
        color: rgba(255, 255, 255, 0.7);
    }

        .card-glass-landing .btn-outline-secondary:hover {
            background: rgba(255, 255, 255, 0.15);
            color: #fff;
        }

    .card-glass-landing .text-primary {
        color: var(--rockwell) !important;
    }

    .card-glass-landing .text-muted {
        color: rgba(255, 255, 255, 0.5) !important;
    }

    .card-glass-landing .form-check-label {
        color: rgba(255, 255, 255, 0.8);
    }

    .card-glass-landing .form-check-input {
        background-color: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.3);
    }

    /* Default text color inside glass landing card */
    .card-glass-landing,
    .card-glass-landing h3,
    .card-glass-landing h4,
    .card-glass-landing h5,
    .card-glass-landing p,
    .card-glass-landing label,
    .card-glass-landing span,
    .card-glass-landing small {
        color: #fff;
    }

        .card-glass-landing .alert {
            background: rgba(255,255,255,0.08);
            border-color: rgba(255,255,255,0.15);
            color: #fff;
        }

        .card-glass-landing .border {
            border-color: rgba(255, 255, 255, 0.15) !important;
        }

        .card-glass-landing .text-muted,
        .card-glass-landing p.text-muted {
            color: rgba(255, 255, 255, 0.55) !important;
        }