/**
 * OnlineSemmel - Custom CSS
 */

/* Scrollbar in Kategorie-Leiste verstecken */
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

/* Safe Area für iPhone-Notch / Home-Indikator */
.safe-bottom {
    padding-bottom: env(safe-area-inset-bottom, 0);
}

/* Alpine.js Cloak */
[x-cloak] {
    display: none !important;
}

/* Smooth focus transitions */
input, textarea, select {
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Touch-Optimierung */
button {
    touch-action: manipulation;
}

@media (hover: none) {
    button, a {
        -webkit-tap-highlight-color: transparent;
    }
}

/* WCAG 2.1 AA: Sichtbare Fokus-Indikatoren */
*:focus-visible {
    outline: 2px solid #0096a0;
    outline-offset: 2px;
}

*:focus:not(:focus-visible) {
    outline: none;
}

/* WCAG 2.1 AA: Reduzierte Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* WCAG 2.1 AA: Windows High Contrast / Forced Colors */
@media (forced-colors: active) {
    *:focus-visible {
        outline: 2px solid LinkText;
    }
    button, a {
        border: 1px solid ButtonText;
    }
}

/* Druck-Styles für Rechnung */
@media print {
    header, footer, .no-print {
        display: none !important;
    }

    body {
        background: white !important;
        font-size: 12pt;
    }

    main {
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .print-only {
        display: block !important;
    }

    a {
        text-decoration: none;
        color: black;
    }
}

.print-only {
    display: none;
}
