/*==============================================================================
  MND SOLUTIONS - COMPREHENSIVE MOBILE RESPONSIVE CSS
  Full responsiveness for all devices - phones, tablets, desktop
==============================================================================*/

/* ============================================
   GLOBAL MOBILE FIXES
   ============================================ */

/* Prevent horizontal scrolling */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Better touch targets */
button, a, input, select, textarea {
    min-height: 44px;
}

/* ============================================
   INFO CARD ICONS - WHITE ICONS
   ============================================ */
.info-card-icon {
    background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%) !important;
    color: white !important;
}

.info-card-icon i {
    color: white !important;
}

/* Featured card icons on hover */
.featured-card:hover .featured-card-icon {
    background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%) !important;
    color: white !important;
}

.featured-card:hover .featured-card-icon i {
    color: white !important;
}

/* ============================================
   CONTAINER FIXES
   ============================================ */
.container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* ============================================
   FORM & MAP SECTION RESPONSIVENESS
   ============================================ */
.contact-map-grid,
.offshore-form-map-wrapper,
.offshore-cand-form-map-wrapper {
    border-radius: 16px;
}

/* ============================================
   TABLET STYLES (max-width: 1024px)
   ============================================ */
@media (max-width: 1024px) {
    .container {
        padding-left: 24px;
        padding-right: 24px;
    }
    
    /* Two column layouts to single */
    .contact-map-grid,
    .offshore-form-map-wrapper,
    .offshore-cand-form-map-wrapper {
        grid-template-columns: 1fr !important;
    }
    
    /* Hero adjustments */
    .hero-recruitment {
        padding: 100px 0 80px;
    }
    
    .hero-content h1 {
        font-size: 36px;
    }
    
    .hero-content .subtitle {
        font-size: 17px;
    }
    
    /* Stats grid */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    /* Industry cards */
    .industry-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Feature row */
    .feature-content-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* ============================================
   MOBILE STYLES (max-width: 768px)
   ============================================ */
@media (max-width: 768px) {
    /* Container */
    .container {
        padding-left: 16px;
        padding-right: 16px;
    }
    
    /* Typography */
    h1 {
        font-size: 28px !important;
        line-height: 1.2;
    }
    
    h2 {
        font-size: 24px !important;
        line-height: 1.25;
    }
    
    h3 {
        font-size: 18px !important;
    }
    
    /* Hero Section */
    .hero-recruitment {
        padding: 80px 16px 60px !important;
    }
    
    .hero-content {
        padding: 0 8px;
    }
    
    .hero-content h1 {
        font-size: 28px !important;
        margin-bottom: 16px;
    }
    
    .hero-content .subtitle {
        font-size: 15px !important;
        margin-bottom: 28px;
        line-height: 1.6;
    }
    
    .hero-buttons {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
    
    .hero-buttons .btn {
        width: 100% !important;
        justify-content: center;
        padding: 14px 24px !important;
        font-size: 14px !important;
    }
    
    /* Badge */
    .badge {
        font-size: 11px;
        padding: 8px 14px;
    }
    
    /* Section Headers */
    .section-header {
        margin-bottom: 40px;
        padding: 0 8px;
    }
    
    .section-header h2 {
        font-size: 24px !important;
    }
    
    .section-header p {
        font-size: 15px;
    }
    
    .section-label {
        font-size: 11px;
        padding: 6px 12px;
    }
    
    /* Info Cards */
    .info-cards {
        padding: 60px 0;
    }
    
    .info-cards-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }
    
    .info-card {
        padding: 28px 24px;
    }
    
    .info-card-icon {
        width: 52px;
        height: 52px;
        font-size: 22px;
        margin-bottom: 20px;
    }
    
    .info-card h3 {
        font-size: 18px !important;
        margin-bottom: 12px;
    }
    
    .info-card p {
        font-size: 14px;
        line-height: 1.6;
    }
    
    /* Featured Section */
    .featured-section {
        padding: 60px 0;
    }
    
    .featured-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }
    
    .featured-card {
        padding: 24px;
    }
    
    /* Steps Section */
    .steps-section {
        padding: 60px 0;
    }
    
    .steps-intro {
        margin-bottom: 48px;
    }
    
    .steps-grid {
        grid-template-columns: 1fr !important;
        gap: 32px;
    }
    
    .step-number {
        width: 56px;
        height: 56px;
        font-size: 20px;
        margin-bottom: 20px;
    }
    
    .step-item h3 {
        font-size: 16px !important;
    }
    
    .step-item p {
        font-size: 14px;
    }
    
    /* Stats Section */
    .stats-section {
        padding: 40px 16px;
    }
    
    .stats-container {
        padding: 40px 24px;
        border-radius: 16px;
    }
    
    .stats-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 24px;
    }
    
    .stat-number {
        font-size: 32px !important;
    }
    
    .stat-label {
        font-size: 13px;
    }
    
    /* Industry Cards */
    .industry-cards {
        grid-template-columns: 1fr !important;
        gap: 20px;
        padding: 0 16px;
    }
    
    .industry-card {
        height: 260px;
    }
    
    .industry-card h3 {
        font-size: 18px !important;
    }
    
    /* Blog Grid */
    .blog-section {
        padding: 60px 0;
    }
    
    .blog-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }
    
    .blog-card-content {
        padding: 24px;
    }
    
    .blog-card h3 {
        font-size: 18px !important;
    }
    
    /* CTA Section */
    .cta-section-modern {
        padding: 60px 16px;
    }
    
    .cta-content-modern h2 {
        font-size: 24px !important;
    }
    
    .cta-content-modern p {
        font-size: 15px;
        margin-bottom: 28px;
    }
    
    .cta-buttons-modern {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px;
        max-width: 320px;
        margin: 0 auto;
    }
    
    .cta-buttons-modern .btn {
        width: 100% !important;
        justify-content: center;
    }
    
    /* Forms */
    .form-group {
        margin-bottom: 20px;
    }
    
    .form-control {
        padding: 14px 16px;
        font-size: 16px; /* Prevents zoom on iOS */
    }
    
    /* Form grids */
    .form-group + .form-group,
    div[style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    
    /* Contact & Map Section */
    .contact-map-grid {
        grid-template-columns: 1fr !important;
        border-radius: 16px !important;
    }
    
    .contact-map-grid > div:first-child {
        padding: 28px 20px !important;
        order: 2;
    }
    
    .contact-map-grid > div:last-child {
        min-height: 250px !important;
        order: 1;
    }
    
    /* Offshore Form & Map */
    .offshore-form-map-wrapper,
    .offshore-cand-form-map-wrapper {
        grid-template-columns: 1fr !important;
        border-radius: 16px !important;
    }
    
    .offshore-form-side,
    .offshore-cand-form-side {
        padding: 28px 20px !important;
    }
    
    .offshore-map-side,
    .offshore-cand-map-side {
        min-height: 250px !important;
        order: -1;
    }
    
    /* Tab Buttons */
    .tab-buttons {
        flex-direction: column !important;
        gap: 8px !important;
    }
    
    .tab-button {
        padding: 12px 16px !important;
    }
    
    /* Work mode radio buttons */
    div[style*="display: flex"][style*="gap: 20px"] {
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    /* Testimonial Cards */
    .testimonial-card {
        padding: 28px;
    }
    
    .testimonial-text {
        font-size: 16px;
        line-height: 1.7;
    }
    
    /* Trust Bar */
    .trust-bar {
        padding: 32px 0;
    }
    
    .trust-logos {
        gap: 20px;
    }
    
    .trust-logos img {
        height: 24px;
    }
    
    /* Footer adjustments handled in footer */
}

/* ============================================
   SMALL MOBILE (max-width: 480px)
   ============================================ */
@media (max-width: 480px) {
    .container {
        padding-left: 12px;
        padding-right: 12px;
    }
    
    h1 {
        font-size: 24px !important;
    }
    
    h2 {
        font-size: 20px !important;
    }
    
    /* Hero */
    .hero-recruitment {
        padding: 60px 12px 50px !important;
    }
    
    .hero-content h1 {
        font-size: 24px !important;
    }
    
    .hero-content .subtitle {
        font-size: 14px !important;
    }
    
    .badge {
        font-size: 10px;
        padding: 6px 12px;
    }
    
    /* Stats */
    .stats-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }
    
    .stats-container {
        padding: 32px 20px;
    }
    
    .stat-number {
        font-size: 28px !important;
    }
    
    /* Cards */
    .info-card,
    .featured-card {
        padding: 20px 16px;
    }
    
    .info-card-icon {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }
    
    /* Steps */
    .step-number {
        width: 48px;
        height: 48px;
        font-size: 18px;
    }
    
    /* Form & Map */
    .contact-map-grid > div:first-child,
    .offshore-form-side,
    .offshore-cand-form-side {
        padding: 20px 16px !important;
    }
    
    .contact-map-grid > div:last-child,
    .offshore-map-side,
    .offshore-cand-map-side {
        min-height: 200px !important;
    }
    
    /* Buttons */
    .btn {
        padding: 12px 20px !important;
        font-size: 14px !important;
    }
    
    .btn-large {
        padding: 14px 24px !important;
    }
    
    /* Section padding */
    .info-cards,
    .featured-section,
    .steps-section,
    .blog-section {
        padding: 48px 0;
    }
    
    .cta-section-modern {
        padding: 48px 12px;
    }
    
    .section-header {
        margin-bottom: 32px;
    }
}

