/* Flushline One Product Shop — refined editorial storefront */
:root {
	--fl-bg: #f4f1ec;
	--fl-surface: #fbfaf7;
	--fl-surface-2: #ebe6de;
	--fl-white: #ffffff;
	--fl-ink: #242321;
	--fl-muted: #706b64;
	--fl-soft: #918a81;
	--fl-line: #d8d1c7;
	--fl-line-dark: #bdb4a8;
	--fl-accent: #a58b6d;
	--fl-accent-dark: #765f48;
	--fl-dark: #1f1f1d;
	--fl-serif: "Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--fl-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
	--fl-container: 1320px;
	--fl-narrow: 930px;
	--fl-header-main: 84px;
	--fl-header-nav: 52px;
	--fl-shadow: 0 28px 90px rgba(39, 35, 30, 0.09);
	--fl-shadow-soft: 0 18px 55px rgba(39, 35, 30, 0.065);
}

html { scroll-behavior: smooth; }
body.flushline-shop {
	margin: 0;
	background: var(--fl-bg);
	color: var(--fl-ink);
	font-family: var(--fl-sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.flushline-shop *,
body.flushline-shop *::before,
body.flushline-shop *::after { box-sizing: border-box; }
body.flushline-shop #site-header,
body.flushline-shop #site-footer,
body.flushline-shop .site-header,
body.flushline-shop .site-footer,
body.flushline-shop .page-header { display: none !important; }
body.flushline-shop #flushline-header,
body.flushline-shop #flushline-footer { display: block !important; }
body.flushline-shop main.site-main,
body.flushline-shop .site-main { width: 100%; max-width: none; padding: 0; }
body.flushline-shop a { color: inherit; }
body.flushline-shop img { max-width: 100%; }
body.flushline-shop p { margin: 0 0 1.35em; }
body.flushline-shop p:last-child { margin-bottom: 0; }
body.flushline-shop ul,
body.flushline-shop ol { margin-top: 0; }

body.flushline-shop h1,
body.flushline-shop h2,
body.flushline-shop h3,
body.flushline-shop h4,
body.flushline-shop .elementor-heading-title {
	margin: 0 0 .42em;
	color: var(--fl-ink);
	font-family: var(--fl-serif);
	font-weight: 400;
	letter-spacing: -.032em;
	line-height: .99;
}
body.flushline-shop h1,
body.flushline-shop .elementor-widget-heading h1.elementor-heading-title {
	font-size: clamp(3.35rem, 5.7vw, 6.7rem);
}
body.flushline-shop h2,
body.flushline-shop .elementor-widget-heading h2.elementor-heading-title {
	font-size: clamp(2.5rem, 4.2vw, 5rem);
}
body.flushline-shop h3,
body.flushline-shop .elementor-widget-heading h3.elementor-heading-title {
	font-size: clamp(1.45rem, 2vw, 2.15rem);
	line-height: 1.08;
}
body.flushline-shop h4 { font-size: 1.25rem; }
body.flushline-shop strong { font-weight: 600; }
body.flushline-shop .elementor-section.elementor-section-boxed > .elementor-container {
	width: min(calc(100% - 64px), var(--fl-container));
	max-width: var(--fl-container);
}
body.flushline-shop .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
body.flushline-shop .elementor-column-gap-extended > .elementor-column > .elementor-element-populated {
	padding: 20px;
}
.flushline-template-main { min-height: 54vh; overflow: hidden; }

.fl-eyebrow {
	margin: 0 0 22px !important;
	color: var(--fl-accent-dark);
	font-family: var(--fl-sans);
	font-size: .69rem;
	font-weight: 600;
	letter-spacing: .23em;
	line-height: 1.35;
	text-transform: uppercase;
}
.fl-eyebrow-light { color: rgba(255,255,255,.9); }
.fl-lead {
	max-width: 820px;
	font-family: var(--fl-serif);
	font-size: clamp(1.45rem, 2.15vw, 2.15rem);
	letter-spacing: -.018em;
	line-height: 1.42;
}
.fl-small-note,
.fl-microcopy,
.fl-form-help {
	color: var(--fl-muted);
	font-size: .84rem;
	line-height: 1.65;
}
.fl-note {
	margin: 30px 0;
	padding: 22px 24px;
	border-left: 2px solid var(--fl-accent);
	background: #eee9e1;
	font-size: .93rem;
}
.fl-check-list {
	display: grid;
	gap: 11px;
	margin: 26px 0 32px;
	padding: 0;
	list-style: none;
}
.fl-check-list li {
	position: relative;
	padding-left: 28px;
	color: var(--fl-muted);
}
.fl-check-list li::before {
	position: absolute;
	top: .63em;
	left: 0;
	width: 14px;
	height: 1px;
	background: var(--fl-accent-dark);
	content: "";
}
.fl-inline-link,
.fl-btn-text .elementor-button,
.fl-btn-link .elementor-button {
	display: inline-flex !important;
	align-items: center;
	min-height: 30px;
	padding: 0 0 5px !important;
	border: 0 !important;
	border-bottom: 1px solid currentColor !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--fl-ink) !important;
	font-family: var(--fl-sans) !important;
	font-size: .72rem !important;
	font-weight: 600 !important;
	letter-spacing: .16em !important;
	text-decoration: none !important;
	text-transform: uppercase;
}
.fl-button,
.fl-btn-primary .elementor-button,
button.fl-btn-primary,
a.fl-btn-primary,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 15px 27px;
	border: 1px solid var(--fl-dark) !important;
	border-radius: 0 !important;
	background: var(--fl-dark) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: var(--fl-sans) !important;
	font-size: .7rem !important;
	font-weight: 600 !important;
	letter-spacing: .15em;
	line-height: 1.2;
	text-decoration: none !important;
	text-transform: uppercase;
	cursor: pointer;
}
.fl-button:hover,
.fl-btn-primary .elementor-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	border-color: var(--fl-accent-dark) !important;
	background: var(--fl-accent-dark) !important;
	color: #fff !important;
}
.fl-button:focus-visible,
.fl-mobile-menu-toggle:focus-visible,
.fl-product-thumb:focus-visible,
body.flushline-shop a:focus-visible,
body.flushline-shop button:focus-visible,
body.flushline-shop input:focus-visible,
body.flushline-shop select:focus-visible,
body.flushline-shop textarea:focus-visible {
	outline: 2px solid var(--fl-accent-dark);
	outline-offset: 3px;
}

/* Header */
.flushline-site-header {
	position: sticky;
	z-index: 9990;
	top: 0;
	width: 100%;
	border-bottom: 1px solid var(--fl-line);
	background: rgba(251,250,247,.98);
}
.admin-bar .flushline-site-header { top: 32px; }
.fl-header-main { border-bottom: 1px solid var(--fl-line); }
.fl-header-main > .elementor-container {
	min-height: var(--fl-header-main);
	align-items: center;
}
.fl-header-main .elementor-column > .elementor-element-populated {
	display: flex;
	min-height: var(--fl-header-main);
	align-items: center;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}
