
/* Mobile UX Improvements */

/* Better touch targets */
@media (max-width: 768px) {
    .btn {
        min-height: 44px;
        min-width: 44px;
    }
    
    .nav-link {
        padding: 0.75rem 1rem;
    }
    
    /* Prevent horizontal scroll */
    body {
        overflow-x: hidden;
    }
    
    /* Better spacing on mobile */
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    /* Stack elements on mobile */
    .row > [class*='col-'] {
        margin-bottom: 1rem;
    }
    
    /* Larger text for readability */
    body {
        font-size: 16px;
    }
    
    /* Fixed bottom CTA on mobile */
    .mobile-cta-bar {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: white;
        padding: 1rem;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
        z-index: 1000;
    }
    
    /* Adjust for fixed CTA bar */
    body.has-mobile-cta {
        padding-bottom: 80px;
    }
}

/* Landscape orientation fixes */
@media (max-height: 500px) and (orientation: landscape) {
    .banner3-content {
        padding: 1rem;
    }
    
    .banner3-title {
        font-size: 1.5rem;
    }
}

/* Touch-friendly dropdowns */
.dropdown-menu {
    padding: 0.5rem 0;
}

.dropdown-item {
    padding: 0.75rem 1.5rem;
}

/* Swipeable cards */
.swipeable-card {
    touch-action: pan-y;
    user-select: none;
}

/* Loading skeletons */
.skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
