@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:ital,wght@0,400;0,600;1,400&family=Barlow+Condensed:wght@400;600;700;800&display=swap');

/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* ── CFA Header Navigation ──────────────────────────────────────── */
.elementor-template-512 .elementor-nav-menu a.elementor-item,
.elementor-template-512 .elementor-nav-menu a.elementor-sub-item {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
}

/* Why Command highlight */
.elementor-template-512 .elementor-nav-menu li:nth-child(2) a.elementor-item {
	color: #C8102E !important;
}
.elementor-template-512 .elementor-nav-menu li:nth-child(2) a.elementor-item:hover {
	color: #E63946 !important;
}


/* ── CFA Header Button ────────────────────────────────────── */
.elementor-template-512 .elementor-element-24cf523 .elementor-button {
	clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
	background-color: #C8102E !important;
	border: none;
	flex-shrink: 0;
}
.elementor-template-512 .elementor-element-24cf523 .elementor-button:hover {
	background-color: #E63946 !important;
}


/* ── CFA Header Container ────────────────────────────────── */
.elementor-template-512 .elementor-element-86045fc {
	border-bottom: 3px solid #C8102E !important;
	position: sticky;
	top: 0;
	z-index: 9999;
}
.elementor-template-512 .e-con {
	background-color: #2C2F35 !important;
}
/* Logo sizing */
.elementor-template-512 .elementor-element-c6ec0c7 img {
	width: 200px !important;
	height: auto !important;
	max-height: 52px;
	object-fit: contain;
}


/* ==========================================================================
   CFA Design System — Button Classes
   Apply via Elementor widget Advanced > CSS Classes field
   btn-primary : Red filled parallelogram (default CTA)
   btn-ghost   : Transparent parallelogram with border
   ========================================================================== */

/* Global clip-path on all Elementor buttons */
.elementor-button {
	clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
	transition: background-color 0.2s ease;
}

/* Primary button */
.btn-primary .elementor-button,
.btn-primary.elementor-button {
	background-color: #C8102E !important;
	color: #FFFFFF !important;
	border: none;
}
.btn-primary .elementor-button:hover,
.btn-primary.elementor-button:hover {
	background-color: #9B0B22 !important;
	color: #FFFFFF !important;
}

/* Ghost button — light version (on dark backgrounds) */
.btn-ghost .elementor-button,
.btn-ghost.elementor-button {
	background-color: transparent !important;
	color: #FFFFFF !important;
	border: 1px solid rgba(255,255,255,0.4);
}
.btn-ghost .elementor-button:hover,
.btn-ghost.elementor-button:hover {
	background-color: rgba(255,255,255,0.08) !important;
	color: #FFFFFF !important;
	border-color: rgba(255,255,255,0.7);
}

/* Ghost button — dark version (on light backgrounds) */
.btn-ghost-dark .elementor-button,
.btn-ghost-dark.elementor-button {
	background-color: transparent !important;
	color: #2C2F35 !important;
	border: 1px solid #2C2F35;
}
.btn-ghost-dark .elementor-button:hover,
.btn-ghost-dark.elementor-button:hover {
	background-color: #2C2F35 !important;
	color: #FFFFFF !important;
}


/* ==========================================================================
   CFA Custom Hamburger Menu Toggle
   Replaces Elementor default SVG toggle with animated 3-bar morph-to-X
   Red center bar, smooth CSS transform animation
   ========================================================================== */

/* Hide Elementor's default SVG icons */
.elementor-menu-toggle__icon--open,
.elementor-menu-toggle__icon--close {
	display: none !important;
}

/* Toggle button container */
.elementor-menu-toggle {
	width: 44px !important;
	height: 44px !important;
	background: rgba(255,255,255,0.06) !important;
	border: 1px solid rgba(255,255,255,0.12) !important;
	border-radius: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	position: relative !important;
	transition: background 0.2s ease !important;
	clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%) !important;
}

.elementor-menu-toggle:hover {
	background: rgba(255,255,255,0.12) !important;
	border-color: rgba(255,255,255,0.2) !important;
}

/* Inject the three bars via pseudo-elements on a helper span */
/* We use ::before on the toggle to create a bars container */
.elementor-menu-toggle::before {
	content: '' !important;
	display: none !important;
}

/* Bar wrapper - injected via JS below */
.cfa-nav-bars {
	width: 22px;
	height: 16px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
}

.cfa-nav-bar {
	display: block;
	height: 2px;
	width: 22px;
	background: #ffffff;
	transition: transform 0.35s cubic-bezier(0.16, 0.84, 0.44, 1),
				opacity 0.25s ease,
				width 0.35s cubic-bezier(0.16, 0.84, 0.44, 1),
				background 0.2s ease;
	transform-origin: center center;
	position: absolute;
}

.cfa-nav-bar:nth-child(1) { top: 0; }
.cfa-nav-bar:nth-child(2) { top: 7px; background: #C8102E; width: 16px; }
.cfa-nav-bar:nth-child(3) { top: 14px; }

/* Open state - morph to X */
.elementor-menu-toggle[aria-expanded='true'] .cfa-nav-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
	background: #ffffff;
}
.elementor-menu-toggle[aria-expanded='true'] .cfa-nav-bar:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}
.elementor-menu-toggle[aria-expanded='true'] .cfa-nav-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
	background: #ffffff;
}

/* Only show on mobile where Elementor activates the toggle */
@media (min-width: 1025px) {
	.cfa-nav-bars { display: none; }
}


/* ==========================================================================
   CFA Header — Mobile / Desktop Contact Us handling
   Contact Us button shows on desktop, hides on mobile
   Contact Us nav item hides on desktop, shows in mobile dropdown
   ========================================================================== */

/* Hide Contact Us nav item on desktop — the button handles it */
.elementor-template-512 .elementor-nav-menu li:last-child a.elementor-item {
	display: none;
}

/* Hide Contact Us button on mobile */
@media (max-width: 1024px) {
	.elementor-template-512 .elementor-element-24cf523 {
		display: none !important;
	}

	/* Show Contact Us nav item in mobile dropdown */
	.elementor-template-512 .elementor-nav-menu--dropdown li:last-child a.elementor-item,
	.elementor-template-512 .elementor-nav-menu--dropdown li:last-child a {
		display: block !important;
		background-color: #C8102E !important;
		color: #ffffff !important;
		text-align: center !important;
		font-family: 'Barlow Condensed', sans-serif !important;
		font-weight: 700 !important;
		letter-spacing: 0.14em !important;
		text-transform: uppercase !important;
		padding: 14px 20px !important;
		margin: 8px 16px !important;
		clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
	}

	.elementor-template-512 .elementor-nav-menu--dropdown li:last-child a.elementor-item:hover {
		background-color: #E63946 !important;
	}
}





/* ==========================================================================
   CFA Mobile Dropdown Navigation
   Targets Elementor SmartMenus mobile nav correctly
   ========================================================================== */

/* Hide Contact Us nav link on DESKTOP (button handles it) */
.elementor-template-512 .elementor-nav-menu--main li:last-child {
	display: none;
}

@media (max-width: 1024px) {

	/* Hide Contact Us button - nav handles it on mobile */
	.elementor-template-512 .elementor-element-24cf523 {
		display: none !important;
	}

	/* Show Contact Us in mobile nav */
	.elementor-template-512 .elementor-nav-menu--main li:last-child {
		display: block !important;
	}

	/* The nav panel itself - shown by SmartMenus on mobile */
	.elementor-template-512 nav.elementor-nav-menu__container {
		background-color: #2C2F35 !important;
		border-top: 3px solid #C8102E !important;
		box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
		width: 100% !important;
		padding: 8px 0 16px !important;
	}

	/* All nav items */
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li {
		border-bottom: 1px solid rgba(255,255,255,0.07) !important;
		margin: 0 !important;
		width: 100% !important;
	}

	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li:last-child {
		border-bottom: none !important;
		padding: 8px 16px 0 !important;
	}

	/* Nav links */
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu a.elementor-item {
		color: rgba(255,255,255,0.75) !important;
		font-family: 'Barlow Condensed', sans-serif !important;
		font-size: 17px !important;
		font-weight: 700 !important;
		letter-spacing: 0.12em !important;
		text-transform: uppercase !important;
		padding: 14px 24px !important;
		display: block !important;
		background: transparent !important;
		transition: color 0.2s, background 0.2s, padding-left 0.2s, border-color 0.2s !important;
		border-left: 3px solid transparent !important;
	}

	/* Hover */
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu a.elementor-item:hover {
		color: #ffffff !important;
		background: rgba(255,255,255,0.05) !important;
		padding-left: 30px !important;
		border-left-color: #C8102E !important;
	}

	/* Active/current page */
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu a.elementor-item-active,
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu a.current-menu-item {
		color: #C8102E !important;
		background: rgba(200,16,46,0.07) !important;
		border-left-color: #C8102E !important;
		padding-left: 30px !important;
	}

	/* Why Command stays red */
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li:nth-child(2) a.elementor-item {
		color: #C8102E !important;
	}
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li:nth-child(2) a.elementor-item:hover {
		color: #E63946 !important;
	}

	/* Contact Us - red CTA button at bottom */
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li:last-child a.elementor-item {
		background-color: #C8102E !important;
		color: #ffffff !important;
		text-align: center !important;
		font-size: 14px !important;
		letter-spacing: 0.16em !important;
		padding: 14px 20px !important;
		border-left: none !important;
		clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%) !important;
		transition: background 0.2s !important;
		margin: 0 !important;
	}
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li:last-child a.elementor-item:hover {
		background-color: #E63946 !important;
		padding-left: 20px !important;
		border-left: none !important;
		color: #ffffff !important;
	}

	/* Slide-down animation */
	.elementor-template-512 nav.elementor-nav-menu__container {
		animation: cfaDropIn 0.25s cubic-bezier(0.16, 0.84, 0.44, 1) both !important;
	}
	@keyframes cfaDropIn {
		from { opacity: 0; transform: translateY(-10px); }
		to   { opacity: 1; transform: translateY(0); }
	}

} /* end mobile media query */


/* ==========================================================================
   CFA Nav — Contact Us styled as button + hamburger desktop fix
   ========================================================================== */

/* Hide hamburger background on desktop and tablet */
.elementor-template-512 .elementor-menu-toggle {
	background: transparent !important;
	border: none !important;
	clip-path: none !important;
}

/* Only show styled hamburger on mobile */
@media (max-width: 1024px) {
	.elementor-template-512 .elementor-menu-toggle {
		background: rgba(255,255,255,0.06) !important;
		border: 1px solid rgba(255,255,255,0.12) !important;
		clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%) !important;
	}
}

/* Contact Us nav item — desktop: styled as red parallelogram button */
.elementor-template-512 .elementor-nav-menu--main li:last-child a.elementor-item {
	display: inline-block !important;
	background-color: #C8102E !important;
	color: #ffffff !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 10px 22px !important;
	clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%) !important;
	transition: background 0.2s ease !important;
	margin-left: 8px !important;
}

.elementor-template-512 .elementor-nav-menu--main li:last-child a.elementor-item:hover {
	background-color: #E63946 !important;
	color: #ffffff !important;
}

/* Remove any pointer underline effect on the button item */
.elementor-template-512 .elementor-nav-menu--main li:last-child a.elementor-item::before,
.elementor-template-512 .elementor-nav-menu--main li:last-child a.elementor-item::after {
	display: none !important;
}

/* Hide the separate Contact Us button widget since nav handles it now */
.elementor-template-512 .elementor-element-24cf523 {
	display: none !important;
}

