/* ImpromptuIndian brand logo — Asset 4 default, Asset 2 on hover */
.site-brand-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

.site-brand-logo__frame {
    position: relative;
    display: block;
    height: 2.5rem;
    width: min(28rem, 75vw);
}

.site-brand-logo__img {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: auto;
    max-width: none;
    object-fit: contain;
    object-position: left center;
    transform: scaleX(1.22);
    transform-origin: left center;
    transition: opacity 0.25s ease;
}

.site-brand-logo__img--hover {
    opacity: 0;
}

.site-brand-logo:hover .site-brand-logo__img--default,
.site-brand-logo:focus-visible .site-brand-logo__img--default {
    opacity: 0;
}

.site-brand-logo:hover .site-brand-logo__img--hover,
.site-brand-logo:focus-visible .site-brand-logo__img--hover {
    opacity: 1;
}

@media (max-width: 640px) {
    .site-brand-logo__frame {
        height: 2rem;
        width: min(21rem, 84vw);
    }
}

/* Centered auth / standalone pages */
.site-brand-logo--auth {
    display: flex;
    justify-content: center;
    width: 100%;
}

.site-brand-logo--auth .site-brand-logo__frame {
    height: 3rem;
    width: min(30rem, 94vw);
    margin-left: auto;
    margin-right: auto;
}

.site-brand-logo--auth .site-brand-logo__img {
    left: 50%;
    transform: translateX(-50%) scaleX(1.22);
    transform-origin: center center;
    object-position: center center;
}

/* Footer brand mark */
.site-brand-logo--footer .site-brand-logo__frame {
    height: 2.25rem;
    width: min(22rem, 100%);
}

.site-brand-logo--footer .site-brand-logo__img {
    transform: scaleX(1.18);
    transform-origin: left center;
}

@media (max-width: 640px) {
    .site-brand-logo--auth .site-brand-logo__frame {
        height: 2.5rem;
        width: min(24rem, 94vw);
    }

    .site-brand-logo--footer .site-brand-logo__frame {
        height: 2rem;
        width: min(18rem, 100%);
    }
}

/* Sidebar brand mark — centered, larger */
.site-brand-logo--sidebar {
    display: flex;
    justify-content: center;
    width: 100%;
}

.site-brand-logo--sidebar .site-brand-logo__frame {
    height: 3.25rem;
    width: min(14rem, 100%);
    margin-left: auto;
    margin-right: auto;
}

.site-brand-logo--sidebar .site-brand-logo__img {
    left: 50%;
    transform: translateX(-50%) scaleX(1.18);
    transform-origin: center center;
    object-position: center center;
}

@media (max-width: 640px) {
    .site-brand-logo--sidebar .site-brand-logo__frame {
        height: 2.75rem;
        width: min(12.5rem, 100%);
    }
}
