/* Site-wide layout tweaks on top of the bizbuzz theme:
   - mobile: hamburger lives in the dark green top bar (left), with the
     phone number and email stacked beside it; hero text centres itself
   - social links live in the footer on all screen sizes */

/* --- top-bar hamburger (mobile only) --- */
.top-bar-menu-toggle {
	display: none;
}

@media (max-width: 991.98px) {
	.top-bar-menu-toggle {
		display: block;
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		background: transparent;
	}
	.top-bar-menu-toggle:focus {
		outline: none;
	}
	.top-bar-menu-toggle:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 2px;
	}
	.top-bar-menu-toggle .icon,
	.top-bar-menu-toggle .icon::before,
	.top-bar-menu-toggle .icon::after {
		background-color: #fff;
	}
	.top-bar-menu-toggle.active .icon {
		background-color: transparent;
	}

	/* hide the theme's original hamburger next to the hero title */
	#site-header-menu .menu-toggle {
		display: none;
	}

	/* lay the top bar out as: [hamburger] [phone / email stacked] */
	#top-bar .rt-wrapper {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 10px;
		text-align: left;
		padding-left: 12px;
		padding-right: 12px;
	}
	#top-bar .address-block-container {
		width: auto;
		float: none;
		text-align: left;
	}
	#top-bar .top-left-container {
		float: none;
		text-align: left;
	}
	#top-bar .address-block-container .top-left-container > ul {
		margin: 0;
	}
	#top-left li {
		display: block;
		float: none;
		margin: 0;
		padding: 0;
		text-align: left;
		line-height: 1.5;
	}
	#top-left li a {
		padding: 2px 0;
		line-height: 1.5;
	}

	/* the relocated menu block should sit as a full-width row below the
	   top bar's flex wrapper, so the dropdown spans the whole screen */
	#top-bar #site-header-menu {
		width: 100%;
		float: none;
		margin: 0;
	}
	#top-bar .main-navigation {
		float: none;
	}
	/* anchor the dropdown to the bottom of the top bar and let it overlay
	   the page content rather than pushing it down */
	#top-bar {
		position: relative;
		z-index: 100000;
	}
	#top-bar .main-navigation ul.nav-menu {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		width: 100%;
		z-index: 100000;
		box-shadow: 0 10px 18px rgba(0, 0, 0, 0.25);
	}

	/* with the hamburger gone from the header, centre the hero text */
	.site-branding {
		width: 100%;
		float: none;
	}
	.site-branding-text,
	.site-branding-text .site-title,
	.site-branding-text .site-description {
		text-align: center;
	}
}

/* --- global content typography ---
   The "Join us" and "Our history" pages were exported with the
   `has-medium-font-size` class on most body paragraphs, which forces 20px
   via a page-level `!important` rule and makes those pages look inconsistent
   with the rest of the site. Normalise body copy back to the theme default. */
.entry-content p.has-medium-font-size {
	font-size: inherit !important;
}

/* --- responsive images ---
   Many exported <img> tags carry inline `style="width:NNNpx;height:NNNpx"`.
   On narrow viewports the theme's `max-width:100%` shrinks the width but the
   inline fixed height wins, distorting the image. Force height:auto so the
   aspect ratio is always preserved. */
.entry-content img,
.wp-block-image img {
	height: auto !important;
}

/* --- social links in the footer (all screen sizes) --- */
.footer-social {
	text-align: center;
	padding: 6px 0 12px;
	float: none;
}
.footer-social .social-menu {
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline-block;
	float: none;
}
.footer-social .social-menu li {
	display: inline-block;
	float: none;
	margin: 0 12px;
}