/* Mobile dropdown — Contact Us full width red button */
@media (max-width: 1024px) {
	/* Show Contact Us in mobile nav */
	.elementor-template-512 .elementor-nav-menu--main li:last-child {
		display: block !important;
	}

	/* Override desktop button style for mobile - full width */
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li:last-child {
		padding: 8px 16px 4px !important;
		border-bottom: none !important;
	}
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li:last-child a.elementor-item {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
		background-color: #C8102E !important;
		color: #ffffff !important;
		padding: 14px 20px !important;
		font-size: 14px !important;
		letter-spacing: 0.16em !important;
		clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%) !important;
		margin-left: 0 !important;
		border-left: none !important;
		margin: 0 !important;
	}
	.elementor-template-512 nav.elementor-nav-menu__container .elementor-nav-menu li:last-child a.elementor-item:hover {
		background-color: #E63946 !important;
		padding-left: 20px !important;
		border-left: none !important;
	}
}



/* ==========================================================================
   CFA Header — Complete Nav, Hamburger & Mobile Dropdown System
   ========================================================================== */

/* Logo */
.elementor-template-512 .elementor-element-e8a7340 img {
	width: 200px !important;
	height: auto !important;
	max-height: 52px;
	object-fit: contain;
}

/* Header border */
.elementor-template-512 .elementor-element-bdd5bac {
	border-bottom: 3px solid #C8102E !important;
}
.elementor-template-512 .e-con {
	background-color: #2C2F35 !important;
}

/* == DESKTOP NAV LINKS == */
.elementor-template-512 .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
	font-family: "Barlow Condensed", sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #A8B0BC !important;
}
.elementor-template-512 .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover {
	color: #FFFFFF !important;
}
.elementor-template-512 .elementor-nav-menu--main .elementor-nav-menu > li:nth-child(2) > a.elementor-item {
	color: #C8102E !important;
}
.elementor-template-512 .elementor-nav-menu--main .elementor-nav-menu > li:last-child > a.elementor-item {
	background-color: #C8102E !important;
	color: #FFFFFF !important;
	padding: 10px 22px !important;
	clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%) !important;
	margin-left: 8px !important;
}
.elementor-template-512 .elementor-nav-menu--main .elementor-nav-menu > li:last-child > a.elementor-item:hover {
	background-color: #E63946 !important;
	color: #FFFFFF !important;
}

/* == HAMBURGER == */
/* Hide both SVG icons completely - override Elementors show/hide logic */
.elementor-template-512 .elementor-menu-toggle__icon--open,
.elementor-template-512 .elementor-menu-toggle__icon--close,
.elementor-template-512 .elementor-menu-toggle .e-font-icon-svg,
.elementor-template-512 .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
.elementor-template-512 .elementor-menu-toggle:not(.elementor-active) .elementor-menu-toggle__icon--close,
.elementor-template-512 .elementor-menu-toggle:not(.elementor-active) .elementor-menu-toggle__icon--open,
.elementor-template-512 .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
}
/* No box on desktop */
.elementor-template-512 .elementor-menu-toggle {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	clip-path: none !important;
	padding: 0 !important;
}
/* Three bars */
.cfa-nav-bars {
	width: 22px;
	height: 16px;
	position: relative;
	display: block;
}
.cfa-nav-bar {
	display: block !important;
	height: 2px !important;
	width: 22px !important;
	background: #ffffff !important;
	transition: transform 0.35s cubic-bezier(0.16, 0.84, 0.44, 1), opacity 0.25s ease, width 0.25s ease !important;
	transform-origin: center center !important;
	position: absolute !important;
	left: 0 !important;
}
.cfa-nav-bar:nth-child(1) { top: 0 !important; }
.cfa-nav-bar:nth-child(2) { top: 7px !important; background: #C8102E !important; width: 16px !important; }
.cfa-nav-bar:nth-child(3) { top: 14px !important; }
/* Open state via elementor-active class */
.elementor-menu-toggle.elementor-active .cfa-nav-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg) !important;
}
.elementor-menu-toggle.elementor-active .cfa-nav-bar:nth-child(2) {
	opacity: 0 !important;
	transform: scaleX(0) !important;
}
.elementor-menu-toggle.elementor-active .cfa-nav-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg) !important;
}
/* Mobile: styled container */
@media (max-width: 1024px) {
	.elementor-template-512 .elementor-menu-toggle {
		width: 44px !important;
		height: 44px !important;
		background: rgba(255,255,255,0.06) !important;
		border: 1px solid rgba(255,255,255,0.12) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%) !important;
	}
}

/* == MOBILE DROPDOWN == */
/* Must beat .elementor-widget-nav-menu .elementor-nav-menu--dropdown specificity */
.elementor-template-512 .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	background-color: #2C2F35 !important;
	border-top: 3px solid #C8102E !important;
	border-left: none !important;
	border-right: none !important;
	border-bottom: none !important;
	box-shadow: 0 12px 40px rgba(0,0,0,0.6) !important;
	padding: 6px 0 12px !important;
	width: 100% !important;
	left: 0 !important;
	top: 44px !important;
}
.elementor-template-512 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-nav-menu > li {
	border-bottom: 1px solid rgba(255,255,255,0.07) !important;
	margin: 0 !important;
	width: 100% !important;
}
.elementor-template-512 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child {
	border-bottom: none !important;
	padding: 8px 16px 0 !important;
}
.elementor-template-512 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item {
	color: rgba(255,255,255,0.75) !important;
	font-family: "Barlow Condensed", sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	padding: 15px 24px !important;
	display: block !important;
	background: transparent !important;
	border-left: 3px solid transparent !important;
	transition: color 0.15s, background 0.15s, padding-left 0.15s, border-color 0.15s !important;
}
.elementor-template-512 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item:hover {
	color: #ffffff !important;
	background: rgba(255,255,255,0.05) !important;
	padding-left: 30px !important;
	border-left-color: #C8102E !important;
}
.elementor-template-512 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-nav-menu > li:nth-child(2) > a.elementor-item {
	color: #C8102E !important;
}
.elementor-template-512 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child > a.elementor-item {
	background-color: #C8102E !important;
	color: #ffffff !important;
	text-align: center !important;
	font-size: 14px !important;
	letter-spacing: 0.16em !important;
	padding: 14px 20px !important;
	border-left: none !important;
	clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%) !important;
	margin: 0 !important;
	width: 100% !important;
}
.elementor-template-512 .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child > a.elementor-item:hover {
	background-color: #E63946 !important;
	padding-left: 20px !important;
	border-left: none !important;
}


/* =========================================================================
   CFA Hamburger — show on tablet portrait and below (<=1024px)
   ========================================================================= */

/* Hide on desktop (above 1024px) */
@media (min-width: 1025px) {
	.elementor-512 .elementor-element-166f7f6 .elementor-menu-toggle {
		display: none !important;
	}
}

/* Show on tablet portrait and below (<=1024px) */
@media (max-width: 1024px) {
	.elementor-512 .elementor-element-166f7f6 .elementor-menu-toggle {
		display: flex !important;
		width: 44px !important;
		height: 44px !important;
		background: rgba(255,255,255,0.06) !important;
		border: 1px solid rgba(255,255,255,0.12) !important;
		align-items: center !important;
		justify-content: center !important;
		clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%) !important;
		transition: background 0.2s ease !important;
	}
	.elementor-512 .elementor-element-166f7f6 .elementor-menu-toggle:hover {
		background: rgba(255,255,255,0.12) !important;
	}
	/* Hide desktop horizontal nav */
	.elementor-512 .elementor-element-166f7f6 .elementor-nav-menu--main {
		display: none !important;
	}
}


/* ==========================================================================
   CFA Single Page Template — Hero Shortcode Classes
   ========================================================================== */

.cfa-page-breadcrumb {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #A8B0BC;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.cfa-page-breadcrumb a {
	color: #A8B0BC;
	text-decoration: none;
	transition: color .2s;
}
.cfa-page-breadcrumb a:hover { color: #C8102E; }
.cfa-page-breadcrumb .sep { color: #DFE2E8; }
.cfa-page-breadcrumb .cur { color: #4A5060; }

.cfa-page-eyebrow {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #C8102E;
	margin-bottom: 10px;
}

.cfa-page-hero-title {
	font-family: 'Bebas Neue', sans-serif !important;
	font-size: clamp(40px, 6vw, 68px) !important;
	font-weight: 800 !important;
	line-height: 0.93 !important;
	letter-spacing: 0.02em !important;
	color: #1A1C1F !important;
	margin: 0 0 14px !important;
}

.cfa-page-hero-title .cfa-red,
.cfa-page-hero-title span.cfa-red {
	color: var(--e-global-color-primary) !important;
}

/* Global utility: red text bound to Elementor's primary kit color. */
.cfa-red { color: var(--e-global-color-primary) !important; }

.cfa-page-subtitle {
	font-size: 16px;
	line-height: 1.7;
	color: #4A5060;
	max-width: 560px;
	margin: 14px 0 0;
}

/* ==========================================================================
   CFA Global Gravity Forms Styling  (rebuilt 2026-07-27)
   GF 2.5+ grid markup. Applies to every form site-wide.
   Spacing is controlled by the three variables below - change them here only.
   ========================================================================== */

.gform_wrapper {
	--cfa-form-gap-y: 28px;   /* vertical space between rows - also the clearance a below-input description sits in */
	--cfa-form-gap-x: 20px;   /* horizontal space between half-width fields */
	--cfa-label-gap: 8px;     /* label to input */
	--cfa-choice-gap: 4px;    /* between radio / checkbox options */
}

/* ---- Grid: single source of truth for field spacing ---- */
.gform_wrapper .gform_fields {
	grid-row-gap: var(--cfa-form-gap-y) !important;
	row-gap: var(--cfa-form-gap-y) !important;
	grid-column-gap: var(--cfa-form-gap-x) !important;
	column-gap: var(--cfa-form-gap-x) !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* No per-field margins - the grid gap owns all spacing */
.gform_wrapper .gfield {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
}

/* ...but a description printed UNDER the input was still consuming that space,
   so any side-by-side pair where only one field had help text sat misaligned.
   Lift it out of flow for partial-width fields only; full-width fields have no
   partner to line up with, so theirs stays in the flow. */
.gform_wrapper .gfield { position: relative; }
.gform_wrapper .gfield--width-half > .ginput_container + .gfield_description:not(.gfield_validation_message),
.gform_wrapper .gfield--width-third > .ginput_container + .gfield_description:not(.gfield_validation_message),
.gform_wrapper .gfield--width-quarter > .ginput_container + .gfield_description:not(.gfield_validation_message),
.gform_wrapper .gfield--width-two-thirds > .ginput_container + .gfield_description:not(.gfield_validation_message) {
	position: absolute !important;
	top: 100% !important;
	left: 0; right: 0;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	font-size: 11.5px !important;
	line-height: 1.35 !important;
}

/* Input is pinned to the bottom of its cell, so a taller label can never
   knock the field beside it out of alignment */
.gform_wrapper .gfield > .ginput_container {
	margin-top: auto !important;
	margin-bottom: 0 !important;
}

/* ---- Labels ---- */
.gform_wrapper .gfield_label {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: #4A5060 !important;
	line-height: 14px !important;
	min-height: 14px !important;
	margin: 0 0 var(--cfa-label-gap) !important;
	padding: 0 !important;
}

/* Required marker - flex item with line-height 1 so it cannot add height */
.gform_wrapper .gfield_label .gfield_required,
.gform_wrapper .gfield_required {
	display: inline-flex !important;
	align-items: center !important;
	color: #C8102E !important;
	font-size: 12px !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.gform_wrapper .gfield_required_asterisk {
	color: #C8102E !important;
	font-size: inherit !important;
	line-height: 1 !important;
}
.gform_wrapper .gfield_required_text {
	display: none !important;
}

/* ---- Text inputs + textarea ---- */
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=number],
.gform_wrapper input[type=url],
.gform_wrapper input[type=date],
.gform_wrapper textarea {
	background: #F0F2F5 !important;
	border: 1.5px solid #E2E5EA !important;
	border-radius: 0 !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: #1A1C1F !important;
	padding: 13px 16px !important;
	margin: 0 !important;
	width: 100% !important;
	outline: none !important;
	transition: border-color .2s, background .2s !important;
	-webkit-appearance: none !important;
}
.gform_wrapper input[type=text]:focus,
.gform_wrapper input[type=email]:focus,
.gform_wrapper input[type=tel]:focus,
.gform_wrapper input[type=number]:focus,
.gform_wrapper input[type=url]:focus,
.gform_wrapper input[type=date]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
	border-color: #C8102E !important;
	background-color: #FFFFFF !important;
}
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
	color: #8A9098 !important;
	opacity: 1 !important;
}
.gform_wrapper textarea {
	min-height: 140px !important;
	line-height: 1.6 !important;
	resize: vertical !important;
}

/* ---- Select ---- */
.gform_wrapper select {
	background-color: #F0F2F5 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A9098' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	border: 1.5px solid #E2E5EA !important;
	border-radius: 0 !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: #1A1C1F !important;
	padding: 13px 40px 13px 16px !important;
	margin: 0 !important;
	width: 100% !important;
	outline: none !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	transition: border-color .2s, background-color .2s !important;
}
/* Placeholder option reads grey while it is the selected value */
.gform_wrapper select:has(option.gf_placeholder:checked) {
	color: #8A9098 !important;
}
.gform_wrapper select option {
	color: #1A1C1F !important;
	background: #FFFFFF !important;
}
.gform_wrapper select option.gf_placeholder,
.gform_wrapper select option[value=''] {
	color: #8A9098 !important;
}

/* ---- Sub-labels (First / Last name) ---- */
.gform_wrapper .ginput_complex label,
.gform_wrapper .gform-field-label--type-sub {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 10px !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #8A9098 !important;
	margin-top: 5px !important;
}

/* ---- Submit ---- */
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_footer button[type=submit],
.gform_wrapper .gform_page_footer input[type=submit] {
	background: #C8102E !important;
	color: #FFFFFF !important;
	border: none !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 15px 36px !important;
	clip-path: polygon(10px 0%, 100% 0%, calc(100% - 10px) 100%, 0% 100%) !important;
	cursor: pointer !important;
	border-radius: 0 !important;
	transition: background .2s !important;
	width: auto !important;
}
.gform_wrapper .gform_footer input[type=submit]:hover,
.gform_wrapper .gform_footer button[type=submit]:hover,
.gform_wrapper .gform_page_footer input[type=submit]:hover {
	background: #E63946 !important;
}
.gform_wrapper .gform_footer {
	padding: 8px 0 0 !important;
	margin: 0 !important;
}

/* ---- Validation ---- */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
	border-color: #C8102E !important;
}
.gform_wrapper .gfield_error .gfield_label {
	color: #C8102E !important;
}
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 11px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #C8102E !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin-top: 5px !important;
}
.gform_wrapper .gform_validation_errors {
	border-color: #C8102E !important;
	border-radius: 0 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
}

