/**handles:mez-header**/
/* Sticky header offset for in-page anchors (#claim-form, etc.).
 * Keep spaces around + in calc() — minifiers that strip them invalidate the var. */
:root {
	/* Fallback until main.js measures the real sticky chrome height. */
	--mez-sticky-header-offset: calc(
		120px + 2rem + var(--wp-admin--admin-bar--position-offset, 0px)
	);
}

html,
body {
	scroll-padding-top: var(--mez-sticky-header-offset);
}

/*
 * Clip horizontal bleed from 100vw alignfull sections without turning body into a
 * second vertical scrollport. main.css sets body{overflow-x:hidden}, which forces
 * overflow-y:auto on body and steals scrolling from html — hash jumps then no-op.
 */
html {
	overflow-x: clip;
	overflow-y: scroll;
}

body {
	overflow-x: visible !important;
	overflow-y: visible !important;
}

/* Keep sticky bar above page content; solid paint so content never shows through. */
header.is-position-sticky {
	background-color: var(--wp--preset--color--white, #fff);
	width: 100%;
	z-index: var(--wp--custom--zindex--fixed, 100);
}

#claim-form,
[id^="results-"],
.mez-pi-claim-panel {
	scroll-margin-top: var(--mez-sticky-header-offset);
}

@media (min-width: 768px) {
	:root {
		--mez-sticky-header-offset: calc(
			160px + 2rem + var(--wp-admin--admin-bar--position-offset, 0px)
		);
	}
}

/* Compact lower-bar logo (Top Hat unchanged on desktop) */
header .mez-header__logo img {
	display: block;
	height: auto;
	width: auto;
}

@media (min-width: 768px) {
	header .mez-header__logo.is-style-tablet img {
		max-height: 2.5rem;
	}

	header .mez-header__utility-nav--bar .wp-block-navigation-item__content {
		font-weight: 700;
		letter-spacing: 1px;
	}

	/* Both header rows share the constrained track; primary nav aligns with top utility bar. */
	header > .mez-header__top > .mez-header__utility-nav--bar,
	header > .mez-header__main > .wp-block-group.is-layout-flex {
		width: 100%;
	}

	header > .mez-header__main > .wp-block-group.is-layout-flex > .wp-block-agnt-mega-menu.menu-collapsed-mobile {
		flex: 1 1 auto;
		min-width: 0;
	}

	/* Match AGNT desktop open-nav rules (critical CSS also pins these for CLS). */
	header .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-button,
	header .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-close {
		display: none !important;
	}

	/*
	 * Cloudways: deferred main.css re-applies drawer gutter padding and
	 * menu-container flex-start after this file. Longhand + !important.
	 * position:static + display:block prevent the closed drawer from painting
	 * as a tall in-flow block before agnt CSS arrives (desktop CLS ~0.7).
	 */
	header .mez-header__main .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-drawer,
	header .mez-header__main .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-drawer.drawer.close,
	header .mez-header__main .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-wrapper,
	header .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-drawer {
		background-color: inherit !important;
		display: block !important;
		grid-template-rows: unset !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		position: static !important;
		transform: none !important;
		width: 100%;
	}

	header .mez-header__main .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-container,
	header .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-container {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		width: 100%;
		max-height: none !important;
	}

	/* main.css forces drawer nav to column + full width; desktop bar is a single horizontal row. */
	header .mez-header__main .mez-header__primary-nav.wp-block-navigation {
		flex: 0 0 auto;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		overflow: visible !important;
		position: relative;
		/* Reserve icon slot — search is position:absolute so it can overlay without flex-push. */
		padding-right: 2.25rem;
		width: auto !important;
		max-width: 100%;
	}

	header .mez-header__main .mez-header__primary-nav > .wp-block-navigation__container {
		flex-direction: row !important;
		overflow: visible !important;
		width: auto !important;
	}

	header .mez-header__main .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-drawer,
	header .mez-header__main .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-wrapper,
	header .mez-header__main .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-container {
		overflow: visible !important;
	}

	/* Drawer-only utility links must not reserve a flex column-gap slot on desktop. */
	header .mez-header__utility-nav--drawer {
		display: none !important;
	}

	/*
	 * Overlay search lives INSIDE the navigation block (not as a sibling), so AGNT's
	 * `nav:has(~ .wp-block-search)` flex-collapse never runs. Keep the control absolute
	 * on the right and expand width over the nav instead of pushing items left.
	 */
	header .mez-header__main .mez-header__primary-nav > .wp-block-search.is-style-overlay {
		background-color: transparent;
		box-sizing: border-box;
		flex: 0 0 auto !important;
		margin: 0 !important;
		max-width: none !important;
		min-width: 0 !important;
		position: absolute !important;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		transition:
			width var(--wp--custom--search--transition--duration, 0.6s) ease,
			background-color var(--wp--custom--search--transition--duration, 0.6s) ease;
		width: 2rem !important;
		z-index: var(--wp--custom--zindex--dropdown, 10);
	}

	header .mez-header__main .mez-header__primary-nav > .wp-block-search.is-style-overlay.wp-block-search__searchfield-hidden {
		width: 2rem !important;
	}

	header .mez-header__main .mez-header__primary-nav > .wp-block-search.is-style-overlay:not(.wp-block-search__searchfield-hidden),
	header .mez-header__main .mez-header__primary-nav > .wp-block-search.is-style-overlay:focus-within {
		background-color: var(--wp--preset--color--white, #fff);
		height: 100%;
		top: 0;
		transform: none;
		width: 100% !important;
	}

	header .mez-header__main .mez-header__primary-nav > .wp-block-search.is-style-overlay .wp-block-search__inside-wrapper {
		align-items: center;
		height: 100%;
		justify-content: flex-end;
		min-width: 0 !important;
		position: relative;
		width: 100%;
	}

	header .mez-header__main .mez-header__primary-nav > .wp-block-search.is-style-overlay:not(.wp-block-search__searchfield-hidden) .wp-block-search__input,
	header .mez-header__main .mez-header__primary-nav > .wp-block-search.is-style-overlay:focus-within .wp-block-search__input {
		box-sizing: border-box;
		height: auto !important;
		left: 0 !important;
		margin: 0 !important;
		max-width: none !important;
		min-width: 0 !important;
		opacity: 1 !important;
		padding: 0 2.75rem 0 0.25rem !important;
		pointer-events: auto !important;
		position: absolute !important;
		top: 50%;
		transform: translateY(-50%);
		width: 100% !important;
	}

	/*
	 * main.css (deferred, loads after this file) sets header submenus to
	 * display:block + width:auto, which sizes to the parent item ("About").
	 * Shrink-wrap to the longest dropdown link instead.
	 */
	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-submenu.has-child,
	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .wp-block-navigation__container > .has-child {
		overflow: visible !important;
		position: relative !important;
	}

	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
		box-sizing: border-box;
		display: inline-table !important;
		height: auto !important;
		left: 0 !important;
		margin-top: var(--wp--preset--spacing--20, 0.5rem) !important;
		max-width: none !important;
		min-width: 0 !important;
		overflow: visible !important;
		position: absolute !important;
		right: auto !important;
		top: 100% !important;
		transition-duration: var(--wp--custom--transition--duration--medium, 0.4s);
		transition-property: opacity, visibility !important;
		transition-timing-function: ease;
		width: max-content !important;
		z-index: var(--wp--custom--zindex--dropdown, 10);
	}

	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .has-child > .wp-block-navigation__submenu-container.columns-2 {
		display: block !important;
		min-width: min(36rem, 95vw) !important;
		width: auto !important;
	}

	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item {
		width: auto !important;
	}

	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: block !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		white-space: nowrap !important;
		width: auto !important;
	}

	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
		white-space: nowrap !important;
	}

	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container {
		height: auto !important;
		opacity: 0;
		overflow: hidden !important;
		pointer-events: none;
		visibility: hidden;
	}

	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		height: auto !important;
		opacity: 1;
		overflow: visible !important;
		pointer-events: auto;
		visibility: visible;
	}

	header .mez-header__main .mez-header__primary-nav.wp-block-navigation .has-child > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		display: inline-table !important;
		min-width: 0 !important;
		transition-property: opacity, visibility !important;
		width: max-content !important;
	}
}