/* ============================================
   FORM GRID FIXES FOR MOBILE
   ============================================ */
@media (max-width: 600px) {
    /* All two-column form grids become single column */
    div[style*="grid-template-columns: 1fr 1fr"],
    div[style*="grid-template-columns:1fr 1fr"] {
        display: block !important;
    }
    
    div[style*="grid-template-columns: 1fr 1fr"] > *,
    div[style*="grid-template-columns:1fr 1fr"] > * {
        margin-bottom: 16px;
    }
    
    /* Input and select size for mobile */
    input.form-control,
    select.form-control,
    textarea.form-control {
        font-size: 16px !important; /* Prevents zoom on iOS */
        padding: 12px 14px;
    }
    
    /* Radio button groups */
    div[style*="display: flex"][style*="gap"] label {
        font-size: 14px !important;
    }
}

/* ============================================
   HERO STATS BAR GRAPHIC MOBILE
   ============================================ */
@media (max-width: 768px) {
    .hero-stats-bar-graphic {
        padding: 40px 16px !important;
    }
    
    .stats-bar-content {
        flex-direction: column !important;
        gap: 20px !important;
    }
    
    .stats-bar-item {
        padding: 16px !important;
        text-align: center;
    }
}

/* ============================================
   OFFSHORE SECTION MOBILE FIXES
   ============================================ */
