        /*
         * =====================================================
         * OMAT VARAUKSET – LOGIN
         * =====================================================
         *
         * Yksi ainoa responsiivinen toteutus.
         * Ei transform-skaalausta.
         * Desktop säilyy väljänä.
         * Matala mobiili tiivistyy oikeilla mitoilla.
         */

        html,
        body {
            height: 100%;
        }

        body.customer-login-body {
            min-height: 100dvh;
            overflow-x: hidden;
            overflow-y: auto;
        }


        body.customer-login-body > div {
            position: relative;
            z-index: 1;

            -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
        }

        /*
         * =====================================================
         * PERUSLAYOUT / DESKTOP
         * =====================================================
         */

        .customer-login-screen {

            padding:
                max(12px, env(safe-area-inset-top))
                16px
                max(12px, env(safe-area-inset-bottom));
        }


        /*
         * Rekisteröintimodaalin pitää saada scrollata.
         */
        #customer-account-registration-modal {
            overflow-y: auto !important;
        }

        /*
         * =====================================================
         * NORMAALI MOBIILI
         * esim. 393 × 852
         * =====================================================
         */

        @media (max-width: 639px) {


            .customer-login-screen {
                padding:
                    max(8px, env(safe-area-inset-top))
                    16px
                    max(8px, env(safe-area-inset-bottom));
            }

        }

        /*
         * =====================================================
         * MATALA MOBIILI
         * esim. iPhone SE 375 × 667
         * =====================================================
         */

        @media
            (max-width: 639px)
            and (max-height: 720px) {

            .customer-login-screen {
                padding:
                    max(5px, env(safe-area-inset-top))
                    14px
                    max(5px, env(safe-area-inset-bottom))
                    !important;
            }

            .customer-login-screen > section.customer-login-card {
                padding:
                    10px 20px 9px
                    !important;

                border-radius: 1.5rem !important;

                overflow: hidden !important;
            }

            /*
             * Login-kortin yläosaa EI pakoteta tiettyyn
             * leveyteen tai korkeuteen.
             *
             * Ensimmäinen div sisältää muutakin kuin
             * koiraikonin, joten sen 44x44-rajoitus aiheutti
             * otsikon ja lomakkeen päällekkäisyyden.
             */

            .customer-login-title {
                font-size: 21px !important;
                line-height: 1.12 !important;
            }

            /*
             * Tailwindin pystymarginaalit.
             */
            .customer-login-registration {
                margin-top: 6px !important;
            }

            .customer-login-registration-content {
                margin-top: 5px !important;
            }

            #customer-account-registration-open {
                margin-top: 4px !important;
            }

            .customer-login-intro {
                margin-top: 3px !important;
            }

            /*
             * Ingressi ja muut tekstit.
             */
            .customer-login-intro,
            .customer-login-registration-text {
                line-height: 1.25 !important;
            }

            /*
             * Formin space-y-4.
             */
            .customer-login-form
            > :not([hidden])
            ~ :not([hidden]) {
                margin-top: 7px !important;
            }

            /*
             * Labelit.
             */
            .customer-login-field-label {
                margin-bottom: 3px !important;

                font-size: 13px !important;
                line-height: 1.1 !important;
            }

            /*
             * Kentät.
             * 44 px säilyttää järkevän kosketuskoon.
             */
            #customer-login-email,
            #customer-login-secret {
                height: 44px !important;
                min-height: 44px !important;

                padding-top: 6px !important;
                padding-bottom: 6px !important;

                border-radius: 12px !important;
            }

            /*
             * Kirjaudu-painike.
             */
            #customer-login-button {
                height: 44px !important;
                min-height: 44px !important;

                padding-top: 0 !important;
                padding-bottom: 0 !important;

                border-radius: 12px !important;
            }

            /*
             * Luo asiakastili.
             */
            #customer-account-registration-open {
                min-height: 44px !important;

                padding-top: 7px !important;
                padding-bottom: 7px !important;
            }

            /*
             * Etusivulle + kielivalinta.
             */
            .customer-login-footer {
                margin-top: 6px !important;
                padding-top: 6px !important;
            }
        }
    

/* LOGIN MOBILE FOOTER SPACING */
@media (max-width:639px){body.customer-login-body footer{padding-bottom:64px}}

