/**
 * VERSION 4.3 FIXES
 * 1. Shift chat box 1.3 inches up in mobile
 * 2. Add spacing to hero section in desktop
 * 3. Fix Call Now CTA button text size in mobile
 * 4. Fix demo video titles and descriptions for all screen sizes
 */

/* ========================================
   FIX 1: Shift Chat Box 1.3 inches up in Mobile Only
   1.3 inches ≈ 124.8px (1 inch = 96px in CSS)
======================================== */
@media (max-width: 768px) {
    .hero-visual .demo-chat,
    .hero-visual .whatsapp-demo {
        transform: translateY(-125px) !important;
        margin-top: -125px !important;
    }
    
    /* Adjust hero visual container to accommodate shift */
    .hero-visual {
        padding-bottom: 125px !important;
    }
}

/* ========================================
   FIX 2: Add Spacing to Hero Section in Desktop
   Prevent "Revolutionary AI Technology" from touching header
======================================== */
@media (min-width: 769px) {
    .hero {
        padding-top: 140px !important; /* Increased from default */
        margin-top: 20px !important;
    }
    
    .hero-badge {
        margin-top: 30px !important;
    }
}

/* ========================================
   FIX 3: Decrease Call Now CTA Text Size in Mobile
======================================== */
@media (max-width: 768px) {
    .cta-buttons .btn-primary,
    .cta-buttons a[href^="tel:"] {
        font-size: 14px !important;
        padding: 14px 20px !important;
        white-space: nowrap !important;
    }
    
    .cta-buttons .btn-primary i,
    .cta-buttons a[href^="tel:"] i {
        font-size: 16px !important;
        margin-right: 6px !important;
    }
}

@media (max-width: 480px) {
    .cta-buttons .btn-primary,
    .cta-buttons a[href^="tel:"] {
        font-size: 12px !important;
        padding: 12px 16px !important;
    }
    
    .cta-buttons .btn-primary i,
    .cta-buttons a[href^="tel:"] i {
        font-size: 14px !important;
        margin-right: 4px !important;
    }
}

/* ========================================
   FIX 4: Demo Video Titles and Descriptions - All Screens
======================================== */

/* Base styles for all screens */
.video-info {
    padding: 24px !important;
    background: white !important;
    border-radius: 0 0 16px 16px !important;
}

.video-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 16px 0 12px 0 !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

.video-description {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #4a5568 !important;
    margin-bottom: 16px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    display: block !important;
}

.video-stats {
    display: flex !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 16px !important;
}

.video-stats .stat {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 14px !important;
    color: #2d3748 !important;
    font-weight: 600 !important;
}

.video-stats .stat i {
    color: #10b981 !important;
    font-size: 16px !important;
}

.video-icon {
    width: 56px !important;
    height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3) !important;
}

.video-icon i {
    font-size: 28px !important;
    color: white !important;
}

/* Tablet Styles (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    .video-info {
        padding: 20px !important;
    }
    
    .video-title {
        font-size: 20px !important;
        margin: 14px 0 10px 0 !important;
    }
    
    .video-description {
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin-bottom: 14px !important;
    }
    
    .video-stats {
        gap: 12px !important;
        margin-top: 14px !important;
    }
    
    .video-stats .stat {
        font-size: 13px !important;
    }
    
    .video-icon {
        width: 50px !important;
        height: 50px !important;
    }
    
    .video-icon i {
        font-size: 24px !important;
    }
}

/* Mobile Styles (max-width: 768px) */
@media (max-width: 768px) {
    .videos-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 0 16px !important;
    }
    
    .video-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    
    .video-info {
        padding: 20px 18px !important;
    }
    
    .video-title {
        font-size: 19px !important;
        margin: 12px 0 10px 0 !important;
        line-height: 1.4 !important;
    }
    
    .video-description {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-bottom: 14px !important;
        color: #4a5568 !important;
    }
    
    .video-stats {
        display: flex !important;
        flex-direction: row !important;
        gap: 14px !important;
        margin-top: 14px !important;
        flex-wrap: wrap !important;
    }
    
    .video-stats .stat {
        font-size: 13px !important;
        flex: 0 0 auto !important;
    }
    
    .video-icon {
        width: 48px !important;
        height: 48px !important;
    }
    
    .video-icon i {
        font-size: 22px !important;
    }
}

/* Small Mobile Styles (max-width: 480px) */
@media (max-width: 480px) {
    .video-info {
        padding: 18px 16px !important;
    }
    
    .video-title {
        font-size: 17px !important;
        margin: 10px 0 8px 0 !important;
    }
    
    .video-description {
        font-size: 13px !important;
        line-height: 1.5 !important;
        margin-bottom: 12px !important;
    }
    
    .video-stats {
        gap: 12px !important;
        margin-top: 12px !important;
    }
    
    .video-stats .stat {
        font-size: 12px !important;
        gap: 5px !important;
    }
    
    .video-stats .stat i {
        font-size: 14px !important;
    }
    
    .video-icon {
        width: 44px !important;
        height: 44px !important;
    }
    
    .video-icon i {
        font-size: 20px !important;
    }
}

/* Desktop Styles (min-width: 1025px) */
@media (min-width: 1025px) {
    .videos-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 30px !important;
    }
    
    .video-card {
        display: flex !important;
        flex-direction: column !important;
    }
    
    .video-info {
        padding: 26px !important;
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .video-title {
        font-size: 22px !important;
        margin: 18px 0 14px 0 !important;
    }
    
    .video-description {
        font-size: 15px !important;
        line-height: 1.7 !important;
        margin-bottom: 18px !important;
        flex: 1 !important;
    }
    
    .video-stats {
        margin-top: auto !important;
        padding-top: 8px !important;
    }
}

/* Ensure proper spacing and alignment */
.video-card {
    background: white !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.video-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
}

.video-container {
    position: relative !important;
    width: 100% !important;
    background: #000 !important;
}

.video-container video {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}
