/**
 * 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;
    }

    input[type="search"] {
        -webkit-appearance: none;
        appearance: none;
    }

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

    .shop-filter-section {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    .shop-main-grid,
    #mainProductArea,
    #kategorieContainer,
    .products-grid {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .neu-slider-section,
    .neu-slider-panel,
    .neu-slider-wrapper,
    .neu-slider-section.neu-layout-scroll .neu-slider-viewport {
        max-width: 100%;
        min-width: 0;
    }

    .neu-slider-section.neu-layout-scroll .neu-slider-viewport {
        scroll-padding-inline: 4px;
    }

    .kategorie-chips,
    .mobile-quick-filters {
        scroll-padding-inline: 8px;
    }

    .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;
    }
}