.fl-header-left .elementor-element-populated { justify-content: flex-start; gap: 18px; }
.fl-header-center .elementor-element-populated { justify-content: center; }
.fl-header-right .elementor-element-populated { justify-content: flex-end; gap: 22px; }
.fl-header-right .elementor-widget,
.fl-header-left .elementor-widget { width: auto; margin: 0 !important; }
.fl-logo { width: min(100%, 360px); margin: 0 auto !important; }
.fl-logo img {
	display: block;
	width: 100%;
	max-height: 38px;
	object-fit: contain;
}
.fl-mobile-menu-toggle {
	display: none;
	align-items: center;
	gap: 11px;
	padding: 10px 0;
	border: 0;
	background: transparent;
	color: var(--fl-ink);
	font: inherit;
	font-size: .69rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	cursor: pointer;
}
.fl-menu-lines { display: grid; gap: 5px; width: 21px; }
.fl-menu-lines i { display: block; height: 1px; background: currentColor; }
.fl-cart-link {
	position: relative;
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
.fl-cart-icon {
	display: block;
	width: 18px;
	height: 16px;
	border: 1px solid currentColor;
	border-top: 0;
}
.fl-cart-icon::before {
	display: block;
	width: 8px;
	height: 7px;
	margin: -6px auto 0;
	border: 1px solid currentColor;
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
	content: "";
}
.fl-cart-count {
	position: absolute;
	top: -2px;
	right: -2px;
	display: grid;
	width: 17px;
	height: 17px;
	place-items: center;
	border-radius: 50%;
	background: var(--fl-dark);
	color: #fff;
	font-size: 9px;
	line-height: 1;
}
.fl-header-nav-section > .elementor-container { min-height: var(--fl-header-nav); }
.fl-header-nav-section .elementor-element-populated { padding: 0 24px !important; }
.fl-main-menu {
	display: flex;
	justify-content: center;
	gap: clamp(24px, 3.9vw, 58px);
	margin: 0;
	padding: 0;
	list-style: none;
}
.fl-main-menu a {
	display: block;
	padding: 17px 0 14px;
	border-bottom: 1px solid transparent;
	font-family: var(--fl-serif);
	font-size: .88rem;
	letter-spacing: .075em;
	text-decoration: none;
	text-transform: uppercase;
}
.fl-main-menu .current-menu-item > a,
.fl-main-menu a:hover { border-color: var(--fl-ink); }
.fl-header-quote .elementor-button { white-space: nowrap; }
.fl-header-product-link .elementor-button { white-space: nowrap; }

/* Shared sections */
.fl-intro-section,
.fl-content-section,
.fl-feature-grid,
.fl-split-section,
.fl-centered-cta,
.fl-page-hero,
.fl-shop-grid-section,
.fl-gallery-section,
.fl-image-section,
.fl-blog-section,
.fl-faq-section,
.fl-quote-section,
.fl-product-section,
.fl-section-heading,
.fl-application-cards,
.fl-process-section,
.fl-comparison-section,
.fl-checklist-section,
.fl-topic-grid-section,
.fl-contact-form-section {
	padding: clamp(82px, 8vw, 132px) 0;
}
.fl-intro-section > .elementor-container,
.fl-process-section > .elementor-container,
.fl-comparison-section > .elementor-container,
.fl-checklist-section > .elementor-container,
.fl-contact-form-section > .elementor-container { align-items: flex-start; }
.fl-intro-section .elementor-column:first-child,
.fl-section-heading .elementor-column:first-child { padding-right: clamp(20px, 4vw, 64px); }
.fl-muted-section { background: var(--fl-surface-2); }
.fl-section-heading { padding-bottom: 45px; }
.fl-section-heading .elementor-container { max-width: 940px !important; }
.fl-section-heading .fl-lead { max-width: 780px; }

/* Home hero */
.fl-hero { position: relative; isolation: isolate; min-height: 720px; }
.fl-hero::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	background: linear-gradient(90deg, rgba(24,22,20,.78) 0%, rgba(24,22,20,.48) 43%, rgba(24,22,20,.12) 76%);
	content: "";
}
.fl-hero::after {
	position: absolute;
	z-index: 0;
	right: 26px;
	bottom: 22px;
	color: rgba(255,255,255,.8);
	font-size: .62rem;
	letter-spacing: .17em;
	text-transform: uppercase;
	content: "Flushline / integrated ventilation";
}
.fl-hero .elementor-container { position: relative; z-index: 1; }
.fl-hero .elementor-element-populated {
	display: flex;
	min-height: max(720px, 82vh);
	justify-content: center;
	padding-top: 110px !important;
	padding-bottom: 110px !important;
}
.fl-hero-content { max-width: 820px; }
.fl-hero-title,
.fl-hero-title .elementor-heading-title {
	max-width: 900px;
	color: #fff !important;
	font-size: clamp(4.5rem, 7.2vw, 8.4rem) !important;
	line-height: .91 !important;
}
.fl-hero-copy {
	max-width: 660px;
	color: rgba(255,255,255,.92);
	font-family: var(--fl-serif);
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	line-height: 1.45;
}
.fl-hero-button { display: inline-block; margin-top: 26px; margin-right: 24px; }
.fl-hero-button .elementor-button {
	border-color: #fff !important;
	background: #fff !important;
	color: var(--fl-ink) !important;
}
.fl-hero-secondary { display: inline-block; }
.fl-hero-secondary .elementor-button { color: #fff !important; }

/* Uniform inner-page hero */
.fl-page-hero {
	padding: 0;
	border-bottom: 1px solid var(--fl-line);
	background: var(--fl-surface);
}
.fl-page-hero > .elementor-container {
	width: min(100%, 1600px) !important;
	max-width: 1600px !important;
	min-height: 570px;
	align-items: stretch;
}
.fl-page-hero .fl-col-content > .elementor-element-populated {
	display: flex;
	height: 100%;
	min-height: 570px;
	justify-content: center;
	padding: clamp(54px, 6.4vw, 104px) !important;
}
.fl-page-hero .fl-col-image > .elementor-element-populated {
	height: 100%;
	min-height: 570px;
	padding: 0 !important;
}
.fl-page-hero h1,
.fl-page-hero .elementor-heading-title { max-width: 760px; }
.fl-page-hero .fl-lead { max-width: 700px; }
.fl-page-hero-image,
.fl-page-hero-image .elementor-widget-container,
.fl-page-hero-image img { width: 100%; height: 100%; }
.fl-page-hero-image img { display: block; min-height: 570px; object-fit: cover; }

/* Split editorial */
.fl-split-section { padding: 0; }
.fl-split-section > .elementor-container {
	width: min(100%, 1600px) !important;
	max-width: 1600px !important;
	align-items: stretch;
}
.fl-split-section .fl-col-content > .elementor-element-populated {
	display: flex;
	height: 100%;
	min-height: 650px;
	justify-content: center;
	padding: clamp(58px, 6.2vw, 104px) !important;
}
.fl-split-section .fl-col-image > .elementor-element-populated { height: 100%; padding: 0 !important; }
.fl-editorial-image,
.fl-editorial-image .elementor-widget-container,
.fl-editorial-image img { width: 100%; height: 100%; }
.fl-editorial-image img {
	display: block;
	min-height: 650px;
	object-fit: cover;
}
.fl-wide-image img {
	display: block;
	width: 100%;
	max-height: 820px;
	object-fit: cover;
}
.fl-product-teaser-section { background: var(--fl-surface); }

/* Feature grid */
.fl-feature-grid {
	padding-top: 0;
	padding-bottom: 0;
	border-top: 1px solid var(--fl-line);
	border-bottom: 1px solid var(--fl-line);
	background: var(--fl-surface);
}
.fl-feature-grid > .elementor-container { width: min(100%, 1600px) !important; max-width: 1600px !important; gap: 0; }
.fl-feature-card > .elementor-element-populated {
	height: 100%;
	min-height: 260px;
	padding: 44px 42px !important;
	border-left: 1px solid var(--fl-line);
}
.fl-feature-card:first-child > .elementor-element-populated { border-left: 0; }
.fl-feature-card > .elementor-element-populated > .elementor-widget-heading:first-child .elementor-heading-title {
	color: var(--fl-accent);
	font-family: var(--fl-sans);
	font-size: .69rem;
	font-weight: 600;
	letter-spacing: .17em;
}
.fl-feature-card h3 { margin-bottom: 13px; }
.fl-feature-card p { color: var(--fl-muted); font-size: .93rem; }

/* Image application cards */
.fl-application-cards { padding-top: 0; }
.fl-application-cards > .elementor-container { gap: 26px; }
.fl-image-card-column > .elementor-element-populated {
	height: 100%;
	padding: 0 !important;
	border: 1px solid var(--fl-line);
	background: var(--fl-surface);
}
.fl-card-image,
.fl-card-image .elementor-widget-container { height: 100%; }
.fl-card-image img {
	display: block;
	width: 100%;
	height: 470px;
	object-fit: cover;
}
.fl-image-card-copy { padding: clamp(32px, 4vw, 56px); }
.fl-image-card-copy h2 { font-size: clamp(2.2rem, 3.4vw, 4rem); }
.fl-image-card-copy p { color: var(--fl-muted); }
.fl-application-cards-detailed .fl-card-image img { height: 520px; }

/* Process and check grids */
.fl-process-section { background: var(--fl-surface); }
.fl-process-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	border-top: 1px solid var(--fl-line);
	border-left: 1px solid var(--fl-line);
}
.fl-process-grid article {
	min-height: 225px;
	padding: 34px 34px 38px;
	border-right: 1px solid var(--fl-line);
	border-bottom: 1px solid var(--fl-line);
}
.fl-process-grid article > span,
.fl-topic-card > span {
	display: block;
	margin-bottom: 36px;
	color: var(--fl-accent-dark);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .17em;
}
.fl-process-grid h3 { margin-bottom: 12px; }
.fl-process-grid p { color: var(--fl-muted); font-size: .92rem; }
.fl-process-grid-wide { grid-template-columns: repeat(4, minmax(0,1fr)); }
.fl-process-section-centered .elementor-container { max-width: 1180px !important; }
.fl-process-section-centered .elementor-widget-heading,
.fl-process-section-centered .elementor-widget-text-editor:first-child { text-align: center; }
.fl-process-section-centered h2 { max-width: 900px; margin-right: auto; margin-left: auto; }
.fl-check-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 18px;
}
.fl-check-grid article {
	min-height: 190px;
	padding: 28px;
	border: 1px solid var(--fl-line);
	background: var(--fl-surface);
}
.fl-check-grid p { color: var(--fl-muted); font-size: .9rem; }

