:root {
    /* Indian Tri-Color Theme Variables */
    --primary-color: #000080; /* Navy Blue (Ashoka Chakra) */
    --secondary-color: #FF9933; /* Saffron */
    --accent-color: #138808; /* Green */
    --text-color: #1e293b;
    --bg-light: #f8fafc;
    
    /* Bootstrap Overrides */
    --bs-primary: #000080;
    --bs-primary-rgb: 0, 0, 128;
    --bs-warning: #FF9933;
    --bs-warning-rgb: 255, 153, 51;
    --bs-success: #138808;
    --bs-success-rgb: 19, 136, 8;
    --bs-info: #000080;
    --bs-info-rgb: 0, 0, 128;
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--text-color);
    background-color: var(--bg-light);
}

h1, h2, h3, h4, h5, h6, .navbar-brand {
    font-family: 'Outfit', sans-serif;
}

/* Navbar Utilities */
.navbar {
    border-bottom: 4px solid transparent;
    border-image: linear-gradient(to right, #FF9933 0%, #FF9933 40%, #000080 40%, #000080 60%, #138808 60%, #138808 100%);
    border-image-slice: 1;
}

.nav-link {
    transition: color 0.3s ease;
}
.nav-link:hover {
    color: var(--secondary-color) !important;
}

/* Bootstrap Theme Overrides for Tricolor */
.btn-primary { 
    background-color: var(--bs-primary); 
    border-color: var(--bs-primary); 
}
.btn-primary:hover { 
    background-color: #000055; 
    border-color: #000055; 
}

.btn-warning { 
    background-color: var(--bs-warning); 
    border-color: var(--bs-warning); 
    color: #fff; 
}
.btn-warning:hover { 
    background-color: #e68a2e; 
    border-color: #e68a2e; 
    color: #fff; 
}
.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    color: #fff;
}

/* Footer Utilities */
.hover-white {
    transition: color 0.3s ease;
}
.hover-white:hover {
    color: #ffffff !important;
}

/* Hero Section */
.hero-section {
    position: relative;
    padding: 120px 0;
    /* Navy Blue overlay to give a premium institutional feel */
    background: linear-gradient(135deg, rgba(0, 0, 128, 0.95), rgba(0, 0, 80, 0.85)), url('https://images.unsplash.com/photo-1522202176988-66273c2fd55f?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;
    color: white;
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem;
    }
}

/* Cards */
.course-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
.course-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08);
}

/* Inner Page Hero Section */
.page-hero-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(0, 0, 128, 0.92) 0%, rgba(0, 0, 80, 0.75) 100%), url('https://images.unsplash.com/photo-1523240795612-9a054b0db644?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;
    background-attachment: fixed;
    border-bottom: 4px solid #ea580c;
    color: white;
}
.page-hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1.5px, transparent 1.5px);
    background-size: 24px 24px;
    pointer-events: none;
    z-index: 0;
}
.page-hero-section::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: 
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Crect x='20' y='20' width='60' height='60' stroke='white' stroke-width='4' fill='none' transform='rotate(45 50 50)'/%3E%3C/svg%3E"),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' stroke='white' stroke-width='4' fill='none' stroke-dasharray='10 10'/%3E%3C/svg%3E");
    background-position: top 20% right 10%, bottom -20px left 5%;
    background-repeat: no-repeat;
    opacity: 0.1;
    pointer-events: none;
    z-index: 0;
}
.page-hero-section > .container {
    position: relative;
    z-index: 1;
}

/* ── Breadcrumb ───────────────────────────────────────── */
.breadcrumb {
    align-items: center;
    gap: 0;
}

/* Override Bootstrap's ::before completely */
.breadcrumb-item + .breadcrumb-item::before {
    content: '›' !important;          /* force-replace Bootstrap's "/" */
    float: none !important;           /* undo Bootstrap's float: left */
    color: var(--secondary-color) !important;  /* Saffron */
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    opacity: 1;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

/* Active (current page) breadcrumb item */
.breadcrumb-item.active {
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* Link items */
.breadcrumb-item a {
    transition: color 0.2s ease, opacity 0.2s ease;
    opacity: 0.85;
}
.breadcrumb-item a:hover {
    opacity: 1;
    color: #FFD580 !important;         /* lighter saffron on hover */
}