@media (max-width: 767px) {
	header .mez-header__logo.is-style-mobile img {
		height: 56px;
		max-height: 56px;
	}

	/* Single-row mobile header: utility links move into the drawer */
	.mez-header__top {
		display: none;
	}

	/*
	 * Match AGNT .drawer.close (grid-template-rows:0fr). Force height:0 as well —
	 * absolute/fixed AGNT drawers with a white background can otherwise leave a
	 * non-zero box that clips/covers the sticky header while scrolling.
	 */
	header .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-drawer.drawer.close {
		display: grid !important;
		grid-template-rows: 0fr !important;
		height: 0 !important;
		max-height: 0 !important;
		min-height: 0 !important;
		overflow: hidden !important;
		padding: 0 !important;
		pointer-events: none;
		visibility: hidden;
	}

	header .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-drawer.drawer.close > :first-child {
		min-height: 0 !important;
		overflow: hidden !important;
	}

	/*
	 * Open drawer: pin to the viewport (not the sticky header containing block)
	 * so sticky layout cannot half-scroll/clip the bar. Inner panel scrolls.
	 */
	header .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-drawer.drawer:not(.close) {
		background-color: var(--wp--preset--color--white, #fff) !important;
		bottom: 0 !important;
		display: grid !important;
		grid-template-rows: 1fr !important;
		left: 0 !important;
		max-height: none !important;
		overflow: hidden;
		padding-left: var(--wp--preset--spacing--60, 2rem);
		padding-right: var(--wp--preset--spacing--60, 2rem);
		pointer-events: auto;
		position: fixed !important;
		right: 0 !important;
		top: 70px !important;
		visibility: visible;
		z-index: calc(var(--wp--custom--zindex--fixed, 100) - 1);
	}

	header .wp-block-agnt-mega-menu.menu-collapsed-mobile .menu-drawer.drawer:not(.close) > .menu-wrapper {
		min-height: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	header .menu-collapsed-mobile .menu-container {
		align-items: stretch;
		max-height: none;
		row-gap: 0;
	}

	/* Drawer nav stacks vertically (override main.css row-reverse + overlay search) */
	header .menu-drawer .mez-header__primary-nav.wp-block-navigation {
		align-items: stretch;
		flex-direction: column;
		justify-content: flex-start;
	}

	header .menu-drawer .mez-header__primary-nav > .wp-block-navigation__container {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	/* Full-width tap targets in the mobile drawer (primary + utility nav). */
	header .menu-drawer .wp-block-navigation .wp-block-navigation__container {
		align-items: stretch;
		width: 100%;
	}

	header .menu-drawer .wp-block-navigation .wp-block-navigation-item {
		width: 100%;
	}

	header .menu-drawer .wp-block-navigation .wp-block-navigation-item__content,
	header .menu-drawer .wp-block-navigation .wp-block-navigation-submenu__toggle {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		justify-content: flex-start;
		min-height: 3rem;
		padding: 0.75rem var(--wp--custom--spacing--gutter, 1.5rem);
		text-align: left;
		width: 100%;
	}

	/*
	 * Keep main.css's grid accordion (0fr / 1fr) so submenus stay collapsed until
	 * .expanded. Parent row is one full-width tap target; chevron sits on the right.
	 */
	header .menu-drawer .wp-block-navigation .has-child {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: min-content 0fr;
		align-items: stretch;
		justify-items: stretch;
		overflow: hidden;
		position: relative;
		transition: grid-template-rows var(--wp--custom--transition--duration--medium, 0.4s)
			var(--wp--custom--transition--timing, linear);
		width: 100%;
	}

	header .menu-drawer .wp-block-navigation .has-child.expanded {
		grid-template-rows: min-content 1fr;
	}

	header .menu-drawer .wp-block-navigation .has-child .wp-block-navigation-submenu__toggle {
		grid-column: 1;
		grid-row: 1;
		padding-right: calc(var(--wp--custom--spacing--gutter, 1.5rem) + 2rem);
		width: 100%;
	}

	header .menu-drawer .wp-block-navigation .has-child .wp-block-navigation__submenu-icon {
		align-items: center;
		display: flex;
		grid-column: 1;
		grid-row: 1;
		height: 3rem;
		justify-content: center;
		justify-self: end;
		margin-right: var(--wp--custom--spacing--gutter, 1.5rem);
		pointer-events: none;
		position: relative;
		width: 2rem;
	}

	header .menu-drawer .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
		border: none;
		box-shadow: none;
		display: block;
		grid-column: 1;
		grid-row: 2;
		height: auto;
		margin-left: 0;
		margin-top: 0;
		min-height: 0;
		opacity: 1;
		overflow: hidden;
		padding-left: var(--wp--preset--spacing--30, 0.75rem);
		position: static;
		visibility: visible;
		width: 100%;
	}

	header .menu-drawer .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	header .menu-drawer .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
		padding-left: calc(var(--wp--custom--spacing--gutter, 1.5rem) + var(--wp--preset--spacing--30, 0.75rem));
	}

	header .menu-drawer .mez-header__primary-nav > .wp-block-search.is-style-overlay {
		align-self: stretch;
		box-sizing: border-box;
		flex: 0 0 auto;
		margin-top: var(--wp--preset--spacing--40);
		max-width: 100%;
		min-width: 0 !important;
		width: 100%;
	}

	header .menu-drawer .mez-header__primary-nav > .wp-block-search.is-style-overlay::before,
	header .menu-drawer .mez-header__primary-nav > .wp-block-search.is-style-overlay::after {
		display: none;
	}

	header .menu-drawer .mez-header__primary-nav > .wp-block-search.is-style-overlay.wp-block-search__searchfield-hidden,
	header .menu-drawer .mez-header__primary-nav > .wp-block-search.is-style-overlay.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper {
		overflow: visible !important;
	}

	header .menu-drawer .mez-header__primary-nav > .wp-block-search.is-style-overlay .wp-block-search__inside-wrapper {
		background: transparent;
		flex-direction: row;
		gap: var(--wp--preset--spacing--20);
		justify-content: stretch;
		min-width: 0 !important;
		position: relative;
		width: 100%;
	}

	header .menu-drawer .mez-header__primary-nav > .wp-block-search.is-style-overlay .wp-block-search__input {
		background: var(--wp--preset--color--white, #fff) !important;
		border: 1px solid var(--wp--preset--color--lighterblue) !important;
		flex: 1 1 auto;
		flex-basis: auto !important;
		flex-grow: 1 !important;
		left: auto !important;
		margin: 0 !important;
		max-width: none !important;
		min-width: 0 !important;
		opacity: 1 !important;
		padding: 0.5rem 0.75rem !important;
		pointer-events: auto !important;
		position: static !important;
		width: 100% !important;
	}

	header .menu-drawer .mez-header__primary-nav > .wp-block-search.is-style-overlay .wp-block-search__button {
		flex: 0 0 auto;
		margin: 0;
	}

	header .mez-header__utility-nav--drawer.wp-block-navigation {
		align-items: stretch;
		border-bottom: none;
		border-top: 1px solid var(--wp--preset--color--lighterblue);
		flex-direction: column;
		justify-content: flex-start;
		margin: 0;
		padding-bottom: 0;
		padding-top: var(--wp--preset--spacing--40);
		width: 100%;
	}

	header .mez-header__utility-nav--drawer .wp-block-navigation__container {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		width: 100%;
	}
}

@media (min-width: 768px) {
	header .mez-header__utility-nav--drawer {
		display: none !important;
	}
}

/* Single attorney: light gold name/title band only (profile + CTA stay white) */
body.single-attorney .wp-block-variation-personal-info {
	background-color: var(--wp--preset--color--lightgold, #e8dfca);
	padding: var(--wp--preset--spacing--50, 1.5rem);
}

/* Mail + email address in name/title band (icon + visible address text) */
body.single-attorney .wp-block-variation-personal-info .wp-block-agnt-contact-info {
	margin-top: var(--wp--preset--spacing--20, 0.5rem);
}

body.single-attorney .wp-block-variation-personal-info .contact-link.contact-email {
	align-items: center;
	display: inline-flex;
	gap: var(--wp--preset--spacing--20, 0.5rem);
	text-decoration: none;
	text-transform: none;
}

/* AGNT "icon" mode hides span text — always show the address on attorney pages */
body.single-attorney .wp-block-variation-personal-info .contact-link.contact-email span {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
	white-space: normal;
}

/* Theme icon via ::before; disable AGNT's icon-only box (::after) if block was saved as icon */
body.single-attorney .wp-block-variation-personal-info .contact-link.contact-email.contact-icon::after {
	display: none;
}

body.single-attorney .wp-block-variation-personal-info .contact-link.contact-email.contact-text::before {
	background-color: currentcolor;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 1.25rem;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	width: 1.25rem;
	/* Full icon rule also inlined from PHP — Hummingbird delays this stylesheet */
}

body.single-attorney .wp-block-variation-personal-info .contact-link.contact-email:hover {
	text-decoration: underline;
}

/* reCAPTCHA: keep badge above footer / full-width sections when scrolling */
.grecaptcha-badge {
	z-index: 999999 !important;
}

/* Inline invisible badge is empty until delayed JS loads — lock Google's 60px badge slot. */
.gform_wrapper .ginput_container.ginput_recaptcha {
	box-sizing: border-box;
	height: 60px !important;
	margin-top: var(--wp--preset--spacing--20, 0.5rem);
	max-height: 60px !important;
	min-height: 60px !important;
	overflow: hidden;
}