/* =========================================================
   MOBILE
   BELOW 768px
   ========================================================= */

@media (max-width: 767px) {

    /* =====================================================
       NAVBAR
       ===================================================== */

    .navbar {
        height: 68px;
    }

    .navbar-container {
        padding: 0 20px;
    }

    .brand {
        gap: 9px;
    }

    .logo-icon {
        margin-left: -17px;

        width: 40px;
        height: 40px;
    }

    .brand-name {
        font-size: 21px;
    }


    /* ================= HAMBURGER ================= */

    .menu-btn {
        display: flex;

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

        width: 42px;
        height: 42px;

        border: none;

        background: transparent;

        font-size: 28px;

        color: #101a3a;

        cursor: pointer;
    }


    /* ================= MOBILE NAVIGATION ================= */

    .nav-links {
        display: none;

        position: absolute;

        top: 68px;
        left: 0;

        width: 100%;

        padding: 12px 20px 20px;

        background: #ffffff;

        border-bottom: 1px solid #eeeeff;

        flex-direction: column;

        align-items: flex-start;

        gap: 0;

        box-sizing: border-box;

        z-index: 100;
    }

    .nav-links.show {
        display: flex;
    }

    .nav-links a {
        width: 100%;

        padding: 14px 5px;

        font-size: 16px;
    }


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

    .resources-hero {
        width: 100%;

        padding: 40px 20px 35px;

        box-sizing: border-box;
    }

    .resources-hero-container {
        width: 100%;

        display: flex;

        flex-direction: column;

        gap: 25px;
    }

    .resources-hero-content {
        width: 100%;

        max-width: none;
    }


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

    .hero-badge {
        width: fit-content;

        font-size: 10px;

        margin-bottom: 15px;

        padding: 7px 12px;
    }

    .badge-icon {
        font-size: 11px;
    }


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

    .resources-hero h1 {
        font-size: clamp(38px, 11vw, 52px);

        line-height: 1.02;

        letter-spacing: -1.5px;

        margin-bottom: 18px;
    }


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

    .resources-hero-content .hero-description {
        width: 100%;

        max-width: none;

        font-size: 13px;

        line-height: 1.55;

        margin-bottom: 20px;
    }


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

.hero-features {
    width: 100%;

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

    gap: 15px;

    margin-top: 8px;
}

.hero-feature {
    width: 100%;
    min-width: 0;

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

    gap: 9px;

    padding: 8px 5px;

    border: none;
}

    .hero-feature:first-child {
        padding-left: 4px;
    }

    .hero-feature:last-child {
        padding-right: 4px;

        border-right: none;
    }


    /* ================= FEATURE ICON ================= */

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

        flex: 0 0 42px;

        display: flex;

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

        border-radius: 10px;

        background: #efedff;

        overflow: hidden;
    }

    .hero-feature-icon img {
        width: 100%;
        height: 100%;

        max-width: 100%;
        max-height: 100%;

        display: block;

        object-fit: contain;
    }


    /* ================= FEATURE CONTENT ================= */

    .hero-feature-content {
        min-width: 0;

        flex: 1 1 auto;
    }


    /* ================= FEATURE TITLE ================= */

    .hero-feature strong {
        display: block;

        margin-bottom: 4px;

        color: #40577f;

        font-size: 11px;

        line-height: 1.3;

        font-weight: 700;

        white-space: normal;
    }


    /* ================= FEATURE DESCRIPTION ================= */

    .hero-feature small {
        display: block;

        color: #71819e;

        font-size: 8.5px;

        line-height: 1.45;

        white-space: normal;
    }


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

    .resources-hero-image {
        width: 100%;

        height: 190px;

        display: flex;

        align-items: center;

        justify-content: center;

        overflow: hidden;
    }

    .resources-hero-image img {
        width: 100%;
        height: 100%;

        object-fit: contain;

        display: block;
    }


    /* =====================================================
       RESOURCE CARDS
       ===================================================== */

    .resource-section {
        width: 100%;

        padding: 25px 20px 40px;
    }

    .resource-grid {
        width: 100%;

        grid-template-columns: 1fr;

        gap: 15px;
    }


    /* ================= RESOURCE CARD ================= */

    .resource-card {
        width: 100%;

        min-width: 0;

        min-height: 170px;

        padding: 18px;

        gap: 15px;

        box-sizing: border-box;
    }


    /* ================= RESOURCE ICON ================= */

    .feature-icon {
        width: 60px;
        height: 60px;

        flex: 0 0 60px;

        border-radius: 14px;

        overflow: hidden;
    }

    .feature-icon img {
        width: 100%;
        height: 100%;

        max-width: 100%;
        max-height: 100%;

        object-fit: contain;

        display: block;
    }


    /* ================= RESOURCE CONTENT ================= */

    .resource-content {
        flex: 1 1 auto;

        min-width: 0;

        padding-top: 2px;
    }

    .resource-content h2 {
        font-size: 18px;

        line-height: 1.25;

        margin-bottom: 7px;
    }

    .resource-content p {
        max-width: none;

        font-size: 12px;

        line-height: 1.5;

        margin-bottom: 12px;
    }


    /* ================= RESOURCE BUTTON ================= */

    .resource-btn,
    .special-btn {
        max-width: 100%;

        font-size: 10px;

        padding: 8px 12px;
    }


    /* ================= SPECIAL CARD ================= */

    .special-badge {
        top: 12px;

        right: 13px;

        font-size: 8px;
    }

    .special-card .feature-icon {
        margin-top: 8px;
    }


    /* =====================================================
       UNIVERSITY RESOURCES
       ===================================================== */

    .university-resources {
        padding: 0 20px 40px;
    }

    .university-resource-container {
        padding: 25px 18px;

        box-sizing: border-box;
    }


    /* ================= UNIVERSITY HEADING ================= */

    .university-heading-top {
        display: flex;

        align-items: center;

        justify-content: space-between;

        gap: 10px;

        margin-bottom: 11px;
    }

    .university-badge {
        font-size: 10px;

        padding: 6px 10px;

        white-space: nowrap;
    }

    .view-all {
        font-size: 11px;

        gap: 4px;

        white-space: nowrap;
    }

    .view-all span {
        font-size: 16px;
    }

    .university-heading h2 {
        font-size: 23px;

        line-height: 1.15;

        margin-bottom: 8px;
    }

    .university-heading p {
        font-size: 12px;

        line-height: 1.5;

        margin-bottom: 18px;
    }


    /* ================= UNIVERSITY GRID ================= */

    .university-resource-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }


    /* ================= UNIVERSITY CARD ================= */

    .university-resource-card {
        min-height: 135px;

        padding: 12px;

        box-sizing: border-box;

        display: flex;

        flex-direction: column;

        align-items: center;

        text-align: center;
    }


    /* ================= UNIVERSITY LOGO ================= */

    .university-resource-logo {
        width: 42px;
        height: 42px;

        margin: 0 auto 7px;
    }


    /* ================= UNIVERSITY INFO ================= */

    .university-resource-info {
        width: 100%;

        display: flex;

        flex-direction: column;

        align-items: center;

        text-align: center;
    }

    .university-resource-info h3 {
        font-size: 12px;

        line-height: 1.3;

        text-align: center;
    }

    .university-resource-info p {
        font-size: 9px;

        line-height: 1.4;

        text-align: center;
    }


    /* ================= UNIVERSITY ARROW ================= */

    .university-arrow {
        right: 11px;

        bottom: 10px;

        font-size: 17px;
    }


    /* =====================================================
       FOOTER
       ===================================================== */

    footer {
        padding: 0 20px;

        box-sizing: border-box;
    }

    .footer-container {
        max-width: none;

        display: grid;

        grid-template-columns: 1fr 1fr;

        column-gap: 25px;

        row-gap: 32px;

        padding: 42px 0 22px;

        box-sizing: border-box;
    }


    /* ================= FOOTER BRAND ================= */

    .footer-brand {
        grid-column: 1 / -1;

        grid-row: 1;

        align-items: center;

        text-align: center;

        margin-bottom: 5px;
    }

    .footer-logo {
        display: flex;

        align-items: center;

        justify-content: center;

        gap: 1px;
    }

    .footer-logo img {
        width: 30px;
        height: 30px;

        margin-right: 0;
    }

    .footer-logo > span {
        font-size: 21px;

        line-height: 1;
    }

    .footer-description {
        margin: 14px auto 0;

        max-width: 260px;

        font-size: 12px;

        line-height: 1.65;

        color: #66789b;
    }

    .footer-description br {
        display: none;
    }


    /* ================= LEGAL ================= */

    .footer-container > .footer-links:nth-child(2) {
        grid-column: 1;

        grid-row: 2;

        margin-left: 25px;
    }


    /* ================= SUPPORT ================= */

    .footer-container > .footer-links:nth-child(3) {
        grid-column: 2;

        grid-row: 2;

        margin-left: 50px;
    }


    /* ================= LINK HEADINGS ================= */

    .footer-links h3 {
        margin: 0 0 17px;

        font-size: 14px;
    }

    .footer-links a {
        margin-bottom: 11px;

        font-size: 12px;

        line-height: 1.5;
    }


    /* ================= CONNECT ================= */

    .footer-right {
        grid-column: 1 / -1;

        grid-row: 3;

        align-items: center;

        text-align: center;

        margin-top: 2px;
    }

    .footer-right h3 {
        margin: 0 0 15px;

        font-size: 14px;
    }

    .social {
        display: flex;

        align-items: center;

        justify-content: center;

        gap: 20px;
    }


    /* ================= SOCIAL ICONS ================= */

    .insta-logo {
        width: 22px;
        height: 22px;
    }

    .telegram-logo,
    .email-logo {
        width: 25px;
        height: 25px;
    }


    /* ================= FOOTER BOTTOM ================= */

    .footer-bottom {
        min-height: auto;

        padding: 18px 0;

        flex-direction: column;

        align-items: center;

        justify-content: center;

        gap: 7px;

        text-align: center;
    }

    .copyright,
    .made-for-students {
        font-size: 10px;
    }
}


