/* --- SIPANWA MOBILE RESPONSIVENESS OVERRIDES --- */

@media (max-width: 991px) {
    /* Cursor Resets for Mobile */
    * {
        cursor: auto !important;
    }
    #legal-pointer, #pointer-trail {
        display: none !important;
        visibility: hidden !important;
    }

    /* Layout overrides */
    .grid-2 {
        grid-template-columns: 1fr !important;
        gap: 30px;
        text-align: center;
    }

    /* Hero elements stacking */
    .hero-card-left {
        align-items: center;
    }
    .xp-bar {
        margin: 0 auto;
    }
    .hero-polaroid-right {
        margin-top: 20px;
    }

    /* Binder Page adjustments */
    .binder-workspace {
        grid-template-columns: 1fr !important;
    }
    .binder-sidebar {
        border-right: none !important;
        padding-right: 0 !important;
        border-bottom: 2px dashed var(--color-border);
        padding-bottom: 15px;
    }
    .semester-nav {
        display: flex !important;
        overflow-x: auto;
        gap: 8px;
        padding: 5px 0 12px 0;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start;
    }
    .sem-btn {
        flex-shrink: 0;
        scroll-snap-align: start;
        padding: 8px 12px;
        font-size: 0.6rem;
    }
    .binder-rings {
        display: none !important;
    }

    /* Form clipboard layout collapse */
    .form-container {
        grid-template-columns: 1fr !important;
    }
    .form-sidebar::before {
        display: none;
    }
}

@media (max-width: 576px) {
    /* Adjust text sizes for small screens */
    .main-title {
        font-size: 2rem !important;
    }
    .welcome-text {
        font-size: 1.4rem !important;
    }
    .page-header .main-title {
        font-size: 1.8rem !important;
    }

    /* Adjust padding */
    .container-wrapper {
        padding: 30px 16px 60px 16px;
    }
    .folder-card {
        padding: 16px;
    }
    .course-card-v2 {
        padding: 18px;
    }
    .form-sidebar, .form-content {
        padding: 20px;
    }

    /* Footer overrides */
    .footer-content {
        align-items: center;
        text-align: center;
    }
    .footer-links-compact {
        justify-content: center;
        flex-wrap: wrap;
    }
}