/*
Theme Name: BnB Theme
Theme URI: https://wordpress.org/
Description: A block theme with header and footer, a flexible main content area for the block editor, and responsive layout tokens in theme.json.
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bnb-theme
Tags: full-site-editing, block-patterns, block-styles, custom-colors, custom-menu, custom-logo, editor-style, featured-images, wide-blocks, translation-ready
*/

/*
 * Global defaults that complement theme.json (fluid type and spacing live in theme.json).
 */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/*
 * Smooth scrolling: CSS fallback for #anchors when Lenis is off; Lenis adds .lenis on <html>.
 */
@media (prefers-reduced-motion: no-preference) {
	html:not(.lenis) {
		scroll-behavior: smooth;
	}

	html.lenis {
		height: auto;
		scroll-behavior: auto !important;
	}
}

/*
 * Typography — Poppins everywhere (font CSS enqueued in functions.php; theme.json preset + elements).
 */
body {
	font-family: "Poppins", sans-serif !important;
	overflow-x: hidden;
}

.wp-site-blocks,
.wp-site-blocks * {
	font-family: "Poppins", sans-serif !important;
}

/* Block/post editor canvas (prefixed with .editor-styles-wrapper when loaded via add_editor_style). */
.block-editor-block-list__layout.is-root-container,
.block-editor-block-list__layout.is-root-container * {
	font-family: "Poppins", sans-serif !important;
}

img,
video,
svg {
	max-width: 100%;
	height: auto;
}

/* Improve text wrapping on narrow screens */
:where(.wp-site-blocks) p,
:where(.wp-site-blocks) li {
	overflow-wrap: anywhere;
}

/*
 * Tablet / small laptop (782px–1199px): keep wide blocks centered and full-width within the content area.
 * Prevents alignwide columns and constrained groups from sitting on one side with empty space opposite.
 */
@media (min-width: 782px) and (max-width: 1199px) {
	.wp-site-blocks .alignwide:not(.alignfull),
	.editor-styles-wrapper .alignwide:not(.alignfull) {
		width: 100% !important;
		max-width: min(100%, var(--wp--style--global--wide-size, 1280px)) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box;
	}

	.wp-site-blocks .wp-block-group.is-layout-constrained,
	.editor-styles-wrapper .wp-block-group.is-layout-constrained {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/*
 * Navigation — generic submenu panel (desktop flyouts, non–header nav only).
 * Header uses `.bnb-site-header__nav` rules below.
 */
@media (min-width: 782px) {
	.wp-site-blocks .wp-block-navigation:not(.bnb-site-header__nav) .wp-block-navigation__submenu-container,
	.editor-styles-wrapper .wp-block-navigation:not(.bnb-site-header__nav) .wp-block-navigation__submenu-container {
		background-color: var(--wp--preset--color--base);
		border-radius: 0.375rem;
		border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
		box-shadow:
			0 4px 12px color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent),
			0 1px 2px color-mix(in srgb, var(--wp--preset--color--contrast) 6%, transparent);
		color: var(--wp--preset--color--contrast);
	}
}

/*
 * Site header navigation — submenu panel (all viewports): 300px cap, padding, item hover/active.
 * Desktop-only: JS flip helpers. Mobile: no Core left:-1px — align to right edge of parent to avoid viewport overflow.
 */
.wp-site-blocks .bnb-site-header__nav.wp-block-navigation,
.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation {
	--bnb-nav-submenu-width: 300px;
}

.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation-item,
.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation-item {
	padding: 10px;
	box-sizing: border-box;
}

.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .has-child .wp-block-navigation__submenu-container,
.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	z-index: 3;
	padding: 5px;
	background-color: var(--wp--preset--color--base);
	border-radius: 0.375rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
	box-shadow:
		0 4px 12px color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent),
		0 1px 2px color-mix(in srgb, var(--wp--preset--color--contrast) 6%, transparent);
	color: var(--wp--preset--color--contrast);
	box-sizing: border-box;
}

/* Fixed width when open; never wider than viewport (desktop: header-nav-submenu.js can flip). */
.wp-site-blocks
	.bnb-site-header__nav.wp-block-navigation
	.has-child
	.wp-block-navigation-submenu__toggle[aria-expanded="true"]
	~ .wp-block-navigation__submenu-container,
.wp-site-blocks
	.bnb-site-header__nav.wp-block-navigation
	.has-child:not(.open-on-click):hover
	> .wp-block-navigation__submenu-container,
.wp-site-blocks
	.bnb-site-header__nav.wp-block-navigation
	.has-child:not(.open-on-click):not(.open-on-hover-click):focus-within
	> .wp-block-navigation__submenu-container,
.editor-styles-wrapper
	.bnb-site-header__nav.wp-block-navigation
	.has-child
	.wp-block-navigation-submenu__toggle[aria-expanded="true"]
	~ .wp-block-navigation__submenu-container,
.editor-styles-wrapper
	.bnb-site-header__nav.wp-block-navigation
	.has-child:not(.open-on-click):hover
	> .wp-block-navigation__submenu-container,
