/* ==========================================
   MOBILE RESPONSIVE STYLES
   ========================================== */

/* Hide custom cursor on mobile/touch devices */
@media (max-width: 768px), (hover: none) {
    .cursor-dot,
    .cursor-outline {
        display: none !important;
    }
    
    body, a, button, input, textarea {
        cursor: auto !important;
    }
}

/* Mobile Navigation Improvements */
@media (max-width: 768px) {
    /* Header adjustments */
    header {
        padding-top: 0.5rem !important;
    }
    
    header nav {
        padding: 0.75rem 1rem !important;
    }
    
    header nav img {
        height: 1.75rem !important;
    }
    
    /* Mobile menu improvements */
    #mobile-menu {
        max-height: 80vh;
        overflow-y: auto;
        animation: slideDown 0.3s ease-out;
    }
    
    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    /* Hero Section Mobile */
    .hero-section {
        min-height: 100vh;
        height: auto;
        padding: 6rem 1rem 4rem;
    }
    
    #hero-headline {
        font-size: 2rem !important;
        line-height: 1.2 !important;
        margin-bottom: 1.5rem !important;
    }
    
    .hero-content p {
        font-size: 0.875rem !important;
        margin-bottom: 2rem !important;
    }
    
    /* Floating icons - reduce on mobile */
    .floating-icons {
        opacity: 0.3;
    }
    
    .floating-icon {
        width: 40px !important;
        height: 40px !important;
    }
    
    .floating-icon img {
        width: 100% !important;
        height: 100% !important;
    }
    
    /* Email input section */
    .hero-content .flex.items-center {
        flex-direction: column !important;
        width: 100% !important;
    }
    
    .hero-content input[type="email"] {
        width: 100% !important;
        margin-bottom: 0.5rem;
        padding: 0.75rem 1rem !important;
    }
    
    .hero-content .cta-button {
        width: 100% !important;
        padding: 0.75rem 1.5rem !important;
    }
    
    /* Logo Scroller Mobile */
    .logo-scroller-inner img {
        height: 2rem !important;
        margin: 0 1rem !important;
    }
    
    /* Section Spacing */
    section {
        padding: 3rem 0 !important;
    }
    
    .section-title {
        font-size: 1.75rem !important;
        margin-bottom: 1rem !important;
    }
    
    /* About Section Mobile */
    #about .grid {
        gap: 2rem !important;
    }
    
    #about h3 {
        font-size: 1.5rem !important;
    }
    
    #about p {
        font-size: 0.9rem !important;
    }
    
    /* Services Section Mobile */
    #services-pin-container {
        min-height: auto !important;
    }
    
    .service-panel {
        position: relative !important;
        margin-bottom: 2rem;
    }
    
    .service-panel-content {
        padding: 0 !important;
    }
    
    .service-panel .grid {
        grid-template-columns: 1fr !important;
    }
    
    .service-panel img {
        min-height: 200px !important;
        max-height: 250px !important;
    }
    
    .service-panel .text-left {
        padding: 1.5rem !important;
    }
    
    .service-panel h3 {
        font-size: 1.5rem !important;
    }
    
    .service-panel p {
        font-size: 0.9rem !important;
    }
    
    /* Portfolio Section Mobile */
    #portfolio {
        background: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, rgba(10,10,10,1) 100%);
    }
    
    .sticky-scroll-container {
        height: auto !important;
        position: relative !important;
        padding: 0 !important;
        overflow: hidden;
    }
    
    .sticky-element {
        position: relative !important;
        height: 70vh !important;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE/Edge */
    }
    
    .sticky-element::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }
    
    .scroll-track {
        display: flex !important;
        flex-direction: row !important;
        gap: 1rem !important;
        padding: 1rem !important;
        transform: none !important;
        width: max-content;
        height: 100%;
    }
    
    .scroll-card {
        position: relative !important;
        transform: none !important;
        width: 85vw !important;
        max-width: 400px !important;
        height: 100% !important;
        flex-shrink: 0 !important;
        opacity: 1 !important;
        margin-bottom: 0 !important;
        background: linear-gradient(135deg, #1a1a1a 0%, #111111 100%);
        border-radius: 1rem;
        overflow: hidden;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
        border: 1px solid rgba(255, 255, 255, 0.05);
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .scroll-card:active {
        transform: scale(0.98) !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    }
    
    .scroll-card img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        border-radius: 0;
        transition: transform 0.3s ease;
    }
    
    .scroll-card:active img {
        transform: scale(1.02);
    }
    
    .scroll-card iframe {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 100% !important;
        border: none;
        border-radius: 0;
        background: #000;
    }
    
    .scroll-card blockquote {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        border-radius: 0;
        background: transparent !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .scroll-card .tiktok-embed {
        margin: 0 auto !important;
        display: block !important;
        height: 100% !important;
    }
    
    /* Add scroll indicator hint */
    .sticky-scroll-container::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 60px;
        background: linear-gradient(to left, rgba(10,10,10,0.9), transparent);
        pointer-events: none;
        z-index: 10;
    }
    
    /* Portfolio section title mobile */
    #portfolio .container {
        padding-bottom: 0 !important;
    }
    
    #portfolio .section-title {
        font-size: 1.75rem !important;
        margin-bottom: 0.75rem !important;
        line-height: 1.3 !important;
    }
    
    #portfolio .text-lg {
        font-size: 0.9rem !important;
        padding: 0 0.5rem !important;
        line-height: 1.6 !important;
        margin-bottom: 1rem !important;
    }
    
    /* Portfolio "See More" button */
    #portfolio .text-center {
        padding: 2rem 1rem 1rem !important;
    }
    
    #portfolio .cta-button {
        width: 100% !important;
        max-width: 320px !important;
        padding: 1rem 2rem !important;
        font-size: 1rem !important;
        font-weight: 600 !important;
    }
    
    /* Smooth scroll snap */
    .sticky-element {
        scroll-snap-type: x mandatory;
        scroll-padding: 1rem;
    }
    
    .scroll-card {
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }
    
    /* Pricing Section Mobile */
    #pricing .grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    
    .interactive-card {
        padding: 1.5rem !important;
    }
    
    .interactive-card h3 {
        font-size: 1.25rem !important;
    }
    
    .interactive-card .text-4xl {
        font-size: 2rem !important;
    }
    
    .interactive-card ul {
        font-size: 0.875rem !important;
    }
    
    /* Pricing tabs mobile */
    #pricing .flex.space-x-1 {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }
    
    #pricing .flex.space-x-1 button {
        width: 100% !important;
        padding: 0.75rem 1rem !important;
    }
    
    /* Contact Section Mobile */
    #contact .grid {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }
    
    .gemini-feature-card {
        padding: 1.5rem !important;
        margin-bottom: 2rem;
    }
    
    .gemini-feature-card h3 {
        font-size: 1.25rem !important;
    }
    
    .form-group {
        margin-bottom: 1.5rem !important;
    }
    
    .form-input {
        font-size: 1rem !important;
        padding: 0.875rem !important;
    }
    
    /* Footer Mobile */
    footer .grid {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
        text-align: center;
    }
    
    footer .flex.space-x-4 {
        justify-content: center !important;
    }
    
    /* Chat Widget Mobile */
    .chat-widget {
        bottom: 1rem !important;
        right: 1rem !important;
    }
    
    #chat-widget-button {
        width: 3.5rem !important;
        height: 3.5rem !important;
    }
    
    #chat-proactive-bubble {
        bottom: 5rem !important;
        right: 1rem !important;
        max-width: calc(100vw - 2rem) !important;
        font-size: 0.875rem !important;
    }
    
    .chat-modal-overlay {
        padding: 0 !important;
    }
    
    .chat-modal {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        border-radius: 0 !important;
        margin: 0 !important;
    }
    
    .chat-modal .p-6 {
        padding: 1.25rem !important;
    }
    
    .chat-modal .p-4 {
        padding: 1rem !important;
    }
    
    .chat-modal h2 {
        font-size: 1.5rem !important;
    }
    
    .chat-modal h3 {
        font-size: 1.125rem !important;
    }
    
    /* Automation Modal Mobile */
    #automation-modal-overlay {
        padding: 1rem !important;
    }
    
    #automation-modal {
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .automation-container {
        padding: 1.5rem !important;
    }
    
    .automation-container h2 {
        font-size: 1.5rem !important;
    }
    
    .progress-indicator {
        margin-bottom: 1.5rem !important;
    }
    
    .progress-step .circle {
        width: 2rem !important;
        height: 2rem !important;
        font-size: 0.875rem !important;
    }
    
    /* Side Ad Banner - Hide on mobile */
    #side-ad-banner {
        display: none !important;
    }
    
    /* Buttons Mobile */
    .cta-button {
        padding: 0.75rem 1.5rem !important;
        font-size: 0.9rem !important;
    }
    
    /* Text Improvements */
    h1 {
        font-size: 2rem !important;
    }
    
    h2 {
        font-size: 1.75rem !important;
    }
    
    h3 {
        font-size: 1.25rem !important;
    }
    
    p {
        font-size: 0.9rem !important;
        line-height: 1.6 !important;
    }
    
    /* Touch-friendly spacing */
    a, button {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Prevent horizontal scroll */
    body {
        overflow-x: hidden !important;
    }
    
    .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    
    /* Improve tap targets */
    input, textarea, select {
        font-size: 16px !important; /* Prevents zoom on iOS */
    }
}