/* ---- Confirmation ---- */
.gform_wrapper .gform_confirmation_message {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 15px !important;
	color: #16A34A !important;
	padding: 16px 0 !important;
}

/* ---- Mobile: stack halves, keep the same rhythm ---- */
@media (max-width: 640px) {
	.gform_wrapper { --cfa-form-gap-y: 20px; }
}

/* ---- Required-fields legend: hidden visually, kept for screen readers ---- */
.gform_wrapper .gform_required_legend {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ---- Select sizing fix ----
   GF's theme framework applies a fixed control height to selects. Combined with
   our 13px vertical padding the text overflowed the box and clipped. Let the
   select size itself from its own padding so it matches the text inputs. */
.gform_wrapper .ginput_container_select {
	overflow: visible !important;
}
.gform_wrapper select,
.gform_wrapper select.gfield_select {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	line-height: 1.4 !important;
	box-sizing: border-box !important;
	text-overflow: ellipsis !important;
	vertical-align: middle !important;
}

/* ==========================================================================
   Photo Watermark Overlay
   Display only. The original image files on disk are never touched.
   Add class "cfa-watermark" to any element that wraps a photo.
   Tunables: --cfa-wm-width, --cfa-wm-opacity, --cfa-wm-inset
   ========================================================================== */
.cfa-watermark { position: relative; }
.cfa-watermark::after {
	content: '';
	position: absolute;
	left: var(--cfa-wm-inset, 18px);
	bottom: var(--cfa-wm-inset, 18px);
	width: var(--cfa-wm-width, 168px);
	/* logo is 2560 x 823, ratio 0.3215 */
	height: calc(var(--cfa-wm-width, 168px) * 0.3215);
	background-image: var(--cfa-watermark-img);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left bottom;
	opacity: var(--cfa-wm-opacity, 0.55);
	filter: drop-shadow(0 1px 4px rgba(0,0,0,0.6));
	pointer-events: none;
	z-index: 3;
}
@media (max-width: 900px) {
	.cfa-watermark { --cfa-wm-width: 118px; --cfa-wm-inset: 12px; }
}

/* FAQ Accordion skin - Elementor Nested Accordion - add class cfa-faq */
.cfa-faq .e-n-accordion-item{border:1px solid #E2E5EA!important;background:#FFF!important;border-radius:0!important;margin-bottom:8px!important;overflow:hidden;}
.cfa-faq .e-n-accordion-item:last-child{margin-bottom:0!important;}
.cfa-faq .e-n-accordion-item-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:16px 20px!important;cursor:pointer;background:transparent!important;border:none!important;border-radius:0!important;transition:background .15s;user-select:none;list-style:none;}
.cfa-faq .e-n-accordion-item-title::-webkit-details-marker{display:none;}
.cfa-faq .e-n-accordion-item-title:hover{background:#F0F2F5!important;}
.cfa-faq .e-n-accordion-item-title-text,
.cfa-faq .e-n-accordion-item-title-header{font-family:Barlow Condensed,sans-serif!important;font-size:15px!important;font-weight:700!important;letter-spacing:.04em!important;color:#1A1C1F!important;line-height:1.35!important;margin:0!important;}
.cfa-faq .e-n-accordion-item-title-icon{width:22px!important;height:22px!important;min-width:22px;background:#F0F2F5!important;border:1px solid #E2E5EA!important;border-radius:0!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;color:#4A5060!important;font-size:13px!important;transition:background .15s,border-color .15s,color .15s;}
.cfa-faq .e-n-accordion-item-title-icon svg{width:11px;height:11px;fill:currentColor;}
.cfa-faq .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon{background:#C8102E!important;border-color:#C8102E!important;color:#FFF!important;}
.cfa-faq .e-n-accordion-item>.e-con{padding:0 20px 16px!important;background:transparent!important;}
.cfa-faq .e-n-accordion-item p{font-family:Barlow,sans-serif!important;font-size:14px!important;color:#4A5060!important;line-height:1.7!important;}
.cfa-faq .e-n-accordion-item p:last-child{margin-bottom:0!important;}
.cfa-faq-group-title{font-family:Bebas Neue,sans-serif;font-size:20px;letter-spacing:.04em;color:#1A1C1F;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid #C8102E;display:inline-block;}


/* CFA Sell Your Truck multi-page form controls - Form 4 only */
.gform_wrapper#gform_wrapper_4 .gf_page_steps {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  margin: 0 0 2rem;
  padding: 0;
  border: 0;
  position: relative;
}

.gform_wrapper#gform_wrapper_4 .gf_page_steps::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 13px;
  right: 13px;
  height: 1px;
  background: var(--e-global-color-6b155ebf);
  z-index: 0;
}

.gform_wrapper#gform_wrapper_4 .gf_step {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  text-align: center;
  opacity: 1;
}

.gform_wrapper#gform_wrapper_4 .gf_step_number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: var(--e-global-color-95fbdd39);
  color: var(--e-global-color-7c4f6a91);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.gform_wrapper#gform_wrapper_4 .gf_step_label {
  color: var(--e-global-color-7c4f6a91);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1.25;
  text-transform: uppercase;
}

.gform_wrapper#gform_wrapper_4 .gf_step_active .gf_step_number,
.gform_wrapper#gform_wrapper_4 .gf_step_completed .gf_step_number {
  background: var(--e-global-color-primary);
  color: var(--e-global-color-51d1a8d1);
}

.gform_wrapper#gform_wrapper_4 .gf_step_active .gf_step_label {
  color: var(--e-global-color-text);
}

.gform_wrapper#gform_wrapper_4 .gform_page_footer {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-top: 1.75rem;
}

.gform_wrapper#gform_wrapper_4 .gform_page_footer .gform_next_button,
.gform_wrapper#gform_wrapper_4 .gform_page_footer input[type="submit"] {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 15px 32px;
  border: 0;
  border-radius: 0;
  background: var(--e-global-color-primary);
  color: var(--e-global-color-51d1a8d1);
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  cursor: pointer;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
  transition: background-color 160ms ease, color 160ms ease;
}

.gform_wrapper#gform_wrapper_4 .gform_page_footer .gform_next_button:hover,
.gform_wrapper#gform_wrapper_4 .gform_page_footer input[type="submit"]:hover {
  background: var(--e-global-color-03ed78ac);
  color: var(--e-global-color-51d1a8d1);
}

.gform_wrapper#gform_wrapper_4 .gform_page_footer .gform_next_button::after,
.gform_wrapper#gform_wrapper_4 .gform_page_footer input[type="submit"]::after {
  content: " →";
}

.gform_wrapper#gform_wrapper_4 .gform_page_footer .gform_previous_button {
  appearance: none;
  min-height: 48px;
  padding: 15px 26px;
  border: 1px solid var(--e-global-color-6b155ebf);
  border-radius: 0;
  background: transparent;
  color: var(--e-global-color-08980f21);
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  cursor: pointer;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.gform_wrapper#gform_wrapper_4 .gform_page_footer .gform_previous_button:hover {
  border-color: var(--e-global-color-secondary);
  background: var(--e-global-color-secondary);
  color: var(--e-global-color-51d1a8d1);
}
/* Conditional logic: allow GF to hide fields.
   The global .gfield display:flex !important above otherwise overrides
   Gravity Forms' inline display:none. */
.gform_wrapper .gfield[style*="display:none"],
.gform_wrapper .gfield[style*="display: none"],
.gform_wrapper .gfield.gfield_visibility_hidden,
.gform_wrapper .gf_invisible,
/* Honeypot: GF disguises it with a real-looking label and hides it with its own
   CSS. The global .gfield display rule was overriding that, so the decoy field
   was rendering visible on the form. */
.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield--type-hidden,
.gform_wrapper .gfield.gform_hidden,
.gform_wrapper .gfield--type-honeypot {
    display: none !important;
    position: absolute !important;
    left: -9999px !important;
}
/* CFA Gravity Forms V4 UI polish - appended 2026-08-11
   Keeps existing rules intact; overrides remaining Gravity Forms theme UI. */
.gform_wrapper .gf_page_steps {
  --cfa-gf-step-size: 26px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
  width: 100%;
  margin: 0 0 2rem !important;
  padding: 0 !important;
  border: 0 !important;
  position: relative;
}

.gform_wrapper .gf_page_steps::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 13px;
  right: 13px;
  height: 1px;
  background: var(--e-global-color-6b155ebf);
  z-index: 0;
}

.gform_wrapper .gf_step {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  opacity: 1 !important;
}

.gform_wrapper .gf_step::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  width: 50%;
  height: 1px;
  background: var(--e-global-color-primary);
  z-index: -1;
  display: none;
}

.gform_wrapper .gf_step.gf_step_completed::before,
.gform_wrapper .gf_step.gf_step_active::before {
  display: block;
}

.gform_wrapper .gf_step.gf_step_first::before {
  display: none;
}

.gform_wrapper .gf_step_number {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: var(--cfa-gf-step-size) !important;
  height: var(--cfa-gf-step-size) !important;
  min-width: var(--cfa-gf-step-size) !important;
  border: 1px solid var(--e-global-color-6b155ebf) !important;
  border-radius: 999px !important;
  background: var(--e-global-color-95fbdd39) !important;
  color: var(--e-global-color-7c4f6a91) !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  position: relative;
}