@media (max-width: 768px) {
    /* Offshore focus section on homepage */
    section[style*="padding: 100px"] {
        padding: 60px 16px !important;
    }
    
    /* Stats cards in offshore section */
    div[style*="display: grid"][style*="repeat(3"] {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    
    /* CTA buttons in offshore section */
    div[style*="display: flex"][style*="gap: 20px"][style*="justify-content: center"] {
        flex-direction: column !important;
        align-items: stretch !important;
        max-width: 280px;
        margin: 0 auto;
    }
}

/* ============================================
   FOOTER MOBILE
   ============================================ */
@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 32px;
    }
    
    .footer-column {
        text-align: center;
    }
    
    .footer-links {
        align-items: center;
    }
    
    .social-links {
        justify-content: center;
    }
    
    .footer-bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
    
    .footer-bottom-links {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }
}

/* ============================================
   ACCESSIBILITY & TOUCH IMPROVEMENTS
   ============================================ */

/* Larger touch targets */
@media (max-width: 768px) {
    a, button {
        min-height: 44px;
        min-width: 44px;
    }
    
    /* Increase spacing for touch */
    .nav-menu > li > a,
    .dropdown-menu a {
        padding: 12px 16px;
    }
    
    /* Better focus states for touch */
    button:focus,
    a:focus,
    input:focus,
    select:focus {
        outline: 2px solid #3B82F6;
        outline-offset: 2px;
    }
}

/* ============================================
   LANDSCAPE MOBILE FIXES
   ============================================ */
@media (max-width: 900px) and (orientation: landscape) {
    .hero-recruitment {
        min-height: auto;
        padding: 60px 20px !important;
    }
    
    .hero-content h1 {
        font-size: 28px !important;
    }
    
    .hero-buttons {
        flex-direction: row !important;
        justify-content: center;
    }
}

/* ============================================
   HIGH DPI / RETINA FIXES
   ============================================ */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .info-card-icon,
    .featured-card-icon,
    .step-number {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
    .main-nav,
    .mobile-menu,
    .mobile-toggle,
    .hero-buttons,
    .cta-section-modern {
        display: none !important;
    }
    
    body {
        font-size: 12pt;
        color: black;
        background: white;
    }
}

