/* Touch & Kiosk Optimizations */

        body.h-screen.w-screen {

            background-color: #FDFBF7;
            box-sizing: border-box;
            width: 100vw;
            height: 100vh;
            height: 100dvh;
            padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);

            user-select: none;

            -webkit-user-select: none;

            touch-action: manipulation;

            overscroll-behavior: none;

            overflow: hidden;

            font-family: 'Montserrat', sans-serif;

        }

        @media all and (display-mode: standalone) {
            body {
                overscroll-behavior-y: none;
            }
        }

        /* Subtle Gold Shimmer Animation */

        @keyframes goldGlow {

            0%, 100% { box-shadow: 0 0 15px rgba(212, 175, 55, 0.3); }

            50% { box-shadow: 0 0 30px rgba(212, 175, 55, 0.6); }

        }

        .gold-glow {

            animation: goldGlow 3s infinite ease-in-out;

        }

        /* Screen Flash Effect for Camera Shutter */

        #flash-overlay {

            pointer-events: none;

            opacity: 0;

            transition: opacity 0.08s ease-out;

        }

        #flash-overlay.active {

            opacity: 1;

        }

        /* Custom Scrollbar */

        ::-webkit-scrollbar {

            width: 6px;

        }

        ::-webkit-scrollbar-track {

            background: #F3EFEA;

        }

        ::-webkit-scrollbar-thumb {

            background: #D4AF37;

            border-radius: 3px;

        }

        @page {

            size: 4in 6in;

            margin: 0;

        }

        /* AirPrint CSS formatting for 4x6 inch Postcard Print (Canon SELPHY CP1500) */

        #print-area {

            display: none;

        }

        @media print {

            html,
            body {
                width: 100%;
                height: 100%;
                margin: 0 !important;
                padding: 0 !important;
                overflow: hidden;
            }

            body > :not(#print-area) {
                display: none !important;
            }

            #print-area {

                position: fixed;

                display: flex;

                left: 0;

                top: 0;

                width: 4in;

                height: 6in;

                justify-content: center;

                align-items: center;

                background: transparent;

                overflow: hidden;

            }

            #print-area img {

                width: 4in;

                height: 6in;

                object-fit: contain;

            }

            #print-area img.print-landscape {

                width: 6in;

                height: 4in;

                transform: rotate(90deg);

                transform-origin: center;

            }

        }