.gform_wrapper .gf_step_completed .gf_step_number,
.gform_wrapper .gf_step_active .gf_step_number {
  border-color: var(--e-global-color-primary) !important;
  background: var(--e-global-color-primary) !important;
  color: var(--e-global-color-51d1a8d1) !important;
}

.gform_wrapper .gf_step_completed .gf_step_number {
  font-size: 0 !important;
}

.gform_wrapper .gf_step_completed .gf_step_number::after {
  content: "\2713" !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--e-global-color-51d1a8d1) !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  position: static !important;
  transform: none !important;
}

.gform_wrapper .gf_step_label {
  color: var(--e-global-color-7c4f6a91) !important;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.gform_wrapper .gf_step_active .gf_step_label,
.gform_wrapper .gf_step_completed .gf_step_label {
  color: var(--e-global-color-text) !important;
}

.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper .gform_page_footer button[type="submit"],
.gform_wrapper .gform_next_button {
  appearance: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 15px 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--e-global-color-primary) !important;
  color: var(--e-global-color-51d1a8d1) !important;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  cursor: pointer;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  transition: background-color 160ms ease, color 160ms ease;
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer button[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer button[type="submit"]:hover,
.gform_wrapper .gform_next_button:hover {
  background: var(--e-global-color-03ed78ac) !important;
  color: var(--e-global-color-51d1a8d1) !important;
}

.gform_wrapper .gform_previous_button {
  appearance: none;
  min-height: 48px;
  padding: 15px 26px !important;
  border: 1px solid var(--e-global-color-6b155ebf) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--e-global-color-08980f21) !important;
  clip-path: none !important;
  cursor: pointer;
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.gform_wrapper .gform_previous_button:hover {
  border-color: var(--e-global-color-secondary) !important;
  background: transparent !important;
  color: var(--e-global-color-secondary) !important;
}

.gform_wrapper .gform_drop_area,
.gform_wrapper .gform-theme-field-control.gform-theme-field-control--fileupload {
  border: 2px dashed var(--e-global-color-6b155ebf) !important;
  border-radius: 0 !important;
  background: var(--e-global-color-accent) !important;
  color: var(--e-global-color-08980f21) !important;
  font-family: "Barlow", sans-serif !important;
}

.gform_wrapper .gform_drop_area:hover,
.gform_wrapper .gform_drop_area.dragover,
.gform_wrapper .gform_drop_area.gform-drag-over,
.gform_wrapper .gform-theme-field-control--fileupload:hover {
  border-color: var(--e-global-color-primary) !important;
  background: color-mix(in srgb, var(--e-global-color-primary) 7%, var(--e-global-color-accent)) !important;
}

.gform_wrapper .gform_drop_instructions,
.gform_wrapper .gform_fileupload_rules {
  color: var(--e-global-color-08980f21) !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.gform_wrapper .gform_button_select_files,
.gform_wrapper button.gform_button_select_files,
.gform_wrapper input.gform_button_select_files {
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--e-global-color-primary) !important;
  color: var(--e-global-color-51d1a8d1) !important;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  font-family: "Barlow Condensed", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  line-height: 1 !important;
  padding: 13px 24px !important;
  text-transform: uppercase !important;
}

.gform_wrapper .gform_button_select_files:hover,
.gform_wrapper button.gform_button_select_files:hover,
.gform_wrapper input.gform_button_select_files:hover {
  background: var(--e-global-color-03ed78ac) !important;
  color: var(--e-global-color-51d1a8d1) !important;
}

.gform_wrapper .gform_fileupload_multifile .gform_drop_area::before,
.gform_wrapper .gform-theme-field-control--fileupload::before {
  color: var(--e-global-color-08980f21) !important;
}

.gform_wrapper .gform_delete_file,
.gform_wrapper .gform_delete_file:hover,
.gform_wrapper .gform_delete_file:focus {
  color: var(--e-global-color-08980f21) !important;
}

.gform_wrapper .gform_delete_file:hover,
.gform_wrapper .gform_delete_file:focus {
  color: var(--e-global-color-primary) !important;
}

.gform_wrapper .gform_fileupload_progressbar,
.gform_wrapper .gform-theme-file-upload-progress__progress {
  background: var(--e-global-color-95fbdd39) !important;
}

.gform_wrapper .gform_fileupload_progressbar_progress,
.gform_wrapper .gform-theme-file-upload-progress__progress-bar {
  background: var(--e-global-color-primary) !important;
}

.gform_wrapper .gform_fileupload_progressbar_complete .gform_fileupload_progressbar_progress,
.gform_wrapper .gform-theme-file-upload-progress--complete .gform-theme-file-upload-progress__progress-bar {
  background: var(--e-global-color-86f9c277) !important;
}

.gform_wrapper .gform_fileupload_filename,
.gform_wrapper .gform-theme-file-upload-progress__file-name {
  color: var(--e-global-color-text) !important;
  font-family: "Barlow", sans-serif !important;
}

.gform_wrapper .gform_fileupload_filesize,
.gform_wrapper .gform-theme-file-upload-progress__file-size {
  color: var(--e-global-color-08980f21) !important;
  font-family: "Barlow", sans-serif !important;
  font-size: 12px !important;
}

.gform_wrapper input[type="radio"],
.gform_wrapper input[type="checkbox"] {
  appearance: none;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 0.55rem 0 0 !important;
  border: 1.5px solid var(--e-global-color-6b155ebf) !important;
  background: var(--e-global-color-51d1a8d1) !important;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
}

.gform_wrapper input[type="radio"] {
  border-radius: 50% !important;
}

.gform_wrapper input[type="checkbox"] {
  border-radius: 0 !important;
}

.gform_wrapper input[type="radio"]:checked,
.gform_wrapper input[type="checkbox"]:checked {
  border-color: var(--e-global-color-primary) !important;
  background: var(--e-global-color-primary) !important;
}

.gform_wrapper input[type="radio"]:checked::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: var(--e-global-color-51d1a8d1);
}

.gform_wrapper input[type="checkbox"]:checked::before {
  content: "\2713";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--e-global-color-51d1a8d1);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.gform_wrapper input[type="radio"]:focus-visible,
.gform_wrapper input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--e-global-color-primary) !important;
  outline-offset: 2px !important;
}

.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
  gap: var(--cfa-choice-gap) !important;
}

.gform_wrapper .gchoice {
  display: flex !important;
  align-items: center;
  gap: 0;
  min-height: 26px;
  margin: 0 !important;
}

.gform_wrapper .gchoice label,
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
  color: var(--e-global-color-text) !important;
  cursor: pointer;
  font-family: "Barlow", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
/* CFA Gravity Forms choice control specificity patch - appended 2026-08-11 */
.gform_wrapper .gfield_radio .gchoice input[type="radio"].gfield-choice-input,
.gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"].gfield-choice-input,
.gform_wrapper .gchoice input[type="radio"],
.gform_wrapper .gchoice input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 1.5px solid var(--e-global-color-6b155ebf) !important;
  background-color: var(--e-global-color-51d1a8d1) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.gform_wrapper .gfield_radio .gchoice input[type="radio"].gfield-choice-input:checked,
.gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"].gfield-choice-input:checked,
.gform_wrapper .gchoice input[type="radio"]:checked,
.gform_wrapper .gchoice input[type="checkbox"]:checked {
  border-color: var(--e-global-color-primary) !important;
  background-color: var(--e-global-color-primary) !important;
}

.gform_wrapper .gfield_radio .gchoice input[type="radio"].gfield-choice-input:focus-visible,
.gform_wrapper .gfield_checkbox .gchoice input[type="checkbox"].gfield-choice-input:focus-visible,
.gform_wrapper .gchoice input[type="radio"]:focus-visible,
.gform_wrapper .gchoice input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--e-global-color-primary) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}
/* CFA Gravity Forms Orbital choice-state override - appended 2026-08-11 */
body .gform_wrapper .gfield .gchoice input.gfield-choice-input[type="radio"],
body .gform_wrapper .gfield .gchoice input.gfield-choice-input[type="checkbox"] {
  --gf-local-bg-color: var(--e-global-color-51d1a8d1) !important;
  --gf-local-border-color: var(--e-global-color-6b155ebf) !important;
  --gf-ctrl-choice-check-color: var(--e-global-color-primary) !important;
  --gf-ctrl-choice-color: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-6b155ebf) !important;
  background-color: var(--e-global-color-51d1a8d1) !important;
}

body .gform_wrapper .gfield .gchoice input.gfield-choice-input[type="radio"]:checked,
body .gform_wrapper .gfield .gchoice input.gfield-choice-input[type="checkbox"]:checked {
  --gf-local-bg-color: var(--e-global-color-primary) !important;
  --gf-local-border-color: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-primary) !important;
  background-color: var(--e-global-color-primary) !important;
}

body .gform_wrapper .gfield .gchoice input.gfield-choice-input[type="radio"]:focus,
body .gform_wrapper .gfield .gchoice input.gfield-choice-input[type="radio"]:focus-visible,
body .gform_wrapper .gfield .gchoice input.gfield-choice-input[type="checkbox"]:focus,
body .gform_wrapper .gfield .gchoice input.gfield-choice-input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--e-global-color-primary) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}
/* CFA Gravity Forms final choice paint override - appended 2026-08-11 */
html body .gform_wrapper.gform_wrapper .gfield.gfield .gchoice.gchoice input.gfield-choice-input[type="radio"][type="radio"],
html body .gform_wrapper.gform_wrapper .gfield.gfield .gchoice.gchoice input.gfield-choice-input[type="checkbox"][type="checkbox"] {
  background: var(--e-global-color-51d1a8d1) !important;
  border-color: var(--e-global-color-6b155ebf) !important;
}

html body .gform_wrapper.gform_wrapper .gfield.gfield .gchoice.gchoice input.gfield-choice-input[type="radio"][type="radio"]:checked,
html body .gform_wrapper.gform_wrapper .gfield.gfield .gchoice.gchoice input.gfield-choice-input[type="checkbox"][type="checkbox"]:checked {
  background: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-primary) !important;
}

html body .gform_wrapper.gform_wrapper .gfield.gfield .gchoice.gchoice input.gfield-choice-input[type="radio"][type="radio"]:focus,
html body .gform_wrapper.gform_wrapper .gfield.gfield .gchoice.gchoice input.gfield-choice-input[type="radio"][type="radio"]:focus-visible,
html body .gform_wrapper.gform_wrapper .gfield.gfield .gchoice.gchoice input.gfield-choice-input[type="checkbox"][type="checkbox"]:focus,
html body .gform_wrapper.gform_wrapper .gfield.gfield .gchoice.gchoice input.gfield-choice-input[type="checkbox"][type="checkbox"]:focus-visible {
  outline-color: var(--e-global-color-primary) !important;
  outline-style: solid !important;
  outline-width: 2px !important;
  outline-offset: 2px !important;
}
/* CFA Gravity Forms accessible visual choice controls - appended 2026-08-11 */
.gform_wrapper .gchoice {
  position: relative;
}

.gform_wrapper .gchoice input.gfield-choice-input[type="radio"],
.gform_wrapper .gchoice input.gfield-choice-input[type="checkbox"] {
  position: absolute !important;
  inset-inline-start: 0 !important;
  top: 0.45rem !important;
  opacity: 0 !important;
  z-index: 1 !important;
}

.gform_wrapper .gchoice input.gfield-choice-input[type="radio"] + label,
.gform_wrapper .gchoice input.gfield-choice-input[type="checkbox"] + label {
  position: relative;
  min-height: 26px;
  padding-left: 28px !important;
}

.gform_wrapper .gchoice input.gfield-choice-input[type="radio"] + label::before,
.gform_wrapper .gchoice input.gfield-choice-input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--e-global-color-6b155ebf);
  background: var(--e-global-color-51d1a8d1);
  box-sizing: border-box;
}

.gform_wrapper .gchoice input.gfield-choice-input[type="radio"] + label::before {
  border-radius: 50%;
}

.gform_wrapper .gchoice input.gfield-choice-input[type="checkbox"] + label::before {
  border-radius: 0;
}