/* Tablet Adjustments (768px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    .hero-section {
        padding: 8rem 2rem 4rem;
    }
    
    #hero-headline {
        font-size: 3rem !important;
    }
    
    .service-panel .grid {
        gap: 2rem !important;
    }
    
    /* Portfolio 2-column grid on tablet */
    .scroll-track {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
        padding: 1.5rem !important;
    }
    
    .scroll-card {
        width: 100% !important;
    }
    
    .scroll-card iframe,
    .scroll-card blockquote {
        height: 450px !important;
    }
    
    #pricing .grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Small Mobile (max-width: 375px) */
@media (max-width: 375px) {
    #hero-headline {
        font-size: 1.75rem !important;
    }
    
    .section-title {
        font-size: 1.5rem !important;
    }
    
    .service-panel h3 {
        font-size: 1.25rem !important;
    }
    
    .interactive-card {
        padding: 1rem !important;
    }
}

/* Landscape Mobile */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-section {
        height: auto !important;
        min-height: 100vh;
        padding: 4rem 1rem 2rem;
    }
    
    .floating-icons {
        display: none;
    }
    
    #hero-headline {
        font-size: 1.75rem !important;
        margin-bottom: 1rem !important;
    }
    
    .hero-content p {
        margin-bottom: 1rem !important;
    }
}

/* Accessibility Improvements */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .floating-icon {
        animation: none !important;
    }
}

/* Dark mode support (if needed) */
@media (prefers-color-scheme: light) {
    /* Add light mode styles if needed */
}
