:root {
	--bloom-header-divider-color: rgba(61, 59, 56, 0.12);
	--bloom-header-top-min-h: 38px;
	--bloom-header-top-pad-y: 0px;
	--bloom-header-top-h: 36px;
	--bloom-header-admin-h: 0px;
	--bloom-header-main-min-h: 62px;
	--bloom-header-main-pad-y: 7px;
	--bloom-header-logo-max-h: 92px;
	--bloom-header-z-top: 1002;
	--bloom-header-z-main: 1001;
}

@media (min-width: 992px) {
	/* Compact phone/email strip - beat Porto Header Builder .5rem !important paddings. */
	#header.header-builder .header-top {
		min-height: var(--bloom-header-top-min-h);
		padding-top: var(--bloom-header-top-pad-y);
		padding-bottom: var(--bloom-header-top-pad-y);
		border-bottom: 1px solid var(--bloom-header-divider-color);
	}

	#header.header-builder .header-top > .container,
	#header.header-builder .header-top > .container-fluid,
	#header.header-builder .header-top .header-row,
	#header.header-builder .header-top.hidden-for-sm .header-row {
		min-height: var(--bloom-header-top-min-h);
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		align-items: center;
	}

	/* Allow a bit more breathing room between WhatsApp + email icons/links. */
	#header.header-builder .header-top .top-row .wpb_wrapper,
	#header.header-builder .header-top .top-row {
		display: flex;
		align-items: center;
		column-gap: 12px;
		row-gap: 0;
	}

	#header.header-builder .header-top .top-row a {
		margin: 0;
	}

	#header.header-builder .header-top .header-left,
	#header.header-builder .header-top .header-right,
	#header.header-builder .header-top .header-center {
		align-items: center;
		min-height: 0;
	}

	#header.header-builder .header-top .porto-block,
	#header.header-builder .header-top .custom-html,
	#header.header-builder .header-top .my-account,
	#header.header-builder .header-top .searchform-popup,
	#header.header-builder .header-top #mini-cart {
		display: flex;
		align-items: center;
		line-height: 1.2;
	}

	#header.header-builder .header-top .welcome-msg,
	#header.header-builder .header-top .welcome-msg p {
		margin: 0;
		line-height: 1.2;
	}

	#header.header-builder .header-top .header-contact,
	#header.header-builder .header-top .nav-top {
		margin: 0;
		line-height: 1.2;
	}

	#header.header-builder .header-top .nav-top li > a,
	#header.header-builder .header-top .nav-top li > span {
		padding-top: 0;
		padding-bottom: 0;
	}

	/*
	 * TranslatePress shortcode switcher is the height bottleneck:
	 * .trp-shortcode-switcher { padding: 10px 0 } + .trp-language-item { padding: 7px 16px }.
	 */
	#header.header-builder .header-top .trp-shortcode-switcher__wrapper {
		display: flex;
		align-items: center;
		height: auto;
		max-height: 34px;
		line-height: 1;
	}

	#header.header-builder .header-top .trp-shortcode-switcher {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		line-height: 1;
	}

	#header.header-builder .header-top .trp-language-item,
	#header.header-builder .header-top .trp-language-item__current {
		padding-top: 2px !important;
		padding-bottom: 2px !important;
		min-height: 0 !important;
		line-height: 1.2;
	}

	#header.header-builder .header-top .trp-shortcode-arrow {
		width: 16px;
		height: 16px;
	}

	#header.header-builder .header-top .separator {
		align-self: center;
		max-height: 18px;
	}

	#header.header-builder .header-main {
		min-height: var(--bloom-header-main-min-h);
		padding-top: var(--bloom-header-main-pad-y);
		padding-bottom: var(--bloom-header-main-pad-y);
	}

	#header.header-builder .header-main .header-row {
		min-height: var(--bloom-header-main-min-h);
	}

	/* Porto adds padding on header columns; keep it compact. */
	#header.header-builder .header-main .header-left,
	#header.header-builder .header-main .header-right,
	#header.header-builder .header-main .header-center {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	#header.header-builder .header-main .logo img {
		max-height: var(--bloom-header-logo-max-h);
		width: auto;
		height: auto;
	}

	/* Sticky: shorter nav row; scales with viewport width. */
	#header.header-builder.sticky-header {
		--bloom-header-main-min-h: clamp(48px, 1.8vw + 30px, 54px);
		--bloom-header-main-pad-y: clamp(2px, 0.15vw + 1px, 4px);
		--bloom-header-logo-max-h: clamp(46px, 1.6vw + 28px, 58px);
	}

	/*
	 * Sticky stack in the SAME paint as Porto's .sticky-header class.
	 * Avoids the two-step "earthquake" (main pins at admin-bar, then Bloom nudges it down).
	 */
	#header.header-builder.sticky-header .header-top.hidden-for-sm {
		position: fixed !important;
		top: var(--bloom-header-admin-h) !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		z-index: var(--bloom-header-z-top) !important;
	}

	#header.header-builder.sticky-header .header-main.sticky {
		top: calc(var(--bloom-header-admin-h) + var(--bloom-header-top-h)) !important;
		z-index: var(--bloom-header-z-main) !important;
	}

	/* Sub-pixel seam guard at initial paint (common when header + page-top backgrounds differ). */
	#main > .page-top {
		position: relative;
		top: -1px;
	}
}
