#masthead {
	position: fixed !important;
	top: var(--eval-notice-h, 0px);
	left: 0;
	right: 0;
	z-index: 1000;
	width: 100%;
	background: var(--eval-card);
	box-shadow: 0 8px 24px rgba(16, 42, 67, 0.08);
}

/*
 * WooCommerce pins .woocommerce-store-notice with position:absolute; top:0;
 * z-index:99998. Combined with a fixed #masthead that paints the banner
 * over the header. Keep the notice in the sticky stack above the header.
 */
body:not(.kadence-store-notice-placement-bottom) .woocommerce-store-notice,
body:not(.kadence-store-notice-placement-bottom) p.demo_store {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin: 0;
	z-index: 1001;
	box-sizing: border-box;
}

html.admin-bar:not(.kadence-store-notice-placement-bottom) .woocommerce-store-notice,
html.admin-bar:not(.kadence-store-notice-placement-bottom) p.demo_store {
	top: 32px;
}

/*
 * Desktop only: Kadence .item-is-fixed is position:fixed; top:0; z-index:1200.
 * Inside our already-fixed masthead that would paint rows on top of each other.
 * Mobile keeps Kadence sticky + reveal-on-scroll-up intact.
 */
@media (min-width: 1025px) {
	#masthead .kadence-sticky-header.item-is-fixed,
	#masthead .kadence-sticky-header.item-is-stuck,
	#masthead .item-is-fixed {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: auto !important;
		z-index: auto !important;
		transform: none !important;
	}

	#masthead .site-header-upper-inner-wrap.child-is-fixed,
	#masthead .site-header-inner-wrap.child-is-fixed {
		display: block !important;
		height: auto !important;
	}

	#masthead .site-header-upper-inner-wrap.child-is-fixed .site-top-header-wrap,
	#masthead .site-header-upper-inner-wrap.child-is-fixed .site-main-header-wrap {
		width: 100% !important;
		flex-grow: 0 !important;
		align-self: auto !important;
	}
}

html.admin-bar #masthead {
	top: calc(32px + var(--eval-notice-h, 0px));
}

#inner-wrap {
	padding-top: calc(var(--eval-masthead-h, 5.5rem) + var(--eval-notice-h, 0px));
}

@media (max-width: 782px) {
	html.admin-bar:not(.kadence-store-notice-placement-bottom) .woocommerce-store-notice,
	html.admin-bar:not(.kadence-store-notice-placement-bottom) p.demo_store {
		top: 46px;
	}

	html.admin-bar #masthead {
		top: calc(46px + var(--eval-notice-h, 0px));
	}
}

/*
 * Mobile: do not pin the whole #masthead — Kadence sticks the main row and
 * reveals it on scroll up.
 */
@media (max-width: 1024px) {
	#masthead {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100%;
	}

	html.admin-bar #masthead {
		top: auto !important;
	}

	#inner-wrap {
		padding-top: 0;
	}
}

@media print {
	#masthead {
		position: static !important;
		box-shadow: none;
	}

	body:not(.kadence-store-notice-placement-bottom) .woocommerce-store-notice,
	body:not(.kadence-store-notice-placement-bottom) p.demo_store {
		position: static !important;
		top: auto !important;
	}

	#inner-wrap {
		padding-top: 0;
	}
}

.eval-header-account .header-account-button,
.eval-theme-toggle,
#masthead .header-cart-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border-radius: 999px;
	color: inherit;
	text-decoration: none;
	line-height: 1;
	transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.eval-theme-toggle {
	border: 0;
	background: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.eval-theme-toggle__sun {
	display: none;
}

.eval-theme-toggle__moon {
	display: block;
}

html[data-theme="dark"] .eval-theme-toggle__moon {
	display: none;
}

html[data-theme="dark"] .eval-theme-toggle__sun {
	display: block;
}

.eval-header-account--inline,
.eval-header-theme-toggle--inline {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-right: 0.15rem;
}

.site-header-item .header-cart-wrap {
	display: inline-flex;
	align-items: center;
}

.eval-header-account .header-account-button:hover,
.eval-header-account .header-account-button:focus,
.eval-header-account .header-account-button:focus-visible,
#masthead .header-cart-button:hover,
#masthead .header-cart-button:focus,
#masthead .header-cart-button:focus-visible {
	color: inherit;
	background: rgba(15, 23, 42, 0.06);
	opacity: 1;
	transform: translateY(-1px);
}

