/**
 * WordPress integration overrides for mock layout pages.
 * Fixes header transparency over hero and removes main padding gap.
 */

/* Hero pages: content starts at top; fixed nav overlays the hero */
body.braindoos-hero-header .site-main,
body.braindoos-hero-header #top {
	width: 100%;
	max-width: none;
	margin: 0;
	padding-top: 0;
	padding-left: 0;
	padding-right: 0;
}

body.braindoos-hero-header .site-main > section {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* Transparent header over dark hero (scroll top) */
.site-header.nav.header--hero:not(.scrolled) {
	background: transparent !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	box-shadow: none !important;
}

.site-header.nav.header--hero:not(.scrolled) .brand__name,
.site-header.nav.header--hero:not(.scrolled) .brand-accent {
	color: #fff !important;
}

.site-header.nav.header--hero:not(.scrolled) .nav__link,
.site-header.nav.header--hero:not(.scrolled) .nav__signin,
.site-header.nav.header--hero:not(.scrolled) .nav__trigger {
	color: rgba(255, 255, 255, 0.82) !important;
}

.site-header.nav.header--hero:not(.scrolled) .nav__link:hover,
.site-header.nav.header--hero:not(.scrolled) .nav__trigger:hover,
.site-header.nav.header--hero:not(.scrolled) .nav__item.is-open .nav__trigger {
	color: #fff !important;
	background: rgba(255, 255, 255, 0.08);
}

/* Case Studies link — text color only on hover (never the nav__link pill) */
.site-header.nav .header-actions.nav__cta .nav__signin,
.site-header.nav .header-actions.nav__cta .nav__signin:hover,
.site-header.nav .header-actions.nav__cta .nav__signin:focus-visible {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.site-header.nav.header--hero:not(.scrolled) .header-actions.nav__cta .nav__signin:hover,
.site-header.nav.header--hero:not(.scrolled) .header-actions.nav__cta .nav__signin:focus-visible {
	color: #22d3ee !important;
}

.site-header.nav.header--hero:not(.scrolled) .nav__link--active,
.site-header.nav.header--hero:not(.scrolled) .nav__trigger--active {
	color: #fff !important;
}

.site-header.nav.header--hero:not(.scrolled) .nav__burger span,
.site-header.nav.header--hero:not(.scrolled) .menu-toggle-bar {
	background: rgba(255, 255, 255, 0.9) !important;
}

/* Scrolled hero header: light bar + dark text (mock .nav.scrolled) */
.site-header.nav.header--hero.scrolled {
	background: rgba(255, 255, 255, 0.82) !important;
	backdrop-filter: saturate(180%) blur(18px) !important;
	-webkit-backdrop-filter: saturate(180%) blur(18px) !important;
	border-bottom: 1px solid var(--line) !important;
	box-shadow: 0 4px 24px rgba(10, 19, 48, 0.05) !important;
}

.site-header.nav.header--hero.scrolled .brand__name,
.site-header.nav.header--hero.scrolled .brand-accent {
	color: var(--ink) !important;
}

.site-header.nav.header--hero.scrolled .nav__link,
.site-header.nav.header--hero.scrolled .nav__signin,
.site-header.nav.header--hero.scrolled .nav__trigger {
	color: var(--ink-700) !important;
}

.site-header.nav.header--hero.scrolled .nav__link:hover,
.site-header.nav.header--hero.scrolled .nav__trigger:hover,
.site-header.nav.header--hero.scrolled .nav__item.is-open .nav__trigger {
	color: var(--primary) !important;
	background: var(--panel);
}

.site-header.nav.header--hero.scrolled .header-actions.nav__cta .nav__signin:hover,
.site-header.nav.header--hero.scrolled .header-actions.nav__cta .nav__signin:focus-visible {
	color: var(--primary) !important;
}

.site-header.nav.header--hero.scrolled .nav__link--active,
.site-header.nav.header--hero.scrolled .nav__trigger--active {
	color: var(--primary) !important;
}

.site-header.nav.header--hero.scrolled .nav__burger span,
.site-header.nav.header--hero.scrolled .menu-toggle-bar {
	background: var(--ink) !important;
}

/* Non-hero pages: always use the light header bar */
.site-header.nav:not(.header--hero) {
	background: rgba(255, 255, 255, 0.92) !important;
	backdrop-filter: saturate(180%) blur(18px) !important;
	-webkit-backdrop-filter: saturate(180%) blur(18px) !important;
	border-bottom: 1px solid var(--line) !important;
	box-shadow: 0 4px 24px rgba(10, 19, 48, 0.05) !important;
}

.site-header.nav:not(.header--hero) .brand__name,
.site-header.nav:not(.header--hero) .brand-accent {
	color: var(--ink) !important;
}

.site-header.nav:not(.header--hero) .nav__link,
.site-header.nav:not(.header--hero) .nav__signin,
.site-header.nav:not(.header--hero) .nav__trigger {
	color: var(--ink-700) !important;
}

.site-header.nav:not(.header--hero) .nav__link--active,
.site-header.nav:not(.header--hero) .nav__trigger--active {
	color: var(--primary) !important;
}

.site-header.nav:not(.header--hero) .header-actions.nav__cta .nav__signin:hover,
.site-header.nav:not(.header--hero) .header-actions.nav__cta .nav__signin:focus-visible {
	color: var(--primary) !important;
}

.site-header.nav:not(.header--hero) .nav__burger span,
.site-header.nav:not(.header--hero) .menu-toggle-bar {
	background: var(--ink) !important;
}

/* ---- Dual logo swap (light over dark hero, dark on light header) ---- */
.site-header.nav .brand__logo {
	height: 34px;
	width: auto;
	max-width: 100%;
}

/* Default state = transparent header over dark hero: show the dark-bg (white) logo */
.site-header.nav .brand__logo--on-light {
	display: none !important;
}
.site-header.nav .brand__logo--on-dark {
	display: block !important;
}

/* Scrolled hero header = white bar: show the light-bg (navy) logo */
.site-header.nav.header--hero.scrolled .brand__logo--on-dark {
	display: none !important;
}
.site-header.nav.header--hero.scrolled .brand__logo--on-light {
	display: block !important;
}

/* Non-hero pages = always white bar: show the light-bg (navy) logo */
.site-header.nav:not(.header--hero) .brand__logo--on-dark {
	display: none !important;
}
.site-header.nav:not(.header--hero) .brand__logo--on-light {
	display: block !important;
}

/* Mock buttons: override legacy theme .btn rules from main.css */
.site-main .btn,
.site-header.nav .btn {
	border-width: 1px;
	font-weight: 700;
	line-height: 1.2;
	justify-content: flex-start;
	text-decoration: none;
}

.site-main .btn--primary:hover,
.site-main .btn--primary:focus-visible,
.site-header.nav .btn--primary:hover,
.site-header.nav .btn--primary:focus-visible {
	background: var(--primary-600);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(11, 42, 107, 0.34);
}

/* Nav layout helpers */
.site-header.nav {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--nav-h);
	height: var(--nav-h);
	z-index: 1000;
}

.site-header.nav .wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	max-width: 1340px;
}

.site-header.nav .main-navigation.nav__links {
	display: flex;
	align-items: center;
	gap: 0;
	flex: 0 0 auto;
}

.site-header.nav .header-actions.nav__cta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 0 auto;
}

.site-header.nav .nav__burger {
	display: none;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 8px;
	border-radius: 8px;
	flex-shrink: 0;
}

.site-header.nav .nav__burger span,
.site-header.nav .menu-toggle-bar {
	display: block;
	width: 24px;
	height: 2px;
	min-height: 2px;
	flex-shrink: 0;
	border-radius: 2px;
	margin: 0;
	transition: background 0.2s ease;
}

/* Default bar color — visible on light header surfaces */
.site-header.nav .nav__burger span,
.site-header.nav .menu-toggle-bar {
	background: var(--ink);
}

@media (max-width: 920px) {
	.site-header.nav .main-navigation.nav__links,
	.site-header.nav .header-actions.nav__cta {
		display: none;
	}

	.site-header.nav .nav__burger {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 5px;
		width: 46px;
		height: 46px;
		padding: 0 11px;
	}
}

body.admin-bar .site-header.nav {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .site-header.nav {
		top: 46px;
	}
}
