/* FLASK site chrome — Design Guide paper header (footer → flask-footer.css) */

.flask-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(246, 244, 240, 0.94) !important;
	--background-color: #f6f4f0 !important;
	background-color: #f6f4f0 !important;
	border-bottom: 1px solid rgba(28, 28, 28, 0.1) !important;
	backdrop-filter: blur(16px);
}

.flask-site-header .flask-site-logo,
.flask-site-header .flask-site-logo a,
.flask-site-header .flask-site-logo .elementor-heading-title {
	text-decoration: none;
	color: #1c1c1c !important;
	font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace !important;
	font-weight: 300 !important;
	letter-spacing: -0.04em !important;
}

.flask-site-nav .elementor-button {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: #6a6963 !important;
	font-family: Inter, system-ui, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

.flask-site-nav .elementor-button:hover,
.flask-site-nav .elementor-button:focus {
	background: rgba(47, 75, 72, 0.08) !important;
	color: #1c1c1c !important;
}

.flask-header-cta .elementor-button {
	background: #1c1c1c !important;
	color: #f6f4f0 !important;
	border: none !important;
	border-radius: 2px !important;
	font-family: Inter, system-ui, sans-serif !important;
	font-size: 13px !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	font-weight: 500 !important;
	transition: background 0.15s ease;
}

.flask-header-cta .elementor-button:hover {
	background: #2f4b48 !important;
	transform: none;
}

/* Mobile dropdown toggle: text "MENU" instead of hamburger icon */
@media (max-width: 1024px) {
	.flask-site-header .elementor-nav-menu--dropdown-tablet.elementor-nav-menu--burger .elementor-menu-toggle {
		width: auto !important;
		min-width: 0 !important;
		height: auto !important;
		padding: 8px 0 !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		color: #1c1c1c !important;
		cursor: pointer;
	}

	.flask-site-header .elementor-nav-menu--dropdown-tablet.elementor-nav-menu--burger .elementor-menu-toggle .elementor-menu-toggle__icon--open,
	.flask-site-header .elementor-nav-menu--dropdown-tablet.elementor-nav-menu--burger .elementor-menu-toggle .elementor-menu-toggle__icon--close,
	.flask-site-header .elementor-nav-menu--dropdown-tablet.elementor-nav-menu--burger .elementor-menu-toggle i,
	.flask-site-header .elementor-nav-menu--dropdown-tablet.elementor-nav-menu--burger .elementor-menu-toggle svg {
		display: none !important;
	}

	.flask-site-header .elementor-nav-menu--dropdown-tablet.elementor-nav-menu--burger .elementor-menu-toggle::after {
		content: "MENU";
		font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
		font-size: 16px;
		font-weight: 400;
		line-height: 1;
		color: #1c1c1a;
	}

	.flask-site-header .elementor-nav-menu--dropdown-tablet.elementor-nav-menu--burger .elementor-menu-toggle.elementor-active::after {
		content: "CLOSE";
	}
}

@media (max-width: 767px) {
	.flask-site-header .elementor-nav-menu--dropdown-mobile.elementor-nav-menu--burger .elementor-menu-toggle {
		width: auto !important;
		min-width: 0 !important;
		height: auto !important;
		padding: 8px 0 !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		color: #1c1c1c !important;
		cursor: pointer;
	}

	.flask-site-header .elementor-nav-menu--dropdown-tablet.elementor-nav-menu--burger .elementor-menu-toggle::after {
		font-size: 12px;
	}

	.flask-site-header .elementor-nav-menu--dropdown-mobile.elementor-nav-menu--burger .elementor-menu-toggle .elementor-menu-toggle__icon--open,
	.flask-site-header .elementor-nav-menu--dropdown-mobile.elementor-nav-menu--burger .elementor-menu-toggle .elementor-menu-toggle__icon--close,
	.flask-site-header .elementor-nav-menu--dropdown-mobile.elementor-nav-menu--burger .elementor-menu-toggle i,
	.flask-site-header .elementor-nav-menu--dropdown-mobile.elementor-nav-menu--burger .elementor-menu-toggle svg {
		display: none !important;
	}

	.flask-site-header .elementor-nav-menu--dropdown-mobile.elementor-nav-menu--burger .elementor-menu-toggle::after {
		content: "MENU";
		font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
		font-size: 16px;
		font-weight: 400;
		line-height: 1;
		color: #1c1c1c;
	}

	.flask-site-header .elementor-nav-menu--dropdown-mobile.elementor-nav-menu--burger .elementor-menu-toggle.elementor-active::after {
		content: "CLOSE";
	}
}

@media (max-width: 767px) {
	.flask-site-header .e-con {
		flex-wrap: wrap;
		gap: 12px;
	}

	.flask-site-nav {
		order: 3;
		width: 100% !important;
		justify-content: flex-start !important;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.flask-site-nav::-webkit-scrollbar {
		display: none;
	}
}

/* Header search — desktop: icon + dropdown; mobile/tablet: SEARCH text + viewport-centered panel */
.flask-header-search-panel[hidden],
.flask-header-search-backdrop[hidden] {
	display: none !important;
}

.flask-header-search-form {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.flask-header-search-form__input {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #1c1c1a;
	border-radius: 0;
	background: #ffffff;
	color: #1c1c1a;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 12px;
	line-height: 16px;
	outline: none;
}

.flask-header-search-form__input::placeholder {
	color: #6b6862;
}

.flask-header-search-form__submit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #1c1c1a;
	border-radius: 2px;
	background: #1c1c1a;
	color: #f2f0eb;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
}

.flask-header-search-form__submit:hover,
.flask-header-search-form__submit:focus-visible {
	background: #2e4b4a;
	border-color: #2e4b4a;
}

/* Mobile / tablet: restore centered logo; SEARCH text; panel centered on viewport */
@media (max-width: 1024px) {
	.flask-site-header > .e-con-boxed > .e-con-inner,
	.flask-site-header > .e-con > .e-con-inner {
		position: relative !important;
	}

	.flask-site-header > .e-con-boxed > .e-con-inner > .elementor-widget-heading,
	.flask-site-header > .e-con > .e-con-inner > .elementor-widget-heading,
	.flask-site-header .flask-site-logo {
		position: absolute !important;
		left: 50% !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
		z-index: 2;
		margin: 0 !important;
		width: auto !important;
	}

	.flask-site-header .flask-hdr-search {
		position: static !important;
		margin-left: 0 !important;
	}

	.flask-site-header .flask-header-search__trigger {
		cursor: pointer;
		text-decoration: none;
	}

	.flask-site-header .flask-header-search__trigger .flask-header-search__icon {
		display: none !important;
	}

	.flask-header-search-backdrop {
		position: fixed;
		inset: 0;
		z-index: 100000;
		background: rgba(28, 28, 26, 0.35);
	}

	.flask-header-search-panel {
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		right: auto !important;
		z-index: 100001;
		width: calc(100% - 65px);
		max-width: 360px;
		min-width: 0;
		padding: 16px;
		transform: translate(-50%, -50%) !important;
		background: #f2f0eb;
		border: 1px solid #1c1c1a;
		box-shadow: 0 8px 24px rgba(28, 28, 26, 0.12);
	}

	body.flask-header-search-open {
		overflow: hidden;
	}
}

/* Desktop only: magnifier icon + dropdown near trigger (JS positions panel on body) */
@media (min-width: 1025px) {
	.flask-site-header .flask-hdr-search p {
		margin: 0 !important;
	}

	.flask-site-header .flask-header-search__trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 18px;
		height: 19px;
		padding: 4px;
		text-decoration: none !important;
		color: #1c1c1a !important;
		line-height: 0;
		cursor: pointer;
	}

	.flask-site-header .flask-header-search__trigger .flask-header-search__icon {
		display: block;
		width: 20px;
		height: 20px;
		flex-shrink: 0;
	}

	.flask-site-header .flask-header-search__trigger .flask-header-search__icon circle,
	.flask-site-header .flask-header-search__trigger .flask-header-search__icon line {
		stroke: currentColor;
		fill: none;
		stroke-width: 1;
		vector-effect: non-scaling-stroke;
	}

	.flask-header-search-panel {
		z-index: 100001;
		min-width: 280px;
		padding: 12px;
		background: #f2f0eb;
		border: 1px solid #1c1c1a;
		box-shadow: 0 8px 24px rgba(28, 28, 26, 0.08);
	}

	.flask-header-search-backdrop {
		display: none !important;
	}
}