.eval-header-account .eval-account-icon,
.eval-header-account .kadence-svg-icon,
.eval-theme-toggle svg,
#masthead .header-cart-button .kadence-svg-iconset,
#masthead .header-cart-button svg {
	display: block;
	width: 1.35rem;
	height: 1.35rem;
}

.eval-header-account__initials {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--global-palette1, #215387);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1;
	text-transform: uppercase;
}

.eval-header-account__fallback {
	font-size: 1.35rem;
	line-height: 1;
}

#masthead .header-cart-label {
	display: none;
}

.eval-header-search {
	position: relative;
	display: flex;
	align-items: center;
	width: min(30rem, 38vw);
	margin: 0 0.5rem 0 0;
}

.eval-header-search .eval-header-search__input {
	width: 100%;
	height: 2.875rem;
	margin: 0;
	padding: 0 1rem 0 3rem;
	border: 1px solid #2d2f31;
	border-radius: 999px;
	background: #f7f9fa;
	color: #2d2f31;
	font-size: 0.875rem;
	line-height: 1.2;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.eval-header-search__input::placeholder {
	color: #6a6f73;
	opacity: 1;
}

.eval-header-search__input::-webkit-search-cancel-button,
.eval-header-search__input::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.eval-header-search__input:focus {
	outline: 0;
	border-color: #2d2f31;
	background: #fff;
	box-shadow: 0 0 0 2px #2d2f31;
}

.eval-header-search__submit {
	position: absolute;
	left: 0.35rem;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #2d2f31;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color 0.2s ease;
}

.eval-header-search__submit:hover,
.eval-header-search__submit:focus-visible {
	background: #e4e8eb;
	outline: 0;
}

.eval-header-search__icon {
	display: block;
	width: 1.2rem;
	height: 1.2rem;
}

@media (min-width: 1025px) {
	/* Center the menu in the free space between the logo and search. */
	#main-header .site-header-main-section-left-center {
		justify-content: center;
	}
}

/* Kadence shows #mobile-header at ≤1024px. */
@media (max-width: 1024px) {
	/*
	 * Compact bar: Kadence defaults to min-height 72px. ~48px keeps search
	 * and toggle tappable without eating the viewport.
	 */
	#mobile-header .site-main-header-inner-wrap {
		min-height: 3rem;
	}

	/*
	 * Nudge logo left and trigger right (tighter side padding) so the
	 * center search keeps a usable width. Keep ≥12px from the bezel.
	 */
	#mobile-header .site-main-header-wrap .site-container {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	#mobile-header .site-main-header-wrap .site-header-section-left,
	#mobile-header .site-main-header-wrap .site-header-section-right {
		flex: 0 0 auto;
		align-items: center;
	}

	#mobile-header .site-main-header-wrap .site-header-section-right {
		gap: 0.1rem;
	}

	#mobile-header .site-main-header-wrap .site-header-section-right > .site-header-item {
		margin-right: 0;
	}

	#mobile-header .site-main-header-wrap #mobile-toggle {
		padding-top: 0.35rem;
		padding-bottom: 0.35rem;
	}

	/* Search between logo and trigger. */
	#mobile-header .site-main-header-wrap .site-header-section-center {
		flex: 1 1 auto;
		min-width: 0;
		justify-content: center;
		align-items: center;
		padding: 0 0.35rem;
	}

	#mobile-header .site-main-header-wrap .site-header-section-center .site-header-item {
		width: 100%;
		max-width: 100%;
	}

	#mobile-header .site-main-header-wrap .eval-header-search {
		width: 100%;
		max-width: none;
		margin: 0;
	}

	#mobile-header .site-main-header-wrap .eval-header-search__input {
		width: 100%;
		height: 2rem;
		padding-left: 2.5rem;
		font-size: 0.8rem;
	}

	#mobile-header .site-main-header-wrap .eval-header-search__submit {
		width: 1.85rem;
		height: 1.85rem;
	}

	#mobile-header .site-branding a.brand img {
		width: auto;
		max-width: 120px;
	}

	#mobile-header .site-branding a.brand img.svg-logo-image {
		width: 120px;
	}
}

