/**
 * InnoEvents Verkauf – gemeinsame Mobile-Optimierungen
 */

html {
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

@supports (padding: max(0px)) {
    body {
        padding-left: max(0px, env(safe-area-inset-left));
        padding-right: max(0px, env(safe-area-inset-right));
        padding-bottom: max(0px, env(safe-area-inset-bottom));
    }

    .header {
        padding-top: max(12px, env(safe-area-inset-top));
    }
}

@media (max-width: 768px) {
    body {
        background-attachment: scroll !important;
    }

    input,
    select,
    textarea {
        font-size: 16px !important;
    }

    button,
    .btn,
    a.btn,
    .btn-header,
    .nav-tab,
    .filter-btn,
    .admin-tab,
    .tab {
        min-height: 44px;
        touch-action: manipulation;
    }

    .modal {
        padding: 0;
        align-items: stretch;
    }

    .modal.show {
        display: flex !important;
    }

    .modal[style*="display: flex"],
    .modal[style*="display:flex"] {
        display: flex !important;
    }

    .modal-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        max-height: 100dvh;
        overflow-y: auto;
        border-radius: 0;
        -webkit-overflow-scrolling: touch;
    }

    .modal-close {
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .notification {
        left: 12px !important;
        right: 12px !important;
        max-width: none !important;
    }
}

@media (max-width: 480px) {
    .hero h2 {
        font-size: 1.45em !important;
        line-height: 1.25;
    }

    .hero p {
        font-size: 0.95em !important;
    }
}
