/* CAMPUSSTAY ICON-ONLY BRAND V2 */

.cs-site-logo {
    display: block !important;
    width: 52px !important;
    height: 52px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    flex-shrink: 0;
}

/* Old icon background removed */
.public-brand-icon:has(.cs-site-logo),
.student-brand-icon:has(.cs-site-logo),
.admin-brand-icon:has(.cs-site-logo) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Icon-only brand, no adjacent wordmark */
.navbar-brand:has(.cs-site-logo),
.student-brand:has(.cs-site-logo),
.admin-brand a:has(.cs-site-logo),
.public-footer-brand:has(.cs-site-logo) {
    font-size: 0 !important;
    letter-spacing: 0 !important;
    gap: 0 !important;
}

/* Hide text elements next to logo */
.navbar-brand:has(.cs-site-logo)
> :not(.public-brand-icon):not(.student-brand-icon):not(.admin-brand-icon),

.student-brand:has(.cs-site-logo)
> :not(.public-brand-icon):not(.student-brand-icon):not(.admin-brand-icon),

.admin-brand a:has(.cs-site-logo)
> :not(.public-brand-icon):not(.student-brand-icon):not(.admin-brand-icon),

.public-footer-brand:has(.cs-site-logo)
> :not(.public-brand-icon):not(.student-brand-icon):not(.admin-brand-icon) {
    display: none !important;
}

/* White backing on dark backgrounds */
.admin-brand-icon:has(.cs-site-logo),
.public-footer .public-brand-icon:has(.cs-site-logo) {
    background: #ffffff !important;
    border-radius: 13px;
    padding: 4px !important;
}

/* Gentle logo interaction */
.cs-site-logo {
    transition: transform .25s ease;
}

@media (hover: hover) and (pointer: fine) {
    a:hover .cs-site-logo {
        transform: scale(1.045);
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .cs-site-logo {
        width: 46px !important;
        height: 46px !important;
    }

    .public-brand-icon:has(.cs-site-logo),
    .student-brand-icon:has(.cs-site-logo),
    .admin-brand-icon:has(.cs-site-logo) {
        width: 48px !important;
        height: 48px !important;
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .cs-site-logo {
        transition: none !important;
    }

    a:hover .cs-site-logo {
        transform: none !important;
    }
}