/**
 * Mobile Responsive Fixes
 * Ensures all front pages are mobile-friendly
 */

/* Global Mobile Fixes */
@media (max-width: 768px) {
    /* Ensure CTA section is visible */
    .cta-parallax,
    .fade-in-section {
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
    
    /* Fix text sizes for mobile */
    h1 {
        font-size: 2rem !important;
        line-height: 1.2 !important;
    }
    
    h2 {
        font-size: 1.75rem !important;
        line-height: 1.3 !important;
    }
    
    h3 {
        font-size: 1.5rem !important;
    }
    
    /* Fix padding and margins */
    section {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    
    /* Fix grid layouts */
    .grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    
    /* Fix card layouts */
    .stagger-item,
    .hover-lift {
        margin-bottom: 1.5rem;
    }
    
    /* Fix button groups */
    .flex.flex-col.sm\:flex-row {
        flex-direction: column !important;
    }
    
    /* Ensure images are responsive */
    img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Fix container padding */
    .max-w-7xl,
    .max-w-4xl,
    .max-w-3xl {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (max-width: 640px) {
    /* Extra small devices */
    h1 {
        font-size: 1.75rem !important;
    }
    
    h2 {
        font-size: 1.5rem !important;
    }
    
    section {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    
    /* Fix text alignment */
    .text-center {
        text-align: center !important;
    }
    
    /* Ensure buttons are full width on mobile */
    .flex.flex-col.sm\:flex-row a,
    .flex.flex-col.sm\:flex-row button {
        width: 100% !important;
        margin-bottom: 0.75rem;
    }
}

/* Fix for CTA section specifically - MOBILE */
@media (max-width: 768px) {
    .cta-parallax,
    #cta-section {
        min-height: 300px !important;
        padding: 3rem 1rem !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        position: relative !important;
        background-attachment: scroll !important;
    }
    
    .cta-parallax h2,
    #cta-section h2 {
        font-size: 1.75rem !important;
        margin-bottom: 1rem !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
    
    .cta-parallax p,
    #cta-section p {
        font-size: 1rem !important;
        margin-bottom: 1.5rem !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
    
    .cta-parallax .flex,
    #cta-section .flex {
        flex-direction: column !important;
        gap: 0.75rem !important;
        width: 100% !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: flex !important;
    }
    
    .cta-parallax a,
    #cta-section a {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0.875rem 1.5rem !important;
        font-size: 0.95rem !important;
        text-align: center !important;
        justify-content: center !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
}

/* Ensure all sections are visible on mobile */
@media (max-width: 768px) {
    .fade-in-section,
    .card-reveal,
    .stagger-item,
    .animate-on-scroll {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
}