/* =========================================================
   ONE NIGHT PREP
   FINAL RESPONSIVE OVERLAP FIX
   ========================================================= */


/* ================= TABLET ================= */

@media (min-width: 768px) and (max-width: 1024px) {

    .special-card {
        position: relative;

        display: flex;

        align-items: flex-start;

        padding: 42px 20px 20px;

        gap: 15px;

        min-height: 195px;
    }

    .special-card .feature-icon {
        flex: 0 0 70px;

        width: 70px;
        height: 70px;

        margin-top: 0;
    }

    .special-card .resource-content {
        min-width: 0;

        padding-top: 0;
    }

    .special-card .resource-content h2 {
        margin-top: 0;
    }

    .special-badge {
        top: 12px;

        right: 14px;

        white-space: nowrap;

        z-index: 5;

        font-size: 9px;

        padding: 5px 9px;
    }
}


/* ================= ALL MOBILE WIDTHS ================= */

@media (max-width: 767px) {

    .special-card {
        position: relative;

        display: flex;

        align-items: flex-start;

        padding: 42px 18px 18px;

        gap: 15px;

        min-height: 185px;
    }

    .special-card .feature-icon {
        flex: 0 0 60px;

        width: 60px;
        height: 60px;

        margin-top: 0;
    }

    .special-card .resource-content {
        min-width: 0;

        padding-top: 0;
    }

    .special-card .resource-content h2 {
        margin-top: 0;
    }

    .special-badge {
        top: 10px;

        right: 12px;

        max-width: calc(100% - 24px);

        white-space: nowrap;

        z-index: 5;

        font-size: 8px;

        padding: 5px 8px;
    }
}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 360px) {

    .special-card {
        padding: 40px 14px 16px;

        gap: 12px;
    }

    .special-card .feature-icon {
        flex-basis: 54px;

        width: 54px;
        height: 54px;
    }

    .special-badge {
        top: 9px;

        right: 10px;

        font-size: 7px;

        padding: 4px 7px;
    }
}


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

.resources-hero {
    position: relative;

    overflow: hidden;

    background:
        radial-gradient(circle at 75% 50%,
            #e7e1ff 0%,
            rgba(231, 225, 255, 0.55) 25%,
            transparent 42%),
        linear-gradient(120deg,
            #fafaff,
            #f2f1ff);
}

.resources-hero-container {
    position: relative;

    z-index: 1;
}