.editor-styles-wrapper
	.bnb-site-header__nav.wp-block-navigation
	.has-child:not(.open-on-click):not(.open-on-hover-click):focus-within
	> .wp-block-navigation__submenu-container {
	width: min(var(--bnb-nav-submenu-width), calc(100vw - 24px)) !important;
	min-width: min(var(--bnb-nav-submenu-width), calc(100vw - 24px)) !important;
	max-width: min(var(--bnb-nav-submenu-width), calc(100vw - 24px)) !important;
}

.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px !important;
	margin: 0 !important;
	border-radius: 0.25rem;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.wp-site-blocks
	.bnb-site-header__nav.wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item
	.wp-block-navigation-item__content:hover,
.wp-site-blocks
	.bnb-site-header__nav.wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item
	.wp-block-navigation-item__content:focus-visible,
.editor-styles-wrapper
	.bnb-site-header__nav.wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item
	.wp-block-navigation-item__content:hover,
.editor-styles-wrapper
	.bnb-site-header__nav.wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item
	.wp-block-navigation-item__content:focus-visible {
	background-color: rgba(26, 26, 26, 0.055);
	color: var(--wp--preset--color--contrast, #1a1a1a) !important;
}

.wp-site-blocks
	.bnb-site-header__nav.wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item
	.wp-block-navigation-item__content:active,
.editor-styles-wrapper
	.bnb-site-header__nav.wp-block-navigation
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item
	.wp-block-navigation-item__content:active {
	background-color: rgba(26, 26, 26, 0.09);
	color: var(--wp--preset--color--contrast, #1a1a1a) !important;
}

/* Mobile: override Core left:-1px; anchor to parent’s right so the panel stays in the viewport. */
@media (max-width: 781px) {
	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__submenu-container,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__submenu-container {
		left: auto !important;
		right: 0 !important;
	}
}

@media (min-width: 782px) {
	/* JS: keep flyout inside viewport horizontally / vertically (desktop). */
	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .has-child.bnb-nav-submenu--flip-x > .wp-block-navigation__submenu-container,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .has-child.bnb-nav-submenu--flip-x > .wp-block-navigation__submenu-container {
		left: auto !important;
		right: -1px;
	}

	.wp-site-blocks
		.bnb-site-header__nav.wp-block-navigation
		.wp-block-navigation__submenu-container
		.has-child.bnb-nav-submenu--flip-x
		> .wp-block-navigation__submenu-container,
	.editor-styles-wrapper
		.bnb-site-header__nav.wp-block-navigation
		.wp-block-navigation__submenu-container
		.has-child.bnb-nav-submenu--flip-x
		> .wp-block-navigation__submenu-container {
		left: auto !important;
		right: 100%;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .has-child.bnb-nav-submenu--flip-y > .wp-block-navigation__submenu-container,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .has-child.bnb-nav-submenu--flip-y > .wp-block-navigation__submenu-container {
		top: auto !important;
		bottom: 100%;
	}

	.wp-site-blocks
		.bnb-site-header__nav.wp-block-navigation
		.wp-block-navigation__submenu-container
		.has-child.bnb-nav-submenu--flip-y
		> .wp-block-navigation__submenu-container,
	.editor-styles-wrapper
		.bnb-site-header__nav.wp-block-navigation
		.wp-block-navigation__submenu-container
		.has-child.bnb-nav-submenu--flip-y
		> .wp-block-navigation__submenu-container {
		top: auto !important;
		bottom: 100%;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .has-child .wp-block-navigation__submenu-container,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
		transition:
			opacity 0.2s ease,
			transform 0.2s ease;
		transform: translateY(-0.4rem);
		transform-origin: top center;
	}

	.wp-site-blocks
		.bnb-site-header__nav.wp-block-navigation
		.has-child
		.wp-block-navigation__submenu-container
		.wp-block-navigation__submenu-container,
	.editor-styles-wrapper
		.bnb-site-header__nav.wp-block-navigation
		.has-child
		.wp-block-navigation__submenu-container
		.wp-block-navigation__submenu-container {
		transform-origin: top left;
	}

	.wp-site-blocks
		.bnb-site-header__nav.wp-block-navigation
		.has-child
		.wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container,
	.wp-site-blocks
		.bnb-site-header__nav.wp-block-navigation
		.has-child:not(.open-on-click):hover
		> .wp-block-navigation__submenu-container,
	.wp-site-blocks
		.bnb-site-header__nav.wp-block-navigation
		.has-child:not(.open-on-click):not(.open-on-hover-click):focus-within
		> .wp-block-navigation__submenu-container,
	.editor-styles-wrapper
		.bnb-site-header__nav.wp-block-navigation
		.has-child
		.wp-block-navigation-submenu__toggle[aria-expanded="true"]
		~ .wp-block-navigation__submenu-container,
	.editor-styles-wrapper
		.bnb-site-header__nav.wp-block-navigation
		.has-child:not(.open-on-click):hover
		> .wp-block-navigation__submenu-container,
	.editor-styles-wrapper
		.bnb-site-header__nav.wp-block-navigation
		.has-child:not(.open-on-click):not(.open-on-hover-click):focus-within
		> .wp-block-navigation__submenu-container {
		transform: translateY(0);
	}
}

/*
 * Navigation — press-only feedback (no hover background): slight scale while pointer/touch is down.
 */
/*
 * Navigation — hover underline slide-in + press feedback.
 */
.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content,
.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content {
	position: relative;
	transition: color 0.25s ease, transform 0.1s ease;
}

.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content::after,
.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 2px;
	background-color: var(--wp--preset--color--accent, #ecc4c0);
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content:hover,
.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent, #ecc4c0) !important;
}

.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content:hover::after,
.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content:hover::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.wp-site-blocks .wp-block-navigation .wp-block-navigation-item__content:active,
.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item__content:active {
	transform: scale(0.96);
}

.wp-site-blocks .wp-block-navigation .wp-block-navigation-item__content:focus-visible,
.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item__content:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent, #ecc4c0);
	outline-offset: 2px;
}

/*
 * Header nav — active/current page indicator: accent color + persistent underline.
 */
.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content[aria-current="page"],
.wp-site-blocks .bnb-site-header__nav .current-menu-item > .wp-block-navigation-item__content,
.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content,
.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content[aria-current="page"],
.editor-styles-wrapper .bnb-site-header__nav .current-menu-item > .wp-block-navigation-item__content,
.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent, #ecc4c0) !important;
}

.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content[aria-current="page"]::after,
.wp-site-blocks .bnb-site-header__nav .current-menu-item > .wp-block-navigation-item__content::after,
.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content::after,
.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content[aria-current="page"]::after,
.editor-styles-wrapper .bnb-site-header__nav .current-menu-item > .wp-block-navigation-item__content::after,
.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left center;
}

