/**
 * Logo do site — tamanhos para banners horizontais (logos IA com margem preta)
 */
:root {
	--site-logo-height-nav: 3.75rem;
	--site-logo-max-width-nav: 24rem;
	--site-logo-height-sidebar: 3.25rem;
	--site-logo-max-width-sidebar: 17.5rem;
	--site-logo-height-compact: 3.25rem;
	--site-logo-max-width-compact: 20rem;
}

.site-brand-logo {
	display: block;
	height: var(--site-logo-h, var(--site-logo-height-nav));
	width: auto;
	max-width: var(--site-logo-w, var(--site-logo-max-width-nav));
	min-height: 2.75rem;
	min-width: 3rem;
	object-fit: contain;
	object-position: left center;
	flex-shrink: 0;
}

.site-brand-logo--nav {
	--site-logo-h: var(--site-logo-height-nav);
	--site-logo-w: var(--site-logo-max-width-nav);
}

.site-brand-logo--sidebar {
	--site-logo-h: var(--site-logo-height-sidebar);
	--site-logo-w: var(--site-logo-max-width-sidebar);
}

.site-brand-logo--header {
	--site-logo-h: var(--site-logo-height-compact);
	--site-logo-w: var(--site-logo-max-width-compact);
}

.site-brand-logo--footer {
	--site-logo-h: var(--site-logo-height-nav);
	--site-logo-w: var(--site-logo-max-width-nav);
	max-width: min(100%, var(--site-logo-max-width-nav));
}

.gsmbit-footer__brand-row .site-brand-logo--footer {
	display: block;
}

@media (min-width: 640px) {
	:root {
		--site-logo-height-nav: 4.25rem;
		--site-logo-max-width-nav: 28rem;
		--site-logo-height-sidebar: 3.5rem;
		--site-logo-max-width-sidebar: 20rem;
		--site-logo-height-compact: 3.5rem;
		--site-logo-max-width-compact: 22rem;
	}
}

@media (min-width: 1024px) {
	:root {
		--site-logo-height-nav: 4.5rem;
		--site-logo-max-width-nav: 32rem;
		--site-logo-height-sidebar: 3.75rem;
		--site-logo-max-width-sidebar: 22rem;
	}
}

/* gsmbit nav — logo ocupa a área da marca; texto duplicado some */
.gn-logo-block {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	flex: 0 1 auto;
	min-width: 0;
	max-width: min(52vw, 32rem);
	text-decoration: none;
}

.gn-logo-block:has(img.site-brand-logo:not([style*='display: none'])) .gn-logo-name {
	display: none !important;
}

.gn-logo-block .site-brand-logo {
	filter: drop-shadow(0 0 8px rgba(99, 102, 241, 0.35));
	transition: filter 0.3s ease;
	max-width: 100%;
	width: auto;
	height: var(--site-logo-height-nav);
}

.gn-logo-block:hover .site-brand-logo {
	filter: drop-shadow(0 0 14px rgba(99, 102, 241, 0.55));
}

.gn-logo-name {
	font-size: 0.9375rem;
	line-height: 1.2;
}

/* RHZ navbar */
.rhz-navbar-own .rhz-logo:has(img.site-brand-logo) .rhz-logo-text {
	display: none !important;
}

.rhz-navbar-own .rhz-logo .site-brand-logo {
	transition: filter 0.3s ease, transform 0.3s ease;
}

.rhz-navbar-own .rhz-logo:hover .site-brand-logo {
	filter: drop-shadow(0 0 10px rgba(0, 255, 120, 0.65));
	transform: scale(1.02);
}

/* User dashboard header — só a logo quando existir */
a:has(> img.site-brand-logo--header) > span {
	display: none !important;
}

.sidebar-tailadmin a:has(> img.site-brand-logo--sidebar) > span {
	display: none !important;
}

.site-brand-logo--banner {
	--site-logo-h: var(--site-logo-height-nav);
	height: var(--site-logo-height-nav) !important;
	max-width: min(92vw, 36rem) !important;
	width: auto !important;
}

@media (min-width: 1024px) {
	.site-brand-logo--banner {
		max-width: min(42vw, 40rem) !important;
	}
}
