/* =================================================================
   MOBILE TOUCH OPTIMIZATIONS
   Ensuring all interactive elements meet minimum touch target sizes
   (44x44px minimum as per Apple HIG and Material Design guidelines)
================================================================= */

/* Ensure all buttons meet minimum touch target size */
@media (max-width: 767px) {
    /* Buttons */
    .btn,
    button,
    input[type="submit"],
    input[type="button"],
    a.btn {
        min-height: 44px;
        min-width: 44px;
        padding: 12px 20px;
        touch-action: manipulation; /* Prevent double-tap zoom */
    }

    /* Links that act as buttons */
    a[role="button"],
    .btn-link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 12px 20px;
    }

    /* Form inputs */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="number"],
    textarea,
    select {
        min-height: 44px;
        font-size: 16px; /* Prevent iOS zoom on focus */
        padding: 12px 16px;
        touch-action: manipulation;
    }

    /* Checkboxes and radio buttons */
    input[type="checkbox"],
    input[type="radio"] {
        min-width: 44px;
        min-height: 44px;
        margin: 0;
    }

    /* Navigation links */
    .nav-link,
    .navigation__link,
    .mobile-nav-list a {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 12px 16px;
    }

    /* Icon buttons */
    .icon-button,
    button i,
    .btn i {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Swiper navigation buttons */
    .swiper-button-prev,
    .swiper-button-next,
    .swiper-nav-button {
        min-width: 44px;
        min-height: 44px;
        touch-action: manipulation;
    }

    /* Cards that are clickable */
    .solution-card,
    .market-card,
    .blog-card,
    .testimonial-card {
        cursor: pointer;
        touch-action: manipulation;
    }

    /* Prevent text selection on buttons during tap */
    .btn,
    button,
    .nav-link {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

    /* Improve tap highlight */
    .btn:active,
    button:active,
    .nav-link:active {
        opacity: 0.8;
        transform: scale(0.98);
    }

    /* Ensure dropdowns are easy to tap */
    .dropdown-toggle,
    .dropdown-item {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 12px 16px;
    }

    /* Modal close buttons */
    .btn-close,
    .modal-header .btn-close {
        min-width: 44px;
        min-height: 44px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Social media icons */
    .social-icon-link {
        min-width: 50px;
        min-height: 50px;
        touch-action: manipulation;
    }

    /* Pagination */
    .pagination .page-link {
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Extra small devices - even larger touch targets */
@media (max-width: 575px) {
    .btn,
    button,
    a.btn {
        min-height: 48px;
        padding: 14px 24px;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    select,
    textarea {
        min-height: 48px;
        padding: 14px 16px;
    }

    .nav-link {
        min-height: 48px;
        padding: 14px 16px;
    }
}

