/* CLINEVUP brand mark — never crop; always object-fit: contain */

.brand-mark--image,
.brand-mark--lockup {
    display: block;
    object-fit: contain;
    object-position: center;
    max-width: 100%;
    flex-shrink: 0;
}

/* Icon mark in chrome: size via max box, preserve aspect ratio */
.brand-mark--image {
    width: auto;
    height: auto;
    max-width: 40px;
    max-height: 40px;
}

/* Transparent chrome — no blue tile, no clipping mask */
.navbar__brand-icon,
.footer__brand-icon,
.admin-shell-brand__mark,
.sidebar .logo-box {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    clip-path: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

.navbar__brand-icon,
.footer__brand-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.navbar__brand-icon .brand-mark--image,
.footer__brand-icon .brand-mark--image {
    width: auto;
    height: auto;
    max-width: 40px;
    max-height: 40px;
}

.admin-shell-brand__mark {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.admin-shell-brand__mark .brand-mark--image,
.admin-shell .brand-mark--image,
.admin-shell-sidebar__mark.brand-mark--image {
    width: auto;
    height: auto;
    max-width: 40px;
    max-height: 40px;
}

/* Full lockup (auth, errors, splash) */
.brand-mark--lockup {
    width: auto;
    height: auto;
    max-width: min(240px, 72vw);
    max-height: 88px;
}
.brand-mark--lockup.brand-mark--lockup-sm {
    max-width: min(180px, 64vw);
    max-height: 64px;
}
.brand-mark--lockup.brand-mark--lockup-lg {
    max-width: min(300px, 82vw);
    max-height: 120px;
}

/* Doctor sidebar — roomy box, no crop */
.sidebar .logo-box {
    width: 52px;
    height: 52px;
    min-width: 52px;
    min-height: 52px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0;
}

.sidebar .logo-box img,
.logo-box .brand-mark--image,
.logo-box__brand-mark.brand-mark--image {
    width: auto !important;
    height: auto !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block;
}

.logo-box__fallback-icon {
    display: none;
}

/* Error pages */
.errors-brand-lockup {
    display: flex;
    justify-content: center;
    margin: 0 0 1.25rem;
    overflow: visible;
}
.errors-brand-lockup .brand-mark--lockup {
    max-height: 72px;
}

/* Auth */
.auth-card__brand,
.auth-aside-brand {
    display: flex;
    justify-content: flex-start;
    margin: 0 0 1rem;
    overflow: visible;
}
.auth-card__brand .brand-mark--lockup {
    max-height: 64px;
    max-width: 200px;
}
.auth-aside-brand {
    margin: 0 0 1.25rem;
}
.auth-aside-brand .brand-mark--lockup {
    max-height: 80px;
    max-width: 220px;
}

/* FRE */
.fre-brand__mark.brand-mark--image {
    width: auto;
    height: auto;
    max-width: 40px;
    max-height: 40px;
}

@media (max-width: 640px) {
    .navbar__brand-icon,
    .footer__brand-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
    }
    .navbar__brand-icon .brand-mark--image,
    .footer__brand-icon .brand-mark--image {
        max-width: 36px;
        max-height: 36px;
    }
}
