
*{
    margin: 0;
    padding: 0;
}


@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

body { font-family: 'Poppins', sans-serif; overflow-x: hidden; }

/* --- TOPBAR --- */
/* --- GLOBAL FIX --- */
/* Sticky property tabhi kaam karti hai jab html/body ki height 'auto' ho */
html, body {
    font-family: 'Poppins', sans-serif;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    height: auto !important;
    margin: 0;
    padding: 0;
}

/* --- TOPBAR --- */
.topbar { 
    background: #1e3c72; 
    padding: 8px 0; 
}
.topbar a { 
    color: #fff; 
    text-decoration: none; 
    font-size: 13px; 
}

/* --- NAVBAR BASE --- */
.navbar { 
    background: #fff; 
    padding: 15px 0;
    transition: all 0.3s ease;
    width: 100%;
    z-index: 1030;
    border-bottom: 1px solid #eee;
}

/* --- STICKY CLASS (Via JavaScript) --- */
/* Jab user scroll karega, tab ye class add hogi */
.sticky-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    width: 100%;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
    animation: fadeInDown 0.4s ease-in-out;
    background: #ffffff !important;
}

@keyframes fadeInDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}

/* --- LOGO & LINKS --- */
.img-logo {
    height: 50px;
    width: auto; /* Width auto rakhein taki ratio na bigde */
}
.navbar-brand { 
    color: #1e3c72 !important; 
    font-size: 1.5rem; 
}
.nav-link { 
    color: #333 !important; 
    font-weight: 500; 
    padding: 10px 18px !important; 
}

/* --- DESKTOP HOVER --- */
@media (min-width: 992px) {
    .dropdown:hover > .dropdown-menu {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transform: translateY(15px);
        transition: all 0.3s ease;
        border: none;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    }
}

/* --- MOBILE TOGGLER (HAMBURGER TO CROSS) --- */
.navbar-toggler { border: none !important; box-shadow: none !important; }
.toggler-icon {
    width: 25px; height: 3px; background: #1e3c72; display: block;
    position: relative; transition: 0.3s;
}
.toggler-icon::before, .toggler-icon::after {
    content: ''; width: 25px; height: 3px; background: #1e3c72;
    position: absolute; left: 0; transition: 0.3s;
}
.toggler-icon::before { top: -8px; }
.toggler-icon::after { top: 8px; }

.navbar-toggler[aria-expanded="true"] .toggler-icon { background: transparent; }
.navbar-toggler[aria-expanded="true"] .toggler-icon::before { transform: rotate(45deg); top: 0; }
.navbar-toggler[aria-expanded="true"] .toggler-icon::after { transform: rotate(-45deg); top: 0; }

/* --- MOBILE VIEW FIXES --- */
@media (max-width: 991px) {
    .navbar-collapse {
        background: #fff; 
        margin-top: 15px; 
        padding: 15px;
        border-radius: 10px; 
        box-shadow: 0 5px 20px rgba(0,0,0,0.1);
        max-height: 80vh; 
        overflow-y: auto;
    }
    .dropdown-menu {
        display: none; 
        border: none; 
        background: #f8f9fa; 
        margin: 5px 0;
    }
    .dropdown-menu.show { display: block; }
    .nav-link { border-bottom: 1px solid #f1f1f1; }
}



/* --- HERO SECTION STYLING --- */
.hero-section {
    min-height: 85vh;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.text-gradient {
    background: linear-gradient(90deg, #1e3c72, #2a5298);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-title {
    color: #1e3c72;
    line-height: 1.2;
}

.hero-subtitle {
    color: #555;
    font-size: 1.25rem;
    max-width: 600px;
}

/* CTA Button Styling */
.cta-btn {
    background: #1e3c72;
    border: none;
    font-weight: 600;
    transition: 0.4s;
}

.cta-btn:hover {
    background: #2a5298;
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(30, 60, 114, 0.3) !important;
}

/* Floating Animation for Image */
.floating-img {
    animation: floating 3s ease-in-out infinite;
    max-width: 90%;
}

@keyframes floating {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
    100% { transform: translateY(0px); }
}

/* Responsive Adjustments */
@media (max-width: 991px) {
    .hero-section {
        padding: 50px 0;
        text-align: center;
    }
    .hero-title {
        font-size: 2.5rem;
    }
    .hero-subtitle {
        margin: 0 auto 30px auto;
    }
}




/* --- SERVICES SECTION STYLING --- */
.services-section {
    background-color: #ffffff;
}

.heading-line {
    width: 60px;
    height: 3px;
    background: #1e3c72;
    border-radius: 2px;
}

.service-card {
    background: #fff;
    border-radius: 20px;
    border: 1px solid #f1f1f1;
    transition: all 0.4s ease;
    cursor: pointer;
}

.service-card:hover {
    transform: translateY(-10px);
    border-color: #1e3c72;
    box-shadow: 0 15px 40px rgba(30, 60, 114, 0.12) !important;
}

/* Icon Box Styling */
.icon-box {
    width: 70px;
    height: 70px;
    background: rgba(30, 60, 114, 0.08);
    color: #1e3c72;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto;
    transition: 0.3s;
}

.service-card:hover .icon-box {
    background: #1e3c72;
    color: #fff;
}

/* Text and Links */
.service-card h4 {
    font-size: 1.25rem;
    color: #333;
}

.read-more {
    text-decoration: none;
    color: #1e3c72;
    font-weight: 600;
    font-size: 14px;
    transition: 0.3s;
}

.read-more:hover {
    letter-spacing: 0.5px;
    color: #2a5298;
}

/* Responsive Fix for Mobile */
@media (max-width: 767px) {
    .service-card {
        margin-bottom: 10px;
    }
}

/* --- ABOUT SECTION STYLING --- */
.about-section {
    background-color: #fefefe;
    overflow: hidden;
}

.about-img-wrapper {
    padding: 20px;
}

/* Achievement Badge on Image */
.experience-badge {
    position: absolute;
    bottom: 0;
    right: 0;
    background: #1e3c72;
    color: white;
    padding: 20px 30px;
    border-radius: 15px;
    text-align: center;
    transform: translate(-10%, -10%);
}

.experience-badge h3 {
    font-size: 2rem;
}

.experience-badge p {
    font-size: 0.9rem;
    opacity: 0.9;
}

/* Feature Icon Styling */
.feature-icon-small {
    width: 50px;
    height: 50px;
    background: rgba(30, 60, 114, 0.1);
    color: #1e3c72;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

/* Image Hover Effect */
.about-img-wrapper img {
    transition: transform 0.4s ease;
}

.about-img-wrapper:hover img {
    transform: scale(1.02);
}

/* Responsive Fix */
@media (max-width: 991px) {
    .experience-badge {
        position: relative;
        transform: none;
        margin-top: 20px;
        width: 100%;
        border-radius: 12px;
    }
    .about-img-wrapper {
        padding: 0;
    }
}




/* --- WHY CHOOSE US STYLING --- */
.why-choose-us {
    background-color: #f8f9fa;
}

.feature-box {
    border-radius: 15px;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

.feature-box:hover {
    border-color: #1e3c72;
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.05) !important;
}

.f-icon {
    width: 55px;
    height: 55px;
    background: rgba(30, 60, 114, 0.1);
    color: #1e3c72;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    transition: 0.3s;
}

.feature-box:hover .f-icon {
    background: #1e3c72;
    color: #fff;
}

.commitment-card {
    border-radius: 0 12px 12px 0;
}

/* Feature Grid Adjustments */
@media (max-width: 991px) {
    .why-choose-us .row {
        flex-direction: column;
    }
}





/* --- STATS SECTION STYLING --- */
.stats-section {
    position: relative;
    z-index: 1;
}

.stats-wrapper {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.stat-item {
    transition: transform 0.3s ease;
}

.stat-item:hover {
    transform: translateY(-5px);
}

.stat-icon {
    font-size: 2.5rem;
    color: rgba(255, 255, 255, 0.8);
}

.stats-section h2 {
    letter-spacing: -1px;
}

/* Responsive Fix for Mobile */
@media (max-width: 767px) {
    .stats-wrapper {
        padding: 30px 15px !important;
    }
    .stat-icon {
        font-size: 2rem;
    }
    .stats-section h2 {
        font-size: 1.8rem;
    }
}


/* --- DESTINATIONS STYLING --- */
.destinations-section {
    background-color: #fff;
}

.dest-card {
    height: 300px;
    position: relative;
    cursor: pointer;
}

.dest-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Hover Effect: Zoom Image */
.dest-card:hover img {
    transform: scale(1.1);
}

.dest-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(30, 60, 114, 0.9) 0%, rgba(30, 60, 114, 0.2) 60%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 25px;
    transition: background 0.3s ease;
}

/* Hover Effect: Change Overlay Darkness */
.dest-card:hover .dest-overlay {
    background: linear-gradient(to top, rgba(30, 60, 114, 1) 0%, rgba(30, 60, 114, 0.4) 100%);
}

.cta-main {
    background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%);
    border: none;
    font-weight: 600;
    transition: 0.4s;
}

.cta-main:hover {
    transform: scale(1.05);
    box-shadow: 0 15px 30px rgba(30, 60, 114, 0.3) !important;
}

/* Responsive Fix */
@media (max-width: 575px) {
    .dest-card {
        height: 220px;
    }
}



/* --- DETAILED SERVICES STYLING --- */
.detailed-services {
    background-color: #f8f9fa;
}

.detail-card {
    border-radius: 15px;
    border: none;
    transition: 0.3s ease-in-out;
    position: relative;
    overflow: hidden;
}

.detail-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important;
}

.detail-icon {
    width: 60px;
    height: 60px;
    background: #1e3c72;
    color: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.service-list li {
    padding: 10px 0;
    font-size: 0.95rem;
    color: #555;
    display: flex;
    align-items: center;
}

.detail-card h4 {
    color: #1e3c72;
    font-size: 1.2rem;
}

/* Hover effect on Icons */
.detail-card:hover .detail-icon {
    background: #2a5298;
    transform: scale(1.1);
    transition: 0.3s;
}

/* Heading Line Fix */
.heading-line {
    width: 50px;
    height: 3px;
    background: #1e3c72;
    margin-top: 10px;
}




/* --- POPULAR COURSES STYLING --- */
.course-card {
    border-radius: 15px;
    background: #fff;
    border: 1px solid #eee;
    transition: all 0.3s ease;
    cursor: pointer;
}

.course-card:hover {
    background: #1e3c72;
    border-color: #1e3c72;
    transform: translateY(-5px);
}

.course-icon {
    font-size: 2.5rem;
    color: #1e3c72;
    transition: 0.3s;
}

.course-card h5 {
    font-size: 1.1rem;
    color: #333;
    transition: 0.3s;
}

/* Hover State Text and Icon Color */
.course-card:hover .course-icon,
.course-card:hover h5 {
    color: #fff;
}

/* Heading Line Fix */
.heading-line {
    width: 50px;
    height: 3px;
    background: #1e3c72;
    margin-top: 10px;
}

/* Responsive Grid for small phones */
@media (max-width: 575px) {
    .course-card {
        padding: 20px 10px !important;
    }
    .course-icon {
        font-size: 2rem;
    }
    .course-card h5 {
        font-size: 0.9rem;
    }
}




/* --- VISA SERVICES STYLING --- */
.visa-card {
    border-radius: 12px;
    border: 1px solid #eee;
    transition: all 0.3s ease;
    cursor: pointer;
}

.visa-card:hover {
    transform: scale(1.05);
    background-color: #1e3c72 !important;
    border-color: #1e3c72;
}

.visa-card:hover h6, 
.visa-card:hover .visa-flag i {
    color: #fff !important;
}

.visa-flag i {
    font-size: 1.5rem;
    transition: 0.3s;
}

.visa-card h6 {
    font-size: 1rem;
    color: #333;
    transition: 0.3s;
}

/* Section Background adjustment */
.bg-light {
    background-color: #f8f9fa !important;
}



/* --- CONTACT SECTION STYLING --- */
.contact-section {
    background-color: #f8f9fa;
}

.contact-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.assessment-form {
    border-top: 5px solid #1e3c72 !important;
}

/* Custom Input Styling */
.custom-input {
    border: 1px solid #e1e1e1;
    padding: 12px 15px;
    border-radius: 8px;
    font-size: 0.95rem;
    background-color: #fdfdfd;
}

.custom-input:focus {
    border-color: #1e3c72;
    box-shadow: 0 0 0 0.2rem rgba(30, 60, 114, 0.1);
    background-color: #fff;
}

.btn-primary {
    background-color: #1e3c72;
    border: none;
    transition: 0.4s;
}

.btn-primary:hover {
    background-color: #2a5298;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(30, 60, 114, 0.2) !important;
}

/* Info Box Hover */
.contact-info-box {
    transition: 0.3s;
}

.contact-info-box:hover {
    transform: translateX(10px);
    border-left: 4px solid #1e3c72;
}

@media (max-width: 991px) {
    .contact-section {
        text-align: center;
    }
    .contact-info-box {
        justify-content: center;
        text-align: left;
    }
}





/* --- FREE RESOURCES STYLING --- */
.resource-card {
    border-radius: 15px;
    border: 1px solid #f0f0f0;
    transition: 0.3s ease;
    background: #ffffff;
}

.resource-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 25px rgba(30, 60, 114, 0.1) !important;
    border-color: #1e3c72;
}

/* Icon Background Colors */
.res-icon {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 26px;
    transition: 0.3s;
}

.bg-light-blue { background: rgba(30, 60, 114, 0.1); color: #1e3c72; }
.bg-light-green { background: rgba(40, 167, 69, 0.1); color: #28a745; }
.bg-light-orange { background: rgba(253, 126, 20, 0.1); color: #fd7e14; }
.bg-light-purple { background: rgba(111, 66, 193, 0.1); color: #6f42c1; }

.resource-card:hover .res-icon {
    transform: rotateY(360deg);
}

.btn-outline-primary {
    color: #1e3c72;
    border-color: #1e3c72;
    font-weight: 600;
}

.btn-outline-primary:hover {
    background-color: #1e3c72;
    border-color: #1e3c72;
    color: #fff;
}

@media (max-width: 991px) {
    .resource-card {
        margin-bottom: 10px;
    }
}



/* --- EXTRA SERVICES STYLING --- */
.extra-service-item {
    transition: all 0.3s ease;
    border-left: 4px solid #1e3c72;
}

.extra-service-item:hover {
    transform: translateX(8px);
    background-color: #1e3c72 !important;
    border-left-color: #2a5298;
}

.ex-icon {
    font-size: 24px;
    color: #1e3c72;
    transition: 0.3s;
}

.extra-service-item:hover .ex-icon,
.extra-service-item:hover h5,
.extra-service-item:hover p {
    color: #ffffff !important;
}

/* Heading Line styling for consistency */
.heading-line {
    width: 60px;
    height: 3px;
    background: #1e3c72;
    border-radius: 2px;
}

@media (max-width: 767px) {
    .extra-service-item {
        padding: 15px !important;
    }
}





/* --- TESTIMONIALS STYLING --- */
.testi-card {
    background: #ffffff;
    border: 1px solid #f1f1f1;
    transition: all 0.4s ease;
    position: relative;
}

.testi-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(30, 60, 114, 0.1) !important;
    border-color: #1e3c72;
}

.quote-icon i {
    font-size: 35px;
}

.testi-text {
    font-style: italic;
    line-height: 1.6;
}

.student-info img {
    object-fit: cover;
    padding: 2px;
}

.student-info h6 {
    color: #1e3c72;
}

/* Heading Line styling */
.heading-line {
    width: 50px;
    height: 3px;
    background: #1e3c72;
    margin-top: 10px;
}

@media (max-width: 767px) {
    .testi-card {
        margin-bottom: 10px;
    }
}





/* --- BOOKING SECTION STYLING --- */
.booking-info {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    min-width: 350px;
}

.booking-wrapper {
    border: none;
}

.form-control, .form-select {
    padding: 12px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    font-size: 0.9rem;
    background-color: #fcfcfc;
}

.form-control:focus, .form-select:focus {
    border-color: #1e3c72;
    box-shadow: 0 0 0 0.2rem rgba(30, 60, 114, 0.1);
}

.btn-booking {
    background-color: #1e3c72;
    border: none;
    border-radius: 8px;
    transition: 0.3s;
}

.btn-booking:hover {
    background-color: #2a5298;
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(30, 60, 114, 0.2) !important;
}

/* Responsive Fix */
@media (max-width: 991px) {
    .booking-info {
        min-width: 100%;
        text-align: center;
        padding: 30px !important;
    }
    .booking-info ul {
        display: inline-block;
        text-align: left;
    }
}




/* --- FAQ SECTION STYLING --- */
.accordion-item {
    background-color: #fff;
}

.accordion-button {
    font-size: 1.05rem;
    color: #1e3c72;
    background-color: #fff;
    transition: 0.3s;
}

.accordion-button:not(.collapsed) {
    color: #1e3c72;
    background-color: rgba(30, 60, 114, 0.05);
    box-shadow: none;
}

.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0,0,0,.125);
}

.accordion-body {
    background-color: #fff;
    line-height: 1.7;
    font-size: 0.95rem;
}

.heading-line {
    width: 50px;
    height: 3px;
    background: #1e3c72;
    margin-top: 10px;
}

/* Hover effect for Qs */
.accordion-button:hover {
    background-color: #f8f9fa;
}




/* --- REFERRAL SECTION STYLING --- */
.refer-wrapper {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.1);
}

/* Background Decorative Circles */
.refer-wrapper::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
}

.refer-icon-box {
    background: rgba(255, 255, 255, 0.1);
    padding: 40px;
    border-radius: 30px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-light {
    transition: 0.3s;
}

.btn-light:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2) !important;
    background-color: #fff;
    color: #1e3c72 !important;
}

