/* Mobile & PWA Optimierungen für iPhone */

/* Safe Area Insets - für iPhone Notch und Home Indicator */
:root {
    --safe-area-inset-top: env(safe-area-inset-top);
    --safe-area-inset-right: env(safe-area-inset-right);
    --safe-area-inset-bottom: env(safe-area-inset-bottom);
    --safe-area-inset-left: env(safe-area-inset-left);
}

/* Layout Container - Safe Area Padding */
.layout-container {
    padding-left: max(0px, var(--safe-area-inset-left)) !important;
    padding-right: max(0px, var(--safe-area-inset-right)) !important;
}

.layout-topbar {
    padding-top: max(0px, var(--safe-area-inset-top)) !important;
    padding-left: max(1rem, calc(1rem + var(--safe-area-inset-left))) !important;
    padding-right: max(1rem, calc(1rem + var(--safe-area-inset-right))) !important;
}

.layout-content {
    padding-bottom: max(1rem, calc(1rem + var(--safe-area-inset-bottom))) !important;
}

/* Touch Target Größen - Apple empfiehlt min 44x44px */
@media (max-width: 991px) {
    button, 
    .p-button, 
    a.p-menuitem-link,
    .layout-menu a {
        min-height: 44px !important;
        min-width: 44px !important;
        touch-action: manipulation; /* Verhindert Doppeltap-Zoom */
    }
    
    /* Icon-only Buttons größer machen */
    .p-button.p-button-icon-only {
        width: 44px !important;
        height: 44px !important;
    }
    
    /* Input Fields */
    input, 
    select, 
    textarea,
    .p-inputtext {
        min-height: 44px !important;
        font-size: 16px !important; /* Verhindert iOS Zoom bei Focus */
    }
}

/* Smooth Scrolling für iOS */
.layout-content,
.layout-sidebar,
.p-scrollpanel,
.p-datatable-wrapper {
    -webkit-overflow-scrolling: touch;
}

/* Text nicht abschneiden */
@media (max-width: 991px) {
    .p-button-label,
    .p-menuitem-text {
        overflow-wrap: break-word;
        word-break: break-word;
        hyphens: auto;
    }
    
    /* Tabellen horizontal scrollbar */
    .p-datatable-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    /* Cards Padding reduzieren */
    .p-card-body {
        padding: 1rem !important;
    }
    
    /* Dialogs volle Breite auf Mobile */
    .p-dialog {
        width: 95vw !important;
        max-width: 100% !important;
    }
}

/* iPhone X/11/12/13/14 Portrait */
@media (max-width: 430px) {
    /* Breadcrumbs kompakter */
    .layout-breadcrumb-container {
        padding: 0.75rem 1rem !important;
    }
    
    .layout-breadcrumb ol {
        font-size: 0.875rem !important;
    }
    
    /* Sidebar volle Breite */
    .layout-sidebar {
        width: 100% !important;
        max-width: 280px !important;
    }
    
    /* Buttons in Gruppen stacken */
    .p-buttonset {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }
    
    .p-buttonset .p-button {
        width: 100% !important;
        border-radius: var(--border-radius) !important;
    }
}

/* Landscape Modus */
@media (max-height: 500px) and (orientation: landscape) {
    .layout-topbar {
        height: auto !important;
        min-height: 3rem !important;
    }
    
    .layout-sidebar {
        padding-top: 0 !important;
    }
}

/* Verhindere Zoom bei Input Focus (iOS) */
@media (max-width: 991px) {
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="tel"],
    input[type="url"],
    textarea,
    select {
        font-size: 16px !important; /* iOS zoomt bei <16px */
    }
}

/* PWA Standalone Mode - Entferne unnötige Abstände */
@media (display-mode: standalone) {
    body {
        padding-top: var(--safe-area-inset-top);
        padding-bottom: var(--safe-area-inset-bottom);
    }
    
    .layout-topbar {
        position: sticky;
        top: 0;
        z-index: 1000;
    }
}

/* Bessere Tap Highlights */
* {
    -webkit-tap-highlight-color: rgba(25, 118, 210, 0.15);
}

a, button {
    -webkit-touch-callout: none; /* Verhindert langes Press-Menü */
}

/* Prevent bounce scrolling auf PWA */
@media (display-mode: standalone) {
    body {
        overscroll-behavior-y: contain;
    }
}
