/* Mobile Responsive Styles - aiAgentOne Public Pages */

/* ============================================
   Mobile Navigation Toggle
============================================ */
.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 32px;
    height: 32px;
    padding: 4px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001;
}

.mobile-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #374151;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* ============================================
   Mobile Navigation Menu
============================================ */
.mobile-menu {
    position: fixed !important;
    top: 72px;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    z-index: 1000;
    padding: 24px;
    flex-direction: column;
    gap: 16px;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    display: flex !important;
}

.mobile-menu.active {
    transform: translateX(0) !important;
}

.mobile-menu a {
    padding: 16px 0;
    font-size: 1.1rem;
    font-weight: 500;
    color: #374151;
    text-decoration: none;
    border-bottom: 1px solid #f3f4f6;
    transition: color 0.2s;
}

.mobile-menu a:hover,
.mobile-menu a:active {
    color: #6366f1;
}

.mobile-menu .mobile-menu-cta {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mobile-menu .mobile-menu-cta .btn {
    width: 100%;
    justify-content: center;
    padding: 14px 24px;
}
}

/* ============================================
   Tablet Breakpoint (max-width: 1024px)
============================================ */
@media (max-width: 1024px) {
    /* Always show mobile menu toggle on tablet/mobile */
    .mobile-menu-toggle {
        display: flex !important;
        position: relative;
        z-index: 1001;
    }
    .nav-links,
    .nav-actions {
        display: none !important;
    }
    /* Grid adjustments */
    .feature-grid,
    .integration-grid,
    .benefit-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .pricing-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 24px !important;
    }
    .stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    /* Contact page */
    .contact-grid {
        grid-template-columns: 1fr !important;
    }
    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 32px !important;
    }
    /* Section padding */
    .section {
        padding: 60px 0 !important;
    }
    .hero-section {
        padding: 100px 0 60px !important;
    }
}

