.flowtiva-account-found {display:none}
#main .flowtiva-booking-instruction {font-size:14px;line-height:1.5;color:#193748;margin:10px 0;font-weight:600;clear:both;width:100%}
@media(max-width:640px) {
    .mobile-booking > .flowtiva-booking-action {width:50%;min-height:60px;padding:14px 10px;font-size:12px;letter-spacing:.04em;line-height:1.3}
    .mobile-booking > .flowtiva-booking-action:disabled {opacity:1;cursor:default}
    body {padding-bottom:calc(76px + env(safe-area-inset-bottom))}
    #main .booknetic_appointment {scroll-margin-top:90px;scroll-margin-bottom:90px}
    #main .booknetic_appointment_steps.has-logo {height:auto!important;min-height:110px!important;padding-bottom:12px!important}
    #main .booknetic_company_logo {margin-top:12px!important;margin-bottom:6px!important}
    #main .booknetic_company_logo > img {max-height:48px!important;max-width:80px!important}
    #main .booknetic_appointment_steps_body {padding:6px 20px 0!important}
    #main .booknetic_appointment_step_element {margin-bottom:6px!important}
    #main .companion-sms-consent, #main .companion-policy-notice {padding:9px!important;margin:8px 0!important}
    #main .companion-sms-consent, #main .companion-policy-notice,
    #main .companion-sms-consent :is(label,span,p,strong,a), #main .companion-policy-notice :is(label,span,p,strong,a) {font-size:13px!important;line-height:1.4!important}
    #main .companion-sms-consent > strong {margin-bottom:4px!important}
    #main .companion-policy-notice p {margin-bottom:4px!important}
    #main .companion-sms-consent label, #main .companion-policy-notice label {min-height:44px;gap:8px!important}
    #main .companion-sms-consent input, #main .companion-policy-notice input {width:20px!important;height:20px!important;min-width:20px;scroll-margin-block:110px}
    #main .companion-sms-consent > a, #main .companion-policy-notice > a {margin-left:28px!important;min-height:28px;padding-top:4px}
    #main .flowtiva-booking-instruction {font-size:13px;margin:8px 0}
    #main .bkntc-information-step-info-container > :not(.flowtiva-account-found) {display:none!important}
    #main .flowtiva-account-found {display:block;font-size:13px;line-height:1.4;padding:6px 0;color:#193748}
    #main .booknetic_input_error {scroll-margin-block:110px}
    /* Keep the information step within the device width and avoid small-field focus scaling. */
    #main .booking-shell, #main .booknetic_appointment, #main .booknetic_appointment_container,
    #main .booknetic_appointment_container_body, #main [data-step-id="information"] {min-width:0;max-width:100%;box-sizing:border-box}
    #main [data-step-id="information"] .form-group {min-width:0;max-width:100%}
    #main [data-step-id="information"] :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select) {font-size:16px!important;max-width:100%;box-sizing:border-box}
    #main [data-step-id="information"] .iti {width:100%;min-width:0;max-width:100%}
    #main .companion-policy-notice span, #main .companion-sms-consent span {min-width:0;overflow-wrap:anywhere}
    .mobile-booking > .flowtiva-booking-action.is-confirm-ready {
        --confirm-lift:2px;--confirm-glow:5px;--confirm-speed:2.8s;--confirm-shine:.5;
        background-color:var(--accent);
        background-image:linear-gradient(110deg,transparent 20%,rgba(255,255,255,var(--confirm-shine)) 45%,transparent 70%);
        background-size:250% 100%;
        animation:flowtiva-confirm-attention var(--confirm-speed) ease-in-out infinite;
    }
    .flowtiva-confirm-subtle .mobile-booking > .is-confirm-ready {--confirm-lift:0px;--confirm-glow:1px;--confirm-speed:4s;--confirm-shine:.25}
    .flowtiva-confirm-strong .mobile-booking > .is-confirm-ready {--confirm-lift:4px;--confirm-glow:8px;--confirm-speed:2.2s;--confirm-shine:.7}
    .flowtiva-confirm-off .mobile-booking > .is-confirm-ready {animation:none;background-image:none}
    /* Separate from animated shadows so reduced motion retains a clear static cue. */
    .flowtiva-confirm-highlight .mobile-booking > .flowtiva-booking-action.is-confirm-ready {position:relative}
    .flowtiva-confirm-highlight .mobile-booking > .flowtiva-booking-action.is-confirm-ready::after {
        content:"";position:absolute;inset:4px;pointer-events:none;
        border:2px solid var(--on-accent,#000);border-radius:3px;
        box-shadow:0 0 0 2px rgba(255,255,255,.65),0 0 12px 2px rgba(255,255,255,.45);
    }
}
@keyframes flowtiva-confirm-attention {
    0%,100% {background-position:100% 0;transform:translateY(0);box-shadow:0 0 0 0 transparent}
    50% {background-position:0 0;transform:translateY(calc(-1 * var(--confirm-lift)));box-shadow:0 0 0 var(--confirm-glow) color-mix(in srgb,var(--accent) 40%,transparent)}
}
@media(prefers-reduced-motion:reduce) {
    .mobile-booking > .flowtiva-booking-action.is-confirm-ready {animation:none;background-image:none}
}
