:root {
    --primary: #1AABE0;
    --accent: #F5A623;
    --primary-dark: #1590c0;
    --accent-dark: #d48b10;
}

/* Header */
.site-header .navbar-brand {
    font-size: 1.2rem;
}
.brand-text .text-primary { color: var(--primary) !important; }
.text-accent { color: var(--accent) !important; }
.text-primary { color: var(--primary) !important; }
.bg-primary { background: var(--primary) !important; }

/* Buttons */
.btn-primary { background: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.btn-accent { background: var(--accent); border-color: var(--accent); color: white; }
.btn-accent:hover { background: var(--accent-dark); border-color: var(--accent-dark); color: white; }
.btn-outline-primary { color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:hover { background: var(--primary); border-color: var(--primary); }

/* Hero */
.hero-section {
    background: linear-gradient(135deg, var(--primary) 0%, #0d7eb3 100%);
    min-height: 400px;
    display: flex;
    align-items: center;
}
.hero-overlay { width: 100%; padding: 60px 0; }

/* Section title */
.section-title {
    color: var(--primary);
    font-weight: 700;
    position: relative;
    padding-bottom: 15px;
}
.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--accent);
    border-radius: 2px;
}
.section-title.center::after {
    left: 50%;
    transform: translateX(-50%);
}

/* Cards */
.news-card { cursor: pointer; }
.news-card:hover { transform: translateY(-3px); transition: 0.2s; box-shadow: 0 8px 20px rgba(0,0,0,0.1) !important; }
.teacher-card { cursor: pointer; }
.teacher-card:hover { transform: translateY(-3px); transition: 0.2s; box-shadow: 0 8px 20px rgba(0,0,0,0.1) !important; }

.teacher-avatar {
    width: 80px; height: 80px;
    background: var(--primary);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: white;
}

/* Badge */
.badge.bg-primary { background: var(--primary) !important; }

/* Admin nav */
.nav-link.active { color: var(--primary) !important; font-weight: 600; }
.navbar-nav .nav-link:hover { color: var(--primary) !important; }

/* Footer */
.site-footer a.text-accent { color: var(--accent) !important; }

/* ── Site enhancements ── */

/* Header scroll effect */
.site-header .navbar {
    transition: box-shadow 0.3s ease, padding 0.3s ease;
}
.site-header.scrolled .navbar {
    box-shadow: 0 4px 20px rgba(0,0,0,0.10) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Card hover upgrade */
.card {
    transition: transform 0.22s ease-out, box-shadow 0.22s ease-out !important;
}
.card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 32px rgba(26,171,224,0.13) !important;
}

/* Button micro-interaction */
.btn {
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.1s ease !important;
}
.btn:hover {
    box-shadow: 0 4px 16px rgba(26,171,224,0.20);
}

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Image hover zoom */
.card img {
    transition: transform 0.4s ease;
}
.card:hover img {
    transform: scale(1.04);
}

/* Section fade-in via AOS default */
[data-aos] {
    pointer-events: none;
}
[data-aos].aos-animate {
    pointer-events: auto;
}