/* Comparison table */
.fl-comparison-section { background: var(--fl-surface-2); }
.fl-comparison-table { border-top: 1px solid var(--fl-line-dark); }
.fl-comparison-table > div {
	display: grid;
	grid-template-columns: 1.45fr 1fr 1fr;
	gap: 16px;
	padding: 18px 0;
	border-bottom: 1px solid var(--fl-line-dark);
	font-size: .9rem;
}
.fl-comparison-table > div span { color: var(--fl-muted); }
.fl-comparison-table > div strong { font-weight: 500; }
.fl-comparison-head { font-size: .7rem !important; letter-spacing: .12em; text-transform: uppercase; }

/* Page body and legal content */
.fl-content-section > .elementor-container { align-items: flex-start; }
.fl-page-content-grid .fl-page-main-copy > .elementor-element-populated { padding-right: clamp(30px, 5vw, 78px) !important; }
.fl-page-sidebar-col > .elementor-element-populated { position: sticky; top: 175px; }
.fl-side-card {
	padding: clamp(30px, 4vw, 48px);
	border: 1px solid var(--fl-line);
	background: var(--fl-surface);
	box-shadow: var(--fl-shadow-soft);
}
.fl-side-card h3 { font-size: clamp(1.8rem, 2.5vw, 2.7rem); }
.fl-side-card p { color: var(--fl-muted); }
.fl-legal-content,
.fl-rich-copy { font-size: 1rem; }
.fl-legal-content h2,
.fl-rich-copy h2 {
	margin-top: 58px;
	font-size: clamp(2rem, 3vw, 3.3rem);
}
.fl-legal-content h2:first-child,
.fl-rich-copy h2:first-child { margin-top: 0; }
.fl-legal-content h3,
.fl-rich-copy h3 { margin-top: 38px; }
.fl-legal-content p,
.fl-rich-copy p { max-width: 820px; color: #4c4944; }
.fl-legal-content li,
.fl-rich-copy li { margin-bottom: 8px; color: #4c4944; }
.fl-two-column-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; margin-bottom: 55px; }
.fl-page-visuals { padding-top: 0; }
.fl-page-visuals > .elementor-container { gap: 22px; }
.fl-image-card img { display: block; width: 100%; min-height: 480px; object-fit: cover; }
.fl-about-company-section .fl-company-details { color: var(--fl-ink); font-size: 1rem; line-height: 1.9; }

/* CTA */
.fl-centered-cta {
	background: var(--fl-dark);
	color: #fff;
	text-align: center;
}
.fl-centered-cta .elementor-heading-title,
.fl-centered-cta h2,
.fl-centered-cta .fl-eyebrow { color: #fff !important; }
.fl-centered-cta p { max-width: 720px; margin-right: auto; margin-left: auto; color: rgba(255,255,255,.74); }
.fl-centered-cta .elementor-button {
	border-color: #fff !important;
	background: #fff !important;
	color: var(--fl-dark) !important;
}
.fl-centered-cta-soft { background: #dcd5cb; color: var(--fl-ink); }
.fl-centered-cta-soft .elementor-heading-title,
.fl-centered-cta-soft h2,
.fl-centered-cta-soft .fl-eyebrow { color: var(--fl-ink) !important; }
.fl-centered-cta-soft p { color: var(--fl-muted); }
.fl-centered-cta-soft .elementor-button { border-color: var(--fl-dark) !important; background: var(--fl-dark) !important; color: #fff !important; }

/* Product and shop */
.fl-product-section { background: var(--fl-surface); }
.fl-product-module {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
	gap: clamp(54px, 7vw, 110px);
	align-items: start;
}
.fl-product-gallery-main {
	position: relative;
	overflow: hidden;
	background: #e8e3da;
}
.fl-product-gallery-main img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1.12;
	object-fit: cover;
}
.fl-gallery-label,
.fl-shop-image-caption {
	position: absolute;
	right: 18px;
	bottom: 16px;
	padding: 7px 10px;
	background: rgba(251,250,247,.86);
	color: var(--fl-ink);
	font-size: .57rem;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.fl-product-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-top: 10px;
}
.fl-product-thumb {
	padding: 0;
	border: 1px solid transparent;
	background: none;
	cursor: pointer;
}
.fl-product-thumb.is-active { border-color: var(--fl-ink); }
.fl-product-thumb img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.fl-product-summary { position: sticky; top: 165px; padding-top: 4px; }
.admin-bar .fl-product-summary { top: 197px; }
.fl-product-meta-line { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.fl-product-meta-line > span { color: var(--fl-muted); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.fl-product-summary h1 { margin-bottom: 26px; font-size: clamp(3.35rem, 4.8vw, 5.7rem); }
.fl-product-short { max-width: 610px; color: var(--fl-muted); font-size: 1rem; }
.fl-product-placement {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 28px 0 24px;
}
.fl-product-placement > div {
	display: grid;
	gap: 4px;
	padding: 18px;
	border: 1px solid var(--fl-line);
	background: rgba(255,255,255,.44);
}
.fl-product-placement span { color: var(--fl-accent-dark); font-size: .62rem; letter-spacing: .15em; }
.fl-product-placement strong { font-family: var(--fl-serif); font-size: 1.12rem; font-weight: 500; }
.fl-product-placement small { color: var(--fl-muted); font-size: .74rem; line-height: 1.45; }
.fl-product-highlights { display: flex; flex-wrap: wrap; gap: 7px; margin: 24px 0; }
.fl-product-highlights span {
	padding: 7px 11px;
	border: 1px solid var(--fl-line);
	font-size: .63rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.fl-product-price { margin: 25px 0; font-family: var(--fl-serif); font-size: 2.1rem; }
.fl-microcopy { max-width: 570px; margin-top: 17px !important; }
.fl-specification-list { margin-top: 34px; border-top: 1px solid var(--fl-line); }
.fl-specification-list > div {
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	gap: 20px;
	padding: 14px 0;
	border-bottom: 1px solid var(--fl-line);
	font-size: .83rem;
}
.fl-specification-list span { color: var(--fl-muted); }
.fl-specification-list strong { font-weight: 500; text-align: right; }
.fl-product-details { margin-top: 0; border-bottom: 1px solid var(--fl-line); }
.fl-product-details summary {
	position: relative;
	padding: 18px 30px 18px 0;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}
.fl-product-details summary::-webkit-details-marker { display: none; }
.fl-product-details summary::after { position: absolute; right: 3px; content: "+"; font-size: 1.1rem; }
.fl-product-details[open] summary::after { content: "−"; }
.fl-product-details > div { padding: 2px 0 28px; color: var(--fl-muted); font-size: .92rem; }
.fl-product-details h2 { margin-top: 34px; font-size: 2rem; }
.fl-product-details h2:first-child { margin-top: 0; }

.fl-shop-grid-section { background: var(--fl-bg); }
.fl-shop-card {
	display: grid;
	grid-template-columns: 1.08fr .92fr;
	border: 1px solid var(--fl-line);
	background: var(--fl-surface);
	box-shadow: var(--fl-shadow);
}
.fl-shop-card-image { position: relative; display: block; min-height: 720px; overflow: hidden; background: #e7e2da; }
.fl-shop-product-image { display: block; width: 100%; height: 100%; min-height: 720px; object-fit: cover; }
.fl-shop-card-content { display: flex; flex-direction: column; justify-content: center; padding: clamp(50px, 6vw, 92px); }
.fl-shop-card-content h2 { font-size: clamp(2.9rem, 4vw, 4.9rem); }
.fl-shop-card-content h2 a { text-decoration: none; }
.fl-shop-card-lead { color: var(--fl-muted); }
.fl-shop-card-features { margin-top: 26px; border-top: 1px solid var(--fl-line); }
.fl-shop-card-features > div {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 5px 14px;
	padding: 17px 0;
	border-bottom: 1px solid var(--fl-line);
}
.fl-shop-card-features span { grid-row: 1 / 3; color: var(--fl-accent-dark); font-size: .63rem; letter-spacing: .13em; }
.fl-shop-card-features strong { font-family: var(--fl-serif); font-size: 1.08rem; font-weight: 500; }
.fl-shop-card-features small { color: var(--fl-muted); font-size: .77rem; }
.fl-shop-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 34px; }
.fl-shop-price { font-family: var(--fl-serif); font-size: 1.7rem; }

/* Forms */
.fl-quote-section { background: var(--fl-surface-2); }
.fl-quote-section > .elementor-container,
.fl-contact-form-section > .elementor-container { align-items: center; }
.fl-form-column > .elementor-element-populated {
	padding: clamp(36px, 5vw, 70px) !important;
	border: 1px solid var(--fl-line);
	background: var(--fl-surface);
	box-shadow: var(--fl-shadow);
}
.fl-form label {
	display: block;
	margin-bottom: 19px;
	color: var(--fl-ink);
	font-size: .79rem;
	font-weight: 600;
	letter-spacing: .025em;
}
.fl-form label > span:first-child { display: block; margin-bottom: 8px; }
.fl-form input,
.fl-form select,
.fl-form textarea {
	width: 100%;
	min-height: 53px;
	padding: 13px 14px;
	border: 1px solid var(--fl-line);
	border-radius: 0;
	background: #fff;
	color: var(--fl-ink);
	font: inherit;
	font-size: .92rem;
}
.fl-form textarea { min-height: 150px; resize: vertical; }
.fl-form input:focus,
.fl-form select:focus,
.fl-form textarea:focus { border-color: var(--fl-accent-dark); outline: none; }
.fl-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.fl-checkbox { display: flex !important; gap: 11px; align-items: flex-start; font-weight: 400 !important; letter-spacing: normal !important; }
.fl-checkbox input { width: 17px; min-height: 17px; margin-top: 4px; flex: 0 0 17px; }
.fl-checkbox span { margin: 0 !important; }
.fl-form-message { margin-bottom: 22px; padding: 15px 18px; border: 1px solid; }
.fl-form-message.is-success { border-color: #56775d; background: #eaf1eb; }
.fl-form-message.is-error { border-color: #9f5c5c; background: #f7eaea; }
.fl-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* FAQ, topics and blog */
.fl-faq-section > .elementor-container { max-width: 980px !important; }
.fl-accordion { border-top: 1px solid var(--fl-line); }
.fl-accordion details { border-bottom: 1px solid var(--fl-line); }
.fl-accordion summary {
	position: relative;
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 12px;
	padding: 26px 55px 26px 0;
	font-family: var(--fl-serif);
	font-size: clamp(1.25rem, 1.8vw, 1.7rem);
	line-height: 1.25;
	cursor: pointer;
	list-style: none;
}
.fl-accordion summary > span { padding-top: 4px; color: var(--fl-accent-dark); font-family: var(--fl-sans); font-size: .65rem; font-weight: 600; letter-spacing: .14em; }
.fl-accordion summary::-webkit-details-marker { display: none; }
.fl-accordion summary::after { position: absolute; top: 25px; right: 4px; content: "+"; font-family: var(--fl-sans); font-size: 1.35rem; font-weight: 300; }
.fl-accordion details[open] summary::after { content: "−"; }
.fl-accordion details > div { max-width: 800px; padding: 0 0 30px 64px; color: var(--fl-muted); }
.fl-topic-grid-section { padding-top: 0; }
.fl-topic-grid-section > .elementor-container { gap: 16px; }
.fl-topic-card {
	height: 100%;
	min-height: 230px;
	padding: 30px;
	border: 1px solid var(--fl-line);
	background: var(--fl-surface);
}
.fl-topic-card p { color: var(--fl-muted); font-size: .9rem; }
.fl-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fl-blog-card { min-height: 100%; overflow: hidden; border: 1px solid var(--fl-line); background: var(--fl-surface); }
.fl-blog-card-media { display: block; overflow: hidden; border-bottom: 1px solid var(--fl-line); }
.fl-blog-card-image { display: block; width: 100%; height: 260px; object-fit: cover; }
.fl-blog-card-body { padding: 34px; }
.fl-blog-card h2 { margin-bottom: 18px; font-size: clamp(1.8rem, 2.3vw, 2.65rem); line-height: 1.06; }
.fl-blog-card h2 a { text-decoration: none; }
.fl-blog-card-body > p:not(.fl-eyebrow) { color: var(--fl-muted); }

/* Footer */
.flushline-site-footer { background: #ddd7ce; }
.fl-footer-top { padding: 88px 0 68px; }
.fl-footer-top h3 { font-family: var(--fl-sans); font-size: .67rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }
.fl-footer-logo { max-width: 300px; margin-bottom: 28px !important; }
.fl-footer-brand p { max-width: 390px; color: var(--fl-muted); }
.fl-footer-links { margin: 0; padding: 0; list-style: none; }
.fl-footer-links li { margin: 8px 0; }
.fl-footer-links a { color: var(--fl-muted); font-size: .87rem; text-decoration: none; }
.fl-footer-links a:hover { color: var(--fl-ink); }
.fl-company-details { color: var(--fl-muted); font-style: normal; font-size: .88rem; }
.fl-company-details a { text-decoration: none; }
.fl-footer-bottom { border-top: 1px solid rgba(37,36,34,.18); }
.fl-footer-bottom .elementor-element-populated { padding-top: 18px !important; padding-bottom: 18px !important; }
.fl-footer-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 25px; color: var(--fl-muted); font-size: .73rem; }
.fl-footer-legal { display: flex; flex-wrap: wrap; gap: 18px; }
.fl-footer-legal a { text-decoration: none; }

/* WooCommerce system pages */
body.flushline-shop .woocommerce {
	width: min(calc(100% - 64px), 1180px);
	margin: clamp(70px, 8vw, 120px) auto;
}
body.flushline-shop .woocommerce h1,
body.flushline-shop .woocommerce h2,
body.flushline-shop .woocommerce h3 { line-height: 1.08; }
body.flushline-shop .woocommerce-message,
body.flushline-shop .woocommerce-info,
body.flushline-shop .woocommerce-error {
	border-top-color: var(--fl-accent);
	background: var(--fl-surface);
}
body.flushline-shop table.shop_table { border-color: var(--fl-line); border-radius: 0; background: var(--fl-surface); }
body.flushline-shop .woocommerce table.shop_table th,
body.flushline-shop .woocommerce table.shop_table td { padding: 17px; }
body.flushline-shop .woocommerce form.checkout_coupon,
body.flushline-shop .woocommerce form.login,
body.flushline-shop .woocommerce form.register { border-color: var(--fl-line); border-radius: 0; background: var(--fl-surface); }
body.flushline-shop .woocommerce form .form-row input.input-text,
body.flushline-shop .woocommerce form .form-row textarea,
body.flushline-shop .select2-container--default .select2-selection--single {
	min-height: 51px;
	padding: 10px 12px;
	border: 1px solid var(--fl-line);
	border-radius: 0;
	background: #fff;
}
body.flushline-shop .woocommerce-checkout #payment { border-radius: 0; background: var(--fl-surface-2); }
body.flushline-shop .woocommerce-cart-form,
body.flushline-shop .cart_totals,
body.flushline-shop .woocommerce-checkout-review-order { padding: 24px; border: 1px solid var(--fl-line); background: var(--fl-surface); }
body.flushline-shop .woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--fl-line); }
body.flushline-shop .woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--fl-line); }
body.flushline-shop .woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; text-decoration: none; }

/* Tablet */
@media (max-width: 1024px) {
	:root { --fl-header-main: 78px; --fl-header-nav: 0px; }
	body.flushline-shop .elementor-section.elementor-section-boxed > .elementor-container { width: min(calc(100% - 42px), var(--fl-container)); }
	.fl-mobile-menu-toggle { display: inline-flex; }
	.fl-header-product-link { display: none !important; }
	.fl-header-nav-section { display: none; }
	body.fl-menu-open { overflow: hidden; }
	body.fl-menu-open .fl-header-nav-section {
		position: fixed;
		z-index: 9991;
		top: var(--fl-header-main);
		right: 0;
		left: 0;
		display: block;
		height: calc(100vh - var(--fl-header-main));
		overflow-y: auto;
		background: var(--fl-surface);
	}
	.admin-bar.fl-menu-open .fl-header-nav-section { top: calc(var(--fl-header-main) + 32px); height: calc(100vh - var(--fl-header-main) - 32px); }
	.fl-main-menu { display: block; padding: 28px 30px 70px; }
	.fl-main-menu a { padding: 19px 0; border-bottom: 1px solid var(--fl-line); font-size: 1.55rem; }
	.fl-page-hero > .elementor-container,
	.fl-page-hero .fl-col-content > .elementor-element-populated,
	.fl-page-hero .fl-col-image > .elementor-element-populated { min-height: 510px; }
	.fl-page-hero-image img { min-height: 510px; }
	.fl-product-module { grid-template-columns: 1fr; }
	.fl-product-summary { position: static; }
	.fl-product-gallery-main img { aspect-ratio: 4 / 3.8; }
	.fl-feature-grid > .elementor-container { flex-wrap: wrap; }
	.fl-feature-card { width: 50% !important; }
	.fl-feature-card:nth-child(odd) > .elementor-element-populated { border-left: 0; }
	.fl-feature-card:nth-child(n+3) > .elementor-element-populated { border-top: 1px solid var(--fl-line); }
	.fl-process-grid-wide { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.fl-shop-card { grid-template-columns: 1fr; }
	.fl-shop-card-image,
	.fl-shop-product-image { min-height: 620px; }
	.fl-blog-grid { grid-template-columns: 1fr 1fr; }
	.fl-page-content-grid .fl-page-main-copy,
	.fl-page-content-grid .fl-page-sidebar-col { width: 100% !important; }
	.fl-page-content-grid > .elementor-container { flex-wrap: wrap; }
	.fl-page-content-grid .fl-page-main-copy > .elementor-element-populated { padding-right: 20px !important; }
	.fl-page-sidebar-col > .elementor-element-populated { position: static; }
}

/* Mobile */
@media (max-width: 767px) {
	:root { --fl-header-main: 72px; }
	.admin-bar .flushline-site-header { top: 46px; }
	body.flushline-shop .elementor-section.elementor-section-boxed > .elementor-container { width: min(calc(100% - 28px), var(--fl-container)); }
	.fl-header-main > .elementor-container { min-height: var(--fl-header-main); flex-wrap: nowrap; }
	.fl-header-main .elementor-column { width: 25% !important; }
	.fl-header-main .fl-header-center { width: 50% !important; }
	.fl-header-main .elementor-column > .elementor-element-populated { min-height: var(--fl-header-main); padding-right: 8px !important; padding-left: 8px !important; }
	.fl-menu-text,
	.fl-header-quote { display: none !important; }
	.fl-logo { max-width: 210px; }
	.fl-logo img { max-height: 29px; }
	body.fl-menu-open .fl-header-nav-section { top: var(--fl-header-main); height: calc(100vh - var(--fl-header-main)); }
	.admin-bar.fl-menu-open .fl-header-nav-section { top: calc(var(--fl-header-main) + 46px); height: calc(100vh - var(--fl-header-main) - 46px); }
	.fl-main-menu { padding: 24px 22px 60px; }
	.fl-main-menu a { font-size: 1.35rem; }
	.fl-intro-section,
	.fl-content-section,
	.fl-feature-grid,
	.fl-centered-cta,
	.fl-shop-grid-section,
	.fl-gallery-section,
	.fl-image-section,
	.fl-blog-section,
	.fl-faq-section,
	.fl-quote-section,
	.fl-product-section,
	.fl-section-heading,
	.fl-application-cards,
	.fl-process-section,
	.fl-comparison-section,
	.fl-checklist-section,
	.fl-topic-grid-section,
	.fl-contact-form-section { padding: 68px 0; }
	.fl-hero { min-height: 680px; }
	.fl-hero .elementor-element-populated { min-height: 680px; padding: 82px 18px !important; }
	.fl-hero::before { background: linear-gradient(180deg, rgba(24,22,20,.65), rgba(24,22,20,.48)); }
	.fl-hero::after { right: 15px; bottom: 14px; font-size: .5rem; }
	.fl-hero-title,
	.fl-hero-title .elementor-heading-title { font-size: clamp(3.5rem, 16vw, 5.5rem) !important; }
	.fl-hero-button { display: block; margin-right: 0; margin-bottom: 18px; }
	.fl-hero-secondary { display: inline-block; }
	.fl-page-hero > .elementor-container,
	.fl-split-section > .elementor-container { flex-wrap: wrap; }
	.fl-page-hero .elementor-column,
	.fl-split-section .elementor-column { width: 100% !important; }
	.fl-page-hero .fl-col-content > .elementor-element-populated { min-height: auto; padding: 68px 24px !important; }
	.fl-page-hero .fl-col-image > .elementor-element-populated { min-height: 360px; }
	.fl-page-hero-image img { min-height: 360px; max-height: 460px; }
	.fl-split-section .fl-col-content > .elementor-element-populated { min-height: auto; padding: 66px 24px !important; }
	.fl-editorial-image img { min-height: 390px; max-height: 620px; }
	.fl-section-heading { padding-bottom: 32px; }
	.fl-feature-card { width: 100% !important; }
	.fl-feature-card > .elementor-element-populated { min-height: auto; border-top: 1px solid var(--fl-line); border-left: 0; padding: 34px 24px !important; }
	.fl-feature-card:first-child > .elementor-element-populated { border-top: 0; }
	.fl-application-cards > .elementor-container,
	.fl-page-visuals > .elementor-container,
	.fl-topic-grid-section > .elementor-container { flex-wrap: wrap; gap: 16px; }
	.fl-application-cards .elementor-column,
	.fl-page-visuals .elementor-column,
	.fl-topic-grid-section .elementor-column { width: 100% !important; }
	.fl-card-image img,
	.fl-application-cards-detailed .fl-card-image img { height: 390px; }
	.fl-process-section > .elementor-container,
	.fl-comparison-section > .elementor-container,
	.fl-checklist-section > .elementor-container,
	.fl-contact-form-section > .elementor-container,
	.fl-intro-section > .elementor-container { flex-wrap: wrap; }
	.fl-process-section .elementor-column,
	.fl-comparison-section .elementor-column,
	.fl-checklist-section .elementor-column,
	.fl-contact-form-section .elementor-column,
	.fl-intro-section .elementor-column { width: 100% !important; }
	.fl-process-grid,
	.fl-process-grid-wide,
	.fl-check-grid { grid-template-columns: 1fr; }
	.fl-process-grid article { min-height: auto; }
	.fl-comparison-table { overflow-x: auto; }
	.fl-comparison-table > div { min-width: 620px; }
	.fl-product-module { gap: 42px; }
	.fl-product-gallery-main img { aspect-ratio: 4 / 5; }
	.fl-product-thumbs { grid-template-columns: repeat(4, 1fr); }
	.fl-product-summary h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
	.fl-product-placement { grid-template-columns: 1fr; }
	.fl-specification-list > div { grid-template-columns: .8fr 1.2fr; gap: 12px; }
	.fl-shop-card-image,
	.fl-shop-product-image { min-height: 480px; }
	.fl-shop-card-content { padding: 38px 24px; }
	.fl-shop-card-bottom { align-items: flex-start; flex-direction: column; }
	.fl-form-grid { grid-template-columns: 1fr; }
	.fl-form-column > .elementor-element-populated { padding: 30px 22px !important; }
	.fl-accordion summary { grid-template-columns: 36px 1fr; padding-right: 36px; font-size: 1.24rem; }
	.fl-accordion details > div { padding-left: 48px; }
	.fl-blog-grid { grid-template-columns: 1fr; }
	.fl-blog-card-body { padding: 28px 24px; }
	.fl-blog-card { min-height: auto; padding: 30px 24px; }
	.fl-two-column-copy { grid-template-columns: 1fr; gap: 18px; }
	.fl-footer-top .elementor-container { flex-wrap: wrap; }
	.fl-footer-top .elementor-column { width: 50% !important; margin-bottom: 30px; }
	.fl-footer-top .fl-footer-brand { width: 100% !important; }
	.fl-footer-bottom-inner { align-items: flex-start; flex-direction: column; }
	body.flushline-shop .woocommerce { width: min(calc(100% - 28px), 1180px); margin: 62px auto; }
}

@media (max-width: 480px) {
	.fl-footer-top .elementor-column { width: 100% !important; }
	.fl-product-thumbs { grid-template-columns: repeat(3, 1fr); }
	.fl-feature-grid-three .fl-feature-card { width: 100% !important; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* Flushline v1.2 — compact single-row header and polished mobile navigation */
:root {
	--fl-header-main: 70px;
	--fl-header-nav: 0px;
}

.flushline-site-header {
	position: sticky;
	isolation: isolate;
	min-height: var(--fl-header-main);
	border-bottom: 1px solid rgba(117, 105, 91, .22);
	background: rgba(251, 250, 247, .985);
	box-shadow: 0 8px 34px rgba(34, 31, 27, .035);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.flushline-site-header .elementor-section,
.flushline-site-header .elementor-container,
.flushline-site-header .elementor-column,
.flushline-site-header .elementor-widget-wrap,
.flushline-site-header .elementor-widget,
.flushline-site-header .elementor-widget-container {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.fl-header-main {
	position: relative;
	z-index: 2;
	height: var(--fl-header-main) !important;
	min-height: var(--fl-header-main) !important;
	max-height: var(--fl-header-main) !important;
	border: 0 !important;
	overflow: visible;
}

.fl-header-main > .elementor-container {
	width: min(calc(100% - 64px), var(--fl-container)) !important;
	height: var(--fl-header-main) !important;
	min-height: var(--fl-header-main) !important;
	max-height: var(--fl-header-main) !important;
	padding: 0 !important;
}

.fl-header-main .elementor-column,
.fl-header-main .elementor-column-wrap,
.fl-header-main .elementor-widget-wrap,
.fl-header-main .elementor-column > .elementor-element-populated {
	height: var(--fl-header-main) !important;
	min-height: var(--fl-header-main) !important;
	max-height: var(--fl-header-main) !important;
}

.fl-header-main .elementor-column > .elementor-element-populated {
	padding: 0 !important;
}

.fl-header-left .elementor-element-populated {
	justify-content: flex-start;
	gap: 0;
}

.fl-header-center .elementor-element-populated {
	justify-content: center;
}

.fl-header-right .elementor-element-populated {
	justify-content: flex-end;
	gap: 18px;
}

.fl-header-product-link {
	display: none !important;
}

.fl-logo {
	width: auto !important;
	max-width: 290px;
	margin: 0 auto !important;
}

.fl-logo .elementor-widget-container,
.fl-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
}

.fl-logo img {
	display: block;
	width: auto !important;
	height: 30px !important;
	max-width: 290px !important;
	max-height: 30px !important;
	object-fit: contain;
}

.fl-header-quote .elementor-button,
.fl-header-quote .elementor-button:hover {
	min-height: 28px !important;
	padding: 0 0 5px !important;
	font-family: var(--fl-sans) !important;
	font-size: .65rem !important;
	font-weight: 600 !important;
	letter-spacing: .17em !important;
}

.fl-cart-link {
	width: 32px;
	height: 32px;
}

.fl-cart-icon {
	width: 17px;
	height: 15px;
}

.fl-header-nav-section {
	position: absolute !important;
	z-index: 3;
	top: 0;
	right: 0;
	left: 0;
	display: block !important;
	height: var(--fl-header-main) !important;
	min-height: var(--fl-header-main) !important;
	max-height: var(--fl-header-main) !important;
	border: 0 !important;
	background: transparent !important;
	pointer-events: none;
}

.fl-header-nav-section > .elementor-container,
.fl-header-nav-section .elementor-column,
.fl-header-nav-section .elementor-column-wrap,
.fl-header-nav-section .elementor-widget-wrap,
.fl-header-nav-section .elementor-column > .elementor-element-populated {
	height: var(--fl-header-main) !important;
	min-height: var(--fl-header-main) !important;
	max-height: var(--fl-header-main) !important;
}

.fl-header-nav-section > .elementor-container {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

.fl-header-nav-section .elementor-element-populated {
	display: flex;
	align-items: center;
	padding: 0 !important;
}

.fl-header-nav-section .elementor-widget-shortcode,
.fl-header-nav-section .elementor-widget-container,
.fl-main-navigation {
	width: 100%;
	pointer-events: none;
}

.fl-main-menu {
	display: grid;
	grid-template-columns: max-content max-content max-content minmax(255px, 1fr) max-content max-content max-content;
	column-gap: clamp(16px, 1.75vw, 30px);
	align-items: center;
	width: min(calc(100% - 330px), 1010px);
	height: var(--fl-header-main);
	margin: 0 auto;
	padding: 0;
	pointer-events: auto;
}

.fl-main-menu > li {
	margin: 0;
	padding: 0;
}

.fl-main-menu > li:nth-child(1) { grid-column: 1; }
.fl-main-menu > li:nth-child(2) { grid-column: 2; }
.fl-main-menu > li:nth-child(3) { grid-column: 3; }
.fl-main-menu > li:nth-child(4) { grid-column: 5; }
.fl-main-menu > li:nth-child(5) { grid-column: 6; }
.fl-main-menu > li:nth-child(6) { grid-column: 7; }

.fl-main-menu a {
	display: flex;
	height: var(--fl-header-main);
	align-items: center;
	padding: 3px 0 0;
	border: 0;
	font-family: var(--fl-sans);
	font-size: .64rem;
	font-weight: 600;
	letter-spacing: .145em;
	line-height: 1;
	white-space: nowrap;
	text-transform: uppercase;
}

.fl-main-menu a::after {
	position: absolute;
	right: 0;
	bottom: 17px;
	left: 0;
	height: 1px;
	background: currentColor;
	content: "";
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .22s ease;
}

.fl-main-menu li {
	position: relative;
}

.fl-main-menu .current-menu-item > a,
.fl-main-menu a:hover {
	border: 0;
}

.fl-main-menu .current-menu-item > a::after,
.fl-main-menu a:hover::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.fl-mobile-menu-toggle {
	display: none;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
}

.fl-menu-lines {
	position: relative;
	display: block;
	width: 22px;
	height: 16px;
}

.fl-menu-lines i {
	position: absolute;
	left: 0;
	display: block;
	width: 22px;
	height: 1px;
	background: currentColor;
	transition: top .22s ease, transform .22s ease, opacity .16s ease;
}

.fl-menu-lines i:nth-child(1) { top: 1px; }
.fl-menu-lines i:nth-child(2) { top: 7px; }
.fl-menu-lines i:nth-child(3) { top: 13px; }

body.fl-menu-open .fl-menu-lines i:nth-child(1) {
	top: 7px;
	transform: rotate(45deg);
}

body.fl-menu-open .fl-menu-lines i:nth-child(2) {
	opacity: 0;
}

body.fl-menu-open .fl-menu-lines i:nth-child(3) {
	top: 7px;
	transform: rotate(-45deg);
}

@media (max-width: 1180px) {
	:root {
		--fl-header-main: 64px;
	}

	.flushline-site-header {
		min-height: var(--fl-header-main);
	}

	.fl-header-main > .elementor-container {
		width: min(calc(100% - 34px), var(--fl-container)) !important;
		flex-wrap: nowrap !important;
	}

	.fl-header-main .elementor-column {
		width: 25% !important;
	}

	.fl-header-main .fl-header-center {
		width: 50% !important;
	}

	.fl-header-main .elementor-column > .elementor-element-populated {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.fl-mobile-menu-toggle {
		display: inline-flex !important;
	}

	.fl-menu-text,
	.fl-header-product-link {
		display: none !important;
	}

	.fl-logo {
		max-width: 230px;
	}

	.fl-logo img {
		height: 26px !important;
		max-width: 230px !important;
		max-height: 26px !important;
	}

	.fl-header-nav-section {
		position: fixed !important;
		z-index: 9991;
		top: var(--fl-header-main);
		display: block !important;
		height: calc(100dvh - var(--fl-header-main)) !important;
		min-height: 0 !important;
		max-height: calc(100dvh - var(--fl-header-main)) !important;
		overflow-x: hidden;
		overflow-y: auto;
		border-top: 1px solid var(--fl-line) !important;
		background: rgba(251, 250, 247, .995) !important;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-10px);
		transition: opacity .2s ease, transform .24s ease, visibility 0s linear .24s;
		pointer-events: none;
		overscroll-behavior: contain;
	}

	.admin-bar .fl-header-nav-section {
		top: calc(var(--fl-header-main) + 32px);
		height: calc(100dvh - var(--fl-header-main) - 32px) !important;
		max-height: calc(100dvh - var(--fl-header-main) - 32px) !important;
	}

	body.fl-menu-open {
		overflow: hidden;
	}

	body.fl-menu-open .fl-header-nav-section {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition: opacity .2s ease, transform .24s ease, visibility 0s;
		pointer-events: auto;
	}

	.fl-header-nav-section > .elementor-container,
	.fl-header-nav-section .elementor-column,
	.fl-header-nav-section .elementor-column-wrap,
	.fl-header-nav-section .elementor-widget-wrap,
	.fl-header-nav-section .elementor-column > .elementor-element-populated {
		height: auto !important;
		min-height: 100% !important;
		max-height: none !important;
	}

	.fl-header-nav-section .elementor-element-populated {
		align-items: flex-start;
	}

	.fl-header-nav-section .elementor-widget-shortcode,
	.fl-header-nav-section .elementor-widget-container,
	.fl-main-navigation {
		width: 100%;
		pointer-events: auto;
	}

	.fl-main-menu {
		display: block;
		width: min(calc(100% - 48px), 720px);
		height: auto;
		margin: 0 auto;
		padding: 38px 0 70px;
	}

	.fl-main-menu > li,
	.fl-main-menu > li:nth-child(n) {
		display: block;
		grid-column: auto;
		border-bottom: 1px solid var(--fl-line);
	}

	.fl-main-menu > li:first-child {
		border-top: 1px solid var(--fl-line);
	}

	.fl-main-menu a {
		position: relative;
		display: flex;
		height: auto;
		min-height: 64px;
		align-items: center;
		justify-content: space-between;
		padding: 18px 2px;
		font-family: var(--fl-serif);
		font-size: clamp(1.25rem, 3.8vw, 1.7rem);
		font-weight: 400;
		letter-spacing: -.01em;
		line-height: 1.15;
		text-transform: none;
	}

	.fl-main-menu a::before {
		order: 2;
		margin-left: 18px;
		color: var(--fl-muted);
		content: "↗";
		font-family: var(--fl-sans);
		font-size: .88rem;
	}

	.fl-main-menu a::after {
		display: none;
	}

	.fl-main-menu .current-menu-item > a {
		color: var(--fl-accent-dark);
	}
}

@media (max-width: 767px) {
	:root {
		--fl-header-main: 58px;
	}

	.admin-bar .flushline-site-header {
		top: 46px;
	}

	.admin-bar .fl-header-nav-section {
		top: calc(var(--fl-header-main) + 46px);
		height: calc(100dvh - var(--fl-header-main) - 46px) !important;
		max-height: calc(100dvh - var(--fl-header-main) - 46px) !important;
	}

	.fl-header-main > .elementor-container {
		width: calc(100% - 24px) !important;
	}

	.fl-logo {
		max-width: 188px;
	}

	.fl-logo img {
		height: 22px !important;
		max-width: 188px !important;
		max-height: 22px !important;
	}

	.fl-header-quote {
		display: none !important;
	}

	.fl-header-right .elementor-element-populated {
		gap: 0;
	}

	.fl-cart-link,
	.fl-mobile-menu-toggle {
		width: 36px;
		height: 36px;
	}

	.fl-main-menu {
		width: calc(100% - 36px);
		padding-top: 26px;
	}

	.fl-main-menu a {
		min-height: 59px;
		padding: 15px 2px;
		font-size: 1.28rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fl-header-nav-section,
	.fl-menu-lines i,
	.fl-main-menu a::after {
		transition: none !important;
	}
}

