/* =========================================================
   AFFILIATED COLLEGES PAGE
   Page-specific CSS only
========================================================= */


.affiliated-page {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
}


/* =========================================================
   HERO
========================================================= */

.affiliated-hero {
    position: relative;

    min-height: 500px;

    display: flex;
    align-items: center;

    background-image: url("../images/abouthero1.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    color: #ffffff;

    overflow: hidden;
}


.affiliated-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background: linear-gradient(
        90deg,
        rgba(98, 42, 142, 0.75) 0%,
        rgba(98, 42, 142, 0.45) 18%,
        rgba(98, 42, 142, 0.10) 35%,
        transparent 100%,
        transparent 35%,
        rgba(78, 42, 142, 0.10) 65%,
        rgba(78, 42, 142, 0.45) 82%,
        rgba(78, 42, 142, 0.75) 100%
    );
}


.affiliated-hero-container {
    position: relative;
    z-index: 2;

    min-height: 500px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 40px;
}


.affiliated-hero-content {
    width: min(650px, 100%);
}


.affiliated-hero-label {
    display: inline-block;

    margin-bottom: 12px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.2px;
    text-transform: uppercase;

    color: #dbeafe;
}


.affiliated-hero h1 {
    margin: 0 0 16px;

    max-width: 620px;

    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.12;

    font-weight: 700;

    letter-spacing: -0.5px;
}


.affiliated-hero-content > p {
    max-width: 570px;

    margin: 0;

    font-size: 14px;
    line-height: 1.7;

    color: rgba(255, 255, 255, 0.9);
}


.affiliated-hero-actions {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-top: 25px;

    flex-wrap: wrap;
}


.affiliated-primary-btn,
.affiliated-secondary-btn {
    min-height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 10px 18px;

    border-radius: 7px;

    font-size: 12px;
    font-weight: 600;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


.affiliated-primary-btn {
    background: #ffffff;
    color: #1e3a8a;

    border: 1px solid #ffffff;
}


.affiliated-primary-btn:hover {
    color: #1e3a8a;

    transform: translateY(-1px);

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.16);
}


.affiliated-secondary-btn {
    color: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.45);

    background: rgba(255, 255, 255, 0.08);
}


.affiliated-secondary-btn:hover {
    color: #ffffff;

    background: rgba(255, 255, 255, 0.16);
}


.affiliated-hero-card {
    width: 250px;

    flex: 0 0 250px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 16px;

    border: 1px solid rgba(255, 255, 255, 0.2);

    border-radius: 10px;

    background: rgba(255, 255, 255, 0.12);

    backdrop-filter: blur(8px);
}


.hero-card-icon {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: rgba(255, 255, 255, 0.18);

    font-size: 18px;
}


.affiliated-hero-card strong {
    display: block;

    margin-bottom: 3px;

    font-size: 12px;
    font-weight: 600;
}


.affiliated-hero-card span {
    display: block;

    font-size: 10px;

    color: rgba(255, 255, 255, 0.78);
}


/* =========================================================
   INTRO
========================================================= */

.affiliated-intro {
    padding: 55px 0;

    background: #ffffff;
}


.affiliated-intro-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(300px, 0.9fr);

    gap: 55px;

    align-items: center;
}


.section-label {
    display: inline-block;

    margin-bottom: 8px;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;

    color: #4f46e5;
}


.intro-content h2,
.section-heading h2 {
    margin: 0 0 10px;

    font-size: 27px;
    line-height: 1.25;

    font-weight: 700;

    color: #1f2937;
}


.intro-content p {
    max-width: 650px;

    margin: 0 0 10px;

    font-size: 13px;
    line-height: 1.7;

    color: #667085;
}


.intro-points {
    display: flex;

    flex-direction: column;

    gap: 14px;
}


.intro-point {
    display: flex;
    align-items: flex-start;

    gap: 11px;

    padding: 13px;

    border: 1px solid #e7eaf0;

    border-radius: 8px;

    background: #ffffff;
}


