/**
 * Square logo frames site-wide: equal width/height, object-fit contain.
 * Works for square or rectangular source images without stretching.
 */
.hms-logo-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.hms-logo-square--xs {
    width: 40px;
    height: 40px;
}

.hms-logo-square--sm {
    width: 45px;
    height: 45px;
}

.hms-logo-square--md {
    width: 80px;
    height: 80px;
}

.hms-logo-square--lg {
    width: 120px;
    height: 120px;
}

.hms-logo-square--xl {
    width: 100px;
    height: 100px;
}

.hms-logo-square--xxl {
    width: 140px;
    height: 140px;
}

.hms-logo-square img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    display: block;
}

/* Login / register (no border, transparent bg option) */
.hms-logo-square--login {
    background: transparent;
    border: none;
    border-radius: 12px;
}

/* Public website (application/views/index.php) — same square frame as admin uploads */
.hms-logo-square--site-header {
    width: 48px;
    height: 48px;
}
@media (min-width: 992px) {
    .hms-logo-square--site-header {
        width: 56px;
        height: 56px;
    }
}

.hms-logo-square--site-footer {
    width: 120px;
    height: 120px;
    max-width: 100%;
}

/* Admin sidebar: logo uses inner square frame (see .sidebar-brand-hms in premium-override.css) */
.hms-logo-square--sidebar {
    width: 72px;
    height: 72px;
}
