/**
 * Laptop / desktop: UI ~80% browser zoom.
 * Sidebar uses height compensation so it still fills the full screen.
 */

@media screen and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    /* Waiter POS has its own tablet layout — do not zoom (breaks cart footer) */
    html.global-laptop-zoom:not(:has(body.waiter-pos-page)) {
        zoom: 0.8;
    }

    /* 100vh under zoom:0.8 only covers ~80% visually — extend to full screen */
    html.global-laptop-zoom:not(:has(body.waiter-pos-page)) .sidebar {
        height: calc(100vh / 0.8);
        min-height: calc(100dvh / 0.8);
        top: 0;
        bottom: auto;
    }

    html.global-laptop-zoom:not(:has(body.waiter-pos-page)) body {
        min-height: calc(100vh / 0.8);
    }

    html.global-laptop-zoom:not(:has(body.waiter-pos-page)) .main-content {
        min-height: calc(100vh / 0.8);
    }
}

/* Firefox: font-size scale instead of zoom */
@supports not (zoom: 0.8) {
    @media screen and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
        html.global-laptop-zoom {
            font-size: 80%;
        }

        html.global-laptop-zoom .sidebar {
            height: 100vh;
            min-height: 100dvh;
        }

        html.global-laptop-zoom body,
        html.global-laptop-zoom .main-content {
            min-height: 100vh;
        }
    }
}

@media print {
    html.global-laptop-zoom {
        zoom: 1 !important;
        font-size: 100% !important;
    }

    html.global-laptop-zoom .sidebar {
        height: 100vh !important;
        min-height: auto !important;
    }
}