.site-header-item .search-toggle-open-container,
#search-drawer {
	display: none !important;
}

/* Vendor chips in the Kadence mobile drawer (list, not archive pills). */
#mobile-drawer .eval-mobile-vendor-filter {
	margin-top: 1.25rem;
	padding-top: 0;
}

#mobile-drawer .eval-mobile-vendor-filter__label {
	margin: 0 0 0.55rem;
	padding: 0;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.72rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

#mobile-drawer .eval-vendor-chips--drawer {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0;
	margin: 0;
}

#mobile-drawer .eval-vendor-chips--drawer .eval-vendor-chip {
	display: block;
	width: 100%;
	padding: 0.7rem 0;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.3;
	text-shadow: none;
	filter: none !important;
	white-space: normal;
}

#mobile-drawer .eval-vendor-chips--drawer .eval-vendor-chip:hover,
#mobile-drawer .eval-vendor-chips--drawer .eval-vendor-chip:focus-visible {
	color: #fff;
	background: transparent !important;
	opacity: 0.85;
}

#mobile-drawer .eval-vendor-chips--drawer .eval-vendor-chip.is-active {
	font-weight: 700;
	box-shadow: none !important;
	filter: none !important;
}

/* Beat Kadence's inline footer padding between nav and copyright. */
#colophon .site-middle-footer-inner-wrap {
	padding-top: 0.75rem !important;
	padding-bottom: 0 !important;
	grid-row-gap: 0 !important;
	min-height: 0 !important;
}

#colophon .site-bottom-footer-inner-wrap {
	padding-top: 0.15rem !important;
	padding-bottom: 0.75rem !important;
	min-height: 0 !important;
}

#colophon .site-middle-footer-inner-wrap .widget,
#colophon .site-bottom-footer-inner-wrap .widget,
#colophon .site-middle-footer-inner-wrap .footer-widget-area,
#colophon .site-bottom-footer-inner-wrap .footer-widget-area {
	margin-bottom: 0 !important;
}

#colophon .footer-html-inner p {
	margin: 0 !important;
}

/* Keep the larger footer menu easy to scan — full content width. */
#colophon .footer-navigation .footer-menu-container > ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.55rem 2.5rem;
	position: relative;
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding: 1.4rem 1.75rem;
	border: 1px solid rgba(127, 127, 127, 0.18);
	border-radius: 1rem;
	background: rgba(127, 127, 127, 0.04);
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
	text-align: left;
	box-sizing: border-box;
}

#colophon .footer-social-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	width: 100%;
	margin: 0 0 1rem;
}

#colophon .footer-social-inner-wrap {
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.55rem;
}

#colophon .eval-footer-find-us {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	padding: 0.15rem 0 0.35rem;
}

#colophon .eval-footer-find-us__title {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	/* Footer bar is navy in both themes — keep the label light. */
	color: #e8eef5;
	opacity: 0.9;
}

#colophon .eval-footer-find-us__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.65rem 1.1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

#colophon .eval-footer-find-us__link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.35rem 0.7rem;
	border: 1px solid #d7e3ef;
	border-radius: 999px;
	/* Match Kadence filled social buttons: light chip on dark footer. */
	background: #e4eef6;
	color: #102a43;
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	opacity: 1;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

#colophon .eval-footer-find-us__link:hover,
#colophon .eval-footer-find-us__link:focus-visible {
	background: #ffffff;
	border-color: #c5d6e6;
	color: #0b1f33;
	transform: translateY(-1px);
}

#colophon .eval-footer-find-us__link:focus-visible {
	outline: 2px solid #7dd3fc;
	outline-offset: 0.15rem;
}

#colophon .eval-footer-find-us__icon {
	display: block;
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	color: #102a43;
}

#colophon .eval-footer-find-us__link--devto .eval-footer-find-us__icon {
	width: 1.55rem;
	height: 1.15rem;
}

#colophon .eval-footer-find-us__label {
	white-space: nowrap;
	color: inherit;
}

