/**
 * OYROPA Mobile Touch-Targets Optimization
 * Alle Touch-Targets mindestens 44x44px für WCAG AA Compliance
 */

/* Globale Touch-Target Mindestgröße */
button,
.btn,
.button,
a.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
.nav-links a,
.service-card a,
.price-badge,
.stat-item {
    min-height: 44px !important;
    min-width: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 20px !important;
}

/* Input-Felder auf Mobile */
@media (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="number"],
    input[type="password"],
    select,
    textarea {
        min-height: 48px !important;
        padding: 12px 16px !important;
        font-size: 16px !important; /* Verhindert iOS Zoom */
    }

    /* Navigation Links größer */
    .nav-links a {
        padding: 15px 20px !important;
        margin: 5px !important;
    }

    /* Service Cards Buttons */
    .service-card .btn,
    .service-card a {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
    }

    /* Checkout Buttons */
    .checkout-button,
    .payment-option,
    .submit-button {
        min-height: 52px !important;
        width: 100% !important;
        margin: 10px 0 !important;
    }

    /* Social Media Buttons */
    .social-button,
    .share-button {
        min-width: 48px !important;
        min-height: 48px !important;
        margin: 5px !important;
    }

    /* Close/Cancel Buttons */
    .close-button,
    .modal-close,
    .cancel-btn {
        min-width: 44px !important;
        min-height: 44px !important;
        position: relative !important;
        z-index: 1001 !important;
    }

    /* Dropdown Items */
    .dropdown-item,
    select option {
        min-height: 44px !important;
        padding: 12px 20px !important;
    }

    /* Radio & Checkbox größer */
    input[type="radio"],
    input[type="checkbox"] {
        min-width: 24px !important;
        min-height: 24px !important;
        margin: 10px !important;
    }

    /* Tab Navigation */
    .tab-button,
    .nav-tab {
        min-height: 48px !important;
        padding: 12px 24px !important;
    }

    /* Pagination */
    .pagination a,
    .page-link {
        min-width: 44px !important;
        min-height: 44px !important;
        margin: 2px !important;
    }

    /* Icon Buttons */
    .icon-button {
        min-width: 48px !important;
        min-height: 48px !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Footer Links */
    .footer a {
        display: inline-block !important;
        padding: 10px 15px !important;
        min-height: 44px !important;
    }

    /* Form Labels clickable area */
    label {
        display: block !important;
        padding: 10px 0 !important;
        min-height: 44px !important;
        cursor: pointer !important;
    }

    /* Cards als Touch-Targets */
    .service-card,
    .price-card,
    .feature-card {
        cursor: pointer !important;
        transition: transform 0.2s !important;
    }

    .service-card:active,
    .price-card:active,
    .feature-card:active {
        transform: scale(0.98) !important;
    }
}

/* Accessibility - Focus States verbessern */
*:focus {
    outline: 3px solid #D69E2E !important;
    outline-offset: 2px !important;
}

/* Touch-Feedback */
@media (hover: none) {
    button:active,
    .btn:active,
    a:active {
        opacity: 0.8 !important;
        transform: scale(0.98) !important;
    }
}

/* Spacing zwischen Touch-Targets */
.button-group button,
.button-group .btn {
    margin: 5px !important;
}

/* Loading States */
.btn.loading,
button.loading {
    pointer-events: none !important;
    opacity: 0.7 !important;
    min-height: 48px !important;
}

/* Error States */
.error input,
.error select,
.error textarea {
    border: 2px solid #DC2626 !important;
    min-height: 48px !important;
}