@media (max-width: 991px) {
    .refer-wrapper {
        text-align: center;
    }
    .refer-wrapper .d-flex {
        justify-content: center;
    }
}





/* --- SOCIAL MEDIA STYLING --- */
.social-card {
    transition: all 0.4s ease;
    border: 1px solid #f1f1f1;
    background: #fff;
}

.social-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important;
}

.social-icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}

/* Instagram Gradient Background & Text */
.bg-insta {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.text-insta {
    background: linear-gradient(45deg, #f09433, #dc2743, #bc1888);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.btn-insta {
    background: linear-gradient(45deg, #f09433, #dc2743, #bc1888);
    border: none;
    transition: 0.3s;
}

.btn-insta:hover {
    opacity: 0.9;
    transform: scale(1.02);
}

.stats-counter h2 {
    font-size: 2.5rem;
    letter-spacing: -1px;
}

/* Heading line consistency */
.heading-line {
    width: 50px;
    height: 3px;
    background: #1e3c72;
    margin-top: 10px;
}

@media (max-width: 767px) {
    .stats-counter h2 {
        font-size: 2rem;
    }
}




/* --- FOOTER STYLING --- */
.footer-section {
    background-color: #111111; /* Dark Black background */
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: 0.3s;
    font-size: 0.95rem;
}

.footer-links a:hover {
    color: #0d6efd; /* Bootstrap Primary Blue */
    padding-left: 8px;
}

.social-btn {
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
}

.social-btn:hover {
    background: #0d6efd;
    color: #fff;
    transform: translateY(-3px);
}

.contact-item h6 {
    font-size: 0.95rem;
}

/* Border styling for titles */
.border-primary {
    border-color: #0d6efd !important;
}

@media (max-width: 767px) {
    .footer-section {
        text-align: center;
    }
    .footer-links a:hover {
        padding-left: 0;
    }
    .social-links {
        justify-content: center;
        margin-bottom: 30px;
    }
    .contact-item {
        justify-content: center;
        text-align: left;
    }
}










/* Meridean Specific Custom Styles */

.bg-primary-soft {
    background-color: rgba(13, 110, 253, 0.1);
}

.icon-circle {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    flex-shrink: 0;
    font-size: 1.2rem;
}

.image-wrapper {
    transition: transform 0.5s ease;
}

.image-wrapper:hover {
    transform: scale(1.02);
}

.floating-card {
    min-width: 150px;
    border-left: 5px solid #0d6efd;
    z-index: 5;
    animation: float 3s ease-in-out infinite;
}

@keyframes float {
    0% { transform: translate(-50%, -50%) translateY(0px); }
    50% { transform: translate(-50%, -50%) translateY(-15px); }
    100% { transform: translate(-50%, -50%) translateY(0px); }
}

/* Responsive adjustment for floating card */
@media (max-width: 1200px) {
    .floating-card {
        display: none;
    }
}




/* Services Section Styles */

.service-card {
    transition: all 0.3s ease-in-out;
    border: 1px solid transparent !important;
}

.service-card:hover {
    transform: translateY(-10px);
    border-color: #0d6efd !important;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1) !important;
}

.service-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-size: 1.8rem;
}

/* Background Soft Colors for Icons */
.bg-primary-soft { background-color: rgba(13, 110, 253, 0.1); }
.bg-success-soft { background-color: rgba(25, 135, 84, 0.1); }
.bg-warning-soft { background-color: rgba(255, 193, 7, 0.1); }
.bg-info-soft    { background-color: rgba(13, 202, 240, 0.1); }
.bg-danger-soft  { background-color: rgba(220, 53, 69, 0.1); }
.bg-secondary-soft { background-color: rgba(108, 117, 125, 0.1); }

/* Icon Hover Animation */
.service-card:hover .service-icon i {
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}



/* Countries & Courses Section Styles */

.country-item {
    transition: all 0.3s ease;
    cursor: default;
    background: #fff;
}

.country-item:hover {
    transform: translateY(-8px);
    border-color: #0d6efd !important;
    background-color: #f8f9ff;
}

.course-pill {
    background: white;
    border: 1px solid #dee2e6;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 500;
    transition: 0.3s;
}

.course-pill:hover {
    background: #0d6efd;
    color: white;
    border-color: #0d6efd;
}

.bg-dark {
    background-color: #1a1a1a !important;
}

.text-warning {
    color: #ffc107 !important;
}

.uppercase {
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* For smooth icons transition */
.country-item img {
    filter: grayscale(20%);
    transition: 0.3s;
}

.country-item:hover img {
    filter: grayscale(0%);
    transform: scale(1.1);
}



/* Mission & Vision Specific Styles */




.icon-box-lg {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 2rem;
    transition: 0.3s ease;
}

.card:hover .icon-box-lg {
    transform: rotateY(360deg);
}

.border-primary-5 {
    border-top: 5px solid #0d6efd !important;
}

/* Custom list icon spacing */
.bi-shield-check, .bi-emoji-smile {
    line-height: 1;
}

.card {
    transition: transform 0.3s ease;
}

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





/* Extra Features Custom Styles */

.feature-card-modern {
    background: #f8f9fa;
    border: 1px solid #eee;
    transition: 0.4s ease;
}

.feature-card-modern.active-feature {
    background: #002d72; /* Dark theme for middle card */
    color: #fff;
    transform: scale(1.05);
    z-index: 2;
}

.feature-card-modern:hover {
    box-shadow: 0 1.5rem 4rem rgba(0,0,0,0.1);
}

.btn-social-circle {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.2rem;
    transition: 0.3s;
}

.btn-social-circle:hover {
    transform: scale(1.2) rotate(10deg);
}

/* Booking Banner Styling */
.booking-banner {
    background: linear-gradient(135deg, #0d6efd 0%, #002d72 100%);
    box-shadow: 0 20px 40px rgba(13, 110, 253, 0.3);
}

.booking-banner .btn-warning {
    color: #002d72;
    transition: 0.3s;
}

.booking-banner .btn-warning:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(255, 193, 7, 0.4);
}

@media (max-width: 991px) {
    .feature-card-modern.active-feature {
        transform: scale(1);
    }
}




/* Contact & Location Custom Styles */

.main-office-card {
    transition: transform 0.3s ease;
}

.main-office-card:hover {
    transform: translateX(10px);
}

.icon-square {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.3rem;
}

.booking-form-card {
    position: relative;
    z-index: 1;
}

/* Form focus effects */
.form-control:focus, .form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
}

/* Branch badges */
.badge.bg-light {
    transition: 0.3s;
    font-weight: 500;
}

.badge.bg-light:hover {
    background-color: #0d6efd !important;
    color: white !important;
    border-color: #0d6efd !important;
}

/* Responsive adjustment */
@media (max-width: 768px) {
    .booking-form-card {
        padding: 30px 20px !important;
    }
}




/* Contact & Location Custom Styles */

.main-office-card {
    transition: transform 0.3s ease;
}

.main-office-card:hover {
    transform: translateX(10px);
}

.icon-square {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.3rem;
}

.booking-form-card {
    position: relative;
    z-index: 1;
}

/* Form focus effects */
.form-control:focus, .form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
}

/* Branch badges */
.badge.bg-light {
    transition: 0.3s;
    font-weight: 500;
}

.badge.bg-light:hover {
    background-color: #0d6efd !important;
    color: white !important;
    border-color: #0d6efd !important;
}

/* Responsive adjustment */
@media (max-width: 768px) {
    .booking-form-card {
        padding: 30px 20px !important;
    }
}




/* Video Section Styles */

.video-card {
    transition: all 0.3s ease;
    border: 1px solid #eee;
}

.video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 3rem rgba(0,0,0,0.12) !important;
}