#colophon .footer-navigation .footer-menu-container > ul > li {
	margin: 0;
}

#colophon .footer-navigation .footer-menu-container > ul::before,
#colophon .footer-navigation .footer-menu-container > ul::after {
	position: absolute;
	top: 1.25rem;
	bottom: 1.25rem;
	width: 1px;
	background: rgba(127, 127, 127, 0.18);
	content: "";
}

#colophon .footer-navigation .footer-menu-container > ul::before {
	left: 33.333%;
}

#colophon .footer-navigation .footer-menu-container > ul::after {
	left: 66.666%;
}

#colophon .footer-navigation .footer-menu-container > ul > li > a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.15rem 0;
	font-size: 0.92rem;
	font-weight: 550;
	line-height: 1.45;
	text-decoration: none;
	opacity: 0.82;
	transition: color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

#colophon .footer-navigation .footer-menu-container > ul > li > a::before {
	width: 0.38rem;
	height: 0.38rem;
	flex: 0 0 auto;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	content: "";
	opacity: 0.55;
	transform: rotate(45deg);
}

#colophon .footer-navigation .footer-menu-container > ul > li > a:hover,
#colophon .footer-navigation .footer-menu-container > ul > li > a:focus-visible {
	opacity: 1;
	transform: translateX(0.2rem);
}

#colophon .footer-navigation .footer-menu-container > ul > li > a:focus-visible {
	border-radius: 0.25rem;
	outline: 2px solid currentColor;
	outline-offset: 0.2rem;
}

#colophon .eval-footer-item--about {
	grid-column: 1;
	grid-row: 1;
}

#colophon .eval-footer-item--contact {
	grid-column: 1;
	grid-row: 2;
}

#colophon .eval-footer-item--free-sample {
	grid-column: 1;
	grid-row: 3;
}

#colophon .eval-footer-item--faq {
	grid-column: 2;
	grid-row: 1;
}

#colophon .eval-footer-item--exam-tips {
	grid-column: 2;
	grid-row: 2;
}

#colophon .eval-footer-item--how-it-works {
	grid-column: 2;
	grid-row: 3;
}

#colophon .eval-footer-item--trial-vs-full {
	grid-column: 2;
	grid-row: 4;
}

#colophon .eval-footer-item--other {
	grid-column: 3;
}

@media (max-width: 719px) {
	/* Social + Find us + menu stack full-width (Kadence puts them in a row). */
	#colophon .site-footer-middle-section-1.footer-section-inner-items-2,
	#colophon .site-footer-middle-section-1 {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 1.1rem;
		width: 100%;
	}

	#colophon .footer-social,
	#colophon .footer-navigation-wrap {
		width: 100% !important;
		max-width: 100%;
		justify-content: center;
	}

	#colophon .footer-social-wrap {
		margin: 0;
		gap: 0.85rem;
	}

	#colophon .footer-social-inner-wrap {
		justify-content: center;
		gap: 0.45rem;
	}

	#colophon .eval-footer-find-us {
		padding: 0.1rem 0 0;
		gap: 0.55rem;
	}

	#colophon .eval-footer-find-us__list {
		width: 100%;
		justify-content: center;
		gap: 0.5rem;
	}

	#colophon .eval-footer-find-us__list {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
		gap: 0.45rem;
	}

	#colophon .eval-footer-find-us__item {
		min-width: 0;
	}

	#colophon .eval-footer-find-us__link {
		display: inline-flex;
		width: 100%;
		box-sizing: border-box;
		justify-content: center;
		gap: 0.35rem;
		padding: 0.4rem 0.45rem;
		font-size: 0.78rem;
	}

	#colophon .eval-footer-find-us__icon {
		width: 1rem;
		height: 1rem;
	}

	#colophon .eval-footer-find-us__link--devto .eval-footer-find-us__icon {
		width: 1.35rem;
		height: 1rem;
	}

	#colophon .eval-footer-find-us__label {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	#colophon .footer-navigation .footer-menu-container > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.45rem 1rem;
		width: 100%;
		padding: 0.85rem 0.9rem;
		border: 1px solid rgba(127, 127, 127, 0.18);
		border-radius: 0.85rem;
		background: rgba(127, 127, 127, 0.04);
		box-shadow: none;
	}

	#colophon .footer-navigation .footer-menu-container > ul > li[class*="eval-footer-item--"] {
		grid-column: auto;
		grid-row: auto;
	}

	#colophon .footer-navigation .footer-menu-container > ul::before,
	#colophon .footer-navigation .footer-menu-container > ul::after {
		display: none;
	}

	#colophon .footer-navigation .footer-menu-container > ul > li > a {
		font-size: 0.88rem;
		padding: 0.2rem 0;
	}

	#colophon .site-bottom-footer-inner-wrap {
		padding-top: 0.55rem !important;
		padding-bottom: 1rem !important;
		justify-content: center;
		text-align: center;
	}
}

