/* 
    Campus Junction - Premium Public Mobile Responsiveness 
    Strictly handles mobile-first layout overrides for the public marketplace
*/

@media (max-width: 768px) {

    /* --- Base & Body Optimization --- */
    body {
        overflow-x: hidden;
        padding-bottom: 110px !important;
        /* Extra room for the floating bar */
        background-color: #f8fafc;
        /* Lighter bg for mobile clarity */
    }

    .container {
        padding: 0 20px;
    }

    /* --- Simplified Premium Top Navbar --- */
    .navbar {
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(10px);
        border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
        padding: 0.75rem 0 !important;
        position: sticky !important;
        top: 0;
        z-index: 1000;
    }

    .navbar-search,
    .navbar-nav,
    .navbar-actions .text-muted {
        display: none !important;
    }

    .navbar-inner {
        justify-content: space-between !important;
    }

    .navbar-brand span {
        display: inline !important;
    }

    /* Show only the profile avatar or initials in the top right */
    .navbar-actions {
        gap: 1rem !important;
    }

    .navbar-actions .user-avatar {
        width: 35px !important;
        height: 35px !important;
    }

    /* --- PREMIUM FLOATING BOTTOM NAVIGATION --- */
    .mobile-nav {
        display: block !important;
        position: fixed !important;
        bottom: 25px !important;
        left: 15px !important;
        right: 15px !important;
        width: auto !important;
        height: 75px !important;
        background: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-radius: 38px !important;
        box-shadow: 0 12px 45px rgba(0, 0, 0, 0.18) !important;
        border: 1px solid rgba(0, 0, 0, 0.04) !important;
        z-index: 10000 !important;
        padding: 0 !important;
    }

    .mobile-nav-inner {
        display: flex !important;
        justify-content: space-evenly !important;
        align-items: center !important;
        width: 100% !important;
        height: 100% !important;
    }

    .mobile-nav-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        color: #64748b !important;
        /* Modern slate gray */
        text-decoration: none !important;
        flex: 1 !important;
        transition: all 0.2s ease;
    }

    .mobile-nav-item span {
        display: block !important;
        font-size: 0.65rem !important;
        font-weight: 700 !important;
        margin-top: 4px !important;
        letter-spacing: 0.02em;
    }

    .mobile-nav-item svg {
        width: 22px !important;
        height: 22px !important;
        stroke: #64748b !important;
        stroke-width: 2px !important;
    }

    /* Active State for Mobile Nav */
    .mobile-nav-item.active {
        color: var(--primary) !important;
    }

    .mobile-nav-item.active svg {
        stroke: var(--primary) !important;
        transform: translateY(-2px);
    }

    /* Mobile Popups Visibility */
    .public-mobile-popup, .seller-mobile-popup { display: block !important; }

    /* --- Hero Section Optimization --- */
    .hero {
        padding: 4rem 0 6rem !important;
        border-radius: 0 0 50px 50px !important;
        text-align: center;
    }

    .hero-title {
        font-size: 2rem !important;
        line-height: 1.2 !important;
        margin-bottom: 1.25rem !important;
    }

    .hero-subtitle {
        font-size: 0.95rem !important;
        margin-bottom: 2.5rem !important;
        opacity: 0.9;
    }

    .hero-search {
        width: 100% !important;
        padding: 6px !important;
        border-radius: 30px !important;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    }

    .hero-search input {
        height: 45px !important;
        font-size: 0.9rem !important;
    }

    /* --- Marketplace & Category Filters --- */
    .marketplace-layout {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .filters-sidebar {
        display: flex !important;
        overflow-x: auto !important;
        padding: 0.5rem 0 1.5rem !important;
        position: static !important;
        gap: 0.75rem !important;
        border: none !important;
        scrollbar-width: none;
        /* Hide scrollbar for clean look */
    }

    .filters-sidebar::-webkit-scrollbar {
        display: none;
    }

    .filter-group {
        min-width: 130px !important;
        margin: 0 !important;
        background: #fff;
        padding: 0.75rem !important;
        border-radius: 15px !important;
        border: 1px solid rgba(0, 0, 0, 0.05);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    }

    .filter-group h3 {
        font-size: 0.8rem !important;
        margin-bottom: 0.5rem !important;
        color: var(--secondary);
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .checkbox-group {
        font-size: 0.85rem !important;
        margin-bottom: 0.4rem !important;
    }

    .category-chips {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        padding-bottom: 10px;
        scrollbar-width: none;
    }
    .category-chips::-webkit-scrollbar { display: none; }
    
    .category-chip {
        flex-shrink: 0 !important;
        padding: 6px 12px !important;
        font-size: 0.8rem !important;
    }

    /* --- Results Grid & Cards --- */
    .grid-cols-3,
    .grid-cols-4 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }

    .listing-card {
        border: none !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
        border-radius: 20px !important;
        overflow: hidden;
    }

    .listing-image-wrap {
        height: 160px !important;
    }

    .listing-details {
        padding: 1.25rem !important;
    }

    .listing-price {
        font-size: 1.1rem !important;
        margin-bottom: 0.25rem !important;
    }

    .listing-title {
        font-size: 0.9rem !important;
        height: 2.5rem;
        line-height: 1.25;
        margin-bottom: 0.75rem !important;
    }

    .listing-meta {
        font-size: 0.75rem !important;
    }

    /* --- Product Detail Page (ads.php / productdisplay.php) --- */
    .ad-detail-layout {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    .ad-gallery-main {
        height: 320px !important;
        border-radius: 25px !important;
    }

    .ad-thumbnails {
        padding: 0.5rem 0 !important;
    }

    .ad-info-card {
        padding: 1.75rem !important;
        border-radius: 25px !important;
    }

    .ad-price {
        font-size: 2rem !important;
        margin-bottom: 1rem !important;
    }

    .ad-sidebar {
        margin-top: 1rem !important;
    }

    .ad-sidebar .card {
        padding: 1.5rem !important;
        border-radius: 25px !important;
    }

    /* --- Cart & Saved Items --- */
    .cart-layout {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }

    .cart-item {
        flex-direction: column !important;
        padding: 1.5rem !important;
        border-radius: 20px !important;
        gap: 1.25rem !important;
    }

    .cart-item-img {
        width: 100% !important;
        height: 220px !important;
        border-radius: 15px !important;
    }

    .cart-item-details {
        width: 100% !important;
    }

    .cart-summary {
        border-radius: 25px !important;
        padding: 2rem !important;
    }

    /* --- Account / Profile Page --- */
    .profile-hero {
        padding: 3rem 0 5rem !important;
        border-radius: 0 0 30px 30px !important;
        text-align: center !important;
    }
    .profile-hero .flex.justify-between {
        flex-direction: column !important;
        gap: 1.5rem !important;
        align-items: center !important;
        width: 100% !important;
    }
    .profile-hero div[style*="text-align: left"] {
        text-align: center !important;
        width: 100% !important;
    }

    .profile-container {
        display: block !important; /* Switch from grid to block for full reliability */
        width: 100% !important;
        margin-top: -3rem !important;
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }

    .profile-sidebar {
        display: block !important;
        width: 100% !important;
        position: static !important;
        margin-bottom: 20px !important;
        padding: 2rem 1.5rem !important;
        background: #fff !important;
        border-radius: 25px !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    .avatar-main { 
        width: 110px !important; 
        height: 110px !important; 
        margin: 0 auto 1.5rem !important;
    }
    .avatar-main span { font-size: 3rem !important; }

    .profile-nav {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        gap: 10px !important;
        padding: 1.5rem 5px 0.5rem !important;
        margin-top: 1.5rem !important;
        border-top: 1px solid #f1f5f9 !important;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .profile-nav::-webkit-scrollbar { display: none; }
    
    .profile-nav-item {
        flex: 0 0 auto !important;
        padding: 0.6rem 1.25rem !important;
        font-size: 0.85rem !important;
        white-space: nowrap !important;
        border-radius: 12px !important;
        background: #f8fafc !important;
    }
    .profile-nav-item.active { background: var(--accent-orange) !important; }
    
    .content-area {
        width: 100% !important;
        display: block !important;
    }

    .content-card {
        width: 100% !important;
        border-radius: 25px !important;
        padding: 1.5rem !important;
        box-sizing: border-box !important;
    }
    .content-card h3 { font-size: 1.5rem !important; margin-bottom: 1.5rem !important; }

    .stat-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        width: 100% !important;
    }
    .stat-box { width: 100% !important; box-sizing: border-box !important; }
    
    /* Form Fixes */
    .grid-cols-2 { display: grid !important; grid-template-columns: 1fr !important; gap: 15px !important; }
    .form-group { width: 100% !important; margin-bottom: 1.25rem !important; }
    .form-group.mb-8 .flex.items-center.gap-8 { flex-direction: column !important; text-align: center; gap: 1.5rem !important; }
    
    .flex.justify-end.gap-3.mt-12, .flex.justify-end.mt-12 { 
        flex-direction: column !important; 
        gap: 10px !important;
    }
    .btn { 
        width: 100% !important; 
        padding: 1rem !important; 
        margin: 0 !important;
    }
    
    .action-menu { width: 100% !important; position: relative !important; }
    .action-trigger { width: 100% !important; height: 45px !important; display: flex !important; align-items: center; justify-content: center; }
    .action-dropdown { width: 100% !important; position: absolute !important; left: 0 !important; right: 0 !important; top: 50px !important; }

    /* --- Footer Optimization --- */
    .footer {
        padding: 4rem 0 2rem !important;
    }

    .footer-grid {
        grid-template-columns: 1fr !important;
        text-align: center;
        gap: 3rem;
    }

    .footer-links-group {
        align-items: center !important;
    }

    .footer-socials {
        justify-content: center !important;
    }

    .footer-bottom {
        flex-direction: column-reverse !important;
        gap: 1.5rem !important;
        text-align: center;
        padding-top: 2rem !important;
        margin-top: 3rem !important;
    }
}

/* --- Ultra Small Screen Tuning --- */
@media (max-width: 400px) {

    .grid-cols-2,
    .grid-cols-3,
    .grid-cols-4 {
        grid-template-columns: 1fr !important;
    }

    .hero-title {
        font-size: 1.75rem !important;
    }

    .ad-gallery-main {
        height: 260px !important;
    }
}