:root {
    --school-green: #065f46;
    --school-green-soft: #15803d;
    --school-orange: #ffb74d;
}

body {
    background: linear-gradient(180deg, #f7fff6 0%, #fffdf8 100%);
    color: #1f2937;
}

.navbar {
    background: rgba(6, 95, 70, 0.95) !important;
    border-bottom: 1px solid rgba(220, 252, 231, 0.28);
    box-shadow: 0 12px 24px rgba(2, 6, 23, 0.15);
}

.navbar .container {
    max-width: 1200px;
}

.nav-links {
    background: rgba(255, 255, 255, 0.96);
    border-radius: 999px;
    padding: 0.35rem;
    box-shadow: 0 10px 24px rgba(2, 6, 23, 0.14);
    gap: 0.3rem;
}

.nav-links a {
    color: #0f172a !important;
    border-radius: 999px;
    padding: 0.45rem 0.75rem !important;
    font-size: 0.85rem !important;
    font-weight: 700;
    white-space: nowrap;
    transition: all 0.25s ease;
}

.nav-links a:hover,
.nav-links a.active {
    background: var(--school-orange);
    color: var(--school-green) !important;
}

.language-switcher {
    background: #f1f5f9;
    border-radius: 999px;
    padding: 0.2rem;
}

.language-switcher a.active {
    background: var(--school-green) !important;
    color: #fff !important;
}

.mobile-menu {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid #dcfce7;
    box-shadow: 0 16px 28px rgba(2, 6, 23, 0.15);
}

.mobile-menu .nav-links {
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.mobile-menu .nav-links a {
    background: #f8fafc;
    color: #0f172a !important;
    border-radius: 0.8rem;
}

.info-hub,
.fees,
.exams,
.content-page,
.policies,
.national-identity-policy,
.timetable-section {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
}

.info-hub::before,
.fees::before,
.exams::before,
.content-page::before,
.policies::before,
.national-identity-policy::before,
.timetable-section::before,
.info-hub::after,
.fees::after,
.exams::after,
.content-page::after,
.policies::after,
.national-identity-policy::after,
.timetable-section::after {
    content: "";
    position: absolute;
    left: -10%;
    width: 120%;
    pointer-events: none;
    z-index: 0;
    background-repeat: repeat-x;
    background-size: 500px 95px;
    opacity: 0.3;
    animation: pageWave 14s linear infinite;
}

.info-hub::before,
.fees::before,
.exams::before,
.content-page::before,
.policies::before,
.national-identity-policy::before,
.timetable-section::before {
    top: -16px;
    height: 78px;
    background-image: radial-gradient(52px 26px at 50% 100%, rgba(255, 255, 255, 0.76) 98%, transparent 100%);
}

.info-hub::after,
.fees::after,
.exams::after,
.content-page::after,
.policies::after,
.national-identity-policy::after,
.timetable-section::after {
    bottom: -18px;
    height: 84px;
    opacity: 0.22;
    background-image: radial-gradient(56px 28px at 50% 0, rgba(255, 255, 255, 0.72) 98%, transparent 100%);
    animation-duration: 18s;
    animation-direction: reverse;
}

.info-hub > .container,
.fees > .container,
.exams > .container,
.content-page > .container,
.policies > .container,
.national-identity-policy > .container,
.timetable-section > .container {
    position: relative;
    z-index: 1;
}

.hub-card,
.policy-card,
.grade-group,
.tabs-container,
.fees-content,
.pdf-container,
.info-item,
.contact-map {
    border: 1px solid #dcfce7 !important;
    border-radius: 1.2rem !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.1) !important;
}

.hub-card:hover,
.policy-card:hover,
.grade-group:hover {
    transform: translateY(-6px);
}

footer {
    background: linear-gradient(135deg, #065f46 0%, #0d7a43 60%, #15803d 100%) !important;
    color: #eaffef !important;
}

footer .footer-content {
    position: relative;
}

footer .footer-content::before {
    content: "";
    position: absolute;
    inset: -10px 0 auto 0;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
}

footer a {
    color: #ffddad !important;
}

@keyframes pageWave {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-250px);
    }
}

@media (max-width: 1024px) {
    .nav-links {
        border-radius: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .info-hub::before,
    .fees::before,
    .exams::before,
    .content-page::before,
    .policies::before,
    .national-identity-policy::before,
    .timetable-section::before,
    .info-hub::after,
    .fees::after,
    .exams::after,
    .content-page::after,
    .policies::after,
    .national-identity-policy::after,
    .timetable-section::after {
        animation: none !important;
    }
}