.intro-point-icon {
    width: 28px;
    height: 28px;

    flex: 0 0 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #eef2ff;

    color: #4f46e5;

    font-size: 13px;
}


.intro-point strong {
    display: block;

    margin-bottom: 3px;

    font-size: 12px;

    color: #273142;
}


.intro-point p {
    margin: 0;

    font-size: 11px;
    line-height: 1.5;

    color: #7b8494;
}


/* =========================================================
   GENERAL SECTIONS
========================================================= */

.affiliated-section {
    padding: 55px 0;
}


.affiliated-section-soft {
    background: #f8f9fc;
}


.section-heading {
    margin-bottom: 25px;

    text-align: center;
}


.section-heading h2 {
    margin-bottom: 7px;

    font-size: 26px;
}


.section-heading p {
    max-width: 600px;

    margin: 0 auto;

    font-size: 12px;
    line-height: 1.6;

    color: #7b8494;
}


/* =========================================================
   HORIZONTAL SCROLL
========================================================= */

.horizontal-scroll-wrap {
    position: relative;
}


.horizontal-scroll {
    display: flex;

    gap: 15px;

    overflow-x: auto;

    padding: 4px 2px 12px;

    scroll-behavior: smooth;

    scrollbar-width: thin;

    -webkit-overflow-scrolling: touch;
}


.horizontal-scroll::-webkit-scrollbar {
    height: 5px;
}


.horizontal-scroll::-webkit-scrollbar-track {
    background: #edf0f5;

    border-radius: 10px;
}


.horizontal-scroll::-webkit-scrollbar-thumb {
    background: #c5cad5;

    border-radius: 10px;
}


.scroll-btn {
    position: absolute;

    top: 42%;

    z-index: 5;

    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #e0e4eb;

    border-radius: 50%;

    background: #ffffff;

    color: #344054;

    box-shadow:
        0 3px 12px rgba(16, 24, 40, 0.12);

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.scroll-btn:hover {
    background: #f5f7fa;

    transform: scale(1.04);
}


.scroll-left {
    left: -17px;
}


.scroll-right {
    right: -17px;
}


/* =========================================================
   COLLEGE CARDS
========================================================= */

.college-card {
    flex: 0 0 225px;

    overflow: hidden;

    border: 1px solid #e5e8ee;

    border-radius: 9px;

    background: #ffffff;

    box-shadow:
        0 3px 12px rgba(16, 24, 40, 0.05);
}


.college-image {
    width: 100%;
    height: 130px;

    overflow: hidden;

    background: #eef1f7;
}


.college-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.35s ease;
}


.college-card:hover .college-image img {
    transform: scale(1.04);
}


.college-image-fallback {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eef1f7;

    color: #8b94a7;

    font-size: 36px;
}


.college-card-body {
    padding: 12px;
}


.college-card-body h3 {
    margin: 0 0 4px;

    font-size: 12px;
    line-height: 1.4;

    font-weight: 600;

    color: #273142;
}


.college-card-body p {
    margin: 0;

    font-size: 10px;

    color: #8992a3;
}


.college-empty-state {
    flex: 0 0 100%;

    min-height: 150px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 8px;

    border: 1px dashed #d9dee8;

    border-radius: 10px;

    background: #fafbfc;

    color: #7b8494;

    text-align: center;
}


.college-empty-state i {
    font-size: 25px;

    color: #a0a8b8;
}


.college-empty-state p {
    margin: 0;

    font-size: 12px;
}


/* =========================================================
   ACTIVITY / TRAINING CARDS
========================================================= */

.activity-card {
    flex: 0 0 280px;

    overflow: hidden;

    border: 1px solid #e5e8ee;

    border-radius: 9px;

    background: #ffffff;

    box-shadow:
        0 3px 12px rgba(16, 24, 40, 0.05);
}


.activity-image {
    width: 100%;
    height: 165px;

    overflow: hidden;

    background: #eef1f7;
}


.activity-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.35s ease;
}


