/* Shared identity and form focus. Loaded last in both public and private layouts. */
body.cl-modern a.cl-brand {
    display:inline-flex; align-items:center; flex-direction:row; gap:11px;
    width:auto; max-width:none; height:auto; flex-shrink:0; margin:0; padding:0;
    color:#172035; text-decoration:none; white-space:nowrap; letter-spacing:normal; line-height:1;
}
body.cl-modern .cl-brand .cl-brand-icon {
    display:flex; align-items:center; justify-content:center; flex:0 0 48px;
    width:48px; height:48px; border:1px solid #cbdcfb; border-radius:12px;
    background:#edf3ff; color:#245bd7; box-shadow:none; margin:0; padding:0;
}
body.cl-modern .cl-brand .cl-brand-icon svg {
    display:block; width:31px; height:31px; fill:none; stroke:currentColor;
    stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round;
}
body.cl-modern .cl-brand .cl-brand-type {
    display:flex; flex-direction:column; align-items:flex-start; gap:6px;
    float:none; width:auto; height:auto; margin:0; padding:0; line-height:1.1;
}
body.cl-modern .cl-brand .cl-brand-name {
    display:block; float:none; width:auto; margin:0; padding:0; color:#172035;
    font:800 26.4px/1.05 'Manrope',Arial,sans-serif; letter-spacing:-.055em; white-space:nowrap;
}
body.cl-modern .cl-brand .cl-brand-accent {
    display:inline; float:none; margin:0; padding:0; color:#245bd7; font:inherit; letter-spacing:inherit;
}
body.cl-modern .cl-brand .cl-brand-tagline {
    display:block; float:none; margin:0; padding:0; color:#6d7890;
    font:550 12px/1.1 'DM Sans',Arial,sans-serif; letter-spacing:.085em;
    text-transform:uppercase; white-space:nowrap;
}
@media(max-width:1100px) {
    body.cl-modern .cl-brand .cl-brand-name { font-size:24px; }
    body.cl-modern .cl-brand .cl-brand-icon { flex-basis:44px; width:44px; height:44px; }
    body.cl-modern .cl-brand .cl-brand-icon svg { width:29px; height:29px; }
}
@media(max-width:640px) {
    body.cl-modern .cl-brand .cl-brand-name { font-size:23.2px; }
    body.cl-modern .cl-brand .cl-brand-icon { flex-basis:42px; width:42px; height:42px; border-radius:10px; }
    body.cl-modern .cl-brand .cl-brand-icon svg { width:28px; height:28px; }
    body.cl-modern .cl-brand .cl-brand-type { gap:5px; }
    body.cl-modern .cl-brand .cl-brand-tagline { letter-spacing:.045em; }
}
@media(max-width:380px) {
    body.cl-modern .cl-brand .cl-brand-name { font-size:20px; }
    body.cl-modern .cl-brand .cl-brand-icon { flex-basis:38px; width:38px; height:38px; }
    body.cl-modern .cl-brand .cl-brand-icon svg { width:26px; height:26px; }
    body.cl-modern .cl-brand .cl-brand-tagline { letter-spacing:0; }
}

/* Keep one rounded focus indicator; legacy styles otherwise add an offset rectangle. */
body.cl-modern :is(.form-control,input:not([type]),input[type=text],input[type=search],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=url],input[type=date],input[type=time],input[type=datetime-local],select,textarea):focus {
    outline:2px solid transparent !important; outline-offset:0 !important;
    border-color:#527cc9 !important; box-shadow:0 0 0 3px #245bd724 !important;
}
body.cl-modern .location-directory-input:focus-within {
    border-color:#527cc9 !important; outline:2px solid transparent; outline-offset:0;
    box-shadow:0 0 0 3px #245bd724 !important;
}
body.cl-modern .searchfield:focus-within {
    border-radius:7px !important; outline:2px solid #527cc9 !important;
    outline-offset:-2px !important; box-shadow:none !important;
}
body.cl-modern :is(.location-directory-input,.searchfield) input:focus {
    outline:none !important; border-color:transparent !important; box-shadow:none !important;
}
body.cl-modern .has-error :is(input,select,textarea):focus {
    border-color:#b72d44 !important; box-shadow:0 0 0 3px #b72d4424 !important;
}
body.cl-modern .location-directory-input svg { flex-shrink:0; }
/* Equal content and equal rows keep the three buying steps balanced without clipping text. */
body.cl-public .editorial .steps { grid-auto-rows:1fr; }

@media(forced-colors:active) {
    body.cl-modern :is(.form-control,input,select,textarea):focus,
    body.cl-modern :is(.location-directory-input,.searchfield):focus-within {
        outline:2px solid Highlight !important; outline-offset:0 !important; box-shadow:none !important;
    }
    body.cl-modern :is(.location-directory-input,.searchfield) input:focus { outline:none !important; }
}