.video-card iframe {
    border: none;
}

/* Soft Badges */
.bg-soft-danger { background-color: rgba(220, 53, 69, 0.1); }
.bg-soft-success { background-color: rgba(25, 135, 84, 0.1); }
.bg-soft-primary { background-color: rgba(13, 110, 253, 0.1); }

/* Play Button Icon in Badge */
.text-danger i {
    vertical-align: middle;
}

@media (max-width: 768px) {
    .display-6 {
        font-size: 1.8rem;
    }
}




/* Scholarship & Video Section Custom Styles */

.scholarship-card {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.scholarship-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
}

.video-container {
    position: relative;
    overflow: hidden;
}

.video-label {
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 5;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* Shadow Highlight for the Dark Card */
.shadow-highlight {
    box-shadow: 0 10px 30px rgba(255, 193, 7, 0.15);
    border: 1px solid #ffc107 !important;
}

/* Background Soft Colors */
.bg-soft-success { background-color: rgba(25, 135, 84, 0.1); }

/* Animation trigger on hover for list items */
.scholarship-card:hover li i {
    transform: scale(1.2);
    transition: 0.3s;
}

@media (max-width: 991px) {
    .scholarship-card {
        margin-bottom: 20px;
    }
}



/* IELTS Section Custom Styles */

.icon-circle-sm {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
}

.video-card-large {
    border: 1px solid #ddd;
    transition: 0.3s ease;
}

.video-card-large:hover {
    box-shadow: 0 15px 30px rgba(0,0,0,0.15) !important;
}

.video-card-small {
    transition: 0.3s ease;
}

.video-card-small:hover {
    transform: scale(1.03);
}

/* Color Coding for Tips */
.border-primary-4 { border-left: 4px solid #0d6efd !important; }
.border-success-4 { border-left: 4px solid #198754 !important; }
.border-warning-4 { border-left: 4px solid #ffc107 !important; }

/* Soft BG for Icons */
.bg-primary-soft { background-color: rgba(13, 110, 253, 0.1); }
.bg-success-soft { background-color: rgba(25, 135, 84, 0.1); }
.bg-warning-soft { background-color: rgba(255, 193, 7, 0.1); }

@media (max-width: 991px) {
    .prep-tips {
        margin-bottom: 30px;
    }
}



/* Visa Section Custom Styles */

.visa-video-card {
    transition: transform 0.3s ease;
}

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

.border-dashed {
    border: 2px dashed #dee2e6 !important;
}

.video-thumb-small iframe {
    border-radius: 12px;
}

/* Background for specific highlight labels */
.bg-primary { background-color: #0d6efd !important; }
.text-warning { color: #ffc107 !important; }

/* Custom list spacing */
.visa-video-card li {
    line-height: 1.6;
}

@media (max-width: 768px) {
    .video-thumb-small {
        width: 100%;
        margin-bottom: 15px;
    }
    .video-thumb-small .ratio {
        width: 100% !important;
    }
    .d-flex.flex-md-row {
        flex-direction: column !important;
    }
}





/* Testimonial Section Styles */

.testimonial-card {
    transition: all 0.3s ease;
    border-bottom: 4px solid transparent !important;
}

.testimonial-card:hover {
    transform: translateY(-10px);
    border-color: #0d6efd !important;
    box-shadow: 0 1rem 3rem rgba(0,0,0,0.1) !important;
}

.quote-icon {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 2rem;
    color: rgba(13, 110, 253, 0.1);
}

.bg-soft-success { background-color: rgba(25, 135, 84, 0.1); }
.bg-soft-primary { background-color: rgba(13, 110, 253, 0.1); }
.bg-soft-warning { background-color: rgba(255, 193, 7, 0.1); }

.testimonial-card p {
    font-style: italic;
    line-height: 1.6;
}

/* Student Image Styling */
.testimonial-card img.rounded-circle {
    object-fit: cover;
}





/* Latest Updates Section Styles */

.update-card {
    transition: all 0.3s ease;
    border: 1px solid #eee;
}

.update-card:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
}

/* Live Dot Animation */
.dot-live {
    height: 10px;
    width: 10px;
    background-color: #fff;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
    animation: blink 1s infinite;
}

@keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0.3; }
    100% { opacity: 1; }
}

.news-ticker-label {
    letter-spacing: 1px;
}

/* Specific Card Borders */
.border-danger { border-left: 5px solid #dc3545 !important; }
.border-primary { border-left: 5px solid #0d6efd !important; }
.border-success { border-left: 5px solid #198754 !important; }

/* Mobile View Adjustments */
@media (max-width: 768px) {
    .update-card {
        margin-bottom: 15px;
    }
}



/* YouTube Video Gallery Styles */

.video-container {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    border: 1px solid #eee;
}

.video-container:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.15) !important;
}

/* Smooth iFrame Loading */
.video-container iframe {
    border: 0;
    background: #000;
}

/* Custom Text Truncate (Taaki layout clean rahe) */
.video-container h5, .video-container h6 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

@media (max-width: 768px) {
    .video-container {
        margin-bottom: 10px;
    }
}




/* Head Office Styles */
.main-office-card {
    background: #ffffff;
    border-radius: 25px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.05);
}

.icon-circle {
    width: 45px;
    height: 45px;
    background: rgba(13, 110, 253, 0.1);
    color: #0d6efd;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.2rem;
}

/* Branch Card Styles */
.branch-card {
    background: #fff;
    border: 1px solid #edf2f7;
    border-radius: 18px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.branch-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(13, 110, 253, 0.08);
    border-color: #0d6efd;
}

.branch-card h5 {
    border-left: 3px solid #0d6efd;
    padding-left: 10px;
}

.btn-outline-primary:hover {
    color: #fff !important;
}


.office-card {
    background: #ffffff;
    border-radius: 20px;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.office-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08) !important;
    background: #fdfdfd;
}

.city-title {
    font-weight: 800;
    color: #2d3436;
    border-left: 4px solid #0d6efd;
    padding-left: 12px;
    margin-top: 10px;
}

.intl-tag {
    background: #2d3436;
    color: #fff;
    font-size: 10px;
    padding: 2px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    font-weight: bold;
    display: inline-block;
}

.address {
    line-height: 1.6;
    min-height: 50px;
}

.map-link {
    font-weight: 600;
    text-decoration: none;
    color: #0d6efd;
    font-size: 0.9rem;
    margin-top: auto;
    display: inline-block;
    transition: 0.3s;
}

.map-link:hover {
    color: #054eb7;
    padding-left: 5px;
}

@media (max-width: 768px) {
    .office-card {
        text-align: left;
    }
}



.location-list-wrapper {
    background: #fff;
    border: 1px solid #eee;
}

.city-row {
    transition: background 0.3s ease;
}

.city-row:hover {
    background-color: #f8fbff;
}

.city-name-col {
    min-width: 150px;
}

.city-address-col {
    border-left: 1px solid #f0f0f0;
}

/* For mobile: remove border-left and adjust spacing */
@media (max-width: 767px) {
    .city-address-col {
        border-left: none;
        padding-left: 0 !important;
    }
    .city-row {
        text-align: center;
        padding: 20px !important;
    }
    .city-action-col .btn {
        width: 100%;
    }
}

.btn-outline-primary {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-outline-primary:hover {
    box-shadow: 0 4px 12px rgba(13, 110, 253, 0.2);
}




.counselling-form-card {
    border: 1px solid rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

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

.form-control, .form-select {
    padding: 12px 15px;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    background-color: #f9f9f9;
    font-size: 0.95rem;
}

.form-control:focus, .form-select:focus {
    background-color: #fff;
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
}

.btn-primary {
    transition: all 0.3s ease;
    background: linear-gradient(45deg, #0d6efd, #0052cc);
    border: none;
}

.btn-primary:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 20px rgba(13, 110, 253, 0.2) !important;
}

/* For smaller screens */
@media (max-width: 768px) {
    .display-5 {
        font-size: 2rem;
    }
}





/* Contact Options Cards */
.option-card {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    border-radius: 20px;
    transition: all 0.3s ease-in-out;
}

.option-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(13, 110, 253, 0.08);
    border-color: #0d6efd;
}

.option-icon {
    font-size: 2.5rem;
    color: #0d6efd;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Form Styling */
.form-wrapper {
    border-top: 5px solid #0d6efd;
}

.form-control {
    border: 1px solid #e9ecef;
    padding: 12px 15px;
    transition: 0.3s;
}

.form-control:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.05);
}

.btn-primary {
    background: linear-gradient(135deg, #0d6efd 0%, #0056b3 100%);
    border: none;
}




/* Form General Styles */
.form-control, .form-select {
    border: 1px solid #e0e0e0;
    padding: 10px 15px;
    font-size: 0.95rem;
    transition: 0.3s ease;
}

.form-control:focus, .form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
    background-color: #fff;
}

/* Button Styling */
.btn-primary {
    background: linear-gradient(45deg, #0d6efd, #0052cc);
    border: none;
    box-shadow: 0 4px 15px rgba(13, 110, 253, 0.2);
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 110, 253, 0.3);
}

.rounded-pill {
    border-radius: 50px !important;
}






/* --- Global Variables & Reset --- */
:root {
    --primary-blue: #0d6efd;
    --dark-navy: #0a192f;
    --text-gray: #6c757d;
    --soft-blue-bg: #f8fbff;
    --white: #ffffff;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
    background-color: #f4f7fa;
    color: #333;
    line-height: 1.6;
}

/* --- Hero Section --- */
.blog-header {
    background: linear-gradient(135deg, var(--dark-navy) 0%, #172a45 100%);
    padding: 100px 0;
    color: var(--white);
    border-bottom: 5px solid var(--primary-blue);
}

.blog-header h1 {
    font-weight: 800;
    letter-spacing: -1px;
}

/* --- Filter Navigation --- */
.filter-container {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
}

.filter-btn {
    border-radius: 50px;
    padding: 10px 24px;
    font-weight: 600;
    font-size: 0.9rem;
    border: 2px solid var(--primary-blue);
    background: transparent;
    color: var(--primary-blue);
    transition: var(--transition);
}

.filter-btn.active, .filter-btn:hover {
    background-color: var(--primary-blue);
    color: var(--white);
    box-shadow: 0 8px 20px rgba(13, 110, 253, 0.2);
}

/* --- Blog Cards --- */
.blog-card {
    border: none;
    border-radius: 20px;
    background: var(--white);
    transition: var(--transition);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.blog-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08) !important;
}

.blog-img-box {
    position: relative;
    height: 220px;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
}

.blog-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.blog-card:hover .blog-img-box img {
    transform: scale(1.1);
}

/* --- Category Badges --- */
.category-tag {
    position: absolute;
    top: 15px;
    left: 15px;
    background: var(--primary-blue);
    color: var(--white);
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 2;
}

/* --- Content Styling --- */
.card-body h5 {
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--dark-navy);
    margin-bottom: 12px;
    transition: var(--transition);
}

.blog-card:hover h5 {
    color: var(--primary-blue);
}

.card-body p {
    color: var(--text-gray);
    font-size: 0.95rem;
}

/* --- Sticky Sidebar CTA --- */
.sticky-sidebar {
    position: sticky;
    top: 30px;
}

.cta-card {
    background: linear-gradient(135deg, #0d6efd, #0052cc);
    color: var(--white);
    border-radius: 24px;
    padding: 30px;
    border: none;
}

.cta-card .form-control {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    color: white;
    padding: 12px 20px;
    border-radius: 12px;
}

.cta-card .form-control::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

/* --- Search Bar --- */
.search-wrapper {
    position: relative;
}

.search-box {
    border-radius: 50px;
    padding: 14px 25px;
    border: 1px solid #dee2e6;
    background: var(--white);
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}

/* --- Responsive Animations --- */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

.filter-item {
    animation: fadeIn 0.5s ease forwards;
}





/* --- USA Branding Card --- */
.usa-hero-card {
    background: linear-gradient(135deg, #0a192f 0%, #1a3a6d 100%);
    min-height: 300px;
    border: none;
}

.usa-overlay-icon {
    position: absolute;
    right: -20px;
    bottom: -50px;
    font-size: 250px;
    color: rgba(255, 255, 255, 0.03);
    transform: rotate(-15deg);
}

.z-index-2 { position: relative; z-index: 2; }

/* --- Fact Boxes --- */
.fact-box {
    background: #fff;
    transition: 0.3s;
    border-color: #eee !important;
}

.fact-box:hover {
    border-color: #0d6efd !important;
    background: #f8fbff;
    transform: translateY(-5px);
}

/* --- Roadmap Styling --- */
.usa-roadmap {
    position: relative;
}

.roadmap-dot {
    position: absolute;
    left: -33px;
    top: 5px;
    width: 16px;
    height: 16px;
    background: #0d6efd;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.2);
}

.roadmap-item h5 {
    color: #0a192f;
}

/* --- Sidebar Form --- */
.contact-sidebar-card {
    position: sticky;
    top: 20px;
}

.contact-sidebar-card .form-control, 
.contact-sidebar-card .form-select {
    border-radius: 8px;
    padding: 12px;
    font-size: 14px;
}





/* --- Highlights Styling --- */
.accent-bar {
    width: 60px;
    height: 4px;
    background: #0d6efd;
    border-radius: 20px;
}

.h-card {
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 25px;
    transition: all 0.3s ease;
}

.h-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.06) !important;
    border-color: #0d6efd;
}

.border-primary-bottom {
    border-bottom: 4px solid #0d6efd !important;
}

/* --- Icon Box System --- */
.h-icon-box {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-size: 1.4rem;
    color: #0d6efd;
}

/* --- Soft Tints for Icons --- */
.bg-primary-light { background: rgba(13, 110, 253, 0.1); }
.bg-success-light { background: rgba(25, 135, 84, 0.1); }
.bg-warning-light { background: rgba(255, 193, 7, 0.1); }
.bg-info-light    { background: rgba(13, 202, 240, 0.1); }
.bg-danger-light  { background: rgba(220, 53, 69, 0.1); }
.bg-dark-light    { background: rgba(33, 37, 41, 0.1); }

.h-card h5 {
    color: #212529;
    margin-bottom: 15px;
}

.h-card p {
    line-height: 1.6;
}





/* --- IELTS Blog Page Styles --- */
.blog-section {
    background-color: #f4f7f6;
    min-height: 80vh;
}

/* Card Design & Glassmorphism */
.blog-card {
    border-radius: 15px;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease;
    background: #ffffff;
    opacity: 0; /* JS will trigger visibility */
    transform: translateY(30px);
}

/* Animation Class triggered by JS */
.blog-card.show {
    opacity: 1;
    transform: translateY(0);
}

/* Image Zoom Effect */
.blog-card .card-img-top {
    height: 220px;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.blog-card:hover .card-img-top {
    transform: scale(1.1);
}

.blog-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
}

/* Badge & Typography */
.badge {
    padding: 8px 16px;
    font-weight: 600;
    border-radius: 50px;
    text-transform: uppercase;
    font-size: 0.75rem;
}

.card-title {
    color: #2d3436;
    font-size: 1.2rem;
    line-height: 1.5;
    margin-top: 10px;
}

/* Pagination Styling */
.pagination .page-link {
    border: none;
    margin: 0 5px;
    padding: 10px 18px;
    border-radius: 10px !important;
    color: #0d6efd;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    font-weight: 600;
    transition: all 0.3s ease;
}

.pagination .page-item.active .page-link {
    background-color: #0d6efd;
    color: #fff;
    box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
}

.pagination .page-link:hover:not(.active) {
    background-color: #e9ecef;
}






/* IELTS Online Page Custom Styles */
.online-hero {
    background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.7)), url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?q=80&w=1500');
    background-size: cover;
    background-position: center;
    color: white;
    padding: 100px 0;
}