.activity-card:hover .activity-image img {
    transform: scale(1.04);
}


.activity-image-fallback {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eef1f7;

    color: #8b94a7;

    font-size: 36px;
}


.activity-card-body {
    padding: 13px;
}


.activity-category {
    display: inline-block;

    margin-bottom: 5px;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.6px;

    text-transform: uppercase;

    color: #4f46e5;
}


.activity-card-body h3 {
    margin: 0 0 7px;

    font-size: 13px;
    line-height: 1.4;

    font-weight: 600;

    color: #273142;
}


.activity-college {
    display: flex;
    align-items: center;

    gap: 5px;

    margin: 0 0 6px;

    font-size: 10px;

    color: #697386;
}


.activity-college i {
    font-size: 10px;

    color: #8a94a6;
}


.activity-description {
    margin: 0;

    font-size: 10px;
    line-height: 1.5;

    color: #8992a3;
}


.activity-empty-state {
    flex: 0 0 100%;

    min-height: 150px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 8px;

    border: 1px dashed #d9dee8;

    border-radius: 10px;

    background: #fafbfc;

    color: #7b8494;

    text-align: center;
}


.activity-empty-state i {
    font-size: 25px;

    color: #a0a8b8;
}


.activity-empty-state p {
    margin: 0;

    font-size: 12px;
}


/* =========================================================
   INTERNSHIP JOURNEY
========================================================= */

.journey-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 15px;
}


.journey-card {
    position: relative;

    padding: 20px 16px;

    border: 1px solid #e5e8ee;

    border-radius: 9px;

    background: #ffffff;

    text-align: center;

    box-shadow:
        0 3px 12px rgba(16, 24, 40, 0.04);
}


.journey-number {
    position: absolute;

    top: 9px;
    right: 11px;

    font-size: 9px;
    font-weight: 700;

    color: #c2c7d1;
}


.journey-icon {
    width: 42px;
    height: 42px;

    margin: 0 auto 11px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #eef2ff;

    color: #4f46e5;

    font-size: 17px;
}


.journey-card h3 {
    margin: 0 0 6px;

    font-size: 12px;

    font-weight: 600;

    color: #273142;
}


.journey-card p {
    margin: 0;

    font-size: 10px;
    line-height: 1.5;

    color: #8992a3;
}


/* =========================================================
   CERTIFICATES
========================================================= */

.certificate-card {
    flex: 0 0 250px;

    overflow: hidden;

    border: 1px solid #e5e8ee;

    border-radius: 9px;

    background: #ffffff;

    box-shadow:
        0 3px 12px rgba(16, 24, 40, 0.05);
}


.certificate-image {
    width: 100%;
    height: 170px;

    overflow: hidden;

    background: #f0f2f6;
}


.certificate-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.35s ease;
}


.certificate-card:hover .certificate-image img {
    transform: scale(1.03);
}


.certificate-image-fallback {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #eef1f7;

    color: #8b94a7;

    font-size: 36px;
}


.certificate-card-body {
    padding: 13px;
}


.certificate-category {
    display: inline-block;

    margin-bottom: 5px;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.5px;

    text-transform: uppercase;

    color: #4f46e5;
}


.certificate-card-body h3 {
    margin: 0 0 7px;

    font-size: 12px;
    line-height: 1.4;

    font-weight: 600;

    color: #273142;
}


.certificate-college {
    display: flex;
    align-items: center;

    gap: 5px;

    margin: 0 0 6px;

    font-size: 10px;

    color: #697386;
}


.certificate-college i {
    font-size: 10px;

    color: #8a94a6;
}


.certificate-description {
    margin: 0;

    font-size: 10px;
    line-height: 1.5;

    color: #8992a3;
}


.certificate-empty-state {
    flex: 0 0 100%;

    min-height: 150px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 8px;

    border: 1px dashed #d9dee8;

    border-radius: 10px;

    background: #fafbfc;

    color: #7b8494;

    text-align: center;
}