html[data-theme="dark"] #masthead {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .eval-header-search .eval-header-search__input {
	border-color: var(--eval-border);
	background: var(--eval-surface);
	color: var(--eval-ink);
}

html[data-theme="dark"] .eval-header-search__input::placeholder {
	color: var(--eval-muted);
}

html[data-theme="dark"] .eval-header-search__input:focus {
	border-color: var(--eval-border);
	background: var(--eval-card);
	box-shadow: 0 0 0 2px var(--eval-border);
}

html[data-theme="dark"] .eval-header-search__submit {
	color: var(--eval-ink);
}

html[data-theme="dark"] .eval-header-search__submit:hover,
html[data-theme="dark"] .eval-header-search__submit:focus-visible {
	background: rgba(226, 232, 240, 0.08);
}

html[data-theme="dark"] .eval-header-account .header-account-button:hover,
html[data-theme="dark"] .eval-header-account .header-account-button:focus,
html[data-theme="dark"] .eval-header-account .header-account-button:focus-visible,
html[data-theme="dark"] #masthead .header-cart-button:hover,
html[data-theme="dark"] #masthead .header-cart-button:focus,
html[data-theme="dark"] #masthead .header-cart-button:focus-visible,
html[data-theme="dark"] .eval-theme-toggle:hover,
html[data-theme="dark"] .eval-theme-toggle:focus,
html[data-theme="dark"] .eval-theme-toggle:focus-visible {
	background: rgba(226, 232, 240, 0.08);
}

html[data-theme="dark"] #mobile-toggle {
	color: var(--eval-ink);
}

/* JPEG site logo is navy-on-white. Hide it and paint a white mark on transparent. */
html[data-theme="dark"] #masthead .site-branding a.brand,
html[data-theme="dark"] #masthead .site-branding a.custom-logo-link,
html[data-theme="dark"] #mobile-header .site-branding a.brand,
html[data-theme="dark"] #mobile-header .site-branding a.custom-logo-link {
	background: url("logo-dark.png?v=white-full") no-repeat left center / contain;
}

html[data-theme="dark"] #masthead .site-branding img,
html[data-theme="dark"] #mobile-header .site-branding img {
	opacity: 0;
	background: transparent;
	filter: none;
}

html[data-theme="dark"] #masthead .kadence-sticky-header.item-is-fixed,
html[data-theme="dark"] #masthead .kadence-sticky-header.item-is-stuck,
html[data-theme="dark"] #mobile-header .kadence-sticky-header.item-is-fixed,
html[data-theme="dark"] #mobile-header .kadence-sticky-header.item-is-stuck {
	background: var(--eval-card) !important;
	border-color: var(--eval-border) !important;
}

html[data-theme="dark"] #mobile-drawer .drawer-inner {
	background: var(--eval-card);
	color: var(--eval-ink);
}

html[data-theme="dark"] #mobile-drawer .drawer-header .drawer-toggle,
html[data-theme="dark"] #mobile-drawer .mobile-navigation a,
html[data-theme="dark"] #mobile-drawer .mobile-navigation .drawer-nav-drop-wrap,
html[data-theme="dark"] #mobile-drawer .eval-mobile-menu-cart a {
	color: #fff !important;
}

html[data-theme="dark"] #mobile-drawer .mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap,
html[data-theme="dark"] #mobile-drawer .mobile-navigation ul li:not(.menu-item-has-children) a {
	border-bottom-color: var(--eval-border) !important;
}
