/**
 * Mobile menu toggle — shapes + open animations.
 * Show/hide at breakpoint: PHP inline in inc/header-mobile-toggle.php
 */

	.menu-toggle.tekton-mobile-toggle {
		background: transparent;
		border: none;
		cursor: pointer;
		padding: 10px;
		line-height: 0;
		overflow: visible;
		pointer-events: auto;
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent;
	}

	.mobile-toggle-wrapper {
		pointer-events: auto;
	}

	.menu-toggle.tekton-mobile-toggle .hamburger-box {
		position: relative;
		display: inline-block;
		width: var(--tekton-toggle-box-width, 30px);
		height: var(--tekton-toggle-box-height, 24px);
		overflow: visible;
		transition: transform var(--tekton-toggle-duration, 300ms) ease;
	}

	.menu-toggle.tekton-mobile-toggle .hamburger-inner,
	.menu-toggle.tekton-mobile-toggle .hamburger-inner::before,
	.menu-toggle.tekton-mobile-toggle .hamburger-inner::after {
		left: 0;
		width: var(--tekton-toggle-box-width, 30px);
		height: var(--tekton-toggle-bar-height, 3px);
		background-color: var(--tekton-toggle-bar-color, var(--header-mobile-text-color, #1a1a1a));
		border-radius: var(--tekton-toggle-bar-radius, 3px);
		position: absolute;
		transition-duration: var(--tekton-toggle-duration, 300ms);
		transition-timing-function: ease;
	}

	.menu-toggle.tekton-mobile-toggle .hamburger-inner {
		top: 50%;
		display: block;
		margin-top: calc(var(--tekton-toggle-bar-height, 3px) / -2);
		transition-property: transform, opacity, width, left;
	}

	.menu-toggle.tekton-mobile-toggle .hamburger-inner::before,
	.menu-toggle.tekton-mobile-toggle .hamburger-inner::after {
		content: "";
		display: block;
		transition-property: transform, top, bottom, opacity, width, left, height, margin;
	}

	.menu-toggle.tekton-mobile-toggle .hamburger-inner::before {
		top: calc(var(--tekton-toggle-bar-gap, 10px) * -1);
	}

	.menu-toggle.tekton-mobile-toggle .hamburger-inner::after {
		bottom: calc(var(--tekton-toggle-bar-gap, 10px) * -1);
	}

	/* ----- Resting icon shapes ----- */

	.tekton-toggle-style-slider .hamburger-inner {
		transform: translateX(calc(var(--tekton-toggle-box-width, 30px) * 0.12));
	}

	.tekton-toggle-style-squeeze .hamburger-inner::before {
		top: calc(var(--tekton-toggle-bar-gap, 10px) * -0.72);
	}

	.tekton-toggle-style-squeeze .hamburger-inner::after {
		bottom: calc(var(--tekton-toggle-bar-gap, 10px) * -0.72);
	}

	.tekton-toggle-style-collapse .hamburger-inner,
	.tekton-toggle-style-collapse .hamburger-inner::before,
	.tekton-toggle-style-collapse .hamburger-inner::after {
		width: 72%;
		left: 14%;
	}

	.tekton-toggle-style-elastic .hamburger-inner,
	.tekton-toggle-style-elastic .hamburger-inner::before,
	.tekton-toggle-style-elastic .hamburger-inner::after {
		transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
	}

	.tekton-toggle-style-minus .hamburger-inner {
		opacity: 0;
	}

	.tekton-toggle-style-minus .hamburger-inner::before {
		top: 0;
	}

	.tekton-toggle-style-minus .hamburger-inner::after {
		bottom: 0;
	}

	.tekton-toggle-style-dots .hamburger-inner,
	.tekton-toggle-style-dots .hamburger-inner::before,
	.tekton-toggle-style-dots .hamburger-inner::after {
		width: var(--tekton-toggle-dot-size, var(--tekton-toggle-bar-height, 5px));
		height: var(--tekton-toggle-dot-size, var(--tekton-toggle-bar-height, 5px));
		border-radius: 50%;
		left: 50%;
		margin-left: calc(var(--tekton-toggle-dot-size, var(--tekton-toggle-bar-height, 5px)) / -2);
	}

	.tekton-toggle-style-dots .hamburger-inner::before {
		top: calc(var(--tekton-toggle-bar-gap, 10px) * -1);
	}

	.tekton-toggle-style-dots .hamburger-inner::after {
		bottom: calc(var(--tekton-toggle-bar-gap, 10px) * -1);
	}

	.tekton-toggle-style-plus .hamburger-inner {
		opacity: 0;
	}

	.tekton-toggle-style-plus .hamburger-inner::before,
	.tekton-toggle-style-plus .hamburger-inner::after {
		top: 50%;
		bottom: auto;
		left: 0;
		margin-left: 0;
		margin-top: calc(var(--tekton-toggle-bar-height, 3px) / -2);
		opacity: 1;
	}

	.tekton-toggle-style-plus .hamburger-inner::after {
		transform: rotate(90deg);
	}

	/* ----- Open animations (aria-expanded="true" or .is-active) ----- */

	.tekton-toggle-active-spin[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-active-spin.is-active .hamburger-inner {
		transform: rotate(225deg);
		transition-delay: calc(var(--tekton-toggle-duration, 300ms) * 0.35);
		transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.tekton-toggle-active-spin[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-spin.is-active .hamburger-inner::before {
		top: 0;
		opacity: 0;
	}

	.tekton-toggle-active-spin[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-spin.is-active .hamburger-inner::after {
		bottom: 0;
		transform: rotate(-90deg);
	}

	.tekton-toggle-active-cross[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-active-cross.is-active .hamburger-inner {
		opacity: 0;
	}

	.tekton-toggle-active-cross[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-cross.is-active .hamburger-inner::before {
		top: 0;
		bottom: auto;
		width: var(--tekton-toggle-box-width, 30px);
		height: var(--tekton-toggle-bar-height, 3px);
		border-radius: var(--tekton-toggle-bar-radius, 3px);
		margin-left: 0;
		left: 0;
		opacity: 1;
		transform: rotate(45deg);
	}

	.tekton-toggle-active-cross[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-cross.is-active .hamburger-inner::after {
		top: 0;
		bottom: auto;
		width: var(--tekton-toggle-box-width, 30px);
		height: var(--tekton-toggle-bar-height, 3px);
		border-radius: var(--tekton-toggle-bar-radius, 3px);
		margin-left: 0;
		left: 0;
		opacity: 1;
		transform: rotate(-45deg);
	}

	.tekton-toggle-active-slide[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-active-slide.is-active .hamburger-inner {
		transform: translateX(calc(var(--tekton-toggle-box-width, 30px) * 0.35));
	}

	.tekton-toggle-active-slide[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-slide.is-active .hamburger-inner::before {
		top: 0;
		transform: translateX(calc(var(--tekton-toggle-box-width, 30px) * -0.7)) rotate(-45deg);
	}

	.tekton-toggle-active-slide[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-slide.is-active .hamburger-inner::after {
		bottom: 0;
		transform: translateX(calc(var(--tekton-toggle-box-width, 30px) * -0.7)) rotate(45deg);
	}

	.tekton-toggle-active-squeeze[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-active-squeeze.is-active .hamburger-inner {
		transform: rotate(45deg);
		transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	}

	.tekton-toggle-active-squeeze[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-squeeze.is-active .hamburger-inner::before {
		top: 0;
		opacity: 1;
	}

	.tekton-toggle-active-squeeze[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-squeeze.is-active .hamburger-inner::after {
		bottom: 0;
		transform: rotate(-90deg);
	}

	.tekton-toggle-active-elastic[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-active-elastic.is-active .hamburger-inner {
		transform: rotate(225deg);
		transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
	}

	.tekton-toggle-active-elastic[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-elastic.is-active .hamburger-inner::before {
		top: 0;
		opacity: 0;
	}

	.tekton-toggle-active-elastic[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-elastic.is-active .hamburger-inner::after {
		bottom: 0;
		transform: rotate(90deg);
		transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
	}

	.tekton-toggle-active-arrow[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-active-arrow.is-active .hamburger-inner {
		opacity: 0;
	}

	.tekton-toggle-active-arrow[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-arrow.is-active .hamburger-inner::before {
		top: 0;
		width: 60%;
		left: 20%;
		margin-left: 0;
		opacity: 1;
		transform: rotate(90deg);
	}

	.tekton-toggle-active-arrow[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-arrow.is-active .hamburger-inner::after {
		top: 0;
		bottom: auto;
		width: 60%;
		left: 20%;
		margin-left: 0;
		opacity: 1;
		transform: rotate(-90deg);
	}

	.tekton-toggle-active-rotate[aria-expanded="true"] .hamburger-box,
	.tekton-toggle-active-rotate.is-active .hamburger-box {
		transform: rotate(90deg);
	}

	.tekton-toggle-active-fade[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-fade[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-fade.is-active .hamburger-inner::before,
	.tekton-toggle-active-fade.is-active .hamburger-inner::after {
		opacity: 0.55;
	}

	.tekton-toggle-active-fade[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-active-fade.is-active .hamburger-inner {
		opacity: 1;
		transform: scaleX(0.55);
	}

	.tekton-toggle-active-merge[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-merge[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-merge.is-active .hamburger-inner::before,
	.tekton-toggle-active-merge.is-active .hamburger-inner::after {
		top: 0;
		bottom: auto;
	}

	.tekton-toggle-active-merge[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-active-merge.is-active .hamburger-inner {
		opacity: 1;
		transform: rotate(45deg);
	}

	.tekton-toggle-active-merge[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-active-merge.is-active .hamburger-inner::before {
		transform: rotate(0deg);
		opacity: 1;
	}

	.tekton-toggle-active-merge[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-active-merge.is-active .hamburger-inner::after {
		transform: rotate(90deg);
		opacity: 1;
	}

	/* Dots + open: restore bar geometry for X / spin / slide animations */
	.tekton-toggle-style-dots[aria-expanded="true"] .hamburger-inner::before,
	.tekton-toggle-style-dots[aria-expanded="true"] .hamburger-inner::after,
	.tekton-toggle-style-dots.is-active .hamburger-inner::before,
	.tekton-toggle-style-dots.is-active .hamburger-inner::after {
		width: var(--tekton-toggle-box-width, 30px);
		height: var(--tekton-toggle-bar-height, 3px);
		border-radius: var(--tekton-toggle-bar-radius, 3px);
		left: 0;
		margin-left: 0;
	}

	.tekton-toggle-style-dots.tekton-toggle-active-cross[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-style-dots.tekton-toggle-active-spin[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-style-dots.tekton-toggle-active-cross.is-active .hamburger-inner,
	.tekton-toggle-style-dots.tekton-toggle-active-spin.is-active .hamburger-inner {
		opacity: 0;
	}

	.tekton-toggle-style-plus.tekton-toggle-active-cross[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-style-plus.tekton-toggle-active-spin[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-style-minus.tekton-toggle-active-cross[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-style-minus.tekton-toggle-active-spin[aria-expanded="true"] .hamburger-inner,
	.tekton-toggle-style-plus.tekton-toggle-active-cross.is-active .hamburger-inner,
	.tekton-toggle-style-plus.tekton-toggle-active-spin.is-active .hamburger-inner,
	.tekton-toggle-style-minus.tekton-toggle-active-cross.is-active .hamburger-inner,
	.tekton-toggle-style-minus.tekton-toggle-active-spin.is-active .hamburger-inner {
		opacity: 0;
	}

	.site-header-row.site-header-mobile.tekton-header-shaped .mobile-toggle-wrapper,
	.site-header-row.site-header-mobile.tekton-header-shaped .menu-toggle.tekton-mobile-toggle {
		overflow: visible;
	}

	.mobile-toggle-wrapper {
		display: inline-flex;
		align-items: center;
		flex-shrink: 0;
	}

@media (prefers-reduced-motion: reduce) {
	.menu-toggle.tekton-mobile-toggle .hamburger-inner,
	.menu-toggle.tekton-mobile-toggle .hamburger-inner::before,
	.menu-toggle.tekton-mobile-toggle .hamburger-inner::after,
	.menu-toggle.tekton-mobile-toggle .hamburger-box {
		transition: none !important;
	}
}