.feature-box {
    padding: 30px;
    border-radius: 20px;
    background: #fff;
    transition: 0.3s;
    border-bottom: 5px solid transparent;
}

.feature-box:hover {
    transform: translateY(-10px);
    border-bottom: 5px solid #0d6efd;
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}

.module-card {
    border: none;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    transition: 0.3s;
}

.module-card .icon-circle {
    width: 60px;
    height: 60px;
    background: #e7f1ff;
    color: #0d6efd;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 24px;
    margin-bottom: 20px;
}

.pricing-card {
    border: none;
    border-radius: 20px;
    transition: 0.4s;
}

.pricing-card.featured {
    transform: scale(1.05);
    border: 2px solid #0d6efd;
}

.list-item i {
    color: #28a745;
    margin-right: 10px;
}




/* FAQ Section Custom Styles */
.faq-section {
    background-color: #ffffff;
}

.accordion-item {
    border: none;
    margin-bottom: 15px;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    transition: 0.3s;
}

.accordion-item:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.accordion-button {
    font-weight: 600;
    color: #2d3436;
    padding: 20px;
    background-color: #fff;
    font-size: 1.1rem;
}

.accordion-button:not(.collapsed) {
    background-color: #f8faff;
    color: #0d6efd;
    box-shadow: none;
}

.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(13, 110, 253, 0.1);
}

.accordion-body {
    padding: 20px;
    color: #636e72;
    line-height: 1.6;
    background-color: #f8faff;
}

/* Question Icon */
.accordion-button::after {
    background-size: 1.25rem;
}




/* Custom Styles for IELTS Page */
.ielts-section {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #333;
}

/* Glassmorphism Effect for Cards */
.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 15px;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1);
}

/* Type Card Hover Effect */
.type-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 12px;
}

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

/* Tab Navigation Styling */
.ielts-section .nav-pills .nav-link {
    color: #0d6efd;
    font-weight: 600;
    margin-right: 10px;
    border: 1px solid #0d6efd;
}

.ielts-section .nav-pills .nav-link.active {
    background-color: #0d6efd;
    color: #fff;
}

/* Lists and Headings */
.list-group-item {
    border: none;
    padding-left: 0;
    background: transparent;
}

h1, h3, h4 {
    letter-spacing: -0.5px;
}

/* Responsiveness adjustments */
@media (max-width: 768px) {
    .display-4 {
        font-size: 2rem;
    }
}




/* Container styling */
.toefl-wrapper {
    background-color: #fcfcfc;
    border-radius: 20px;
}

/* Glassmorphism card */
.glass-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(0,0,0,0.05);
}

/* Format box hover effect */
.format-box {
    background-color: #fff;
    transition: all 0.3s ease;
    cursor: default;
}

.format-box:hover {
    background-color: #f8f9fa;
    border-color: #0d6efd !important;
    transform: translateY(-5px);
}

/* Pattern card unique look */
.pattern-card {
    border: none;
    background: #ffffff;
    border-bottom: 3px solid #dee2e6;
    transition: transform 0.3s ease;
}

.pattern-card:hover {
    transform: scale(1.05);
    border-bottom-color: #0d6efd;
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
}

/* List Icons */
.custom-list li {
    margin-bottom: 12px;
    font-size: 0.95rem;
}

.custom-list i {
    color: #0d6efd;
    margin-right: 10px;
}

/* Accordion Customization */
.accordion-button:not(.collapsed) {
    background-color: #f1f8ff;
    color: #0d6efd;
}

/* Headings spacing */
h3, h4 {
    color: #2c3e50;
    position: relative;
    padding-bottom: 5px;
}





/* Custom Indigo Color for Premium Look */
.text-indigo { color: #4e73df; }
.bg-light-indigo { background-color: #f8faff; }

.gre-container {
    font-family: 'Inter', sans-serif;
    color: #2d3436;
}

/* Icon Circle for Pattern */
.icon-circle {
    width: 45px;
    height: 45px;
    line-height: 45px;
    border-radius: 50%;
    font-weight: bold;
    font-size: 1.2rem;
}

/* Pattern Card Hover */
.pattern-box {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 15px;
}

.pattern-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important;
}

/* Registration Steps Styling */
.gre-steps li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 5px;
    color: #444;
}

.gre-steps li::marker {
    color: #4e73df;
    font-weight: bold;
}

/* Accordion Customization */
.gre-container .accordion-button:not(.collapsed) {
    background-color: #f8faff;
    color: #4e73df;
    box-shadow: none;
}

.gre-container .badge {
    padding: 8px 12px;
    font-weight: 500;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gre-container h1 { font-size: 1.8rem; }
}





/* GMAT Specific Styling */
.gmat-section {
    font-family: 'Poppins', sans-serif;
    color: #333;
}

.text-navy {
    color: #00234b;
}

.bg-navy {
    background-color: #00234b;
}

/* Breadcrumb Styling */
.gmat-section .breadcrumb-item + .breadcrumb-item::before {
    content: "|";
    color: #ccc;
}

/* Card Effects */
.quick-card {
    border-top: 4px solid #00234b !important;
    border-radius: 10px;
}

.pattern-pill {
    background: #ffffff;
    border-radius: 15px;
    border: 1px solid #eee;
    transition: all 0.3s ease;
}

.pattern-pill:hover {
    background-color: #00234b;
    color: #fff !important;
    transform: translateY(-5px);
}

.pattern-pill:hover .text-navy, 
.pattern-pill:hover .text-muted {
    color: #fff !important;
}

/* Custom Check List */
.custom-check-list {
    list-style: none;
    padding-left: 0;
}

.custom-check-list li::before {
    content: "✓";
    color: #28a745;
    font-weight: bold;
    margin-right: 10px;
}

/* Step Box */
.step-box p {
    margin-bottom: 10px;
    padding-left: 15px;
    border-left: 2px solid #00234b;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gmat-section h1 { font-size: 1.5rem; }
    .pattern-pill { margin-bottom: 10px; }
}





/* SAT Theme Colors */
:root {
    --sat-blue: #002d72;
    --sat-light-blue: #0076d6;
}