.gform_wrapper .gchoice input.gfield-choice-input[type="radio"]:checked + label::before,
.gform_wrapper .gchoice input.gfield-choice-input[type="checkbox"]:checked + label::before {
  border-color: var(--e-global-color-primary);
  background: var(--e-global-color-primary);
}

.gform_wrapper .gchoice input.gfield-choice-input[type="radio"]:checked + label::after {
  content: "";
  position: absolute;
  left: 5px;
  top: calc(0.18em + 5px);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--e-global-color-51d1a8d1);
}

.gform_wrapper .gchoice input.gfield-choice-input[type="checkbox"]:checked + label::after {
  content: "\2713";
  position: absolute;
  left: 3px;
  top: 0.05em;
  color: var(--e-global-color-51d1a8d1);
  font-size: 13px;
  font-weight: 800;
  line-height: 18px;
}

.gform_wrapper .gchoice input.gfield-choice-input[type="radio"]:focus + label::before,
.gform_wrapper .gchoice input.gfield-choice-input[type="radio"]:focus-visible + label::before,
.gform_wrapper .gchoice input.gfield-choice-input[type="checkbox"]:focus + label::before,
.gform_wrapper .gchoice input.gfield-choice-input[type="checkbox"]:focus-visible + label::before {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: 2px;
}

/* Short testimonial quotes render larger and tighter so a two-line quote does not
   look like an error beside a six-line one. The testimonial-short class is added by
   cfa_testimonial_short_quote_class() in functions.php when a quote is under 200 chars. */
.testimonial-short .elementor-widget-text-editor,
.testimonial-short .elementor-widget-text-editor p,
.testimonial-short .elementor-widget-text-editor .elementor-widget-container{
	font-size: clamp(1.125rem, 1.4vw, 1.25rem) !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	color: var(--e-global-color-text) !important;
}

/* Blog post body typography. Class cfa-story-body sits on the Post Content
   widget in the CFA Single Post template. Imported posts carry raw h2-h4 and
   blockquote markup that Elementor does not style on its own. */
.cfa-story-body h2,.cfa-story-body h3,.cfa-story-body h4{
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--e-global-color-text);
	line-height: 1.2;
	margin: 2.25rem 0 .85rem;
}
.cfa-story-body h2{font-size:1.5rem;}
.cfa-story-body h3{font-size:1.25rem;}
.cfa-story-body h4{font-size:1.0625rem;}
.cfa-story-body > *:first-child{margin-top:0;}
.cfa-story-body p{
	font-size: var(--e-global-typography-text-font-size, 1.0625rem);
	line-height: 1.8;
	color: var(--e-global-color-08980f21);
	margin: 0 0 1.15rem;
}
.cfa-story-body blockquote{
	margin: 1.75rem 0;
	padding: 1.35rem 1.6rem;
	background: var(--e-global-color-accent);
	border-left: 4px solid var(--e-global-color-primary);
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.6;
	color: var(--e-global-color-text);
}
.cfa-story-body blockquote p{font-size:inherit;color:inherit;font-weight:inherit;margin:0 0 .6rem;}
.cfa-story-body blockquote p:last-child{margin-bottom:0;}
.cfa-story-body img{height:auto;margin:1.5rem 0;border:1px solid var(--e-global-color-6b155ebf);}
.cfa-story-body a{color:var(--e-global-color-primary);text-decoration:underline;}
.cfa-story-body ul,.cfa-story-body ol{margin:0 0 1.15rem 1.25rem;color:var(--e-global-color-08980f21);line-height:1.8;}
.cfa-story-body li{margin-bottom:.4rem;}

/* Rank Math breadcrumbs. Rendered via [rank_math_breadcrumb] in the Elementor
   hero containers and via rank_math_the_breadcrumbs() in single-apparatus.php. */
.rank-math-breadcrumb,.cfa-crumbs .rank-math-breadcrumb p,.cfau-crumbs .rank-math-breadcrumb p{
	font-family:'Barlow Condensed',sans-serif;
	font-size:.6875rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
	color:var(--e-global-color-7c4f6a91);margin:0 0 1rem;line-height:1.4;
}
.rank-math-breadcrumb a{color:var(--e-global-color-7c4f6a91);text-decoration:none;transition:color .18s;}
.rank-math-breadcrumb a:hover{color:var(--e-global-color-primary);}
.rank-math-breadcrumb .separator{color:var(--e-global-color-6b155ebf);margin:0 .5em;}
.rank-math-breadcrumb .last{color:var(--e-global-color-08980f21);}
.cfau-crumbs{margin-bottom:.5rem;}

/* Meet the Team. Add class cfa-team-card to each profile card container and
   cfa-tech-card to each shop crew card. Forces consistent photo crops so a
   row of headshots shot at different ratios still lines up. */
.cfa-team-card img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block;}
.cfa-tech-card img{aspect-ratio:1/1;object-fit:cover;width:100%;display:block;}

/* Placeholder state for photos not shot yet. Add class cfa-photo-pending to
   an empty container in place of the image widget. */
.cfa-photo-pending{
	aspect-ratio:4/5;background:var(--e-global-color-95fbdd39);
	display:flex;align-items:center;justify-content:center;
}
.cfa-photo-pending::after{
	content:'Photo to come';
	font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;
	letter-spacing:.18em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);
}
.cfa-tech-card .cfa-photo-pending{aspect-ratio:1/1;background:#33373E;}
.cfa-tech-card .cfa-photo-pending::after{content:'Photo';color:#5F666E;font-size:.625rem;}

/* Icon Box rotate does not apply to Font Awesome icons because Elementor renders
   them as inline SVG while the rotate control targets <i>. Add class cfa-diamond
   to an Icon Box using the solid square icon to turn it 45 degrees. */
.cfa-diamond .elementor-icon svg,
.cfa-diamond .elementor-icon i{
	transform: rotate(45deg);
}
.cfa-diamond .elementor-icon{
	display:inline-flex;align-items:center;justify-content:center;
}

/* Virtual showing prompt, sits tight under the Schedule Inspection button */
.cfau-virtual{
	position:relative;
	font-family:'Barlow',sans-serif;font-size:13px;line-height:1.5;
	color:#4A5060;
	background:#ECEEF2;
	border:1px solid #DFE2E8;
	border-left:3px solid #C8102E;
	padding:12px 14px 12px 40px;
	margin:-6px 0 14px;
}
.cfau-virtual::before{
	content:'';position:absolute;left:14px;top:13px;
	width:16px;height:16px;
	background:#C8102E;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 10.5V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3.5l4 4v-11l-4 4z'/%3E%3C/svg%3E") no-repeat center/contain;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 10.5V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3.5l4 4v-11l-4 4z'/%3E%3C/svg%3E") no-repeat center/contain;
}
.cfau-virtual strong{color:#C8102E;font-weight:700;}

/* Courtesy listing notice inside the description. Flags units Command does
   not own, so a buyer is never misled about who holds the apparatus. */
.cfau-courtesy-note{
	background:var(--e-global-color-accent);
	border-left:3px solid var(--e-global-color-primary);
	padding:12px 16px;margin:1.25rem 0 1.75rem;
	font-size:13px;line-height:1.6;color:var(--e-global-color-08980f21);
}

/* ============================================================
   Apparatus archive. Inventory grid, filters and cards.
   Scoped to .cfaa- so nothing here can leak into Elementor pages.
   ============================================================ */
.cfaa-wrap{background:var(--e-global-color-accent);}
.cfaa-wrap *{box-sizing:border-box;}

/* hero */
.cfaa-hero{background:#fff;border-bottom:1px solid var(--e-global-color-6b155ebf);padding:3rem 4% 2.5rem;}
.cfaa-hero-in{max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;}
.cfaa-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--e-global-color-primary);margin:0 0 .6rem;}
.cfaa-title{font-family:'Bebas Neue',sans-serif;font-weight:800;font-size:clamp(2.5rem,5vw,3.75rem);line-height:.92;letter-spacing:.02em;color:var(--e-global-color-text);margin:0;text-transform:uppercase;}
.cfaa-title span{color:var(--e-global-color-primary);}
.cfaa-count{font-family:'Barlow',sans-serif;font-size:.9375rem;color:var(--e-global-color-08980f21);margin:0;}
.cfaa-count strong{color:var(--e-global-color-text);font-weight:700;}

/* toolbar */
.cfaa-toolbar{background:#fff;border-bottom:1px solid var(--e-global-color-6b155ebf);padding:.9rem 4%;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.cfaa-pills{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.cfaa-pill-label,.cfaa-sort-label{font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);}
.cfaa-pill{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-08980f21);background:#fff;border:1px solid var(--e-global-color-6b155ebf);padding:.5rem 1.1rem;text-decoration:none;transition:background .18s,color .18s,border-color .18s;}
.cfaa-pill:hover{border-color:var(--e-global-color-primary);color:var(--e-global-color-primary);}
.cfaa-pill.active{background:var(--e-global-color-primary);border-color:var(--e-global-color-primary);color:#fff;}
.cfaa-sortform{display:flex;align-items:center;gap:.6rem;margin:0;}
.cfaa-sortform select{font-family:'Barlow',sans-serif;font-size:.875rem;padding:.55rem 2rem .55rem .8rem;border:1px solid var(--e-global-color-6b155ebf);background:#fff;color:var(--e-global-color-text);border-radius:0;}
.cfaa-go{font-family:'Barlow Condensed',sans-serif;font-weight:800;text-transform:uppercase;background:var(--e-global-color-primary);color:#fff;border:0;padding:.55rem 1rem;cursor:pointer;}

/* layout */
.cfaa-body{max-width:1440px;margin:0 auto;padding:2rem 4% 4rem;display:grid;grid-template-columns:260px minmax(0,1fr);gap:2rem;align-items:start;}

/* sidebar */
/* The filter column is taller than the viewport, so pinning its TOP pushed
   Apply Filters permanently below the fold. The column scrolls with the page
   now, and the action bar pins to the bottom instead - reachable at any
   scroll position, released naturally at the end of the column. */
.cfaa-side{background:#fff;border:1px solid var(--e-global-color-6b155ebf);}
@media (min-width:901px){
  .cfaa-applybar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--e-global-color-6b155ebf);padding:.85rem 1.25rem;z-index:5;}
}
@media (max-width:900px){
  .cfaa-applybar{padding:.85rem 1.25rem;border-top:1px solid var(--e-global-color-6b155ebf);}
}
.cfaa-fgroup{padding:1.25rem;border-bottom:1px solid var(--e-global-color-6b155ebf);}
.cfaa-fgroup:last-of-type{border-bottom:0;}
.cfaa-fhead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem;}
.cfaa-side h2{font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);margin:0 0 .75rem;}
.cfaa-fhead h2{margin:0;}
.cfaa-clear{font-family:'Barlow Condensed',sans-serif;font-size:.625rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-primary);text-decoration:underline;}
.cfaa-checks{list-style:none;margin:0;padding:0;}
.cfaa-checks li{margin-bottom:.15rem;}
.cfaa-check{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s;}
.cfaa-check:hover{background:var(--e-global-color-accent);}
.cfaa-check.on{background:#FDF2F4;border-color:var(--e-global-color-primary);}
.cfaa-check input{accent-color:var(--e-global-color-primary);width:15px;height:15px;margin:0;flex:0 0 auto;}
.cfaa-check-name{flex:1;font-family:'Barlow Condensed',sans-serif;font-size:.8125rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--e-global-color-text);}
.cfaa-check-n{font-family:'Barlow',sans-serif;font-size:.75rem;color:var(--e-global-color-7c4f6a91);}

/* range sliders */
.cfaa-range{position:relative;padding-top:.25rem;}
.cfaa-range-vals{display:flex;justify-content:space-between;margin-bottom:.6rem;}
.cfaa-range-vals span{font-family:'Barlow Condensed',sans-serif;font-size:.9375rem;font-weight:800;color:var(--e-global-color-text);}
.cfaa-range-vals em{font-style:normal;font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);}
.cfaa-range input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:var(--e-global-color-6b155ebf);margin:.55rem 0;outline:none;}
.cfaa-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--e-global-color-primary);cursor:pointer;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25);}
.cfaa-range input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--e-global-color-primary);cursor:pointer;border:2px solid #fff;}
.cfaa-range-ends{display:flex;justify-content:space-between;font-family:'Barlow',sans-serif;font-size:.6875rem;color:var(--e-global-color-7c4f6a91);}
/* Resting until the sidebar has unapplied changes, then it lights up with a
   count - the pills and sort apply instantly, so the batched filters needed
   a visible pending state. */