.certificate-empty-state i {
    font-size: 25px;

    color: #a0a8b8;
}


.certificate-empty-state p {
    margin: 0;

    font-size: 12px;
}


/* =========================================================
   BENEFITS
========================================================= */

.benefit-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 15px;
}


.benefit-card {
    padding: 20px 16px;

    border: 1px solid #e5e8ee;

    border-radius: 9px;

    background: #ffffff;

    text-align: center;

    box-shadow:
        0 3px 12px rgba(16, 24, 40, 0.04);
}


.benefit-icon {
    width: 40px;
    height: 40px;

    margin: 0 auto 10px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 8px;

    background: #eef2ff;

    color: #4f46e5;

    font-size: 17px;
}


.benefit-card h3 {
    margin: 0 0 6px;

    font-size: 12px;

    font-weight: 600;

    color: #273142;
}


.benefit-card p {
    margin: 0;

    font-size: 10px;
    line-height: 1.55;

    color: #8992a3;
}


/* =========================================================
   FINAL CTA
========================================================= */

.affiliated-cta {
    padding: 45px 0;

    background:
        linear-gradient(
            135deg,
            #312e81,
            #4f46e5
        );
}


.affiliated-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}


.cta-label {
    display: inline-block;

    margin-bottom: 7px;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1px;

    color: #c7d2fe;
}


.affiliated-cta h2 {
    max-width: 650px;

    margin: 0 0 8px;

    font-size: 25px;
    line-height: 1.3;

    color: #ffffff;
}


.affiliated-cta p {
    max-width: 650px;

    margin: 0;

    font-size: 12px;
    line-height: 1.6;

    color: rgba(255, 255, 255, 0.82);
}


.affiliated-cta-btn {
    flex: 0 0 auto;

    white-space: nowrap;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .affiliated-hero {
        min-height: 470px;
    }


    .affiliated-hero-container {
        min-height: 470px;

        gap: 25px;
    }


    .affiliated-hero h1 {
        font-size: 38px;
    }


    .affiliated-hero-card {
        width: 220px;

        flex-basis: 220px;
    }


    .affiliated-intro-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }


    .journey-grid,
    .benefit-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 767px) {

    .affiliated-hero {
        min-height: 480px;

        background-position: center;
    }


    .affiliated-hero-container {
        min-height: 480px;

        padding-top: 50px;
        padding-bottom: 50px;

        align-items: flex-start;

        justify-content: center;

        flex-direction: column;
    }


    .affiliated-hero h1 {
        font-size: 31px;
    }


    .affiliated-hero-content > p {
        font-size: 12px;
    }


    .affiliated-hero-card {
        width: 100%;

        max-width: 300px;

        flex-basis: auto;
    }


    .affiliated-section,
    .affiliated-intro {
        padding: 42px 0;
    }


    .intro-content h2,
    .section-heading h2 {
        font-size: 23px;
    }


    .scroll-btn {
        display: none;
    }


    .horizontal-scroll {
        gap: 12px;

        padding-left: 2px;
        padding-right: 2px;
    }


    .college-card {
        flex-basis: 205px;
    }


    .activity-card {
        flex-basis: 255px;
    }


    .certificate-card {
        flex-basis: 225px;
    }


    .journey-grid,
    .benefit-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .affiliated-cta-inner {
        align-items: flex-start;

        flex-direction: column;
    }


    .affiliated-cta h2 {
        font-size: 22px;
    }


    .affiliated-cta-btn {
        width: 100%;
    }

}


@media (max-width: 480px) {

    .affiliated-hero h1 {
        font-size: 28px;
    }


    .affiliated-hero-actions {
        align-items: stretch;

        flex-direction: column;
    }


    .affiliated-primary-btn,
    .affiliated-secondary-btn {
        width: 100%;
    }


    .college-card {
        flex-basis: 190px;
    }


    .activity-card {
        flex-basis: 245px;
    }


    .certificate-card {
        flex-basis: 215px;
    }

}