/* CUSTOMER_LOGIN_SAAS_V1 — shared 8-point spacing, login only. */
body.my-bookings-page.customer-login-body {background:#f5f6f2!important;background-image:none!important;height:auto!important;min-height:100dvh;overflow-y:auto!important}
body.my-bookings-page.customer-login-body::before,body.my-bookings-page.customer-login-body::after {display:none!important}
body.my-bookings-page.customer-login-body > div {min-height:100dvh!important;height:auto!important}
body.my-bookings-page.customer-login-body main.customer-login-screen {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:16px;overflow:visible!important;min-height:0!important;height:auto!important;flex:1 0 auto!important;padding:48px 24px!important;max-width:none!important}
body.my-bookings-page.customer-login-body .customer-login-card {width:100%!important;max-width:440px!important;padding:32px!important;margin:0 auto!important;background:#fff!important;border:1px solid #dfe6dc!important;border-radius:16px!important;box-shadow:0 8px 32px #173e2e08!important;transform:none!important;backdrop-filter:none!important}
body.my-bookings-page.customer-login-body .customer-login-header {margin-bottom:32px!important;text-align:left!important}
body.my-bookings-page.customer-login-body .customer-login-title {font-size:28px!important;line-height:36px!important;letter-spacing:-.02em;color:#173e2e!important;margin:0!important}
body.my-bookings-page.customer-login-body .customer-login-intro {font-size:15px!important;line-height:24px!important;color:#617168!important;margin:8px 0 0!important}
body.my-bookings-page.customer-login-body #customer-login-form > label {margin:0 0 16px!important}
body.my-bookings-page.customer-login-body .customer-login-field-label {font-size:14px!important;line-height:20px!important;font-weight:600!important;margin:0 0 8px!important;color:#345440!important}
body.my-bookings-page.customer-login-body #customer-login-form input:not([type=hidden]) {box-sizing:border-box;width:100%!important;min-height:48px!important;height:48px!important;padding:12px 16px!important;font-size:16px!important;line-height:24px!important;border:1px solid #cfdacf!important;border-radius:8px!important;background:#fff!important;color:#173e2e!important}
body.my-bookings-page.customer-login-body #customer-login-form #customer-login-secret {font-size:24px!important;letter-spacing:.25em}
body.my-bookings-page.customer-login-body #customer-login-form input:focus {outline:2px solid #527d55!important;outline-offset:2px!important;box-shadow:none!important}
body.my-bookings-page.customer-login-body #customer-login-button {min-height:48px!important;margin:24px 0 0!important;padding:12px 16px!important;background:#24563d!important;border-radius:8px!important;font-size:16px!important;line-height:24px!important;font-weight:600!important}
body.my-bookings-page.customer-login-body #customer-login-button:hover {background:#173e2e!important}
body.my-bookings-page.customer-login-body #customer-login-mode-button,body.my-bookings-page.customer-login-body #customer-login-resend-button {min-height:48px!important;padding:8px!important;font-size:14px!important;line-height:20px!important;border-radius:8px!important}
body.my-bookings-page.customer-login-body .customer-login-registration {margin-top:24px!important}
body.my-bookings-page.customer-login-body .customer-login-registration-content {margin-top:16px!important}
body.my-bookings-page.customer-login-body .customer-login-registration-text {font-size:14px!important;line-height:20px!important;color:#617168!important}
body.my-bookings-page.customer-login-body .customer-login-registration-content > a {margin-top:16px!important;min-height:48px!important;padding:12px 16px!important;border:1px solid #527d55!important;border-radius:8px!important;font-size:16px!important;line-height:24px!important;color:#24563d!important}
body.my-bookings-page.customer-login-body .flash-banner {max-width:440px!important;width:calc(100% - 32px)!important;margin:0 auto!important;font-size:14px;line-height:22px;border-radius:8px!important}
body.my-bookings-page.customer-login-body footer {background:#f5f6f2!important;border-top:1px solid #dfe6dc!important;padding:24px 16px!important;color:#617168!important;box-shadow:none!important}
body.my-bookings-page.customer-login-body footer :is(p,span,div) {color:#617168!important}
body.my-bookings-page.customer-login-body footer :is(a,button) {color:#345440!important}
@media(max-width:767px) {
 body.my-bookings-page.customer-login-body main.customer-login-screen {justify-content:flex-start!important;padding:32px 0!important;background:#fff!important}
 body.my-bookings-page.customer-login-body .customer-login-card {max-width:440px!important;padding:0 16px!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 body.my-bookings-page.customer-login-body .customer-login-title {font-size:26px!important;line-height:34px!important}
 body.my-bookings-page.customer-login-body #tailwind-site-header > div {padding-left:16px!important;padding-right:16px!important}
}