/* ==========================================================================
   MOBILE SPECIFIC STYLES (HOME PAGE)
   ========================================================================== */
@media (max-width: 768px) {
    /* Large Titles */
    .large-title {
        font-size: 1.5rem !important;
        line-height: 1.4;
        margin-bottom: 20px !important;
    }
    
    /* Hero Banner overrides */
    .hero {
        padding: 40px 0 !important;
        background-size: cover;
        background-position: right center !important;
        min-height: 250px;
        height: auto;
        display: flex;
        align-items: center;
        text-align: left;
        position: relative;
    }
    
    .hero::before {
        content: '';
        position: absolute;
        top: 0; bottom: 0; left: 0; right: 0;
        height: 100%;
        background: linear-gradient(to right, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 60%) !important;
        z-index: 1;
    }
    
    .hero .container {
        position: relative;
        z-index: 2;
        max-width: 50% !important;
        padding: 0 15px;
        margin: 0;
        width: 100%;
    }
    
    .hero h1 {
        font-size: 1.2rem !important;
        line-height: 1.3 !important;
        margin-bottom: 8px !important;
        max-width: 100% !important;
        text-align: left;
        text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    }
    
    .hero p {
        font-size: 0.8rem !important;
        margin-bottom: 0 !important;
        max-width: 100% !important;
        text-align: left;
        opacity: 0.9;
    }
    
    /* App Download Section */
    .app-download-bar {
        padding: 15px 0 !important;
    }
    
    .app-download-container {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 10px;
        justify-content: center;
        align-items: center;
    }
    
    .app-download-container span {
        width: auto !important;
        text-align: center;
        font-size: 1rem !important;
        order: 0 !important;
        white-space: nowrap;
    }
    
    .app-download-container img {
        height: 30px !important;
    }
    

    
    /* About Section */
    .about-images {
        flex-direction: column;
        gap: 15px;
    }
    
    .about-intro {
        padding: 40px 0 !important;
    }
    
    .about-intro .container {
        font-size: 1rem !important;
    }
    
    /* Tracking Section */
    .tracking-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    
    #tracking-map {
        height: 250px !important;
    }
    
    .mobile-map-overlay {
        display: block !important;
    }
    
    /* Project Wrapper Fix */
    .project-grid-wrapper {
        padding: 10px 0 !important;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }
    
    /* Horizontal Scrolling for Project Grid */
    .project-grid {
        display: flex !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 15px; /* Space for scrollbar */
        gap: 15px !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin; /* Firefox */
        scrollbar-color: var(--primary-color) #f1f1f1;
    }
    .project-grid::-webkit-scrollbar {
        height: 6px;
    }
    .project-grid::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }
    .project-grid::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: 10px;
    }
    
    .project-card {
        flex: 0 0 80%; /* Card takes 80% width, showing part of next card */
        scroll-snap-align: start;
        min-width: 0;
    }
    
    .project-card img {
        height: 160px; /* Adjust height for wider cards */
    }
    
    .project-content {
        padding: 15px;
    }
    
    .project-content h3 {
        font-size: 1rem !important;
        margin-bottom: 5px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 2.8rem; /* Force height for 2 lines */
    }
    
    .project-content p {
        font-size: 0.9rem !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    
    /* Horizontal Scrolling for Activity Grid */
    .activity-grid {
        display: flex !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 15px; /* Space for scrollbar */
        gap: 15px !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin; /* Firefox */
        scrollbar-color: var(--primary-color) #f1f1f1;
    }
    .activity-grid::-webkit-scrollbar {
        height: 6px;
    }
    .activity-grid::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }
    .activity-grid::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: 10px;
    }
    
    .activity-card {
        flex: 0 0 80%; /* Card takes 80% width */
        scroll-snap-align: start;
        min-width: 0;
        height: auto; /* Allow stretching in flex */
    }
    
    .activity-card img {
        height: 160px; /* Adjust height */
    }
    
    .activity-content {
        padding: 15px;
    }
    
    .activity-content h3 {
        font-size: 1rem !important;
        margin-bottom: 5px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 2.8rem; /* Force height for 2 lines */
    }
    
    .activity-content p {
        font-size: 0.9rem !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    
    /* Reduce Gap between Sections */
    .activities {
        padding-bottom: 10px !important;
    }
    
    .projects {
        padding-top: 10px !important;
        padding-bottom: 20px !important;
    }
    
    /* Category Carousel Scroll for Mobile */
    .carousel-nav {
        display: none !important; /* Hide arrows */
    }
    
    .category-carousel {
        overflow-x: auto !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin; /* Firefox */
        scrollbar-color: var(--primary-color) #f1f1f1;
        justify-content: flex-start !important;
        padding-bottom: 15px; /* space for scrollbar/shadow */
    }
    
    .category-carousel::-webkit-scrollbar {
        height: 6px;
    }
    .category-carousel::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }
    .category-carousel::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: 10px;
    }
    
    .category-item {
        scroll-snap-align: start;
        flex: 0 0 auto;
        min-width: 100px !important;
    }
}