/*
 * Header CTA button — hover: invert colors with scale lift.
 */
.wp-site-blocks .bnb-header__cta .wp-block-button__link,
.editor-styles-wrapper .bnb-header__cta .wp-block-button__link {
	transition: background-color 0.3s ease, color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}

.wp-site-blocks .bnb-header__cta .wp-block-button__link:hover,
.editor-styles-wrapper .bnb-header__cta .wp-block-button__link:hover {
	background-color: #292725 !important;
	color: var(--wp--preset--color--accent, #ecc4c0) !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.wp-site-blocks .bnb-header__cta .wp-block-button__link:active,
.editor-styles-wrapper .bnb-header__cta .wp-block-button__link:active {
	transform: translateY(0);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

@media (prefers-reduced-motion: reduce) {
	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content,
	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content::after,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content::after,
	.wp-site-blocks .bnb-header__cta .wp-block-button__link,
	.editor-styles-wrapper .bnb-header__cta .wp-block-button__link {
		transition: none;
	}

	.wp-site-blocks .wp-block-navigation .wp-block-navigation-item__content:active,
	.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item__content:active {
		transform: none;
	}
}

/*
 * Site header — inner constrained; desktop (≥1024px): 145px bar, logo 236×43, nav #292725 / 17px / 41px item gap, 25px nav–CTA, CTA pill.
 * Core adds padding to any .wp-block-group.has-background; strip it on the header bar only.
 */
.wp-site-blocks .wp-block-group.alignfull.bnb-site-header.has-background,
.wp-site-blocks .wp-block-group.alignfull.bnb-site-header.has-base-background-color,
.editor-styles-wrapper .wp-block-group.alignfull.bnb-site-header.has-background,
.editor-styles-wrapper .wp-block-group.alignfull.bnb-site-header.has-base-background-color {
	width: 100%;
	max-width: none;
	padding: 0 !important;
	padding-top: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
}

.wp-site-blocks .bnb-site-header__inner,
.editor-styles-wrapper .bnb-site-header__inner {
	width: 100%;
}

.wp-site-blocks .bnb-site-header__row,
.editor-styles-wrapper .bnb-site-header__row {
	width: 100%;
}

@media (min-width: 1024px) {
	.wp-site-blocks .bnb-site-header__inner,
	.editor-styles-wrapper .bnb-site-header__inner {
		min-height: 145px;
		height: 145px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.wp-site-blocks .bnb-site-header__row,
	.editor-styles-wrapper .bnb-site-header__row {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		column-gap: 0;
		width: 100%;
		min-height: 0;
		box-sizing: border-box;
	}

	.wp-site-blocks .bnb-site-header__right,
	.editor-styles-wrapper .bnb-site-header__right {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		gap: 25px;
		margin: 0 0 0 auto;
		flex-shrink: 0;
		min-width: 0;
		--wp--style--block-gap: 25px;
	}

	.wp-site-blocks .bnb-header__logo,
	.editor-styles-wrapper .bnb-header__logo {
		flex-shrink: 0;
		margin: 0;
		width: 236px !important;
		height: 43px !important;
		max-width: 236px !important;
		max-height: 43px !important;
		min-width: 236px !important;
		min-height: 43px !important;
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
	}

	.wp-site-blocks .bnb-header__logo img,
	.editor-styles-wrapper .bnb-header__logo img {
		width: 236px !important;
		height: 43px !important;
		max-width: 236px !important;
		max-height: 43px !important;
		min-width: 0 !important;
		min-height: 0 !important;
		object-fit: contain !important;
		object-position: left center !important;
		display: block !important;
	}

	.wp-site-blocks .bnb-site-header__nav-cluster,
	.editor-styles-wrapper .bnb-site-header__nav-cluster {
		flex: 0 1 auto;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		min-width: 0;
		margin: 0;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation {
		--wp--style--block-gap: 41px;
		gap: 41px;
	}

	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item {
		margin: 0;
	}

	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content {
		color: #292725 !important;
		font-weight: 600;
		font-size: 17px;
		line-height: 1.2;
	}

	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation__submenu-icon,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation__submenu-icon {
		color: #292725;
	}

	.wp-site-blocks .bnb-site-header__actions,
	.editor-styles-wrapper .bnb-site-header__actions {
		flex-shrink: 0;
		margin: 0;
	}

	.wp-site-blocks .bnb-header__cta .wp-block-button__link,
	.editor-styles-wrapper .bnb-header__cta .wp-block-button__link {
		box-sizing: border-box;
		width: 168px;
		min-width: 168px;
		max-width: 168px;
		height: 50px;
		min-height: 50px;
		max-height: 50px;
		padding: 0 1.5rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 9999px;
		font-size: 16px;
		font-weight: 600;
		line-height: 1.2;
		color: #292725 !important;
		background-color: var(--wp--preset--color--accent, #ecc4c0) !important;
		border: none;
		text-decoration: none;
	}
}

@media (max-width: 1023px) {
	.wp-site-blocks .bnb-site-header__row,
	.editor-styles-wrapper .bnb-site-header__row {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--40, 0.75rem);
		padding-top: var(--wp--preset--spacing--50, 1rem);
		padding-bottom: var(--wp--preset--spacing--50, 1rem);
	}

	.wp-site-blocks .bnb-site-header__right,
	.editor-styles-wrapper .bnb-site-header__right {
		margin-left: 0;
		width: 100%;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: var(--wp--preset--spacing--40, 0.75rem);
	}

	.wp-site-blocks .bnb-header__logo img,
	.editor-styles-wrapper .bnb-header__logo img {
		width: auto !important;
		max-width: min(236px, 85vw);
		height: auto !important;
		max-height: 43px;
		object-fit: contain;
	}
}

/*
 * Site header — narrow phones (≤500px): fixed bar (logo + hamburger), full-screen panel (#bnb-mobile-menu-panel) with circle reveal, base/contrast colors.
 */
.wp-site-blocks .bnb-site-header__menu-toggle,
.editor-styles-wrapper .bnb-site-header__menu-toggle {
	display: none;
}

@media (max-width: 500px) {
	body.bnb-mobile-menu-open {
		overflow: hidden;
	}

	/* Offset page content for fixed header bar (class set by header-mobile-menu.js; avoids relying on :has() only). */
	body.bnb-mobile-header-offset {
		padding-top: var(--bnb-mobile-header-bar-height, 4.5rem);
	}

	.wp-site-blocks .wp-block-group.alignfull.bnb-site-header,
	.editor-styles-wrapper .wp-block-group.alignfull.bnb-site-header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 100000;
		width: 100%;
		max-width: none;
		margin: 0;
		--bnb-mobile-header-bar-height: 4.5rem;
	}

	body.admin-bar .wp-site-blocks .wp-block-group.alignfull.bnb-site-header,
	body.admin-bar .editor-styles-wrapper .wp-block-group.alignfull.bnb-site-header {
		top: 46px;
	}

	.wp-site-blocks .bnb-site-header.is-menu-open,
	.editor-styles-wrapper .bnb-site-header.is-menu-open {
		background: transparent !important;
	}

	.wp-site-blocks .bnb-site-header__inner,
	.editor-styles-wrapper .bnb-site-header__inner {
		min-height: 0;
		height: auto;
	}

	.wp-site-blocks .bnb-site-header__row,
	.editor-styles-wrapper .bnb-site-header__row {
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
		padding-left: 0;
		padding-right: 0;
		min-height: var(--bnb-mobile-header-bar-height, 4.5rem);
		box-sizing: border-box;
		position: relative;
		z-index: 100002;
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle {
		pointer-events: auto;
	}

	/* wp:html wraps the toggle — display:contents breaks hit-testing in some browsers */
	.wp-site-blocks .bnb-site-header__row > .wp-block-html,
	.editor-styles-wrapper .bnb-site-header__row > .wp-block-html {
		display: flex;
		align-items: center;
		flex-shrink: 0;
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-header__logo,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-header__logo {
		visibility: hidden;
		pointer-events: none;
	}

	.wp-site-blocks .bnb-site-header__menu-toggle,
	.editor-styles-wrapper .bnb-site-header__menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 2.75rem;
		height: 2.75rem;
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 4px;
		background: transparent;
		cursor: pointer;
		color: var(--wp--preset--color--contrast, #1a1a1a);
	}

	.wp-site-blocks .bnb-site-header__menu-toggle:focus-visible,
	.editor-styles-wrapper .bnb-site-header__menu-toggle:focus-visible {
		outline: 2px solid var(--wp--preset--color--contrast, #1a1a1a);
		outline-offset: 2px;
	}

	.wp-site-blocks .bnb-site-header__menu-toggle-icon,
	.editor-styles-wrapper .bnb-site-header__menu-toggle-icon {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 1.5rem;
		height: 1.125rem;
	}

	.wp-site-blocks .bnb-site-header__menu-toggle-bar,
	.editor-styles-wrapper .bnb-site-header__menu-toggle-bar {
		display: block;
		height: 3px;
		border-radius: 1px;
		background: currentColor;
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-bar,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-bar {
		display: none;
	}

	/* Close (X) when open — button moves over overlay */
	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle {
		position: fixed;
		top: max(0.75rem, env(safe-area-inset-top, 0px));
		right: 0;
		z-index: 100105;
		color: var(--wp--preset--color--contrast, #1a1a1a);
	}

	body.admin-bar .wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle,
	body.admin-bar .editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle {
		top: calc(46px + 0.75rem);
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon {
		position: relative;
		width: 1.5rem;
		height: 1.5rem;
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon::before,
	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon::after,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon::before,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 1.5rem;
		height: 3px;
		border-radius: 1px;
		background: currentColor;
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon::before,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon::after,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon span,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__menu-toggle-icon span {
		display: none;
	}

	/*
	 * Full-screen overlay (#bnb-mobile-menu-panel): theme base background, contrast text, circle reveal from top-right.
	 */
	.wp-site-blocks .bnb-site-header__right,
	.editor-styles-wrapper .bnb-site-header__right {
		--bnb-mobile-menu-clip-x: calc(100% - 1.375rem);
		--bnb-mobile-menu-clip-y: calc(var(--bnb-mobile-header-bar-height, 4.5rem) / 2);

		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: flex-start;
		gap: 1.5rem;
		position: fixed;
		inset: 0;
		z-index: 100104;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: calc(var(--bnb-mobile-header-bar-height, 4.5rem) + 1.25rem) clamp(1.25rem, 5vw, 2rem) 2rem;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background-color: var(--wp--preset--color--base, #ffffff);
		color: var(--wp--preset--color--contrast, #1a1a1a);
		opacity: 0;
		pointer-events: none;
		clip-path: circle(0% at var(--bnb-mobile-menu-clip-x) var(--bnb-mobile-menu-clip-y));
		transition:
			clip-path 0.45s cubic-bezier(0.4, 0, 0.2, 1),
			opacity 0.3s ease;
	}

	.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__right,
	.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__right {
		opacity: 1;
		pointer-events: auto;
		clip-path: circle(160% at var(--bnb-mobile-menu-clip-x) var(--bnb-mobile-menu-clip-y));
	}

	@media (prefers-reduced-motion: reduce) {
		.wp-site-blocks .bnb-site-header__right,
		.editor-styles-wrapper .bnb-site-header__right {
			transition: opacity 0.15s ease;
			clip-path: none;
		}

		.wp-site-blocks .bnb-site-header:not(.is-menu-open) .bnb-site-header__right,
		.editor-styles-wrapper .bnb-site-header:not(.is-menu-open) .bnb-site-header__right {
			opacity: 0;
			pointer-events: none;
		}

		.wp-site-blocks .bnb-site-header.is-menu-open .bnb-site-header__right,
		.editor-styles-wrapper .bnb-site-header.is-menu-open .bnb-site-header__right {
			opacity: 1;
			pointer-events: auto;
		}
	}

	.wp-site-blocks .bnb-site-header__nav-cluster,
	.editor-styles-wrapper .bnb-site-header__nav-cluster {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation {
		width: 100%;
		max-width: 100%;
		justify-content: flex-start;
		--wp--style--block-gap: 0;
		gap: 0;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__responsive-container,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__responsive-container {
		width: 100%;
		display: block !important;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__responsive-container-open,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__responsive-container-open {
		display: block !important;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__responsive-container-content,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__responsive-container-content {
		display: block !important;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__container,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation__container {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100%;
		max-width: 100%;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation-item,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation-item {
		width: 100%;
		max-width: 100%;
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.wp-site-blocks .bnb-site-header__right a,
	.editor-styles-wrapper .bnb-site-header__right a {
		pointer-events: auto;
		cursor: pointer;
		touch-action: manipulation;
	}

	/*
	 * Parents with submenus: label only (no navigation). Submenu links stay clickable.
	 * Must follow the generic .bnb-site-header__right a rule so these overrides win.
	 */
	.wp-site-blocks .bnb-site-header__nav li.has-child > a.wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav li.has-child > a.wp-block-navigation-item__content,
	.wp-site-blocks .bnb-site-header__nav li.wp-block-navigation-submenu.has-child > a.wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav li.wp-block-navigation-submenu.has-child > a.wp-block-navigation-item__content,
	.wp-site-blocks .bnb-site-header__nav li.has-child > button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle),
	.editor-styles-wrapper .bnb-site-header__nav li.has-child > button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle),
	.wp-site-blocks .bnb-site-header__nav .wp-block-page-list > li.has-child > a,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-page-list > li.has-child > a,
	.wp-site-blocks .bnb-site-header__nav .wp-block-page-list > li.has-child > button:not(.wp-block-navigation-submenu__toggle),
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-page-list > li.has-child > button:not(.wp-block-navigation-submenu__toggle) {
		pointer-events: none !important;
		cursor: default;
		text-decoration: none;
	}

	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation__submenu-container a,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation__submenu-container a,
	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation__submenu-container button.wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation__submenu-container button.wp-block-navigation-item__content {
		pointer-events: auto !important;
		cursor: pointer !important;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
		color: var(--wp--preset--color--contrast, #1a1a1a) !important;
		font-size: 1.125rem;
		font-weight: 500;
		padding: 0.65rem 0;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		text-decoration: none;
		border-bottom: 1px solid rgba(26, 26, 26, 0.1);
	}

	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-item__content::after,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-item__content::after {
		display: none !important;
	}

	/* Nested items: stack under parent, chevron on parents */
	.wp-site-blocks .bnb-site-header__nav .has-child > .wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav .has-child > .wp-block-navigation-item__content {
		padding-right: 0;
	}

	.wp-site-blocks .bnb-site-header__nav .has-child > .wp-block-navigation-item__content::after,
	.editor-styles-wrapper .bnb-site-header__nav .has-child > .wp-block-navigation-item__content::after {
		display: block !important;
		content: "›";
		font-size: 1.25rem;
		font-weight: 600;
		color: var(--wp--preset--color--accent, #ecc4c0);
		border: none;
		width: auto;
		height: auto;
		position: static;
		transform: none;
		background: none;
		margin: 0;
		flex-shrink: 0;
	}

	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation-submenu__toggle,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation-submenu__toggle {
		display: none !important;
	}

	.wp-site-blocks .bnb-site-header__nav .has-child .wp-block-navigation__submenu-container[hidden],
	.editor-styles-wrapper .bnb-site-header__nav .has-child .wp-block-navigation__submenu-container[hidden] {
		display: block !important;
	}

	.wp-site-blocks .bnb-site-header__nav .has-child .wp-block-navigation__submenu-container,
	.editor-styles-wrapper .bnb-site-header__nav .has-child .wp-block-navigation__submenu-container {
		position: static !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow: visible !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: none !important;
		padding: 0 0 0.5rem 1rem !important;
		margin: 0 !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		display: block !important;
	}

	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation__container,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation__container {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
		padding-top: 0.25rem;
	}

	.wp-site-blocks .bnb-site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.editor-styles-wrapper .bnb-site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: 1rem !important;
		font-weight: 400 !important;
		padding: 0.45rem 0 !important;
		border-bottom: none !important;
		color: var(--wp--preset--color--soft-gray, #4a4a4a) !important;
	}

	.wp-site-blocks .bnb-site-header__nav.wp-block-navigation .wp-block-page-list,
	.editor-styles-wrapper .bnb-site-header__nav.wp-block-navigation .wp-block-page-list {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
		width: 100%;
		max-width: 100%;
	}

	.wp-site-blocks .bnb-site-header__actions,
	.editor-styles-wrapper .bnb-site-header__actions {
		align-self: flex-start;
		margin-top: auto;
		padding-top: 0.5rem;
	}

	.wp-site-blocks .bnb-header__cta .wp-block-button__link,
	.editor-styles-wrapper .bnb-header__cta .wp-block-button__link {
		width: auto;
		min-width: 10rem;
		border-radius: 9999px;
	}
}

/* Site editor: keep desktop editing layout; mobile toggle is front-end only */
.editor-styles-wrapper .bnb-site-header__menu-toggle {
	display: none !important;
}

/*
 * Footer (parts/footer.html) — outer shell is layout-constrained; rose panel is its child so
 * front-end matches editor (Core applies content width to children of .is-layout-constrained).
 * Sections: .footer-brand-nav, .footer-contact, .footer-social, .footer-copyright
 */
.wp-site-blocks .bnb-site-footer-outer,
.editor-styles-wrapper .bnb-site-footer-outer {
	width: 100%;
}

/*
 * Rose panel: explicit cap for published view (template-part / root layout can ignore inner constraints).
 * Editor + front: child of .bnb-site-footer-outer.is-layout-constrained
 */
.wp-site-blocks .bnb-site-footer-outer.is-layout-constrained > .bnb-site-footer,
.editor-styles-wrapper .bnb-site-footer-outer.is-layout-constrained > .bnb-site-footer,
.wp-site-blocks footer.wp-block-template-part .bnb-site-footer-outer.is-layout-constrained > .bnb-site-footer {
	width: 100%;
	max-width: var(--wp--style--global--content-size, 1280px);
	margin-left: auto;
	margin-right: auto;
	border-top-left-radius: clamp(1.75rem, 5vw, 2.75rem);
	border-top-right-radius: clamp(1.75rem, 5vw, 2.75rem);
	box-sizing: border-box;
	padding-top: 42px !important;
	padding-right: 73px !important;
	padding-bottom: 32px !important;
	padding-left: 73px !important;
}

/* Row 1 — wordmark image + top-level nav only (50px gap; white 17px semibold; 38px between items) */
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item__content,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item__content {
	color: #ffffff !important;
	text-decoration: none;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
}

/*
 * Active footer nav item: no underline (beats .has-text-decoration-underline on nav).
 * Include: anchors and button parents (open-on-click submenu), current-menu-ancestor when a child page is active.
 */
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav.has-text-decoration-underline .wp-block-navigation-item__content[aria-current="page"],
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav.has-text-decoration-underline .current-menu-item > .wp-block-navigation-item__content,
footer .footer-brand-nav .footer-brand-nav__nav.has-text-decoration-underline .wp-block-navigation-item__content[aria-current="page"],
footer .footer-brand-nav .footer-brand-nav__nav.has-text-decoration-underline .current-menu-item > .wp-block-navigation-item__content,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav.has-text-decoration-underline .wp-block-navigation-item__content[aria-current="page"],
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav.has-text-decoration-underline .current-menu-item > .wp-block-navigation-item__content,
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item__content[aria-current="page"],
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .current-menu-item > .wp-block-navigation-item__content,
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content,
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .current-menu-ancestor:not(.current-menu-item) > .wp-block-navigation-item__content,
footer .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item__content[aria-current="page"],
footer .footer-brand-nav .footer-brand-nav__nav .current-menu-item > .wp-block-navigation-item__content,
footer .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content,
footer .footer-brand-nav .footer-brand-nav__nav .current-menu-ancestor:not(.current-menu-item) > .wp-block-navigation-item__content,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item__content[aria-current="page"],
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .current-menu-item > .wp-block-navigation-item__content,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .current-menu-ancestor:not(.current-menu-item) > .wp-block-navigation-item__content {
	text-decoration: none !important;
	position: relative;
	display: inline-block;
	overflow: visible;
}

.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item__content[aria-current="page"]::after,
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .current-menu-item > .wp-block-navigation-item__content::after,
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content::after,
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .current-menu-ancestor:not(.current-menu-item) > .wp-block-navigation-item__content::after,
footer .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item__content[aria-current="page"]::after,
footer .footer-brand-nav .footer-brand-nav__nav .current-menu-item > .wp-block-navigation-item__content::after,
footer .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content::after,
footer .footer-brand-nav .footer-brand-nav__nav .current-menu-ancestor:not(.current-menu-item) > .wp-block-navigation-item__content::after,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item__content[aria-current="page"]::after,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .current-menu-item > .wp-block-navigation-item__content::after,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item--current > .wp-block-navigation-item__content::after,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .current-menu-ancestor:not(.current-menu-item) > .wp-block-navigation-item__content::after {
	content: "" !important;
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 8px);
	margin: 0;
	height: 3px !important;
	background-color: currentColor !important;
	pointer-events: none;
	z-index: 2;
}

.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav.wp-block-navigation,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav.wp-block-navigation {
	--wp--style--block-gap: 38px;
	gap: 38px;
}

.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item {
	margin: 0;
}

/*
 * Footer nav: top-level (parent) links only — no submenu/dropdown in the footer.
 */
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation__submenu-container,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation__submenu-container {
	display: none !important;
}

.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation__submenu-icon,
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation__submenu-icon {
	display: none !important;
}

/*
 * Hide only the separate chevron control, not the combined open-on-click label
 * (button.wp-block-navigation-item__content.wp-block-navigation-submenu__toggle).
 */
.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item.has-child > button.wp-block-navigation-submenu__toggle:not(.wp-block-navigation-item__content),
.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item.has-child > button.wp-block-navigation-submenu__toggle:not(.wp-block-navigation-item__content) {
	display: none !important;
}

/* Mobile: brand row then nav; links stack vertically instead of a row/grid. */
@media (max-width: 782px) {
	.wp-site-blocks .footer-brand-nav,
	.editor-styles-wrapper .footer-brand-nav {
		flex-direction: column;
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 1.25rem;
	}

	.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav.wp-block-navigation,
	.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav.wp-block-navigation {
		width: 100%;
		max-width: 100%;
	}

	.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation__container,
	.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation__container {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 0.875rem !important;
		width: 100%;
	}

	.wp-site-blocks .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item,
	.editor-styles-wrapper .footer-brand-nav .footer-brand-nav__nav .wp-block-navigation-item {
		margin: 0 0 10px 0 !important;
	}
}

.wp-site-blocks .footer-brand-nav,
.editor-styles-wrapper .footer-brand-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 50px;
	margin: 0 0 25px 0 !important;
}

.wp-site-blocks .bnb-footer__brand-image,
.editor-styles-wrapper .bnb-footer__brand-image {
	flex-shrink: 0;
	margin: 0 !important;
	padding: 0 !important;
	width: 265px !important;
	height: 48px !important;
	max-width: 265px !important;
	max-height: 48px !important;
	min-width: 265px !important;
	min-height: 48px !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
}

.wp-site-blocks .bnb-footer__brand-image img,
.editor-styles-wrapper .bnb-footer__brand-image img {
	width: 265px !important;
	height: 48px !important;
	max-width: 265px !important;
	max-height: 48px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: left center !important;
	display: block !important;
}

/* Footer row 1 — tablet and below: no wordmark inset; narrower image slot */
@media (max-width: 1024px) {
	.wp-site-blocks .bnb-footer__brand-image,
	.editor-styles-wrapper .bnb-footer__brand-image {
		margin: 0 !important;
		width: 230px !important;
		height: 48px !important;
		max-width: 230px !important;
		max-height: 48px !important;
		min-width: 230px !important;
		min-height: 48px !important;
	}

	.wp-site-blocks .bnb-footer__brand-image img,
	.editor-styles-wrapper .bnb-footer__brand-image img {
		width: 230px !important;
		height: 48px !important;
		max-width: 230px !important;
		max-height: 48px !important;
	}
}

/* Row 2 — contact icons (uploadable) + text */
.wp-site-blocks .footer-contact .footer-contact__item::before,
.wp-site-blocks .footer-contact .footer-contact__item::after,
.editor-styles-wrapper .footer-contact .footer-contact__item::before,
.editor-styles-wrapper .footer-contact .footer-contact__item::after {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	background-image: none !important;
}

.wp-site-blocks .footer-contact,
.editor-styles-wrapper .footer-contact {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 45px;
	margin: 0 0 50px 0 !important;
}

.wp-site-blocks .footer-contact .footer-contact__item,
.editor-styles-wrapper .footer-contact .footer-contact__item {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	flex: 0 1 auto;
	min-width: 0;
	margin: 0;
}

.wp-site-blocks .footer-contact .bnb-footer__contact-icon,
.editor-styles-wrapper .footer-contact .bnb-footer__contact-icon {
	flex-shrink: 0;
	margin: 0;
	width: 30px !important;
	height: 30px !important;
	max-width: 30px !important;
	max-height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.wp-site-blocks .footer-contact .bnb-footer__contact-icon img,
.editor-styles-wrapper .footer-contact .bnb-footer__contact-icon img {
	width: 30px !important;
	height: 30px !important;
	max-width: 30px !important;
	max-height: 30px !important;
	object-fit: contain !important;
	display: block !important;
}

.wp-site-blocks .footer-contact p.footer-contact__item-text,
.editor-styles-wrapper .footer-contact p.footer-contact__item-text,
.wp-site-blocks .footer-contact .wp-block-paragraph.footer-contact__item-text,
.editor-styles-wrapper .footer-contact .wp-block-paragraph.footer-contact__item-text {
	margin: 0 !important;
	max-width: 200px;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #464646 !important;
}

/*
 * Footer contact: theme.json link color is accent (#ecc4c0), same family as pill-salmon footer bg.
 * Mobile Safari (and some browsers) wrap tel:/mailto: in links — those links used to pick up accent and disappear.
 * Plain text in DevTools mobile mode often stays unlinked, so the bug only showed on real devices.
 */
.wp-site-blocks .footer-contact a,
.editor-styles-wrapper .footer-contact a {
	color: #464646 !important;
	text-decoration: none;
}

@media (max-width: 500px) {
	.wp-site-blocks .bnb-site-footer-outer.is-layout-constrained > .bnb-site-footer,
	.editor-styles-wrapper .bnb-site-footer-outer.is-layout-constrained > .bnb-site-footer,
	.wp-site-blocks footer.wp-block-template-part .bnb-site-footer-outer.is-layout-constrained > .bnb-site-footer {
		padding-right: 40px !important;
		padding-left: 40px !important;
	}

	.wp-site-blocks .bnb-footer__brand-image,
	.editor-styles-wrapper .bnb-footer__brand-image {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
	}

	.wp-site-blocks .bnb-footer__brand-image img,
	.editor-styles-wrapper .bnb-footer__brand-image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
	}

	.wp-site-blocks .footer-contact,
	.editor-styles-wrapper .footer-contact {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: 20px;
	}
}

/* Row 3 — white rules + social icons */
.wp-site-blocks .footer-social,
.editor-styles-wrapper .footer-social {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--50, 1rem);
	width: 100%;
	margin: 0 0 35px 0 !important;
}

.wp-site-blocks .footer-social .footer-social__line,
.editor-styles-wrapper .footer-social .footer-social__line {
	flex: 1 1 0;
	min-width: 1rem;
	margin: 0;
	border: none;
	border-top: 1px solid var(--wp--preset--color--base, #fff);
	opacity: 1;
	background: transparent;
}

.wp-site-blocks .footer-social .footer-social__icons,
.editor-styles-wrapper .footer-social .footer-social__icons {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0;
	gap: var(--wp--preset--spacing--50, 1rem);
}

.wp-site-blocks .footer-social .bnb-footer__social-icon,
.editor-styles-wrapper .footer-social .bnb-footer__social-icon {
	flex-shrink: 0;
	margin: 0;
	width: 35px !important;
	height: 35px !important;
	max-width: 35px !important;
	max-height: 35px !important;
	min-width: 35px !important;
	min-height: 35px !important;
	box-sizing: border-box !important;
}

.wp-site-blocks .footer-social .bnb-footer__social-icon a,
.editor-styles-wrapper .footer-social .bnb-footer__social-icon a {
	display: block;
	line-height: 0;
	text-decoration: none;
	box-shadow: none;
}

.wp-site-blocks .footer-social .bnb-footer__social-icon a:focus-visible,
.editor-styles-wrapper .footer-social .bnb-footer__social-icon a:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent, #ecc4c0);
	outline-offset: 2px;
}

.wp-site-blocks .footer-social .bnb-footer__social-icon img,
.editor-styles-wrapper .footer-social .bnb-footer__social-icon img {
	width: 35px !important;
	height: 35px !important;
	max-width: 35px !important;
	max-height: 35px !important;
	object-fit: contain !important;
	display: block !important;
}

/* Row 4 — copyright */
.wp-site-blocks .footer-copyright,
.editor-styles-wrapper .footer-copyright {
	width: 100%;
	text-align: center;
}

.wp-site-blocks .footer-copyright p.footer-copyright__text,
.editor-styles-wrapper .footer-copyright p.footer-copyright__text,
.wp-site-blocks .footer-copyright .wp-block-paragraph.footer-copyright__text,
.editor-styles-wrapper .footer-copyright .wp-block-paragraph.footer-copyright__text {
	margin: 0 !important;
	text-align: center !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: #464646 !important;
}