/* ═══ OFFICIAL LOGO + HEADER — logo fits inside header bar ═══ */

.tbs-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
	flex-shrink: 0;
	max-height: 100%;
}

.tbs-logo {
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
	display: block;
	background: transparent !important;
}

/* ── Header: logo must NOT exceed header height ── */
.tbs-header {
	--tbs-header-h: 72px;
	overflow: hidden;
}

.tbs-header__inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
	gap: 12px 16px !important;
	padding: 0 20px !important;
	height: var(--tbs-header-h) !important;
	min-height: var(--tbs-header-h) !important;
	max-height: var(--tbs-header-h) !important;
	max-width: 1360px !important;
	margin: 0 auto !important;
	overflow: hidden !important;
}

.tbs-header__logo {
	flex: 0 1 auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 100%;
	max-height: var(--tbs-header-h);
	max-width: min(300px, 34vw);
	min-width: 0;
	overflow: hidden;
}

.tbs-header__logo .tbs-logo-link {
	height: calc(var(--tbs-header-h) - 10px);
	max-height: calc(var(--tbs-header-h) - 10px);
	max-width: 100%;
	overflow: hidden;
}

.tbs-logo--header {
	height: 100% !important;
	max-height: 100% !important;
	width: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	object-position: left center !important;
	transform: none !important;
}

.tbs-nav {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	overflow: hidden;
}

.tbs-nav__list {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0 !important;
	white-space: nowrap;
}

.tbs-nav__list li {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.tbs-nav__list a {
	font-size: 11px !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 8px 10px !important;
	white-space: nowrap;
	line-height: 1.2;
}

.tbs-header__actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 12px;
	white-space: nowrap;
}

.tbs-header__actions .tbs-btn--sm {
	padding: 10px 18px !important;
	font-size: 11px !important;
	white-space: nowrap;
}

/* WP custom logo */
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	height: 100%;
	max-height: calc(var(--tbs-header-h) - 10px);
	line-height: 0;
	overflow: hidden;
}

.custom-logo,
.tbs-header__logo img.custom-logo {
	height: 100% !important;
	max-height: calc(var(--tbs-header-h) - 10px) !important;
	width: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	object-position: left center !important;
	transform: none !important;
	background: transparent !important;
}

/* Footer logo — transparent */
.tbs-footer__brand .tbs-logo-link {
	margin-bottom: 16px;
	background: transparent;
	padding: 0;
	border-radius: 0;
	display: inline-flex;
	box-shadow: none;
	height: auto;
}

.tbs-logo--footer {
	height: 88px;
	max-width: 280px;
}

.tbs-logo--hero {
	height: 110px;
	max-width: 380px;
	margin: 0 auto 24px;
}

/* Mobile nav logo */
.tbs-nav__logo-mobile {
	display: none;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--tbs-grey);
}

.tbs-logo--mobile {
	height: 56px;
	max-width: 220px;
}

/* Large desktops */
@media (min-width: 1280px) {
	.tbs-header {
		--tbs-header-h: 76px;
	}
	.tbs-header__logo {
		max-width: 320px;
	}
	.tbs-nav__list a {
		font-size: 12px !important;
		padding: 8px 12px !important;
	}
}

/* Tablet */
@media (max-width: 1100px) {
	.tbs-header {
		--tbs-header-h: 68px;
	}
	.tbs-header__logo {
		max-width: 240px;
	}
	.tbs-nav__list a {
		font-size: 10px !important;
		padding: 6px 7px !important;
	}
}

/* Mobile */
@media (max-width: 900px) {
	.tbs-header {
		--tbs-header-h: 64px;
	}
	.tbs-header__inner {
		padding: 0 16px !important;
	}
	.tbs-header__logo {
		max-width: min(200px, 52vw);
		flex: 0 1 auto;
	}
	.tbs-nav {
		display: none;
	}
	.tbs-nav.is-open {
		display: flex;
		position: fixed;
		top: 0;
		right: 0;
		width: min(300px, 88vw);
		height: 100vh;
		background: #fff;
		padding: 80px 24px 24px;
		box-shadow: -4px 0 20px rgba(0,0,0,.12);
		z-index: 9999;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		overflow-y: auto;
	}
	.tbs-nav.is-open .tbs-nav__list {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		align-items: stretch !important;
	}
	.tbs-nav.is-open .tbs-nav__list a {
		font-size: 13px !important;
		padding: 12px 8px !important;
	}
	.tbs-nav__logo-mobile {
		display: block;
	}
	.tbs-nav-toggle {
		display: flex !important;
	}
}

@media (max-width: 480px) {
	.tbs-header {
		--tbs-header-h: 60px;
	}
	.tbs-header__logo {
		max-width: min(170px, 55vw);
	}
}
