/* ============================================================
   DEWPOINT PRODUCTION POLISH
   Loaded last so form controls and public focus states stay
   consistent even when legacy module styles are present.
   ============================================================ */

body .dp-site .dp-login-modal-backdrop{
    padding:16px;
    overscroll-behavior:contain;
}

body .dp-site .dp-login-modal:not(.dp-register-modal){
    width:min(440px,calc(100vw - 32px));
    max-height:calc(100svh - 32px);
    padding:30px 30px 26px;
    overflow-y:auto;
}

body .dp-site .dp-register-modal{
    width:min(760px,calc(100vw - 32px));
    max-height:calc(100svh - 32px);
    padding:28px 30px 24px;
    overflow-y:auto;
}

body .dp-site .dp-login-modal label,
body .dp-site .dp-register-modal label{
    font-size:13px;
    line-height:1.35;
}

body .dp-site .dp-login-modal input:not([type="checkbox"]),
body .dp-site .dp-register-modal input:not([type="checkbox"]),
body .dp-site .dp-register-modal select{
    min-height:48px;
    padding:0 14px;
    color:#17213e;
    font-family:Arial,Helvetica,sans-serif;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.4;
    letter-spacing:0;
}

body .dp-site .dp-login-modal input::placeholder,
body .dp-site .dp-register-modal input::placeholder{
    color:#8b94a8;
    font-weight:400 !important;
    opacity:1;
}

body .dp-site .dp-login-close{
    cursor:pointer;
}

body .dp-site button:focus-visible,
body .dp-site a:focus-visible,
body .dp-site input:focus-visible,
body .dp-site select:focus-visible{
    outline:2px solid rgba(115,84,232,.32);
    outline-offset:2px;
}

body .dp-site .dp-home-booking-title{
    max-width:820px;
}

body .dp-site .dp-home-booking-title h2{
    line-height:1.05;
    text-wrap:balance;
}

body .dp-site .dp-home-booking-title p{
    max-width:680px;
    text-wrap:pretty;
}

@media(max-width:760px){
    body .dp-site .dp-login-modal:not(.dp-register-modal),
    body .dp-site .dp-register-modal{
        width:calc(100vw - 24px);
        max-height:calc(100svh - 24px);
        padding:24px 18px 20px;
    }

    body .dp-site .dp-login-modal input:not([type="checkbox"]),
    body .dp-site .dp-register-modal input:not([type="checkbox"]),
    body .dp-site .dp-register-modal select{
        min-height:48px;
        font-size:16px !important;
    }

    body .dp-site .dp-home-booking-title h2{
        font-size:clamp(28px,8.4vw,38px);
    }
}