/* ============================================
   Mobile Breakpoint (max-width: 768px)
============================================ */
@media (max-width: 768px) {
    /* Show mobile menu toggle */
    .mobile-menu-toggle {
        display: flex;
    }
    
    /* Hide desktop navigation */
    .nav-links,
    .nav-actions {
        display: none !important;
    }
    
    /* Navigation */
    .navbar {
        height: 64px !important;
    }
    
    .navbar .container {
        height: 64px !important;
        padding: 0 16px !important;
    }
    
    .navbar .logo img {
        height: 36px !important;
    }
    
    /* Hero section */
    .hero-section,
    .page-hero {
        padding: 100px 0 50px !important;
    }
    
    .hero-section h1,
    .page-hero h1 {
        font-size: 2rem !important;
        line-height: 1.2 !important;
    }
    
    .hero-section p,
    .page-hero p {
        font-size: 1rem !important;
    }
    
    .hero-buttons {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .hero-buttons .btn {
        width: 100% !important;
        justify-content: center !important;
    }
    
    /* Sections */
    .section {
        padding: 50px 0 !important;
    }
    
    .section .container {
        padding: 0 16px !important;
    }
    
    .section-header h2 {
        font-size: 1.75rem !important;
    }
    
    .section-header p {
        font-size: 1rem !important;
    }
    
    /* Grid layouts */
    .feature-grid,
    .integration-grid,
    .benefit-grid,
    .use-case-grid,
    .team-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    
    .pricing-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
    
    /* Cards */
    .feature-card,
    .pricing-card,
    .testimonial-card {
        padding: 24px !important;
    }
    
    .pricing-card.popular {
        transform: none !important;
        margin: 0 !important;
    }
    
    /* Forms */
    .form-row {
        grid-template-columns: 1fr !important;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        font-size: 16px !important; /* Prevents iOS zoom */
    }
    
    /* Contact form card */
    .contact-form-card,
    .contact-info {
        padding: 24px !important;
    }
    
    /* Footer */
    .footer {
        padding: 50px 0 30px !important;
    }
    
    .footer .container {
        padding: 0 16px !important;
    }
    
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
        text-align: center;
    }
    
    .footer-brand {
        text-align: center;
    }
    
    .footer-brand img {
        margin: 0 auto;
    }
    
    .footer-links h4 {
        text-align: center;
    }
    
    .footer-links a {
        text-align: center;
    }
    
    /* Buttons */
    .btn {
        padding: 12px 20px !important;
        font-size: 0.9rem !important;
    }
    
    .btn-lg {
        padding: 14px 24px !important;
        font-size: 1rem !important;
    }
    
    /* Typography */
    h1 { font-size: 2rem !important; }
    h2 { font-size: 1.75rem !important; }
    h3 { font-size: 1.25rem !important; }
    h4 { font-size: 1.1rem !important; }
    
    /* Pricing toggle */
    .billing-toggle {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    /* Stats */
    .stat-number {
        font-size: 2.5rem !important;
    }
    
    /* Testimonials carousel */
    .testimonials-slider {
        flex-direction: column !important;
    }
    
    .testimonial-card {
        min-width: 100% !important;
    }
    
    /* CTA Section */
    .cta-section {
        padding: 50px 0 !important;
    }
    
    .cta-section h2 {
        font-size: 1.75rem !important;
    }
    
    .cta-buttons {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .cta-buttons .btn {
        width: 100% !important;
    }
    
    /* Application form */
    .application-form-card {
        padding: 24px !important;
        margin: 20px 16px !important;
    }
    
    /* Career page */
    .position-card {
        padding: 20px !important;
    }
    
    .position-meta {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    
    /* Docs page */
    .docs-grid {
        grid-template-columns: 1fr !important;
    }
    
    .docs-sidebar {
        display: none;
    }
    
    /* Security page */
    .security-grid {
        grid-template-columns: 1fr !important;
    }
    
    .compliance-badges {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
    
    /* Social links */
    .social-links {
        justify-content: center !important;
    }
}

/* ============================================
   Small Mobile Breakpoint (max-width: 480px)
============================================ */
@media (max-width: 480px) {
    /* Extra small adjustments */
    .navbar .container {
        padding: 0 12px !important;
    }
    
    .section .container {
        padding: 0 12px !important;
    }
    
    .hero-section h1,
    .page-hero h1 {
        font-size: 1.75rem !important;
    }
    
    .stats-grid {
        grid-template-columns: 1fr !important;
    }
    
    .pricing-card {
        padding: 20px !important;
    }
    
    .pricing-price {
        font-size: 2.5rem !important;
    }
    
    /* Contact form */
    .contact-form-card,
    .contact-info {
        padding: 20px !important;
        border-radius: 16px !important;
    }
    
    /* Modal adjustments */
    .modal-content {
        margin: 16px !important;
        max-height: calc(100vh - 32px) !important;
    }
    
    /* Footer compact */
    .footer-bottom {
        font-size: 0.8rem !important;
    }
}

/* ============================================
   Touch Device Optimizations
============================================ */
@media (hover: none) and (pointer: coarse) {
    /* Larger touch targets */
    .btn {
        min-height: 48px;
    }
    
    .nav-links a {
        padding: 12px 16px;
    }
    
    /* Remove hover effects on touch */
    .btn:hover {
        transform: none !important;
    }
    
    .feature-card:hover,
    .pricing-card:hover {
        transform: none !important;
    }
    
    /* Better scrolling */
    .mobile-menu {
        -webkit-overflow-scrolling: touch;
    }
}

/* ============================================
   Landscape Mobile
============================================ */
@media (max-width: 896px) and (orientation: landscape) {
    .hero-section,
    .page-hero {
        padding: 80px 0 40px !important;
        min-height: auto !important;
    }
    
    .hero-section h1,
    .page-hero h1 {
        font-size: 1.75rem !important;
    }
}

/* ============================================
   Print Styles
============================================ */
@media print {
    .navbar,
    .footer,
    .mobile-menu-toggle,
    .cta-section {
        display: none !important;
    }
    
    .section {
        padding: 20px 0 !important;
    }
    
    body {
        font-size: 12pt;
    }
}
