/* ==========================================================================
   Typography & Local Font Initialization
   ========================================================================== */

/* UniSIRWAN Safaa Bold - Main Titles */
@font-face {
    font-family: 'UniSIRWAN Safaa';
    src: url('../../Fonts/UniSIRWAN Safaa Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

/* UniSIRWAN Safaa Medium - Subtitles & Widgets */
@font-face {
    font-family: 'UniSIRWAN Safaa';
    src: url('../../Fonts/UniSIRWAN Safaa Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

/* UniSIRWAN Safaa Regular - Body Context, Navigation & Footer Text */
@font-face {
    font-family: 'UniSIRWAN Safaa';
    src: url('../../Fonts/UniSIRWAN Safaa Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

/* ==========================================================================
   Global Element Font Mapping
   ========================================================================== */

/* Target regular text including main navigation links and entire footer structure */
body, p, li, span, input, textarea, select, button, .navbar-nav li a, .site-footer, .site-footer * {
    font-family: 'UniSIRWAN Safaa', sans-serif !important;
    font-weight: 400 !important;
}

/* Target bold main headlines */
h1, h2, h3, .display-5 {
    font-family: 'UniSIRWAN Safaa', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

/* Target medium subtitles, sidebar widgets, badges and generic buttons */
h4, h5, h6, .widget-title, .badge, .btn {
    font-family: 'UniSIRWAN Safaa', sans-serif !important;
    font-weight: 500 !important;
}

/* ==========================================================================
   Core Theme Layout Styles (Green & White Background Identity)
   ========================================================================== */

.transition { 
    transition: all 0.3s ease; 
}

.hover-shadow:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 10px 200px rgba(0,0,0,0.1) !important; 
}

/* Core Green & White Brand Background Identity */
body {
    background-color: #ffffff !important;
    background-image: linear-gradient(180deg, #f4f9f6 0%, #ffffff 100%) !important;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   Professional Navigation Menu (Transparent to Solid Green)
   ========================================================================== */

/* Default State: Optimized sizing, spacing, and regular weight typography */
.navbar-nav li a {
    display: block !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: 0.4rem !important;
    transition: all 0.25s ease-in-out !important;
    color: #198754 !important;
    background-color: rgba(25, 135, 84, 0.08) !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
    font-size: 0.88rem !important;
    white-space: nowrap !important;
}

/* Hover State */
.navbar-nav li a:hover {
    background-color: #198754 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(25, 135, 84, 0.15) !important;
    text-decoration: none !important;
}

/* Current Active Page State */
.navbar-nav .current-menu-item > a,
.navbar-nav .current_page_item > a {
    color: #ffffff !important;
    background-color: #146c43 !important;
    box-shadow: 0 4px 8px rgba(25, 135, 84, 0.15) !important;
    text-decoration: none !important;
}

/* Desktop Navigation Layout Tweaks */
@media (min-width: 992px) {
    .navbar-nav {
        gap: 0.25rem !important;
    }
    .navbar-nav .nav-item {
        position: relative;
    }
    .navbar-nav .nav-item:not(:last-child)::after {
        content: "";
        position: absolute;
        left: -0.125rem;
        top: 30%;
        height: 40%;
        width: 1px;
        background-color: rgba(25, 135, 84, 0.15) !important;
        z-index: 1;
    }
}

/* Mobile & Tablet Responsive Layout */
@media (max-width: 991.98px) {
    .navbar-nav {
        padding-top: 0.5rem;
        gap: 0.4rem !important;
    }
    .navbar-nav li a {
        text-align: right !important;
        padding: 0.8rem 1rem !important;
        font-size: 0.95rem !important;
    }
    .navbar-nav .nav-item::after {
        display: none !important;
    }
}