/* Mobile-First Responsive Styles for Outer Home Page */

/* Enhanced mobile navbar compensation */
@media (max-width: 768px) {
    /* Ensure masthead always has enough top padding */
    .lw-masthead {
        padding-top: 130px !important; /* Increased from 100px */
        margin-top: 0 !important;
    }
    
    /* Additional safety for very small screens */
    @media (max-width: 480px) {
        .lw-masthead {
            padding-top: 140px !important; /* Even more padding for very small screens */
        }
    }
    
    /* Force navbar to be above masthead */
    .navbar.fixed-top {
        z-index: 1050 !important;
    }
    
    .lw-masthead {
        z-index: 1 !important;
        position: relative !important;
    }
    
    /* Ensure masthead content never overlaps with navbar */
    .lw-masthead .container {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

/* General Mobile Optimizations */
@media (max-width: 768px) {
    /* Reset margins and padding for better mobile experience */
    * {
        box-sizing: border-box;
    }
    
    /* Fixed navbar compensation */
    body {
        padding-top: 0 !important;
    }
    
    /* Ensure first section accounts for fixed navbar */
    .lw-masthead {
        margin-top: 0 !important;
        position: relative;
        z-index: 1;
    }
    
    /* Container improvements */
    .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
        max-width: 100% !important;
    }
    
    /* Typography adjustments */
    h1, h2, .ubuntu-bold {
        line-height: 1.2 !important;
        word-break: break-word;
    }
    
    p {
        line-height: 1.5 !important;
        word-break: break-word;
    }
    
    /* Navigation Mobile Optimizations */
    .navbar {
        padding: 10px 0 !important;
    }
    
    .navbar-brand-img {
        max-height: 35px !important;
    }
    
    .navbar-toggler {
        padding: 8px 12px !important;
        border: 2px solid #22c55e !important;
        border-radius: 8px !important;
        background: transparent !important;
    }
    
    .navbar-toggler:focus {
        box-shadow: 0 0 0 0.2rem rgba(34, 197, 94, 0.25) !important;
    }
    
    .navbar-collapse {
        background: white !important;
        margin-top: 15px !important;
        padding: 20px !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
        border: 1px solid #e5e7eb !important;
    }
    
    /* Navigation buttons mobile */
    .nav-item {
        margin: 10px 0 !important;
        text-align: center !important;
    }
    
    .nav-link {
        padding: 8px 16px !important;
        border-radius: 6px !important;
        transition: all 0.3s ease !important;
    }
    
    .nav-link:hover {
        background: #f3f4f6 !important;
        color: #22c55e !important;
    }
    
    /* CTA buttons in navigation */
    .lw-register-btn,
    .lw-login-btn {
        display: block !important;
        width: 90% !important;
        max-width: 250px !important;
        margin: 10px auto !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        text-align: center !important;
        border-radius: 8px !important;
    }
    
    /* Section spacing */
    section {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
      /* Hero section mobile specific */
    .lw-masthead {
        padding: 100px 0 40px 0 !important; /* Increased top padding for fixed navbar */
        text-align: center !important;
        margin-top: 0 !important;
    }
    
    /* Feature sections mobile */
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .col-sm-12, .col-md-6, .col-lg-6 {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-bottom: 40px !important;
    }
    
    /* Images responsive improvements */
    .img-fluid {
        max-width: 100% !important;
        height: auto !important;
        border-radius: 12px !important;
    }
    
    /* Feature content mobile */
    .feature-content {
        text-align: center !important;
        padding: 0 !important;
    }
    
    .features-list {
        text-align: left !important;
        max-width: 400px !important;
        margin: 0 auto 30px auto !important;
    }
    
    /* Cards and testimonials mobile */
    .testimonial-card,
    .advanced-feature-card {
        margin-bottom: 20px !important;
        padding: 20px !important;
        border-radius: 12px !important;
    }
    
    /* Footer mobile improvements */
    .footer-main {
        text-align: center !important;
        padding: 40px 0 !important;
    }
    
    .footer-widget {
        margin-bottom: 30px !important;
    }
    
    .footer-links {
        text-align: center !important;
    }
    
    .footer-social-links {
        text-align: center !important;
        margin-top: 20px !important;
    }
    
    .social-link {
        margin: 0 8px !important;
        width: 36px !important;
        height: 36px !important;
    }
}

/* Extra Small Screens (576px and below) */
@media (max-width: 576px) {
    /* Container extra tight */
    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    /* Typography smaller */
    .ubuntu-bold {
        font-size: 1.5rem !important;
    }
    
    /* Navigation extra small */
    .navbar-brand-img {
        max-height: 30px !important;
    }
    
    .navbar-collapse {
        padding: 15px !important;
        margin-top: 10px !important;
    }
    
    .lw-register-btn,
    .lw-login-btn {
        max-width: 220px !important;
        padding: 10px 16px !important;
        font-size: 13px !important;
    }
      /* Hero extra small */
    .lw-masthead {
        padding: 90px 0 30px 0 !important; /* Adjusted for smaller fixed navbar */
    }
    
    /* Sections tighter spacing */
    section {
        padding: 30px 10px !important;
    }
    
    .col-sm-12, .col-md-6, .col-lg-6 {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-bottom: 30px !important;
    }
    
    /* Feature content extra small */
    .features-list {
        max-width: 320px !important;
    }
    
    .feature-item {
        margin-bottom: 15px !important;
    }
    
    .feature-icon {
        width: 35px !important;
        height: 35px !important;
        margin-right: 10px !important;
    }
    
    /* Cards extra small */
    .testimonial-card,
    .advanced-feature-card {
        padding: 15px !important;
        margin-bottom: 15px !important;
    }
    
    /* Footer extra small */
    .footer-main {
        padding: 30px 0 !important;
    }
    
    .footer-widget {
        margin-bottom: 25px !important;
    }
    
    .social-link {
        width: 32px !important;
        height: 32px !important;
        margin: 0 5px !important;
    }
    
    /* Button arrow adjustments */
    [style*="font-size: 30px"] {
        font-size: 20px !important;
    }
}

/* Landscape orientation adjustments */
@media (max-width: 896px) and (orientation: landscape) {
    .lw-masthead {
        padding: 80px 0 20px 0 !important; /* Account for fixed navbar in landscape */
    }
    
    section {
        padding: 40px 15px !important;
    }
    
    .hero-title,
    .feature-title {
        font-size: 2rem !important;
    }
}

/* Touch-friendly improvements */
@media (hover: none) and (pointer: coarse) {
    /* Touch targets should be at least 44px */
    .btn, .nav-link, .social-link {
        min-height: 44px !important;
        min-width: 44px !important;
    }
    
    /* Remove hover effects on touch devices */
    .testimonial-card:hover,
    .advanced-feature-card:hover,
    .feature-item:hover {
        transform: none !important;
        box-shadow: inherit !important;
    }
}

/* High DPI screens optimization */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .img-fluid {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}