.cfaa-wrap .cfaa-side button.cfaa-apply{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.55rem!important;font-family:'Barlow Condensed',sans-serif!important;font-size:.8125rem!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;background:transparent!important;color:#4A5060!important;border:1.5px solid #C9CED6!important;padding:.85rem!important;cursor:pointer!important;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)!important;transition:background .18s ease,color .18s ease,border-color .18s ease!important;}
.cfaa-wrap .cfaa-side button.cfaa-apply:hover{border-color:#2C2F35!important;color:#1A1C1F!important;background:transparent!important;}
.cfaa-wrap .cfaa-side button.cfaa-apply.is-pending{background:var(--e-global-color-primary)!important;color:#fff!important;border-color:var(--e-global-color-primary)!important;}
.cfaa-wrap .cfaa-side button.cfaa-apply.is-pending:hover{background:#9B0B22!important;border-color:#9B0B22!important;color:#fff!important;}
.cfaa-apply-count{display:none;}
.cfaa-apply.is-pending .cfaa-apply-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:rgba(255,255,255,.22);font-size:.6875rem;letter-spacing:0;}
.cfaa-apply-hint{margin:.5rem 0 0;font-family:'Barlow',sans-serif;font-size:.75rem;color:var(--e-global-color-primary);text-align:center;min-height:1em;}
.cfaa-apply:hover{background:#9B0B22;}

/* sold promo */
.cfaa-promo{background:#fff;border:1px solid var(--e-global-color-6b155ebf);border-left:4px solid var(--e-global-color-primary);padding:1.15rem 1.4rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.cfaa-promo h2{font-family:'Barlow Condensed',sans-serif;font-size:.9375rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--e-global-color-text);margin:0 0 .25rem;}
.cfaa-promo p{font-family:'Barlow',sans-serif;font-size:.875rem;color:var(--e-global-color-08980f21);margin:0;}
.cfaa-promo-link{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--e-global-color-primary);text-decoration:none;border-bottom:2px solid var(--e-global-color-primary);white-space:nowrap;padding-bottom:2px;}

/* results bar */
.cfaa-resbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;}
.cfaa-resnote{font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);margin:0;}
.cfaa-views{display:flex;gap:2px;}
.cfaa-view{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--e-global-color-6b155ebf);color:var(--e-global-color-08980f21);text-decoration:none;font-size:15px;}
.cfaa-view.on{background:var(--e-global-color-primary);border-color:var(--e-global-color-primary);color:#fff;}

/* grid */
.cfaa-grid.is-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1rem;}
.cfaa-grid.is-list{display:flex;flex-direction:column;gap:.75rem;}
.cfaa-card{background:#fff;border:1px solid var(--e-global-color-6b155ebf);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;overflow:hidden;}
.cfaa-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(13,13,13,.10);}
.cfaa-card-img{position:relative;display:block;aspect-ratio:4/3;background:var(--e-global-color-95fbdd39);overflow:hidden;}
.cfaa-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.cfaa-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);}
.cfaa-ribbon{position:absolute;top:12px;left:0;font-family:'Barlow Condensed',sans-serif;font-size:.625rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fff;padding:5px 14px 5px 10px;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);}
.cfaa-vid{position:absolute;bottom:10px;left:10px;background:rgba(13,13,13,.82);color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:.625rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;}
.cfaa-card-body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;flex:1;}
.cfaa-card-meta{display:flex;align-items:center;gap:.6rem;margin:0 0 .4rem;}
.cfaa-yr{font-family:'Barlow Condensed',sans-serif;font-size:.9375rem;font-weight:800;color:var(--e-global-color-primary);}
.cfaa-chip{font-family:'Barlow Condensed',sans-serif;font-size:.5625rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-08980f21);background:var(--e-global-color-accent);border:1px solid var(--e-global-color-6b155ebf);padding:2px 7px;}
.cfaa-card-title{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:800;line-height:1.25;letter-spacing:.02em;margin:0 0 .5rem;}
.cfaa-card-title a{color:var(--e-global-color-text);text-decoration:none;}
.cfaa-card-title a:hover{color:var(--e-global-color-primary);}
.cfaa-specs{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 .9rem;font-family:'Barlow',sans-serif;font-size:.75rem;color:var(--e-global-color-7c4f6a91);}
.cfaa-specs strong{color:var(--e-global-color-text);font-weight:600;}
.cfaa-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;}
.cfaa-price{font-family:'Bebas Neue',sans-serif;font-weight:800;font-size:1.625rem;line-height:1;color:var(--e-global-color-text);margin:0;}
.cfaa-price span{font-size:.9375rem;vertical-align:top;margin-right:1px;}
.cfaa-price-call{font-family:'Barlow Condensed',sans-serif;font-size:.9375rem;letter-spacing:.06em;text-transform:uppercase;color:var(--e-global-color-08980f21);}
.cfaa-more{font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--e-global-color-primary);text-decoration:none;border-bottom:1px solid var(--e-global-color-primary);white-space:nowrap;padding-bottom:1px;}
.cfaa-courtesy{margin:.75rem 0 0;padding-top:.6rem;border-top:1px solid var(--e-global-color-6b155ebf);font-family:'Barlow',sans-serif;font-size:.6875rem;font-style:italic;color:var(--e-global-color-7c4f6a91);}

/* courtesy and sold treatment */



/* list view */
.cfaa-grid.is-list .cfaa-card{flex-direction:row;}
.cfaa-grid.is-list .cfaa-card-img{flex:0 0 260px;aspect-ratio:4/3;}
.cfaa-grid.is-list .cfaa-card-body{flex:1;}