.text-sat-blue { color: var(--sat-blue); }
.bg-sat-dark { background-color: var(--sat-blue); }
.bg-alice-blue { background-color: #f0f8ff; }

.sat-portal {
    font-family: 'Segoe UI', Roboto, sans-serif;
    color: #2d3436;
}

/* Highlight Boxes */
.highlight-box {
    background: #fff;
    border-radius: 12px;
    transition: transform 0.3s;
}

.highlight-box:hover {
    transform: translateY(-5px);
}

/* Nav Tabs Customization */
.sat-portal .nav-tabs { border-bottom: none; }
.sat-portal .nav-tabs .nav-link {
    color: #666;
    border: none;
    transition: all 0.3s;
}

.sat-portal .nav-tabs .nav-link.active {
    background-color: #fff;
    color: var(--sat-light-blue);
    border-bottom: 3px solid var(--sat-light-blue);
}

/* Accordion Styling */
.sat-portal .accordion-button:not(.collapsed) {
    background-color: #f8faff;
    color: var(--sat-light-blue);
}

/* Custom Table */
.sat-portal .table {
    border-radius: 10px;
    overflow: hidden;
}

@media (max-width: 768px) {
    .sat-portal .display-4 { font-size: 1.8rem; }
}






/* PTE Theme Variables */
:root {
    --pte-orange: #ef8b22;
    --pte-dark: #2c3e50;
}

.pte-portal {
    font-family: 'Segoe UI', Tahoma, sans-serif;
    color: #333;
}

.text-pte-orange { color: var(--pte-orange); }
.bg-pte-dark { background-color: var(--pte-dark); }
.border-pte-orange { border-color: var(--pte-orange) !important; }

/* Highlight Cards */
.highlight-card {
    background: #fff;
    border-radius: 12px;
    transition: all 0.3s;
}

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

/* Pattern Boxes */
.pattern-box {
    border-radius: 12px;
    transition: transform 0.3s;
}

.pattern-box:hover {
    transform: scale(1.02);
}

/* Accordion Custom */
.pte-portal .accordion-button:not(.collapsed) {
    background-color: #fff9f2;
    color: var(--pte-orange);
}

.pte-portal .badge {
    padding: 8px 12px;
}

/* Icon Wrap */
.icon-wrap i {
    opacity: 0.8;
}

/* Responsiveness */
@media (max-width: 768px) {
    .pte-portal h1 { font-size: 1.7rem; }
    .highlight-card { margin-bottom: 10px; }
}




/* IELTS Online Course Specific CSS */
.ielts-online-portal {
    font-family: 'Inter', sans-serif;
}

/* Gradient Text for Heading */
.text-gradient {
    background: linear-gradient(90deg, #0d6efd, #6610f2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
}

.bg-primary-soft { background-color: #e7f1ff; }

/* Advantage Card Styling */
.advantage-card {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    border-radius: 20px;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    cursor: default;
}

.advantage-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    border-color: #0d6efd;
}

/* Icon Box Backgrounds */
.icon-box {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
}

.bg-blue-light { background: #eef2ff; color: #4f46e5; }
.bg-purple-light { background: #f5f3ff; color: #7c3aed; }
.bg-green-light { background: #ecfdf5; color: #10b981; }
.bg-orange-light { background: #fff7ed; color: #f59e0b; }
.bg-red-light { background: #fef2f2; color: #ef4444; }
.bg-cyan-light { background: #ecfeff; color: #0891b2; }

/* Divider */
.divider {
    width: 60px;
    height: 4px;
    background: #0d6efd;
    border-radius: 2px;
    margin-top: 10px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .display-4 { font-size: 2.2rem; }
    .advantage-card { text-align: center; }
    .icon-box { margin: 0 auto 15px; }
}


/* Course Plans Styling */
.ielts-plans-wrapper {
    background-color: #f8f9fa;
    border-radius: 30px;
}

.plan-card {
    transition: all 0.3s ease;
    border-radius: 20px;
}

.plan-card:hover {
    transform: translateY(-10px);
}

/* Featured Plan (Advanced) */
.featured-plan {
    background: linear-gradient(135deg, #0d6efd 0%, #0043a8 100%);
    color: white;
}

.plan-features li {
    margin-bottom: 15px;
    font-size: 0.95rem;
}

.plan-features i {
    margin-right: 10px;
    font-size: 1.1rem;
}

/* Ribbon for Popular Plan */
.ribbon {
    width: 150px;
    height: 150px;
    overflow: hidden;
    position: absolute;
    top: -10px;
    right: -10px;
}

.ribbon span {
    position: absolute;
    display: block;
    width: 225px;
    padding: 15px 0;
    background-color: #ffc107;
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    color: #333;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
    left: -25px;
    top: 30px;
    transform: rotate(45deg);
}

/* Feature Items */
.feature-item {
    border: 1px solid #eee;
    transition: 0.3s;
}

.feature-item:hover {
    border-color: #0d6efd;
}

.feature-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.2rem;
}

.bg-blue-soft { background: #e7f1ff; color: #0d6efd; }
.bg-green-soft { background: #e6fffa; color: #00b894; }
.bg-purple-soft { background: #f3e5f5; color: #9c27b0; }

@media (max-width: 768px) {
    .ribbon { display: none; }
}





/* Footer & Contact Sections Styling */
.education-footer-sections {
    font-family: 'Segoe UI', sans-serif;
}

/* Testimonial Styling */
.testimonial-card {
    background: #fff;
    border-radius: 15px;
    transition: transform 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-8px);
}

.avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
}

/* Contact Footer Background */
.contact-footer {
    background: linear-gradient(135deg, #1e1e1e 0%, #2d2d2d 100%);
}

.contact-icon {
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Responsive Borders */
@media (min-width: 768px) {
    .border-md-start {
        border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
    }
}

@media (max-width: 767px) {
    .contact-footer {
        text-align: center;
    }
    .contact-footer .d-flex {
        flex-direction: column;
    }
    .contact-icon {
        margin: 0 auto 15px !important;
    }
}



/* Final Sections Custom CSS */
.education-portal-final {
    font-family: 'Segoe UI', sans-serif;
}

/* Badge Styling */
.education-portal-final .badge {
    padding: 10px 15px;
    font-weight: 500;
    transition: all 0.2s;
}

.education-portal-final .badge:hover {
    background-color: #0d6efd !important;
    color: white !important;
    cursor: default;
}

/* List Group Item Styling */
.list-group-item {
    border-left: 0;
    border-right: 0;
}

.list-group-item-action:hover {
    padding-left: 20px;
    color: #0d6efd;
    background-color: #f8f9fa;
}

/* Enquiry Form Styling */
.enquiry-form-section {
    position: relative;
    overflow: hidden;
}

.form-control:focus, .form-select:focus {
    background-color: #fff !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
    border: 1px solid #0d6efd !important;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .education-portal-final h2 {
        font-size: 1.5rem;
    }
    .enquiry-form-section {
        padding: 30px 20px !important;
    }
}




/* M-Connect Specific Styles */
.mconnect-wrapper {
    font-family: 'Inter', sans-serif;
    color: #333;
}

/* Card Styling */
.info-card {
    border-radius: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.info-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important;
}

/* Icon Styling */
.icon-circle {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.3rem;
}

/* Text Styling */
.text-primary {
    color: #0d6efd !important;
}

.bg-primary-soft {
    background-color: rgba(13, 110, 253, 0.1);
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .mconnect-wrapper h1 {
        font-size: 2rem;
    }
    .info-card {
        padding: 25px !important;
    }
}




/* M-Connect Features Styling */
.mconnect-features {
    font-family: 'Segoe UI', Tahoma, sans-serif;
}

/* Feature Card Effects */
.feature-card {
    border-radius: 20px;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    overflow: hidden;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important;
}

/* Circle Icons Styling */
.feature-icon-circle {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.8rem;
    transition: transform 0.3s ease;
}

.feature-card:hover .feature-icon-circle {
    transform: rotateY(360deg);
}

/* Color Accents */
.bg-primary { background-color: #0d6efd !important; }
.bg-success { background-color: #198754 !important; }
.bg-warning { background-color: #ffc107 !important; }
.bg-danger  { background-color: #dc3545 !important; }

/* Responsive adjustments */
@media (max-width: 991px) {
    .feature-card { margin-bottom: 20px; }
}

@media (max-width: 576px) {
    .mconnect-features h2 { font-size: 1.5rem; }
    .feature-icon-circle { width: 60px; height: 60px; font-size: 1.5rem; }
}




/* Benefits Section Styling */
.mconnect-benefits {
    font-family: 'Inter', sans-serif;
    background-color: #fcfdfe;
}

/* Horizontal Line Divider */
.h-line {
    width: 60px;
    height: 4px;
    background: #0d6efd;
    border-radius: 2px;
}

/* Benefit Card Item */
.benefit-item {
    border: 1px solid #f0f0f0;
    transition: all 0.3s ease;
}

.benefit-item:hover {
    transform: translateX(10px);
    border-color: #0d6efd;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05) !important;
}

/* Icon Box Styling */
.benefit-icon {
    min-width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    font-size: 1.6rem;
}

/* Soft Color Backgrounds for Icons */
.bg-primary-light { background-color: #e7f1ff; color: #0d6efd; }
.bg-success-light { background-color: #e6fffa; color: #00b894; }
.bg-warning-light { background-color: #fff7ed; color: #f59e0b; }
.bg-info-light    { background-color: #ecfeff; color: #0891b2; }

/* Responsive adjustments */
@media (max-width: 768px) {
    .benefit-item {
        flex-direction: column;
        text-align: center;
    }
    .benefit-icon {
        margin: 0 auto 15px !important;
    }
    .benefit-item:hover {
        transform: translateY(-5px);
    }
}




/* How It Works Specific Styling */
.how-it-works-wrapper {
    font-family: 'Inter', sans-serif;
    background-color: #ffffff;
}

/* Step Circle Styling */
.step-number-circle {
    width: 35px;
    height: 35px;
    background-color: #f8f9fa;
    border: 2px solid #dee2e6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9rem;
    color: #495057;
    position: relative;
    z-index: 2;
}

/* Step Content Styling */
.step-item {
    position: relative;
    transition: all 0.3s ease;
}

.step-item:hover {
    transform: translateY(-5px);
}

.step-icon-wrap {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.step-item:hover .step-icon-wrap {
    transform: scale(1.1);
}

/* Border adjustments for desktop */
@media (min-width: 768px) {
    .border-md-start {
        border-left: 1px dashed #dee2e6 !important;
    }
}

/* Responsive adjustments for mobile */
@media (max-width: 767px) {
    .step-item {
        padding-bottom: 30px;
        border-bottom: 1px dashed #dee2e6;
        margin-bottom: 30px !important;
    }
    .step-item:last-child {
        border-bottom: none;
    }
}



/* User Types Styling */
.mconnect-users {
    font-family: 'Inter', sans-serif;
}

.user-role-card {
    background: #ffffff;
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0 !important;
}

.user-role-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
}

/* Avatar Backgrounds */
.user-avatar-bg {
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: transform 0.5s ease;
}

.user-role-card:hover .user-avatar-bg {
    transform: rotateY(180deg);
}

.bg-primary-soft { background-color: #e7f1ff; }
.bg-success-soft { background-color: #e6fffa; }
.bg-dark-soft    { background-color: #f8f9fa; }

/* List Item Styling */
.user-role-card ul li {
    color: #555;
    font-weight: 500;
}

/* Featured Effect for Counsellors */
.featured-role {
    border: 2px solid #198754 !important;
    position: relative;
}

.featured-role::after {
    content: 'Active Link';
    position: absolute;
    top: 10px;
    right: 10px;
    background: #198754;
    color: #fff;
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .user-avatar-bg { width: 70px; height: 70px; }
}



/* Platform System Specific Styling */
.mconnect-system {
    font-family: 'Inter', sans-serif;
}

.system-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #f0f0f0 !important;
}

.system-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08) !important;
    border-color: #0d6efd !important;
}

/* Icon Wrapper Styles */
.system-icon-wrap {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    font-size: 1.8rem;
    transition: transform 0.3s ease;
}

.system-card:hover .system-icon-wrap {
    transform: scale(1.1) rotate(5deg);
}

/* Soft Background Colors */
.bg-soft-blue { background-color: #eef2ff; color: #4f46e5; }
.bg-soft-green { background-color: #ecfdf5; color: #10b981; }
.bg-soft-purple { background-color: #f5f3ff; color: #7c3aed; }

/* Badge Refinement */
.system-card .badge {
    font-weight: 500;
    font-size: 0.75rem;
    padding: 6px 12px;
}

/* System Status Bar Styling */
.bg-light {
    background-color: #f9fafb !important;
}

@media (max-width: 768px) {
    .system-card {
        text-align: center;
    }
    .system-icon-wrap {
        margin: 0 auto 20px;
    }
}




/* M-Connect CTA Section Styling */
.mconnect-cta-section {
    font-family: 'Inter', sans-serif;
}

/* Gradient Background for CTA */
.cta-gradient-card {
    background: linear-gradient(135deg, #0d6efd 0%, #003a8c 100%);
}

/* Decorative Background Circle */
.cta-circle-deco {
    position: absolute;
    width: 300px;
    height: 300px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    top: -50px;
    right: -50px;
}

/* Form Styling */
.mconnect-cta-section .form-control, 
.mconnect-cta-section .form-select,
.mconnect-cta-section .input-group-text {
    padding: 12px;
    font-size: 0.95rem;
}

.mconnect-cta-section .btn-warning {
    color: #000;
    transition: all 0.3s ease;
}

.mconnect-cta-section .btn-warning:hover {
    background-color: #ffca2c;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2) !important;
}

/* Form Card Animation */
.mconnect-cta-section .card {
    transition: transform 0.4s ease;
}

.mconnect-cta-section .card:hover {
    transform: translateY(-5px);
}

/* Responsive Tweaks */
@media (max-width: 991px) {
    .cta-gradient-card {
        text-align: center;
        border-radius: 30px;
    }
    .cta-gradient-card .d-flex {
        justify-content: center;
    }
    .cta-circle-deco {
        display: none;
    }
}




/* Partner & Stats Section Styling */
.partner-section {
    font-family: 'Inter', sans-serif;
}

/* Stat Cards with Border Accent */
.stat-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important;
}

.stat-card h3 {
    color: #0d6efd;
    font-size: 1.8rem;
}

/* Counter Box Styling */
.counter-box h2 {
    font-size: 2.2rem;
    background: linear-gradient(135deg, #212529 0%, #495057 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.icon-circle {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    transition: all 0.3s ease;
}

.counter-box:hover .icon-circle {
    background-color: #0d6efd !important;
}

.counter-box:hover .icon-circle i {
    color: #ffffff !important;
}

/* Tracking wider utility */
.tracking-wider {
    letter-spacing: 0.1em;
}

/* Responsive Tweaks */
@media (max-width: 768px) {
    .partner-section { text-align: center; }
    .partner-section h2 { font-size: 2rem; }
    .counter-box { margin-bottom: 30px; }
}





/* Meridean Partner Benefits Styling */
.partner-benefits-wrapper {
    font-family: 'Inter', sans-serif;
}

.benefit-card-b2b {
    transition: all 0.3s ease;
    border: 1px solid #f0f0f0 !important;
}

.benefit-card-b2b:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
    border-color: #0d6efd !important;
}

/* Icon Box Styles */
.benefit-icon-box {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
}

/* Soft Color Accents */
.bg-blue-soft    { background-color: #e7f1ff; color: #0d6efd; }
.bg-green-soft   { background-color: #e6fffa; color: #00b894; }
.bg-purple-soft  { background-color: #f3e8ff; color: #7c3aed; }
.bg-warning-soft { background-color: #fff7ed; color: #f59e0b; }
.bg-danger-soft  { background-color: #fef2f2; color: #ef4444; }

/* Special Border for "Higher Commissions" */
.highlight-border {
    border-left: 4px solid #f59e0b !important;
}

/* Animation on Hover for Icons */
.benefit-card-b2b:hover .benefit-icon-box i {
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@media (max-width: 768px) {
    .partner-benefits-wrapper h2 { font-size: 1.8rem; }
}



/* B2B Services Specific Styling */
.b2b-services-section {
    font-family: 'Inter', sans-serif;
    background-color: #fafbfc;
}

/* Service Panel/Card Styling */
.service-panel {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.service-panel:hover {
    background-color: #ffffff;
    border-color: #0d6efd !important;
    transform: scale(1.02);
    box-shadow: 0 10px 25px rgba(0,0,0,0.05) !important;
}

/* Icon Square Styling */
.service-icon-square {
    min-width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.5rem;
}

/* List Item Styling */
.service-panel ul li {
    font-weight: 600;
    margin-bottom: 4px;
}

/* Responsive tweaks */
@media (max-width: 768px) {
    .b2b-services-section h2 { font-size: 1.75rem; }
    .service-panel { text-align: left; }
    .service-icon-square { min-width: 50px; height: 50px; font-size: 1.2rem; }
}



/* Agent Benefits Section Styling */
.agent-benefits-section {
    font-family: 'Inter', sans-serif;
    background-color: #fcfdfe;
}

/* Agent Card Styling */
.agent-card {
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    border: 1px solid rgba(0,0,0,0.05);
}

.agent-card:hover {
    transform: scale(1.03);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important;
}

/* Small Icon Box Styles */
.agent-icon-sm {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 1.2rem;
}

/* Soft Backgrounds */
.bg-primary-soft { background-color: #e7f1ff; }
.bg-success-soft { background-color: #e6fffa; }
.bg-info-soft    { background-color: #ecfeff; }
.bg-warning-soft { background-color: #fff7ed; }

/* Dark Card Accent */
.agent-card.bg-dark {
    background: linear-gradient(135deg, #212529 0%, #343a40 100%) !important;
}

@media (max-width: 768px) {
    .agent-benefits-section h2 { font-size: 1.8rem; }
}




/* Vision Section Styling */
.partner-vision-wrapper {
    font-family: 'Inter', sans-serif;
    background-color: #fdfdfd;
}

/* Vision Item List Style */
.vision-item {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.vision-item:hover {
    transform: translateX(10px);
    border-color: #0d6efd !important;
    background-color: #ffffff;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05) !important;
}

/* Icon Styling */
.vision-icon-circle {
    min-width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-size: 1.3rem;
}

/* Soft Color Palette */
.bg-primary-soft { background-color: #e7f1ff; }
.bg-success-soft { background-color: #e6fffa; }
.bg-info-soft    { background-color: #ecfeff; }
.bg-warning-soft { background-color: #fff7ed; }

/* Responsive adjustments */
@media (max-width: 991px) {
    .partner-vision-wrapper h2 { font-size: 2rem; }
    .vision-item { text-align: left; }
}




/* Partner Workflow Styling */
.partner-workflow-section {
    font-family: 'Inter', sans-serif;
    background-color: #f8f9fa;
}

/* Step Card Design */
.workflow-step-card {
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
    border: 1px solid #eee;
}

.workflow-step-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important;
}

/* Badge for Step Number */
.step-badge {
    width: 30px;
    height: 30px;
    background-color: #0d6efd;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.8rem;
}

/* Icon Box Styling */
.step-icon {
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    margin: 0 auto;
    font-size: 1.8rem;
}

/* Soft Color Backgrounds */
.bg-blue-soft    { background-color: #e7f1ff; color: #0d6efd; }
.bg-green-soft   { background-color: #e6fffa; color: #00b894; }
.bg-purple-soft  { background-color: #f3e8ff; color: #7c3aed; }
.bg-warning-soft { background-color: #fff7ed; color: #f59e0b; }

/* Connecting Line Background (Desktop) */
.workflow-line {
    position: absolute;
    top: 50%;
    left: 10%;
    right: 10%;
    height: 2px;
    background: repeating-linear-gradient(to right, #dee2e6, #dee2e6 10px, transparent 10px, transparent 20px);
    z-index: 1;
}

@media (max-width: 991px) {
    .workflow-line { display: none; }
    .workflow-step-card { text-align: left !important; }
    .step-badge, .step-icon { margin-left: 0 !important; }
}




/* Contact & CTA Section Styles */
.contact-cta-wrapper {
    font-family: 'Inter', sans-serif;
}

/* Form Input Styling */
.contact-cta-wrapper .form-control {
    transition: all 0.3s ease;
}

.contact-cta-wrapper .form-control:focus {
    background-color: #fff !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.1);
    border: 1px solid #0d6efd !important;
}

/* Icon Box for Contact Details */
.contact-icon-box {
    min-width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.4rem;
}

/* Soft Color Palette */
.bg-primary-soft { background-color: #e7f1ff; }
.bg-success-soft { background-color: #e6fffa; }
.bg-info-soft    { background-color: #ecfeff; }

/* Rounded-5 for modern look */
.rounded-5 {
    border-radius: 2rem !important;
}

@media (max-width: 991px) {
    .contact-cta-wrapper {
        text-align: center;
    }
    .contact-icon-box {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px;
    }
    .contact-cta-wrapper .d-flex {
        flex-direction: column;
    }
}




/* Highlights Section Styling */
.country-highlights {
    font-family: 'Inter', sans-serif;
}

/* Card Styling */
.highlight-card {
    transition: all 0.3s ease;
    border-color: #f0f0f0 !important;
}

.highlight-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
    border-color: #0d6efd !important;
}

/* Icon Animation on Hover */
.highlight-card:hover .highlight-icon {
    animation: bounceIcon 0.5s ease-in-out;
}

@keyframes bounceIcon {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .highlight-card {
        padding: 20px !important;
    }
}

/* USA Cost Section Styling */
.usa-cost-section {
    font-family: 'Inter', sans-serif;
    background-color: #fcfdfe;
}

/* Table Refinement */
.usa-cost-section table th {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 15px;
}

.usa-cost-section table td {
    padding: 18px 15px;
}

/* Cost Item Cards */
.cost-item-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.cost-item-card:hover {
    transform: translateX(10px);
    border-color: #0d6efd !important;
}

/* Icon Box for Living Costs */
.cost-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.2rem;
}

/* Color Accents */
.bg-warning-light { background-color: #fff7ed; color: #f59e0b; }
.bg-info-light    { background-color: #ecfeff; color: #0891b2; }
.bg-success-light { background-color: #f0fdf4; color: #15803d; }

/* Custom Text Colors */
.text-danger { color: #dc3545 !important; }
.text-primary { color: #0d6efd !important; }

/* Responsive adjustments */
@media (max-width: 991px) {
    .usa-cost-section h2 { font-size: 1.75rem; }
    .cost-item-card:hover {
        transform: translateY(-5px);
    }
}


/* Container Background */
.top-universities-grid {
    background-color: #f9fbff;
    font-family: 'Inter', sans-serif;
}

/* Premium Card Wrapper */
.uni-card-premium {
    transition: all 0.4s ease;
    border: 1px solid #e1e8ef !important;
}

.uni-card-premium:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1) !important;
    border-color: #0d6efd !important;
}

/* Banner Image Adjustment */
.uni-banner {
    height: 180px;
    position: relative;
    overflow: hidden;
}

.uni-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.uni-card-premium:hover .uni-img {
    transform: scale(1.1);
}

/* Floating Logo Style */
.uni-logo {
    width: 60px;
    height: 60px;
    background: #fff;
    border-radius: 12px;
    padding: 8px;
    position: absolute;
    top: -30px;
    left: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}

.uni-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Badge Refinement */
.badge {
    font-weight: 600;
    font-size: 0.75rem;
    z-index: 4;
}

/* Animation for the Explore Button */
.btn-outline-primary:hover, 
.btn-outline-danger:hover, 
.btn-outline-warning:hover, 
.btn-outline-info:hover, 
.btn-outline-success:hover, 
.btn-outline-dark:hover {
    color: #fff !important;
}




/* Admission Requirements Styling */
.admission-requirements-section {
    font-family: 'Inter', sans-serif;
    background-color: #ffffff;
}

/* Vertical Line Connector Effect */
.requirement-list {
    position: relative;
    padding-left: 20px;
}

.requirement-list::before {
    content: "";
    position: absolute;
    left: 42px; /* Adjust based on icon size */
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: #e9ecef;
    z-index: 1;
}

/* Requirement Item Styling */
.requirement-item {
    position: relative;
    z-index: 2;
    transition: transform 0.3s ease;
}

.requirement-item:hover {
    transform: translateX(10px);
}

/* Circular Icon Box */
.req-icon {
    min-width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    z-index: 3;
}

/* Utility Colors */
.bg-primary-soft { background-color: #f0f7ff; }

@media (max-width: 991px) {
    .requirement-list::before {
        display: none; /* Hide line on mobile for cleaner look */
    }
    .admission-requirements-section {
        text-align: center;
    }
    .requirement-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .req-icon {
        margin-bottom: 15px;
    }
    .requirement-item .ms-4 {
        margin-left: 0 !important;
    }
}





/* USA Intakes Styling */
.usa-intakes-section {
    font-family: 'Inter', sans-serif;
    background-color: #fcfdfe;
}

/* Card Styling */
.intake-card {
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.intake-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
}

/* Icon Box Styling */
.intake-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

/* Soft Backgrounds */
.bg-primary-soft { background-color: #eef2ff; }
.bg-success-soft { background-color: #f0fdf4; }
.bg-warning-soft { background-color: #fffbeb; }

/* Responsive adjustments */
@media (max-width: 991px) {
    .intake-card {
        text-align: left;
    }
}





/* Popular Courses Styling */
.popular-courses-section {
    font-family: 'Inter', sans-serif;
    background-color: #f8f9fa;
}

/* Course Card Design */
.course-card {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    border: 1px solid transparent !important;
}

.course-card:hover {
    transform: translateY(-8px);
    background-color: #ffffff;
    box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important;
    border: 1px solid #dee2e6 !important;
}

/* Icon Box Styling */
.course-icon {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    font-size: 1.5rem;
}

/* Category Badge Styling */
.course-card .badge {
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 0.75rem;
}

/* Soft Color Accents */
.bg-blue-soft    { background-color: #e7f1ff; }
.bg-purple-soft  { background-color: #f3e8ff; }
.bg-green-soft   { background-color: #e6fffa; }
.bg-danger-soft  { background-color: #fef2f2; }
.bg-warning-soft { background-color: #fff7ed; }
.bg-info-soft    { background-color: #ecfeff; }

.text-purple { color: #7c3aed; }

@media (max-width: 768px) {
    .popular-courses-section h2 { font-size: 1.8rem; }
}





/* Required Exams Section Styling */
.required-exams-section {
    font-family: 'Inter', sans-serif;
    background-color: #fdfdfd;
}

/* Card Design */
.exam-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.exam-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.08) !important;
    border-color: #0d6efd !important;
}

/* Logo Sizing */
.exam-logo-wrapper {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.exam-logo {
    max-height: 40px;
    width: auto;
    object-fit: contain;
}

/* Exam Stats Box */
.exam-stats {
    border: 1px solid #eee;
}

/* Responsive tweaks */
@media (max-width: 768px) {
    .required-exams-section h2 { font-size: 1.8rem; }
}






/* CTA Section Styling */
.online-counselling-cta {
    font-family: 'Inter', sans-serif;
}

/* Glassmorphism Card */
.cta-glass-card {
    background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
    box-shadow: 0 20px 40px rgba(13, 110, 253, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Background Decoration */
.cta-circle-bg {
    position: absolute;
    top: -50px;
    right: -50px;
    width: 300px;
    height: 300px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    z-index: 1;
}

/* Online Status Dot Animation */
.online-dot {
    width: 10px;
    height: 10px;
    background-color: #22c55e;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 0 rgba(34, 197, 94, 0.4);
    animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(34, 197, 94, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

/* Button & Utility Classes */
.hover-lift {
    transition: all 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

.z-index-2 { z-index: 2; }

.tracking-wider {
    letter-spacing: 0.1rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .cta-glass-card { padding: 3rem 1.5rem !important; }
    .cta-glass-card h2 { font-size: 1.8rem; }
    .cta-glass-card p { font-size: 1rem; }
}




/* Hero Section Styling */
.hero-wrapper {
    height: 100vh; /* Full Viewport Height */
    width: 100%;
    position: relative;
    background: #000;
}

/* Background Image with Dark Overlay */
.hero-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-bg-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6; /* Darkens the image for text clarity */
}

/* Content Container */
.hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    padding-top: 80px; /* Adjust if you have a sticky navbar */
}

/* Custom Typography */
.fw-black {
    font-weight: 900;
    letter-spacing: -2px;
}

/* Hero Badges */
.hero-badge {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 8px 15px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
}

/* Wave Decoration */
.hero-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    z-index: 3;
}

.hero-wave svg {
    position: relative;
    display: block;
    width: calc(151% + 1.3px);
    height: 80px;
}

.hero-wave .shape-fill {
    fill: #ffffff; /* Matches the background of the next section */
}

/* Animations */
.animate-up {
    animation: fadeInUp 1s ease forwards;
    opacity: 0;
}

.delay-1 { animation-delay: 0.3s; }
.delay-2 { animation-delay: 0.6s; }

@keyframes fadeInUp {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.hover-scale {
    transition: transform 0.3s ease;
}

.hover-scale:hover {
    transform: scale(1.05);
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .hero-wrapper { height: 80vh; }
    .display-1 { font-size: 3.5rem; }
    .hero-badge { font-size: 0.7rem; padding: 5px 10px; }
}




/* Core Hero Structure (Same as USA for consistency) */
.hero-wrapper {
    height: 100vh; /* Full Viewport Height */
    width: 100%;
    position: relative;
    background: #000; /* Fallback for black background */
    font-family: 'Inter', sans-serif;
}

/* Background Image with Dark Overlay */
.hero-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-bg-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.55; /* Darkens the image for text clarity */
}

/* Content Container */
.hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
    padding-top: 80px; /* Space for Navbar */
}

/* Custom Typography */
.fw-black {
    font-weight: 900;
    letter-spacing: -2px;
}

/* Glassmorphism Badges (Premium look) */
.hero-badge {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 8px 18px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
    border-radius: 50px;
}

/* UK Specific Accents (Using a regal red/crimson for contrast) */
.text-uk-accent {
    color: #e63946 !important; /* Crimson Red accent */
}

.btn-uk-accent {
    background-color: #e63946;
    color: #ffffff;
    border: none;
    transition: all 0.3s ease;
}

.btn-uk-accent:hover {
    background-color: #d62828;
    color: #ffffff;
    transform: scale(1.05);
}

/* Wave Decoration (Bottom Transition) */
.hero-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    z-index: 3;
}

.hero-wave svg {
    position: relative;
    display: block;
    width: calc(160% + 1.3px);
    height: 70px;
}

.hero-wave .shape-fill {
    fill: #ffffff; /* Matches the background of the next section */
}

/* Fade-In Animations (Slightly randomized delays) */
.animate-up {
    animation: fadeInUp 1s ease forwards;
    opacity: 0;
}

.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.7s; }

@keyframes fadeInUp {
    from { transform: translateY(25px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .hero-wrapper { height: 85vh; }
    .display-1 { font-size: 3.2rem; }
    .hero-badge { font-size: 0.7rem; padding: 5px 12px; }
}




/* UK Highlights Styling */
.uk-highlights-section {
    font-family: 'Inter', sans-serif;
    background-color: #f8f9fc;
}

/* Custom 5-Column Grid for Desktop */
@media (min-width: 992px) {
    .col-lg-2-custom {
        flex: 0 0 20%;
        max-width: 20%;
    }
}

/* Card Styling */
.highlight-box {
    transition: all 0.3s ease;
}

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

/* Icon Circle */
.icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 1.5rem;
}

/* UK Color Palette */
.text-uk-crimson { color: #e63946 !important; }
.text-navy { color: #1d3557 !important; }
.border-navy { border-color: #1d3557 !important; }
.border-crimson { border-color: #e63946 !important; }

.bg-navy-light { background-color: #f1f4f9; }
.bg-crimson-light { background-color: #fff1f2; }

/* Responsive Adjustments */
@media (max-width: 991px) {
    .highlight-box { padding: 1.5rem !important; }
}



/* UK Cost Section Styles */
.uk-cost-section {
    font-family: 'Inter', sans-serif;
    background-color: #fdfdfd;
}

/* Custom UK Colors */
.text-uk-red { color: #e63946 !important; }
.bg-navy { background-color: #1d3557 !important; }
.bg-blue-light { background-color: #f1f4f9; }
.bg-red-light { background-color: #fff1f2; }
.bg-green-light { background-color: #f0fdf4; }

/* Table Styling */
.uk-cost-section table th {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #4b5563;
}

.uk-cost-section table td {
    padding: 15px 20px;
}

/* Living Cost Cards */
.living-cost-card {
    transition: all 0.3s ease;
}

.living-cost-card:hover {
    transform: translateX(10px);
    border-color: #e63946 !important;
}

.cost-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 1.2rem;
}

/* Final Summary Box */
.total-cost-box {
    background: linear-gradient(135deg, #1d3557 0%, #457b9d 100%);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .living-cost-card:hover {
        transform: translateY(-5px);
    }
}



/* UK Academic Section Styles */
.uk-academic-section {
    font-family: 'Inter', sans-serif;
    background-color: #f9fbff;
}

/* Colors */
.text-uk-crimson { color: #e63946 !important; }
.bg-uk-crimson { background-color: #e63946 !important; }
.text-uk-blue { color: #1d3557 !important; }
.bg-navy-uk { background-color: #1d3557 !important; }
.border-uk-crimson { border-color: #e63946 !important; }
.border-uk-blue { border-color: #1d3557 !important; }

/* University Cards */
.uni-card-uk {
    transition: all 0.3s ease;
    border-color: #eee !important;
}

.uni-card-uk:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(29, 53, 87, 0.1) !important;
    border-color: #1d3557 !important;
}

.uni-logo-uk {
    width: 60px;
    height: 60px;
    background: #fff;
    border-radius: 12px;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.uni-logo-uk img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Course Badges */
.course-badge-uk {
    transition: all 0.3s ease;
    cursor: default;
}

.course-badge-uk:hover {
    background-color: #f1f4f9 !important;
    border-color: #1d3557 !important;
    transform: translateX(5px);
}

/* Responsive */
@media (max-width: 768px) {
    .uk-academic-section h2 { font-size: 1.75rem; }
    .uni-card-uk { text-align: left; }
}




/* UK Detailed Guide Styling */
.uk-detailed-guide {
    font-family: 'Inter', sans-serif;
}

/* Colors & Accents */
.text-uk-red { color: #e63946 !important; }
.bg-uk-red { background-color: #e63946 !important; }
.bg-navy { background-color: #1d3557 !important; }
.text-navy { color: #1d3557 !important; }
.border-uk-red { border-color: #e63946 !important; }

/* Test Card Hover */
.test-card {
    transition: all 0.3s ease;
}
.test-card:hover {
    transform: translateY(-5px);
    border-color: #e63946 !important;
}

/* Table Customization */
.uk-detailed-guide .table thead {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* CTA Animation */
.animate-bounce {
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

.btn-xl {
    font-size: 1.25rem;
    color: black;
    background-color: wheat;
}

.btn-xl:hover {
    font-size: 1.25rem;
    color: wheat;
    background-color: black;
}

/* Mobile Tweak */
@media (max-width: 768px) {
    .uk-detailed-guide h3 { font-size: 1.5rem; }
}




/* UK Universities Section Styling */
.uk-universities-section {
    font-family: 'Inter', sans-serif;
    background-color: #f8faff;
}

/* Colors */
.text-uk-red { color: #e63946 !important; }
.bg-uk-red { background-color: #e63946 !important; }
.bg-navy { background-color: #1d3557 !important; }

/* Premium Card Design */
.uni-card-premium {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid #eee !important;
}

.uni-card-premium:hover {
    transform: translateY(-12px);
    box-shadow: 0 25px 50px rgba(29, 53, 87, 0.15) !important;
    border-color: #1d3557 !important;
}

/* Banner Image Adjustment */
.uni-banner {
    height: 190px;
    position: relative;
    overflow: hidden;
}

.uni-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.uni-card-premium:hover .uni-img {
    transform: scale(1.1);
}

/* Floating Logo Style */
.uni-logo-uk {
    width: 70px;
    height: 70px;
    background: #fff;
    border-radius: 15px;
    padding: 10px;
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}

.uni-logo-uk img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Utility Badges */
.badge {
    font-weight: 600;
    font-size: 0.7rem;
    z-index: 4;
    letter-spacing: 0.5px;
}


/* Hero Structure */
.hero-wrapper.canada-hero {
    height: 100vh;
    width: 100%;
    position: relative;
    background: #000; /* Dark fallback */
    font-family: 'Inter', sans-serif;
}

/* Background Image Overlay */
.hero-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-bg-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.6; /* Darker overlay for better text contrast */
}

.hero-content {
    position: relative;
    z-index: 2;
    height: 100%;
}

/* Canada Branding Colors */
.text-canada-accent {
    color: #ff3b3b !important; /* Canadian Maple Red */
}

.btn-canada-accent {
    background-color: #ff3b3b;
    color: #fff;
    border: none;
    transition: all 0.3s ease;
}

.btn-canada-accent:hover {
    background-color: #d90404;
    color: #fff;
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgba(255, 59, 59, 0.4);
}

/* Glass Badges */
.hero-badge {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    padding: 10px 20px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #fff;
    border-radius: 50px;
    text-transform: uppercase;
}

/* Wave Transition */
.hero-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 3;
}

.hero-wave svg {
    width: calc(150% + 1.3px);
    height: 75px;
}

.hero-wave .shape-fill {
    fill: #ffffff; /* Next section background */
}

/* Animations */
.animate-up {
    animation: fadeInUp 0.8s ease forwards;
    opacity: 0;
}

.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.7s; }

@keyframes fadeInUp {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Mobile Tweak */
@media (max-width: 768px) {
    .display-1 { font-size: 3.5rem; }
    .hero-badge { font-size: 0.7rem; padding: 6px 12px; }
}


/* --- 1. Canada Overview Styling (Blue Theme) --- */
.canada-overview-section {
    font-family: 'Inter', sans-serif;
    background-color: #fdfdfd;
}

/* Colors - Switched from Red to Royal Blue */
.text-canada-blue { color: #003366 !important; }
.border-canada-blue { border-color: #003366 !important; }
.bg-blue-light { background-color: #f0f7ff; }

/* Gradient for highlight card */
.bg-canada-gradient {
    background: linear-gradient(135deg, #003366 0%, #001f3f 100%);
    border: none !important;
}

/* Card Effects */
.overview-card {
    transition: all 0.3s ease-in-out;
    border: 1px solid #f0f0f0;
}

.overview-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 35px rgba(0, 51, 102, 0.12) !important;
    background-color: #ffffff;
    border-color: #003366 !important;
}

/* Icon Styling */
.overview-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-size: 1.6rem;
}

/* --- 2. Canada Highlights Styling (Blue Theme) --- */
.canada-highlights-section {
    font-family: 'Inter', sans-serif;
    background-color: #fcfcfc;
}

@media (min-width: 992px) {
    .col-lg-2-custom {
        flex: 0 0 20%;
        max-width: 20%;
    }
}

.highlight-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid #f0f0f0 !important;
}

.highlight-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 51, 102, 0.08) !important;
    border-color: #003366 !important;
}

.highlight-icon {
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 auto;
    font-size: 1.4rem;
}

/* Branding Colors */
.text-canada-blue { color: #003366 !important; }
.border-canada-blue { border-color: #003366 !important; }
.bg-blue-light { background-color: #f0f7ff; }

/* --- 3. Canada Cost Detail Styling (Blue Theme) --- */
.canada-cost-detail {
    font-family: 'Inter', sans-serif;
}

.text-canada-blue { color: #003366 !important; }
.bg-light-gray { background-color: #f9f9f9; }

/* Total Expense Card (Left Side) - New Blue Gradient */
.total-expense-card {
    background: linear-gradient(135deg, #003366 0%, #001f3f 100%);
    box-shadow: 0 15px 35px rgba(0, 31, 63, 0.2);
}

.maple-bg-icon {
    font-size: 15rem;
    bottom: -50px;
    right: -30px;
    opacity: 0.1;
    transform: rotate(-15deg);
    color: #fff;
}

/* Table Styling */
.canada-cost-detail .table thead th {
    font-size: 0.8rem;
    font-weight: 700;
    color: #003366;
    border-top: none;
}

.canada-cost-detail .table td {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    border-color: #f0f0f0;
}

.canada-cost-detail .card:hover {
    box-shadow: 0 10px 30px rgba(0, 51, 102, 0.08) !important;
}


/* Canada Final Sections Styling */
.canada-final-sections {
    font-family: 'Inter', sans-serif;
}

.text-canada-blue { color: #003366 !important; }
.btn-canada-blue { background-color: #003366 !important; border: none; }
.bg-blue-light { background-color: #f0f7ff; }

/* Testimonial Cards */
.testimonial-card {
    transition: transform 0.3s ease;
}
.testimonial-card:hover {
    transform: translateY(-5px);
}

.avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
}

/* FAQ Accordion */
.accordion-button:not(.collapsed) {
    background-color: #f0f7ff;
    color: #003366;
    box-shadow: none;
}
.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0, 51, 102, 0.1);
}

/* Booking Section Gradient */
.booking-section {
    background: linear-gradient(135deg, #003366 0%, #001f3f 100%);
    position: relative;
    overflow: hidden;
}

.booking-section::before {
    content: "🍁";
    position: absolute;
    top: -20px;
    right: -20px;
    font-size: 10rem;
    opacity: 0.05;
    transform: rotate(20deg);
}

/* Form Styling */
.form-control:focus {
    background-color: #eef3f9;
    box-shadow: none;
    border: 1px solid #003366;
}

.btn-canada-blue:hover {
    background-color: #001f3f !important;
    transform: scale(1.02);
    transition: 0.3s;
}

@media (max-width: 768px) {
    .booking-section { padding: 2rem !important; }
}




/* Canada University Section Style */
.canada-uni-section {
    font-family: 'Inter', sans-serif;
    background-color: #f8fbff;
}

.text-canada-blue { color: #003366 !important; }

/* Modern Card Layout */
.uni-card-modern {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    border: 1px solid #eef2f7 !important;
    position: relative;
}

.uni-card-modern:hover {
    transform: translateY(-12px);
    box-shadow: 0 25px 50px rgba(0, 51, 102, 0.1) !important;
    border-color: #003366 !important;
}

/* Image Header */
.uni-banner {
    height: 190px;
    position: relative;
    overflow: hidden;
}

.uni-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.uni-card-modern:hover .uni-img {
    transform: scale(1.1);
}

/* Rank Badge */
.uni-tag {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(0, 51, 102, 0.85);
    color: #fff;
    padding: 5px 15px;
    border-radius: 50px;
    font-size: 0.7rem;
    font-weight: 600;
    backdrop-filter: blur(4px);
    z-index: 2;
}

/* Floating Logo Style */
.uni-logo-circle {
    width: 75px;
    height: 75px;
    background: #fff;
    border-radius: 50%;
    padding: 10px;
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}

.uni-logo-circle img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Responsive Tweak */
@media (max-width: 991px) {
    .offset-lg-2 { margin-left: 0; }
    .display-5 { font-size: 2.2rem; }
}


/* --- Hero Structure (Dubai Section) --- */
.hero-wrapper.dubai-hero {
    height: 100vh;
    min-height: 700px;
    width: 100%;
    position: relative;
    background: #001f3f; /* Deep Navy Blue */
    font-family: 'Inter', sans-serif;
}

/* Background Image Overlay */
.hero-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-bg-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.5; /* Blue tone ko depth dene ke liye thoda dark rakha hai */
}

/* Dubai Branding Colors - Royal Blue Gradient */
.text-dubai-blue {
    background: linear-gradient(to bottom, #0056b3 0%, #003366 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}

.btn-dubai-blue {
    background: linear-gradient(135deg, #0056b3 0%, #003366 100%);
    color: #ffffff !important;
    border: none;
    transition: all 0.3s ease;
}

.btn-dubai-blue:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 51, 102, 0.4);
    background: #00264d;
}

/* Glassmorphism Form Card - Blue Theme */
.booking-card-glass {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.dubai-input {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    padding: 12px 20px;
}

.dubai-input:focus {
    background: rgba(255, 255, 255, 0.25) !important;
    border-color: #0056b3 !important;
    box-shadow: none;
}

/* Blue Badges */
.hero-badge-blue {
    background: rgba(0, 86, 179, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #ffffff;
    padding: 8px 16px;
    font-weight: 600;
    border-radius: 50px;
    font-size: 0.75rem;
    text-transform: uppercase;
}

/* Bottom Fade to Dark Blue */
.hero-bottom-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: linear-gradient(transparent, #001f3f);
    z-index: 2;
}

/* --- University Card Styling (Blue Theme) --- */
.uni-card-premium {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    background: #ffffff;
    border: 1px solid #f0f0f0 !important;
}

/* Hover Effect with Blue Shadow */
.uni-card-premium:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 51, 102, 0.12) !important;
    border-color: #003366 !important;
}

.location-badge {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(0, 51, 102, 0.9); /* Dark Blue Badge */
    backdrop-filter: blur(5px);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
}

.btn-outline-blue {
    color: #003366;
    border: 1px solid #003366;
    transition: all 0.3s ease;
}

.btn-outline-blue:hover {
    background: linear-gradient(135deg, #0056b3 0%, #003366 100%);
    color: #fff;
    border-color: transparent;
}


/* Dubai Page - Professional English Version Styling */
.text-dubai-blue { color: #003366 !important; }

/* Feature Cards */
.feature-card {
    transition: all 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 51, 102, 0.1) !important;
}

.icon-box {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 51, 102, 0.05);
    border-radius: 15px;
}

/* Course Grid Tweak */
.border-dubai-blue {
    border-color: #003366 !important;
}

/* Badge Tweak */
.badge.bg-white {
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* List group style */
.list-group-item {
    font-size: 0.95rem;
    color: #4a4a4a;
}


/* Color Palette */
.text-primary-blue { color: #0056b3 !important; }
.text-dark-navy { color: #001f3f !important; }
.text-silver-gray { color: #8e9aaf !important; }
.ls-2 { letter-spacing: 2px; }

/* Review Card Styling */
.review-card {
    transition: all 0.4s ease;
    border: 1px solid #f1f4f8 !important;
}

.review-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 31, 63, 0.1) !important;
    border-color: #0056b3 !important;
}

/* Student Initials Avatar (Royal Blue) */
.user-initials {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #003366 0%, #001f3f 100%);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    box-shadow: 0 5px 15px rgba(0, 51, 102, 0.2);
}

.review-text {
    font-size: 0.95rem;
    line-height: 1.7;
    font-style: italic;
}

/* Background Section Color (Optional) */
.dubai-reviews-section {
    background-color: #f8fafc;
}



/* Color Palette */
.text-primary-blue { color: #0056b3 !important; }
.text-dark-navy { color: #001f3f !important; }
.text-silver { color: #d1d5db !important; }
.text-silver-gray { color: #8e9aaf !important; }

/* Hero Styling */
.hero-wrapper.nz-hero {
    height: 100vh;
    background: #001f3f;
}

.hero-badge-blue {
    background: rgba(0, 86, 179, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    padding: 8px 15px;
    border-radius: 50px;
}

/* NZ Input Styling */
.nz-input {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
}

.btn-nz-blue {
    background: linear-gradient(135deg, #0056b3 0%, #001f3f 100%);
    color: white;
    border: none;
    transition: 0.3s;
}

.btn-nz-blue:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 51, 102, 0.3);
}

/* Review Avatar */
.user-initials-blue {
    width: 45px;
    height: 45px;
    background: #003366;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}




/* Color Palette */
.text-nz-primary { color: #0056b3 !important; }
.text-nz-navy { color: #001f3f !important; }
.text-nz-silver { color: #94a3b8 !important; }
.ls-2 { letter-spacing: 2px; }

/* Card Main Design */
.nz-uni-card {
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    background: #ffffff;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

/* Image Hover & Zoom */
.nz-card-media {
    height: 230px;
    position: relative;
    overflow: hidden;
}

.nz-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

/* Glass Badge on Image */
.nz-card-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: rgba(0, 31, 63, 0.8);
    backdrop-filter: blur(8px);
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 1px solid rgba(255,255,255,0.2);
}

/* Hover Effects */
.nz-uni-card:hover {
    transform: translateY(-15px);
    box-shadow: 0 30px 60px rgba(0, 31, 63, 0.15) !important;
}

.nz-uni-card:hover .nz-card-media img {
    transform: scale(1.15) rotate(1deg);
}

/* Link Styling */
.nz-btn-link {
    color: #0056b3;
    font-size: 0.85rem;
    transition: 0.3s;
}

.nz-uni-card:hover .nz-btn-link {
    color: #001f3f;
    padding-right: 5px;
}

/* Body Styling */
.nz-card-body {
    border-top: 4px solid transparent;
    transition: 0.4s;
}

.nz-uni-card:hover .nz-card-body {
    border-top: 4px solid #0056b3;
}




/* New Zealand Review Section Styling */
.text-nz-primary { color: #0056b3 !important; }
.text-nz-navy { color: #001f3f !important; }
.text-nz-silver { color: #94a3b8 !important; }
.ls-2 { letter-spacing: 2px; }

.nz-review-card {
    transition: all 0.4s ease-in-out;
    border-bottom: 4px solid transparent !important;
}

/* Interaction: Hover Lift and Blue Border Reveal */
.nz-review-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 31, 63, 0.1) !important;
    border-bottom: 4px solid #0056b3 !important;
}

/* Avatar Styling - Royal Blue Gradient */
.nz-avatar-circle {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #003366 0%, #001f3f 100%);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.85rem;
    box-shadow: 0 4px 10px rgba(0, 51, 102, 0.2);
}

.nz-review-text {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #4b5563;
    font-style: italic;
    position: relative;
}

/* Background Section Decoration */
.nz-testimonial-wrapper {
    position: relative;
    background-color: #f8fafc !important;
}

.nz-rating i {
    font-size: 0.8rem;
    margin-right: 2px;
}



/* Counselling Section Colors */
.bg-nz-navy { 
    background: linear-gradient(135deg, #001f3f 0%, #003366 100%); 
}
.text-nz-navy { color: #001f3f !important; }
.text-nz-silver { color: #94a3b8 !important; }

/* Section Background Decoration */
.nz-counselling-cta {
    background-color: #ffffff;
    position: relative;
}

/* Form Input Styling */
.nz-form-input {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    padding: 12px 15px;
    font-size: 0.9rem;
    transition: 0.3s;
}

.nz-form-input:focus {
    border-color: #0056b3 !important;
    box-shadow: 0 0 0 4px rgba(0, 86, 179, 0.1) !important;
    background: #fff !important;
}

/* Primary Button Styling */
.btn-nz-primary {
    background: linear-gradient(135deg, #0056b3 0%, #003366 100%);
    color: #ffffff;
    border: none;
    transition: all 0.3s ease;
    letter-spacing: 1px;
}

.btn-nz-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 51, 102, 0.3);
    color: #ffffff;
}

/* Spacing & Typography */
.ls-2 { letter-spacing: 2px; }

@media (max-width: 991px) {
    .bg-nz-navy {
        border-radius: 20px !important;
    }
}