/* ===========================
   Variables
   =========================== */

:root {
    --primary-color: #6C3DD6;
    --secondary-color: #E83E8C;
    --accent-color: #FF9A3D;

    --dark-color: #1A1A1A;
    --light-color: #F8F9FA;

    --success-color: #48bb78;
    --warning-color: #ed8936;
    --danger-color: #f56565;

    --text-muted: #6b7280;

    --border-light: rgba(108,61,214,.08);

    --shadow-sm: 0 4px 12px rgba(0,0,0,.03);
    --shadow-md: 0 10px 25px rgba(0,0,0,.08);
    --shadow-lg: 0 20px 40px rgba(0,0,0,.12);

    --radius-sm: 12px;
    --radius-md: 20px;
    --radius-lg: 30px;

    --brand-gradient: linear-gradient(
        135deg,
        var(--primary-color),
        var(--secondary-color),
        var(--accent-color)
    );
}

/* ===========================
   Base
   =========================== */

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f9f9f9;
}

a {
    color: var(--primary-color);
    transition: color .3s ease;
}

a:hover {
    color: var(--secondary-color);
}

/* ===========================
   Navbar
   =========================== */

.navbar {
    background: white !important;

    box-shadow:
        0 2px 15px rgba(0,0,0,.05);

    padding-top: 15px;
    padding-bottom: 15px;

    border-bottom: 1px solid rgba(0,0,0,.04);
}

.navbar-brand {
    font-size: 1.5rem;
    color: var(--primary-color) !important;
    transition: color .3s ease;
}

.navbar-brand:hover {
    color: var(--secondary-color) !important;
}

.navbar-brand img {
    height: 55px;
    width: auto;
}

@media (max-width:768px) {

    .navbar-brand img {
        height: 45px;
    }
}

/* ===========================
   Cards
   =========================== */

.card {
    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 10px 20px rgba(0,0,0,.15) !important;
}

.hover-shadow:hover {
    box-shadow:
        0 10px 20px rgba(0,0,0,.15) !important;
}

/* ===========================
   Buttons
   =========================== */

.btn {
    border-radius: 4px;
    font-weight: 500;
    transition: all .3s ease;
}

.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-primary:hover {
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
}

.btn-success {
    background-color: var(--success-color);
    border-color: var(--success-color);
}

.btn-success:hover {
    background-color: #38a169;
    border-color: #38a169;
}

/* ===========================
   Forms
   =========================== */

.form-control,
.form-select {

    border-radius: 4px;

    border: 1px solid #dee2e6;

    transition:
        border-color .3s ease,
        box-shadow .3s ease;
}

.form-control:focus,
.form-select:focus {

    border-color: var(--primary-color);

    box-shadow:
        0 0 0 .2rem rgba(102,126,234,.25);
}

/* ===========================
   Breadcrumb
   =========================== */

.breadcrumb {
    background: transparent;
    padding: 0;
}

.breadcrumb-item.active {
    color: var(--primary-color);
    font-weight: 500;
}

/* ===========================
   Pagination
   =========================== */

.pagination .page-link {
    color: var(--primary-color);
    border-color: #dee2e6;
}

.pagination .page-link:hover {
    color: white;
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.pagination .page-item.active .page-link {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

/* ===========================
   Typography
   =========================== */

h1,h2,h3,h4,h5,h6 {
    color: var(--dark-color);
    font-weight: 600;
}

.fw-bold {
    font-weight: 700 !important;
}

/* ===========================
   Utilities
   =========================== */

.shadow-sm {
    box-shadow: 0 2px 4px rgba(0,0,0,.1) !important;
}

.shadow {
    box-shadow: 0 4px 8px rgba(0,0,0,.1) !important;
}

.shadow-lg {
    box-shadow: 0 10px 20px rgba(0,0,0,.15) !important;
}

.section-light {
    background: #fff;
}

.section-gray {
    background: #f8f9fc;
}

/* ===========================
   Animations
   =========================== */

@keyframes fadeInUp {

    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp .6s ease;
}

/* ===========================
   Accessibility
   =========================== */

.btn:focus,
.form-control:focus,
.form-select:focus {

    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* ===========================
   Print
   =========================== */

@media print {

    .navbar,
    footer,
    .no-print {
        display: none;
    }
}