/* pagination */
.cfaa-pager{margin-top:2rem;display:flex;justify-content:center;}
.cfaa-pager .page-numbers{font-family:'Barlow Condensed',sans-serif;font-size:.8125rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.6rem 1rem;background:#fff;border:1px solid var(--e-global-color-6b155ebf);color:var(--e-global-color-text);text-decoration:none;margin:0 2px;display:inline-block;}
.cfaa-pager .page-numbers.current{background:var(--e-global-color-primary);border-color:var(--e-global-color-primary);color:#fff;}
.cfaa-pager .page-numbers:hover:not(.current){border-color:var(--e-global-color-primary);color:var(--e-global-color-primary);}

/* empty state */
.cfaa-empty{background:#fff;border:1px solid var(--e-global-color-6b155ebf);padding:3rem 2rem;text-align:center;}
.cfaa-empty h2{font-family:'Bebas Neue',sans-serif;font-weight:800;font-size:1.75rem;letter-spacing:.02em;color:var(--e-global-color-text);margin:0 0 .6rem;}
.cfaa-empty p{font-family:'Barlow',sans-serif;font-size:.9375rem;line-height:1.7;color:var(--e-global-color-08980f21);max-width:520px;margin:0 auto 1.5rem;}
.cfaa-empty-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;}
.cfaa-btn-r,.cfaa-btn-o{font-family:'Barlow Condensed',sans-serif;font-size:.8125rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.85rem 1.75rem;text-decoration:none;}
.cfaa-btn-r{background:var(--e-global-color-primary);color:#fff;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);}
.cfaa-btn-o{border:1px solid var(--e-global-color-secondary);color:var(--e-global-color-secondary);}
.cfaa-btn-o:hover{background:var(--e-global-color-secondary);color:#fff;}

@media(max-width:1024px){
  .cfaa-body{grid-template-columns:1fr;}
  .cfaa-side{position:static;}
}
@media(max-width:640px){
  .cfaa-hero-in{flex-direction:column;align-items:flex-start;gap:.75rem;}
  .cfaa-toolbar{flex-direction:column;align-items:stretch;}
  .cfaa-grid.is-list .cfaa-card{flex-direction:column;}
  .cfaa-grid.is-list .cfaa-card-img{flex:auto;}
}

/* ---- archive refinements: matches the approved preview ---- */

/* hero gradient, same treatment as the interior pages */
.cfaa-hero{position:relative;overflow:hidden;}
.cfaa-hero-glow{position:absolute;top:-40%;right:-8%;width:46%;height:190%;background:radial-gradient(ellipse at center,rgba(200,16,46,.10) 0%,rgba(200,16,46,0) 70%);pointer-events:none;}
.cfaa-hero-in{position:relative;z-index:1;}

/* the count line and sort control bind to the kit */
.cfaa-count{font-family:'Barlow Condensed',sans-serif;font-size:.8125rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);}
.cfaa-count strong{font-weight:800;color:var(--e-global-color-text);font-size:1rem;}
.cfaa-sortform select{font-family:'Barlow Condensed',sans-serif;font-size:.8125rem;font-weight:800;letter-spacing:.06em;color:var(--e-global-color-text);text-transform:none;}

/* toolbar sticks under the header on scroll */
.cfaa-toolbar{position:sticky;top:0;z-index:20;box-shadow:0 1px 0 var(--e-global-color-6b155ebf);}
.admin-bar .cfaa-toolbar{top:32px;}
@media(max-width:782px){.admin-bar .cfaa-toolbar{top:46px;}}

/* pills: outlined, roomier, with a divider before sort */
.cfaa-pills{gap:.4rem;padding-right:1.25rem;border-right:1px solid var(--e-global-color-6b155ebf);}
.cfaa-pill{padding:.6rem 1.25rem;font-size:.6875rem;letter-spacing:.14em;border-width:1.5px;}
.cfaa-pill-label{margin-right:.5rem;}

/* band filter groups read as secondary to type */
.cfaa-fgroup .cfaa-checks .cfaa-check{padding:.45rem .6rem;}
.cfaa-fgroup-sold{background:var(--e-global-color-accent);}
.cfaa-check-sold .cfaa-check-name{color:var(--e-global-color-08980f21);}
.cfaa-hint{font-family:'Barlow',sans-serif;font-size:.6875rem;font-style:italic;color:var(--e-global-color-7c4f6a91);margin:.4rem 0 0 .65rem;}

/* apply button sits inside the panel rather than floating below it */
.cfaa-apply{margin:0;border-top:1px solid var(--e-global-color-6b155ebf);clip-path:none;font-size:.75rem;padding:1rem;}

/* card image ratio matches the preview */
.cfaa-card-img{aspect-ratio:16/10;}
.cfaa-grid.is-list .cfaa-card-img{aspect-ratio:4/3;}

/* ---- archive fixes: sticky, pill shape, button colours ---- */

/* hello-elementor's reset puts overflow:clip on body, which cancels
   position:sticky for everything inside it. Release it on the archive. */
body.post-type-archive-apparatus{overflow:visible!important;overflow-x:visible!important;}
html{overflow-x:visible;}
body.post-type-archive-apparatus .cfaa-wrap,
body.post-type-archive-apparatus main,
body.post-type-archive-apparatus .site-main{overflow:visible!important;}
.cfaa-toolbar{position:-webkit-sticky;position:sticky!important;top:0;z-index:30;background:#fff;}

/* active type pill uses the angled motif, like the primary buttons */
.cfaa-pill{border-radius:0;}
.cfaa-pill.active{clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);border-color:transparent;padding:.6rem 1.5rem;}

/* empty-state buttons: primary red + ghost dark, text must not inherit red */
.cfaa-btn-r,.cfaa-wrap a.cfaa-btn-r{color:#fff!important;background:var(--e-global-color-primary)!important;border:0;display:inline-block;line-height:1;}
.cfaa-btn-r:hover,.cfaa-wrap a.cfaa-btn-r:hover{background:#9B0B22!important;color:#fff!important;}
.cfaa-btn-o,.cfaa-wrap a.cfaa-btn-o{color:var(--e-global-color-secondary)!important;background:transparent;border:1px solid var(--e-global-color-secondary);display:inline-block;line-height:1;}
.cfaa-btn-o:hover,.cfaa-wrap a.cfaa-btn-o:hover{background:var(--e-global-color-secondary)!important;color:#fff!important;}
.cfaa-empty-btns{align-items:center;}

/* ---- secondary button: matches .cfau-btn-o on the listing page ----
   The angled clip-path cuts the left and right borders, which is what
   gives the secondary button its top-and-bottom-rule look. ---- */
.cfaa-wrap a.cfaa-btn-o{
	background:transparent!important;
	color:#2C2F35!important;
	border:1.5px solid #2C2F35!important;
	clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
	transition:border-color .2s,background .2s;
}
.cfaa-wrap a.cfaa-btn-o:hover{background:rgba(44,47,53,.06)!important;color:#2C2F35!important;}

/* ---- sticky toolbar sits below the sticky header, not behind it ---- */
.cfaa-toolbar{top:var(--cfaa-top,90px)!important;}

/* ---- type pills use the site button styles ----
   Inactive = secondary (transparent, dark border, angled).
   Active   = primary (solid red, angled). ---- */
.cfaa-wrap a.cfaa-pill{background:transparent!important;color:#2C2F35!important;border:1.5px solid #2C2F35!important;clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);padding:.6rem 1.4rem;transition:background .2s,color .2s,border-color .2s;}
.cfaa-wrap a.cfaa-pill:hover{background:rgba(44,47,53,.06)!important;color:#2C2F35!important;}
.cfaa-wrap a.cfaa-pill.active{background:#C8102E!important;color:#fff!important;border:1.5px solid #C8102E!important;}
.cfaa-wrap a.cfaa-pill.active:hover{background:#9B0B22!important;border-color:#9B0B22!important;color:#fff!important;}

/* ---- pill sizing matched to the mockup ----
   Mockup: toolbar ~48px tall, pills ~28px, 11px type, 1px border.
   These come last so they win over the earlier pill blocks. ---- */
.cfaa-toolbar{padding:.625rem 4%!important;}
.cfaa-wrap a.cfaa-pill,.cfaa-wrap a.cfaa-pill.active{
	padding:.4375rem 1.125rem!important;
	font-size:.6875rem!important;
	line-height:1.15!important;
	letter-spacing:.12em!important;
	border-width:1px!important;
}
.cfaa-pills{gap:.35rem!important;padding-right:1rem!important;}
.cfaa-pill-label,.cfaa-sort-label{font-size:.625rem!important;}
.cfaa-sortform select{padding:.4rem 1.9rem .4rem .7rem!important;font-size:.75rem!important;}

/* ---- active filter chips ---- */
.cfaa-chips{background:#FDF2F4;border-bottom:1px solid var(--e-global-color-6b155ebf);padding:.6rem 4%;}
.cfaa-chips-in{max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;}
.cfaa-chips-label{font-family:'Barlow Condensed',sans-serif;font-size:.625rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);margin-right:.35rem;}
.cfaa-wrap a.cfaa-chip-item{
	display:inline-flex;align-items:center;gap:.5rem;
	font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
	color:var(--e-global-color-text)!important;background:#fff;
	border:1px solid var(--e-global-color-6b155ebf);padding:.35rem .7rem;text-decoration:none;
	transition:border-color .18s,color .18s;
}
.cfaa-wrap a.cfaa-chip-item span[aria-hidden]{color:var(--e-global-color-primary);font-size:.9rem;line-height:1;}
.cfaa-wrap a.cfaa-chip-item:hover{border-color:var(--e-global-color-primary);color:var(--e-global-color-primary)!important;}
.cfaa-wrap a.cfaa-chips-clear{margin-left:auto;font-family:'Barlow Condensed',sans-serif;font-size:.625rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--e-global-color-primary)!important;text-decoration:underline;}
.cfaa-chips + .cfaa-body{padding-top:1.5rem;}

/* ---- promo sitting below the results needs air above it ---- */
.cfaa-grid + .cfaa-promo,
.cfaa-pager + .cfaa-promo,
.cfaa-empty + .cfaa-promo{margin-top:2.5rem;margin-bottom:0;}

/* ---- zero-result type filters are shown but not clickable ---- */
.cfaa-check.is-empty{opacity:.45;cursor:not-allowed;}
.cfaa-check.is-empty:hover{background:transparent;}
.cfaa-check.is-empty input{cursor:not-allowed;}

/* ---- collapsible filter groups ---- */
.cfaa-ftoggle{
	display:flex;align-items:center;justify-content:space-between;width:100%;
	background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:left;
	font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;
	letter-spacing:.16em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);
}
.cfaa-ftoggle:hover{color:var(--e-global-color-primary);}
.cfaa-caret{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s;margin-bottom:3px;}
.cfaa-collapsible.is-open .cfaa-caret{transform:rotate(-135deg);margin-bottom:-3px;}
.cfaa-collapsible .cfaa-fbody{display:none;padding-top:.75rem;}
.cfaa-collapsible.is-open .cfaa-fbody{display:block;}
.cfaa-collapsible{padding-top:1rem;padding-bottom:1rem;}

/* ---- collapse toggles: beat the Elementor kit button styling ----
   The kit styles bare <button> elements, which turned these headers into
   solid red bars. They should read as quiet section labels. ---- */
.cfaa-wrap .cfaa-side button.cfaa-ftoggle{
	background:none!important;background-color:transparent!important;
	color:var(--e-global-color-7c4f6a91)!important;
	border:0!important;border-radius:0!important;
	padding:0!important;margin:0!important;
	box-shadow:none!important;clip-path:none!important;
	min-height:0!important;line-height:1.3!important;
	font-family:'Barlow Condensed',sans-serif!important;
	font-size:.6875rem!important;font-weight:800!important;
	letter-spacing:.16em!important;text-transform:uppercase!important;
	display:flex!important;align-items:center;justify-content:space-between;width:100%;
	text-align:left;cursor:pointer;
}
.cfaa-wrap .cfaa-side button.cfaa-ftoggle:hover{color:var(--e-global-color-primary)!important;background:none!important;}
.cfaa-wrap .cfaa-side button.cfaa-ftoggle:focus{outline:2px solid var(--e-global-color-primary);outline-offset:2px;}
.cfaa-wrap .cfaa-side .cfaa-caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s;margin-bottom:3px;flex:0 0 auto;}
.cfaa-wrap .cfaa-side .cfaa-collapsible.is-open .cfaa-caret{transform:rotate(-135deg);margin-bottom:-3px;}

/* ---- courtesy listing panel ----
   Deliberately quieter than the Command Difference panel: this is a
   disclosure, not a set of guarantees, so no red and no tick marks. ---- */
.cfau-wrap .cfau-cdp-courtesy{
	background:#F4F5F7!important;
	border:1px solid #DFE2E8!important;
	border-top:3px solid #8A9098!important;
}
.cfau-wrap .cfau-cdp-courtesy .cfau-cdp-hdr{
	background:#4A5060!important;
	padding:10px 14px!important;
	align-items:center!important;
}
.cfau-wrap .cfau-cdp-courtesy .cfau-cdp-ttl{
	font-size:10.5px!important;letter-spacing:.09em!important;line-height:1.35!important;
}
.cfau-wrap .cfau-cdp-courtesy .cfau-cdp-grid{background:#DFE2E8!important;}
.cfau-wrap .cfau-cdp-courtesy .cfau-cdp-item{
	background:#F4F5F7!important;
	padding:9px 12px!important;
	align-items:center!important;gap:7px!important;
}
.cfau-wrap .cfau-cdp-courtesy .cfau-cdp-chk{
	color:#8A9098!important;font-size:15px!important;line-height:1!important;
	flex:0 0 auto;position:relative;top:-1px;
}
.cfau-wrap .cfau-cdp-courtesy .cfau-cdp-txt{
	color:#4A5060!important;font-size:10px!important;letter-spacing:.07em!important;line-height:1.4!important;
}

/* ---- sold and courtesy cards keep full colour ----
   Per Jared: these should look as good as available units. Status is carried
   by the ribbon alone, which is made heavier here to compensate. ---- */
.cfaa-card.is-sold .cfaa-card-img img,
.cfaa-card.is-courtesy .cfaa-card-img img{filter:none!important;opacity:1!important;}
.cfaa-card.is-sold .cfaa-yr,
.cfaa-card.is-courtesy .cfaa-yr{color:var(--e-global-color-primary)!important;}

/* Sold ribbon: larger and full-width-feeling so status reads instantly */
.cfaa-card.is-sold .cfaa-ribbon{
	font-size:.75rem;padding:7px 20px 7px 12px;letter-spacing:.18em;
	background:#0D0D0D!important;box-shadow:0 2px 10px rgba(13,13,13,.35);
}
.cfaa-card.is-courtesy .cfaa-ribbon{
	font-size:.6875rem;padding:6px 18px 6px 12px;
	background:#4A5060!important;
}

/* ---- sold cards: three independent signals ----
   Photos stay full colour per Jared. Status is instead carried by a red
   ribbon, a muted price, and different link wording, so a sold unit cannot
   be mistaken for live inventory at a glance. ---- */
.cfaa-card.is-sold .cfaa-ribbon{
	background:var(--e-global-color-primary)!important;
	font-size:.8125rem!important;
	padding:8px 24px 8px 12px!important;
	letter-spacing:.2em!important;
	top:14px;
	box-shadow:0 3px 14px rgba(13,13,13,.45);
}

/* Price reads as a past sale, not a current ask */
.cfaa-card.is-sold .cfaa-price{color:var(--e-global-color-7c4f6a91)!important;font-weight:400;}
.cfaa-card.is-sold .cfaa-price span{color:var(--e-global-color-7c4f6a91)!important;}
.cfaa-card.is-sold .cfaa-price::before{
	content:'Sold for';display:block;
	font-family:'Barlow Condensed',sans-serif;font-size:.5625rem;font-weight:800;
	letter-spacing:.16em;text-transform:uppercase;color:var(--e-global-color-7c4f6a91);
	margin-bottom:2px;
}

/* A faint red rule along the top of the card, echoing the ribbon */

/* ---- sold ribbon alignment ----
   Sits flush to the card edge and uses the same angled shape as the
   Available badge so both archives read as siblings. ---- */
.cfaa-card .cfaa-ribbon{left:0;border-radius:0;}
.cfaa-card.is-sold .cfaa-ribbon{
	clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)!important;
	padding:8px 26px 8px 12px!important;
	box-shadow:none!important;
}

/* ---- listing tabs and in-panel CTAs ----
   Per Jared: the Description and Full Specs tabs read as plain text and get
   missed, and the only CTA sits at the top of the page. ---- */

/* A second call to action at the foot of each panel, where the buyer finishes reading */
.cfau-panel-cta{
	margin-top:26px;padding:20px 22px;background:#F0F2F5;
	border-top:3px solid var(--e-global-color-primary);
	display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.cfau-panel-cta-txt{
	font-family:'Bebas Neue',sans-serif;font-weight:800;font-size:1.375rem;
	letter-spacing:.03em;color:#1A1C1F;line-height:1;
}
.cfau-panel-cta-btns{display:flex;gap:10px;flex:1 1 320px;max-width:460px;}
.cfau-panel-cta-btns .cfau-btn-r,.cfau-panel-cta-btns .cfau-btn-o{margin:0;font-size:13px!important;padding:13px 10px!important;}
@media (max-width:640px){
  .cfau-panel-cta{flex-direction:column;align-items:stretch;gap:14px;}
  .cfau-panel-cta-btns{flex-direction:column;max-width:none;}
}

/* ---- card footer actions ----
   Per Jared: no overlay on the photo. The video sits beside View Details so
   the image stays clean and the buyer still chooses when to watch. ---- */
.cfaa-card-img{position:relative;}
.cfaa-card-imglink{display:block;width:100%;height:100%;line-height:0;}
.cfaa-card-imglink img{width:100%;height:100%;object-fit:cover;display:block;}
.cfaa-card-actions{display:inline-flex;align-items:center;gap:14px;}
.cfaa-vidlink{
	display:inline-flex;align-items:center;gap:6px;text-decoration:none;
	font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;
	letter-spacing:.14em;text-transform:uppercase;
	color:var(--e-global-color-7c4f6a91);transition:color .2s;white-space:nowrap;
}
.cfaa-vidlink:hover,.cfaa-vidlink:focus-visible{color:var(--e-global-color-primary);}
.cfaa-vidlink-ico{
	width:17px;height:17px;flex:0 0 auto;border-radius:50%;
	background:var(--e-global-color-primary);color:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	font-size:7px;line-height:1;padding-left:1px;
}
@media (max-width:420px){
  .cfaa-card-actions{gap:10px;}
  .cfaa-vidlink{font-size:.625rem;letter-spacing:.1em;}
}


/* ---- Scheduling disclaimer (Schedule Inspection form, via gform_submit_button_2) ---- */
.cfa-form-disclaimer {
	margin: 0 0 14px !important;
	padding: 12px 14px;
	background: #F0F2F5;
	border-left: 3px solid var(--e-global-color-primary);
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: #4A5060;
}
.cfa-form-disclaimer strong { color: #1A1C1F; font-weight: 600; }


/* =========== Video grid [cfa_video_grid] ===========
   Reuses the archive card shell (.cfaa-card et al); only the video
   affordance, the grid and the lightbox are new here. */
.cfa-vg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin:0 0 28px;}
.cfa-vg-card.cfa-vg-more{display:none;}
.cfa-vg-thumb{display:block;position:relative;width:100%;padding:0;margin:0;border:0;background:#0D0D0D;cursor:pointer;line-height:0;aspect-ratio:4/3;overflow:hidden;}
.cfa-vg-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,opacity .25s ease;}
.cfa-vg-thumb:hover img,.cfa-vg-thumb:focus-visible img{transform:scale(1.04);opacity:.85;}
.cfa-vg-thumb:focus-visible{outline:3px solid var(--e-global-color-primary);outline-offset:-3px;}
.cfa-vg-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:rgba(200,16,46,.92);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;padding-left:5px;box-shadow:0 4px 18px rgba(0,0,0,.45);transition:transform .25s ease,background .25s ease;}
.cfa-vg-thumb:hover .cfa-vg-play{transform:translate(-50%,-50%) scale(1.09);background:#C8102E;}
.cfa-vg-loadwrap{display:flex;justify-content:center;margin:0 0 10px;}
.cfa-vg-load{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--e-global-color-primary);border:0;padding:17px 40px;cursor:pointer;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:background .2s ease;}
.cfa-vg-load:hover{background:#9B0B22;}
.cfa-vg-empty{font-size:15px;color:#4A5060;}
.cfa-vg-modal[hidden]{display:none;}
.cfa-vg-modal{position:fixed;inset:0;z-index:9999;background:rgba(13,13,13,.88);display:flex;align-items:center;justify-content:center;padding:24px;}
.cfa-vg-modal-inner{width:min(1080px,94vw);background:#0D0D0D;border:1px solid #2C2F35;}
.cfa-vg-modal-hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#2C2F35;padding:13px 18px;border-bottom:3px solid var(--e-global-color-primary);}
.cfa-vg-modal-title{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;}
.cfa-vg-close{background:transparent;border:0;color:#A8B0BC;font-size:18px;line-height:1;cursor:pointer;padding:6px 8px;}
.cfa-vg-close:hover{color:#fff;}
.cfa-vg-frame{position:relative;aspect-ratio:16/9;background:#000;}
.cfa-vg-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@media(max-width:560px){.cfa-vg{grid-template-columns:1fr;gap:18px;}.cfa-vg-play{width:52px;height:52px;font-size:18px;}}


/* ---- Video lightbox CTA bar ---- */
.cfa-vg-cta{background:#fff;border-top:3px solid var(--e-global-color-primary);padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.cfa-vg-cta-info{display:flex;flex-direction:column;gap:4px;min-width:0;}
.cfa-vg-cta-price{font-family:'Bebas Neue',sans-serif;font-weight:800;font-size:1.5rem;letter-spacing:.02em;color:#1A1C1F;line-height:1;}
.cfa-vg-cta-specs{font-family:'Barlow Condensed',sans-serif;font-size:.6875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8A9098;}
.cfa-vg-cta-btns{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cfa-vg-cta a{font-family:'Barlow Condensed',sans-serif;font-size:.8125rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:15px 22px;transition:background .2s ease,color .2s ease;}
.cfa-vg-cta a.cfa-vg-btn-r{color:#fff;background:var(--e-global-color-primary);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);}
.cfa-vg-cta a.cfa-vg-btn-r:hover{background:#9B0B22;}
.cfa-vg-cta a.cfa-vg-btn-o{color:#2C2F35;background:#ECEEF2;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);}
.cfa-vg-cta a.cfa-vg-btn-o:hover{background:#DDE1E7;}
.cfa-vg-cta a.cfa-vg-btn-t{color:#4A5060;padding:15px 6px;border-bottom:1px solid #A8B0BC;font-size:.6875rem;}
.cfa-vg-cta a.cfa-vg-btn-t:hover{color:#0D0D0D;}
@media(max-width:700px){.cfa-vg-cta{flex-direction:column;align-items:stretch;gap:14px;}.cfa-vg-cta-btns{flex-direction:column;}.cfa-vg-cta a{text-align:center;}}


/* Footnote under a card grid (Why Command warranty note) */
.cfa-grid-note{margin-top:1.75rem;}
.cfa-grid-note p{font-family:'Barlow',sans-serif;font-size:.8125rem;line-height:1.6;color:#8A9098;margin:0;text-align:center;}

/* =========================================================
   GRAVITY FORMS — section headings, long choice lists,
   required indicator  (2026-09-21)
   ========================================================= */

/* --- section break fields (gsection) -------------------- */
.gform_wrapper .gfield--type-section.gsection {
	margin: 2.5rem 0 0 !important;
	padding: 0 0 10px !important;
	border: 0 !important;
	border-bottom: 2px solid var(--e-global-color-primary) !important;
}
.gform_wrapper .gform_fields > .gfield--type-section.gsection:first-child { margin-top: 0 !important; }
.gform_wrapper .gsection_title {
	font-family: "Bebas Neue", sans-serif !important;
	font-weight: 800 !important;
	font-size: 24px !important;
	line-height: 1.1 !important;
	letter-spacing: .03em !important;
	text-transform: none !important;
	color: var(--e-global-color-text) !important;
	margin: 0 !important;
	padding: 0 !important;
}
.gform_wrapper .gsection_description {
	font-family: "Barlow", sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	color: #8A9098 !important;
	margin: 5px 0 0 !important;
	padding: 0 !important;
}

/* --- choice lists of 5+ flow into columns ---------------
   Short lists (Yes/No, 3-way radios) stay stacked, so this
   changes nothing on forms 1-5. Applies to the inner list
   container only - never to .gfield, which would break
   conditional logic. */
.gform_wrapper .gfield_checkbox:has(.gchoice:nth-child(5)),
.gform_wrapper .gfield_radio:has(.gchoice:nth-child(5)) {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	column-gap: var(--cfa-form-gap-x);
	row-gap: var(--cfa-choice-gap);
}
@media (max-width: 767px) {
	.gform_wrapper .gfield_checkbox:has(.gchoice:nth-child(5)),
	.gform_wrapper .gfield_radio:has(.gchoice:nth-child(5)) { grid-template-columns: 1fr !important; }
}

/* --- required indicator: asterisk, not "(Required)" ------
   GF 3.x renders <span class="gfield_required gfield_required_text">(Required)</span>.
   The existing .gfield_label .gfield_required rule outranks the
   .gfield_required_text hide rule on specificity, so the text kept
   showing. Hidden visually here but left readable to screen readers. */
.gform_wrapper .gfield_label > .gfield_required > .gfield_required_text,
.gform_wrapper legend.gfield_label > .gfield_required > .gfield_required_text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.gform_wrapper .gfield_label > .gfield_required::after {
	content: "*";
	color: var(--e-global-color-primary);
	font-size: 14px;
	line-height: 1;
	margin-left: 3px;
}

/* ---- team monograms: stand-in for tech headshots (2026-09-21) ----
   Square 1:1 so it swaps for a real photo with no layout shift. */
.cfa-mono {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	width: 100%;
	background: #2C2F35;
	border-bottom: 3px solid #C8102E;
	font-family: "Bebas Neue", sans-serif;
	font-weight: 800;
	font-size: clamp(30px, 4.5vw, 46px);
	letter-spacing: .08em;
	line-height: 1;
	color: #FFFFFF;
	box-sizing: border-box;
	user-select: none;
}


/* Stock number, buyer-facing display label. Added 2026-09-22 per Jared. */
.cfau-unit-id .cfau-stock{color:#C8102E;font-weight:800;}
.cfaa-card-meta .cfaa-stock{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#4A5060;}

/* Inventory archive one-line intro, 2026-09-28 */
.cfaa-seo{color:#4A5060;line-height:1.7;margin:0 0 1.5rem;}
.cfaa-seo p{margin:0 0 .75rem;}
.cfaa-seo a{color:#C8102E;}

/* Category landing pages (Elementor master), 2026-09-28 */
.e-con.cfa-span-2,.cfa-span-2{grid-column:1 / -1 !important}
.cfa-units-more{text-align:center;margin:34px 0 0}
.cfa-units-more .btn-ghost-dark{display:inline-block;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:#1A1C1F;border:2px solid #1A1C1F;padding:14px 30px;text-decoration:none;transition:background .2s,color .2s}
.cfa-units-more .btn-ghost-dark:hover{background:#2C2F35;border-color:#2C2F35;color:#fff}

/* Inventory grid empty state: give the plain-HTML btn-primary link the Elementor primary button look, 2026-09-28 */
.cfa-units-empty .btn-primary{display:inline-block;background-color:#C8102E;color:#fff !important;font-family:Barlow,sans-serif;font-weight:600;font-size:16px;line-height:1.72;letter-spacing:.14em;text-transform:uppercase;padding:12px 24px;text-decoration:none !important;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);transition:background-color .2s ease}
.cfa-units-empty .btn-primary:hover,.cfa-units-empty .btn-primary:focus{background-color:#9B0B22;color:#fff !important}

/* Inventory mobile filter toggle (<=767px), 2026-09-28. Collapses the existing filter form; desktop and tablet unchanged. */
.cfaa-wrap .cfaa-side button.cfaa-mtoggle{display:none!important}
#cfaa-results{scroll-margin-top:110px}
@media (max-width:767px){
.cfaa-wrap .cfaa-side button.cfaa-mtoggle{display:flex!important;align-items:center;gap:.5rem;width:100%!important;padding:15px 18px!important;margin:0!important;background:#2C2F35!important;color:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-family:'Barlow Condensed',sans-serif!important;font-weight:800!important;font-size:14px!important;letter-spacing:.16em!important;text-transform:uppercase!important;line-height:1.2!important;cursor:pointer}
.cfaa-wrap .cfaa-side button.cfaa-mtoggle:hover,.cfaa-wrap .cfaa-side button.cfaa-mtoggle:focus{background:#1A1C1F!important;color:#fff!important}
.cfaa-wrap .cfaa-side button.cfaa-mtoggle:focus-visible{outline:2px solid #C8102E;outline-offset:2px}
.cfaa-mtoggle-count{color:#E63946}
.cfaa-mtoggle-icon{margin-left:auto;font-size:20px;line-height:1;color:#C8102E}
.cfaa-side:not(.is-open) #cfaa-filters{display:none}
.cfaa-side.is-open .cfaa-mtoggle{margin-bottom:1rem!important}
}
