/**
 * TAC Job Search Page Styles (v25 Design)
 */

:root {
				--tac-bg: #F6F6F3;
				--tac-panel: #FFFFFF;
				--tac-panel2: #F3F2EE;
				--tac-line: #E3E1DB;
				--tac-line2: #D6D3CB;
				--tac-dark: #16181B;
				--tac-ink: #16181B;
				--tac-ink2: #3B3E43;
				--tac-muted: #6E6F72;
				--tac-faint: #9C9C9A;
				--tac-lime: #FAE54B;
				--tac-lime-hi: #FFEE6E;
				--tac-lime-soft: #FFF8CC;
				--tac-navy: #14344F;
				--tac-steel: #2F5B82;
				--tac-steel-lt: #6E93B8;
				--tac-cobalt: #1B5CB0;
				--tac-blue-soft: #E6EEF7;
				--tac-blue-mist: #F2F6FA;
				--tac-blue-line: #D3DFEC;
				--tac-y-grad: linear-gradient(180deg, #FFEC6B 0%, #FAE54B 52%, #F0D838 100%);
				--tac-y-grad-hi: linear-gradient(180deg, #FFF07E 0%, #FDE95A 52%, #F4DC42 100%);
				--tac-y-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 1px 1px rgba(70,56,0,.16), 0 3px 8px -4px rgba(70,56,0,.30);
				--tac-y-shadow-hover: inset 0 1px 0 rgba(255,255,255,.6), 0 2px 3px rgba(70,56,0,.14), 0 9px 16px -8px rgba(70,56,0,.36);
				--tac-serif: "Newsreader", "Tiempos Headline", Georgia, serif;
				--tac-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
				--tac-ease: cubic-bezier(.2,.7,.2,1);
			}

			/* =========================================================================
			   FULL SCREEN / FULL WIDTH LAYOUT (NO SIDE SPACES / EDGE-TO-EDGE)
			   ========================================================================= */
			html, body {
				overflow-x: hidden !important;
			}

			/* Unconstrain WordPress / BuddyBoss / Elementor parent containers */
			html body #page #content:has(.tac-search-container),
			html body #page .site-content:has(.tac-search-container),
			html body #page .site-content > .container:has(.tac-search-container),
			html body #page .container:has(.tac-search-container),
			html body #page .bb-elementor-content:has(.tac-search-container),
			html body #page .entry-content:has(.tac-search-container),
			html body #page #primary:has(.tac-search-container),
			html body #page #main:has(.tac-search-container),
			body.buddypanel #page #content:has(.tac-search-container),
			body.buddypanel #page .container:has(.tac-search-container),
			body.buddypanel #page .bb-elementor-content:has(.tac-search-container) {
				max-width: 100% !important;
				width: 100% !important;
				padding-left: 0 !important;
				padding-right: 0 !important;
				padding-top: 0 !important;
				padding-bottom: 0 !important;
				margin-left: 0 !important;
				margin-right: 0 !important;
				background: var(--tac-bg) !important;
			}

			.tac-search-container {
				width: 100% !important;
				max-width: 100% !important;
				margin: 0 !important;
				padding: 16px 20px 40px !important;
				box-sizing: border-box !important;
				background: var(--tac-bg);
				font-family: var(--tac-sans);
				color: var(--tac-ink);
				-webkit-font-smoothing: antialiased;
				opacity: 1 !important;
				visibility: visible !important;
			}

			/* Modern full-bleed fallback in case theme ignores :has */
			@supports not selector(:has(*)) {
				.tac-search-container {
					width: 100vw !important;
					position: relative !important;
					left: 50% !important;
					right: 50% !important;
					margin-left: -50vw !important;
					margin-right: -50vw !important;
				}
			}

			/* Top Search Bar (v25 Card) */
			.tac-search-top-wrap {
				display: flex;
				flex-direction: column;
				align-items: center;
				margin-bottom: 24px;
				width: 100%;
			}
			.tac-qs {
				display: flex;
				align-items: stretch;
				width: 100%;
				max-width: 680px;
				background: #fff;
				border: 1px solid var(--tac-line);
				border-radius: 16px;
				padding: 6px;
				box-shadow: 0 10px 30px rgba(20,52,79,.08);
				box-sizing: border-box;
				transition: border-color .15s, box-shadow .15s;
			}
			.tac-qs:focus-within {
				border-color: var(--tac-cobalt);
				box-shadow: 0 12px 32px rgba(27,92,176,.12);
			}
			.tac-qs-f {
				display: flex;
				flex-direction: column;
				justify-content: center;
				padding: 6px 14px;
				flex: 1 1 0;
				min-width: 0;
				border-right: 1px solid var(--tac-line);
			}
			.tac-qs-where {
				border-right: none;
				position: relative;
			}
			.tac-qs-l {
				font-size: 11px;
				font-weight: 600;
				color: var(--tac-muted);
				line-height: 1.2;
				margin-bottom: 3px;
				text-transform: capitalize;
			}
			.tac-qs-in {
				display: flex;
				align-items: center;
				gap: 8px;
			}
			.tac-qs-in svg {
				color: var(--tac-muted);
				flex-shrink: 0;
			}
			.tac-search-input {
				border: none !important;
				outline: none !important;
				box-shadow: none !important;
				background: transparent !important;
				font-family: inherit !important;
				font-size: 14px !important;
				color: var(--tac-ink) !important;
				width: 100% !important;
				padding: 0 !important;
				height: 24px !important;
			}
			.tac-search-input::placeholder {
				color: #9CA3AF !important;
				font-size: 13.5px !important;
			}
			.tac-qs-pick,
			span#tac-qs-pick,
			span.tac-qs-pick,
			button.tac-qs-pick,
			#tac-qs-pick {
				background: transparent !important;
				background-color: transparent !important;
				background-image: none !important;
				border: none !important;
				box-shadow: none !important;
				outline: none !important;
				padding: 0 !important;
				margin: 0 !important;
				color: #64748B !important;
				cursor: pointer !important;
				border-radius: 6px !important;
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				width: 28px !important;
				height: 28px !important;
				flex-shrink: 0 !important;
				transition: background .12s, color .12s !important;
			}
			.tac-qs-pick:hover,
			span.tac-qs-pick:hover,
			#tac-qs-pick:hover {
				background: #E6EEF7 !important;
				background-color: #E6EEF7 !important;
				color: #1B5CB0 !important;
			}
			.tac-qs-pick svg,
			#tac-qs-pick svg,
			.tac-qs-pick * {
				stroke: currentColor !important;
				fill: none !important;
				pointer-events: none !important;
			}
			.tac-btn-search, .tac-qs-btn {
				background-color: var(--tac-lime) !important;
				background-image: var(--tac-y-grad) !important;
				box-shadow: var(--tac-y-shadow) !important;
				border: none !important;
				border-radius: 10px !important;
				padding: 0 22px !important;
				font-family: inherit !important;
				font-size: 14px !important;
				font-weight: 700 !important;
				color: var(--tac-ink) !important;
				cursor: pointer !important;
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				gap: 8px !important;
				white-space: nowrap !important;
				transition: transform 140ms var(--tac-ease), box-shadow 140ms var(--tac-ease), background-color 140ms var(--tac-ease) !important;
			}
			.tac-btn-search:hover, .tac-qs-btn:hover {
				background-image: var(--tac-y-grad-hi) !important;
				box-shadow: var(--tac-y-shadow-hover) !important;
				transform: translateY(-1px) !important;
			}
			.tac-btn-search:active, .tac-qs-btn:active {
				transform: none !important;
			}

			/* Quick Filter Chips Row */
			.tac-chips-row {
				display: flex;
				align-items: center;
				justify-content: center;
				flex-wrap: wrap;
				gap: 8px;
				margin-top: 14px;
				width: 100%;
			}
			.tac-pill {
				border: 1px solid var(--tac-line2) !important;
				background: #fff !important;
				color: var(--tac-ink) !important;
				border-radius: 999px !important;
				padding: 6px 14px !important;
				font-family: inherit !important;
				font-size: 12.5px !important;
				font-weight: 500 !important;
				cursor: pointer !important;
				transition: border-color .15s, background .15s, color .15s !important;
				outline: none !important;
				box-shadow: none !important;
				line-height: 1.2 !important;
			}
			.tac-pill:hover {
				border-color: var(--tac-ink) !important;
				background: #fff !important;
				color: var(--tac-ink) !important;
			}
			.tac-pill.active, .tac-pill.active:hover, .tac-pill.active:focus {
				background: var(--tac-blue-soft) !important;
				border-color: var(--tac-cobalt) !important;
				color: var(--tac-navy) !important;
				font-weight: 600 !important;
			}
			.tac-btn-all-filters {
				background: #fff !important;
				border: 1px solid var(--tac-line2) !important;
				border-radius: 999px !important;
				padding: 6px 14px !important;
				font-family: inherit !important;
				font-size: 12.5px !important;
				font-weight: 600 !important;
				color: var(--tac-ink) !important;
				cursor: pointer !important;
				display: inline-flex !important;
				align-items: center !important;
				gap: 7px !important;
				white-space: nowrap !important;
				transition: all .15s !important;
			}
			.tac-btn-all-filters:hover {
				border-color: var(--tac-ink) !important;
				background: var(--tac-panel2) !important;
			}
			.tac-btn-clear,
			#tac-clear-filters {
				background: transparent !important;
				background-color: transparent !important;
				border: none !important;
				box-shadow: none !important;
				outline: none !important;
				padding: 0 6px !important;
				margin: 0 !important;
				border-radius: 0 !important;
				font-family: inherit !important;
				font-size: 13px !important;
				font-weight: 600 !important;
				color: var(--tac-muted) !important;
				cursor: pointer !important;
				text-decoration: underline !important;
				text-underline-offset: 2px !important;
				display: none;
				align-items: center !important;
				gap: 6px !important;
				white-space: nowrap !important;
				flex-shrink: 0 !important;
				transition: color 0.15s ease !important;
			}
			.tac-btn-clear.is-visible,
			#tac-clear-filters.is-visible {
				display: inline-flex !important;
			}
			.tac-btn-clear:hover,
			#tac-clear-filters:hover {
				color: var(--tac-ink) !important;
			}
			.tac-btn-clear .cx,
			#tac-clear-filters .cx {
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				width: 14px !important;
				height: 14px !important;
				border-radius: 50% !important;
				background: var(--tac-muted) !important;
				color: #ffffff !important;
				font-size: 8px !important;
				font-weight: 700 !important;
				line-height: 1 !important;
				text-decoration: none !important;
				flex-shrink: 0 !important;
				transition: background-color 0.15s ease !important;
			}
			.tac-btn-clear:hover .cx,
			#tac-clear-filters:hover .cx {
				background: var(--tac-ink) !important;
			}

			/* Split Canvas: Map + Job Cards */
			.tac-split-canvas {
				display: grid !important;
				grid-template-columns: minmax(0, 1fr) minmax(380px, 480px) !important;
				gap: 18px !important;
				align-items: stretch !important;
			}
			.map-wrapper {
				position: relative !important;
				min-height: max(680px, calc(100vh - 220px)) !important;
				border: 1px solid var(--tac-blue-line) !important;
				border-radius: 14px !important;
				background: #C9DBEE !important;
				overflow: hidden !important;
			}
			#tac-map-canvas {
				position: absolute !important;
				inset: 0 !important;
				width: 100% !important;
				height: 100% !important;
				z-index: 1 !important;
			}

			/* State Hover Tooltip (v25) */
			#tac-map-tooltip {
				position: absolute !important;
				display: none;
				align-items: center;
				background: #FFFFFF !important;
				border: 1px solid rgba(20, 52, 79, 0.12) !important;
				padding: 6px 14px !important;
				border-radius: 8px !important;
				pointer-events: none !important;
				z-index: 999999 !important;
				box-shadow: 0 4px 18px rgba(20, 52, 79, 0.16) !important;
				font-family: var(--tac-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif) !important;
				font-size: 13.5px !important;
				line-height: 1.3 !important;
				white-space: nowrap !important;
				text-align: left !important;
			}
			#tac-map-tooltip .tac-map-tt-name {
				font-weight: 600 !important;
				color: #16181B !important;
				letter-spacing: -0.01em !important;
			}
			#tac-map-tooltip .tac-map-tt-val {
				font-weight: 600 !important;
				color: #1B5CB0 !important;
				margin-left: 8px !important;
			}

			/* Explore Area Floating Widget (v25) */
			.tac-xrail {
				position: absolute;
				left: 14px;
				top: 14px;
				z-index: 50;
				pointer-events: none;
			}
			.tac-x-box {
				display: grid;
				grid-template-columns: 168px;
				grid-template-rows: auto minmax(0, 1fr) auto;
				pointer-events: auto;
				background: #fff;
				border: 1px solid var(--tac-blue-line);
				border-radius: 14px;
				box-shadow: 0 12px 30px rgba(20,52,79,.14);
				overflow: hidden;
				transition: grid-template-columns 180ms var(--tac-ease);
			}
			.tac-xrail.open .tac-x-box {
				grid-template-columns: 168px 276px;
			}
			.tac-x-head {
				grid-column: 1 / -1;
				display: flex;
				align-items: center;
				gap: 8px;
				height: 46px;
				padding: 0 14px;
				border: 0;
				border-bottom: 1px solid var(--tac-line);
				background: #fff;
				color: var(--tac-ink);
				font-family: inherit;
				font-size: 13.5px;
				font-weight: 600;
				text-align: left;
				cursor: pointer;
			}
			.tac-x-t {
				position: relative;
			}
			.tac-x-t::after {
				content: "";
				position: absolute;
				left: 0;
				bottom: -6px;
				width: 22px;
				height: 3px;
				border-radius: 2px;
				background: var(--tac-lime);
			}
			.tac-x-car {
				margin-left: auto;
				color: #D4AE00;
				transition: transform .18s;
			}
			.tac-xrail.open .tac-x-car {
				transform: rotate(180deg);
			}
			.tac-x-body {
				display: grid;
				grid-template-columns: 168px;
				min-height: 0;
			}
			.tac-xrail.open .tac-x-body {
				grid-column: 1 / -1;
				grid-template-columns: 168px 276px;
			}
			.tac-lrail {
				display: flex;
				flex-direction: column;
				gap: 3px;
				padding: 8px;
				background: #fff;
			}
			.tac-xrail.open .tac-lrail {
				border-right: 1px solid var(--tac-line);
			}
			.tac-x-tile {
				position: relative;
				display: flex;
				align-items: center;
				gap: 10px;
				width: 100%;
				height: 38px;
				padding: 0 10px;
				border: 0;
				border-radius: 8px;
				background: none;
				color: var(--tac-ink2);
				font-family: inherit;
				font-size: 13px;
				font-weight: 500;
				text-align: left;
				white-space: nowrap;
				cursor: pointer;
				transition: background .12s, color .12s;
			}
			.tac-x-tile svg {
				color: var(--tac-navy);
				flex-shrink: 0;
			}
			.tac-x-tile:hover {
				background: var(--tac-blue-mist);
				color: var(--tac-ink);
			}
			.tac-x-tile.on {
				background: var(--tac-navy) !important;
				color: #fff !important;
				font-weight: 600 !important;
				box-shadow: 0 0 0 2px var(--tac-lime) !important;
			}
			.tac-x-tile.on svg {
				color: #fff !important;
			}
			.tac-x-tile.tac-x-later {
				color: var(--tac-faint);
				cursor: default;
			}
			.tac-x-tile.tac-x-later svg {
				color: var(--tac-faint);
			}
			.tac-soon {
				margin-left: auto;
				font-style: normal;
				font-size: 9px;
				font-weight: 700;
				letter-spacing: .08em;
				text-transform: uppercase;
				color: var(--tac-muted);
			}
			.tac-x-panes {
				display: none;
				min-height: 0;
				max-height: 380px;
				overflow-y: auto;
				padding: 16px;
				background: #fff;
			}
			.tac-xrail.open .tac-x-panes {
				display: block;
			}
			.tac-x-h {
				font-family: var(--tac-serif);
				font-size: 19px;
				line-height: 1.15;
				letter-spacing: -.01em;
				color: var(--tac-ink);
				margin-bottom: 4px;
			}
			.tac-x-sub {
				margin: 10px 0 8px;
				font-size: 12.5px;
				color: var(--tac-muted);
			}
			.tac-x-chips {
				display: flex;
				flex-wrap: wrap;
				gap: 6px;
			}
			.tac-xc {
				position: relative;
				display: inline-flex;
				align-items: center;
				gap: 6px;
				padding: 6px 12px;
				border: 1px solid var(--tac-line2);
				border-radius: 999px;
				background: #fff;
				font-size: 12px;
				font-weight: 500;
				color: var(--tac-ink);
				cursor: pointer;
				user-select: none;
				transition: border-color .12s, background .12s;
			}
			.tac-xc input {
				position: absolute;
				opacity: 0;
				width: 0;
				height: 0;
				pointer-events: none;
			}
			.tac-xc:hover {
				border-color: var(--tac-ink);
			}
			.tac-xc.on {
				background: var(--tac-blue-soft);
				border-color: var(--tac-cobalt);
				color: var(--tac-navy);
				font-weight: 600;
			}
			.tac-xc.on::before {
				content: "";
				width: 10px;
				height: 10px;
				flex-shrink: 0;
				background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314344F' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E");
			}
			.tac-xc-dis {
				color: var(--tac-faint);
				border-style: dashed;
				cursor: default;
			}
			.tac-xc-dis em {
				font-style: normal;
				font-size: 9px;
				font-weight: 700;
				letter-spacing: .08em;
				text-transform: uppercase;
				color: var(--tac-muted);
				margin-left: 4px;
			}
			.tac-xseg {
				display: flex;
				gap: 2px;
				padding: 3px;
				border-radius: 10px;
				background: var(--tac-panel2);
			}
			.tac-xseg label {
				position: relative;
				flex: 1 1 auto;
				padding: 6px 8px;
				border-radius: 8px;
				text-align: center;
				font-size: 12px;
				font-weight: 500;
				color: var(--tac-ink2);
				white-space: nowrap;
				cursor: pointer;
			}
			.tac-xseg label.on {
				background: #fff;
				color: var(--tac-ink);
				font-weight: 600;
				box-shadow: 0 1px 3px rgba(22,24,27,.14);
			}
			.tac-xseg input {
				position: absolute;
				opacity: 0;
				width: 0;
				height: 0;
				pointer-events: none;
			}
			.tac-x-foot {
				display: none;
				grid-column: 1 / -1;
				align-items: center;
				justify-content: space-between;
				gap: 10px;
				padding: 10px 16px;
				border-top: 1px solid var(--tac-line);
				background: #fff;
				font-size: 12px;
				color: var(--tac-muted);
			}
			.tac-xrail.open .tac-x-foot {
				display: flex;
			}
			.tac-x-reset {
				border: 0;
				background: none;
				padding: 0;
				font-family: inherit;
				font-size: 12px;
				font-weight: 600;
				color: var(--tac-cobalt);
				text-decoration: underline;
				cursor: pointer;
			}

			/* Floating Map Controls */
			.tac-map-legend {
				position: absolute;
				left: 50%;
				bottom: 14px;
				transform: translateX(-50%);
				z-index: 10;
				display: flex;
				align-items: center;
				gap: 10px;
				background: #fff;
				border: 1px solid var(--tac-line);
				border-radius: 999px;
				padding: 7px 16px;
				font-size: 11.5px;
				color: var(--tac-muted);
				white-space: nowrap;
				box-shadow: 0 4px 14px rgba(22,24,27,.06);
			}
			.tac-map-legend b {
				color: var(--tac-ink);
				font-weight: 600;
			}
			.tac-lg-ramp {
				width: 74px;
				height: 6px;
				border-radius: 6px;
				background: linear-gradient(to right, #DDE7F2, #1D4E89);
				display: inline-block;
			}
			.tac-map-count {
				position: absolute;
				top: 14px;
				right: 14px;
				z-index: 10;
				background: #fff;
				border: 1px solid var(--tac-line);
				border-radius: 999px;
				padding: 8px 16px;
				font-size: 12px;
				color: var(--tac-muted);
				box-shadow: 0 4px 14px rgba(22,24,27,.06);
			}
			.tac-map-count b {
				color: var(--tac-ink);
				font-weight: 700;
			}
			.tac-map-zoom {
				position: absolute;
				right: 14px;
				bottom: 14px;
				z-index: 10;
				display: flex;
				flex-direction: column;
				border: 1px solid var(--tac-line);
				border-radius: 10px;
				overflow: hidden;
				background: #fff;
				box-shadow: 0 4px 14px rgba(22,24,27,.06);
			}
			.tac-map-zoom button {
				width: 34px;
				height: 34px;
				background: none;
				border: 0;
				color: var(--tac-ink);
				font-size: 16px;
				cursor: pointer;
				font-family: inherit;
				display: flex;
				align-items: center;
				justify-content: center;
				transition: background .12s;
			}
			.tac-map-zoom button + button {
				border-top: 1px solid var(--tac-line);
			}
			.tac-map-zoom button:hover {
				background: var(--tac-panel2);
			}
			.tac-map-attrib {
				position: absolute;
				left: 14px;
				bottom: 8px;
				font-size: 10.5px;
				color: rgba(22,24,27,0.45);
				pointer-events: none;
				z-index: 2;
			}

			/* Google Maps InfoWindow - Compact & Modern (v25) */
			.gm-style .gm-style-iw-c {
				padding: 10px 14px 10px 14px !important;
				border-radius: 12px !important;
				box-shadow: 0 6px 22px rgba(20, 52, 79, 0.16) !important;
				border: 1px solid rgba(20, 52, 79, 0.08) !important;
				max-width: 320px !important;
			}

			/* Remove excessive Google Maps empty header strip */
			.gm-style .gm-style-iw-chr {
				position: absolute !important;
				top: 4px !important;
				right: 4px !important;
				height: 0 !important;
				min-height: 0 !important;
				margin: 0 !important;
				padding: 0 !important;
				z-index: 5 !important;
			}

			.gm-style .gm-style-iw-d {
				overflow: hidden !important;
				padding: 0 !important;
				margin: 0 !important;
				max-height: none !important;
			}

			.gm-style .gm-style-iw-d > div:first-child {
				padding-top: 0 !important;
				margin-top: 0 !important;
			}

			/* Sleek & Compact Close Button */
			.gm-style .gm-ui-hover-effect {
				position: absolute !important;
				top: 5px !important;
				right: 5px !important;
				width: 24px !important;
				height: 24px !important;
				padding: 0 !important;
				margin: 0 !important;
				opacity: 0.65 !important;
				border-radius: 50% !important;
				display: flex !important;
				align-items: center !important;
				justify-content: center !important;
				cursor: pointer !important;
				outline: none !important;
				transition: opacity 0.15s ease, background-color 0.15s ease !important;
				z-index: 10 !important;
			}

			.gm-style .gm-ui-hover-effect:hover {
				opacity: 1 !important;
				background-color: rgba(22, 24, 27, 0.08) !important;
			}

			.gm-style .gm-ui-hover-effect > span {
				margin: 0 !important;
			}

			.gm-style .gm-style-iw-tc::after {
				background: #FFFFFF !important;
			}

			/* Compact Job Map Popup */
			.tac-map-popup {
				font-family: Inter, -apple-system, sans-serif !important;
				padding: 0 16px 0 0 !important;
				min-width: 170px !important;
				max-width: 290px !important;
				text-align: left !important;
			}

			.tac-map-popup-meta {
				font-size: 10.5px !important;
				font-weight: 600 !important;
				color: #1B5CB0 !important;
				text-transform: uppercase !important;
				letter-spacing: 0.02em !important;
				margin: 0 0 3px 0 !important;
				line-height: 1.3 !important;
			}

			.tac-map-popup-title {
				font-size: 13.5px !important;
				font-weight: 600 !important;
				color: #16181B !important;
				display: block !important;
				line-height: 1.35 !important;
				margin: 0 0 5px 0 !important;
			}

			.tac-map-popup-pay {
				font-family: Newsreader, Georgia, serif !important;
				font-size: 18px !important;
				font-weight: 600 !important;
				color: #14344F !important;
				margin: 0 0 3px 0 !important;
				line-height: 1.2 !important;
			}

			.tac-map-popup-facility {
				font-size: 11px !important;
				color: #6E6F72 !important;
				margin: 0 !important;
				line-height: 1.3 !important;
			}

			/* Right Job Cards List */
			.tac-jobs-sidebar {
				display: flex;
				flex-direction: column;
				min-height: 0;
			}
			.tac-list-head {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding-bottom: 12px;
			}
			.tac-list-n {
				font-size: 11px;
				font-weight: 700;
				letter-spacing: .12em;
				text-transform: uppercase;
				color: var(--tac-ink);
			}
			.tac-sort-wrap {
				font-size: 12.5px;
				color: var(--tac-muted);
				display: flex;
				align-items: center;
				gap: 6px;
				cursor: pointer;
			}
			.tac-sort-wrap select {
				border: 1px solid var(--tac-line);
				border-radius: 8px;
				background: #fff;
				font: inherit;
				font-size: 12px;
				color: var(--tac-ink);
				padding: 5px 8px;
				cursor: pointer;
				outline: none;
			}
			.tac-cards {
				overflow-y: auto;
				max-height: max(680px, calc(100vh - 220px));
				overscroll-behavior: contain;
				display: flex;
				flex-direction: column;
				gap: 8px !important;
				padding-right: 4px;
			}
			.tac-cards::-webkit-scrollbar {
				width: 6px;
			}
			.tac-cards::-webkit-scrollbar-thumb {
				background: var(--tac-line2);
				border-radius: 6px;
			}
			.job-card-new, .tac-card {
				border: 1px solid var(--tac-line) !important;
				border-radius: 12px !important;
				background: #fff !important;
				padding: 10px 14px !important;
				cursor: pointer !important;
				transition: transform 180ms var(--tac-ease), box-shadow 180ms var(--tac-ease), border-color 180ms var(--tac-ease) !important;
				box-shadow: 0 1px 2px rgba(20,32,48,.04) !important;
				position: relative !important;
				margin: 0 !important;
			}
			.job-card-new:hover, .tac-card:hover {
				transform: translateY(-2px) !important;
				border-color: #9DB6D4 !important;
				box-shadow: 0 8px 22px rgba(20,52,79,.12) !important;
			}
			.tac-card-top {
				display: flex !important;
				justify-content: space-between !important;
				align-items: flex-start !important;
				gap: 10px !important;
				margin: 0 !important;
				padding: 0 !important;
			}
			.tac-card-title {
				margin: 0 !important;
				padding: 0 !important;
				font-size: 13.5px !important;
				font-weight: 600 !important;
				color: var(--tac-ink) !important;
				line-height: 1.3 !important;
				white-space: nowrap !important;
				overflow: hidden !important;
				text-overflow: ellipsis !important;
			}
			.tac-card-heart, .heart-icon {
				font-size: 15px !important;
				line-height: 1 !important;
				color: var(--tac-muted) !important;
				cursor: pointer !important;
				transition: color .15s !important;
				flex-shrink: 0 !important;
				margin-top: 1px !important;
			}
			.tac-card-heart:hover, .heart-icon:hover {
				color: #E11D48 !important;
			}
			.tac-card-pay {
				font-family: var(--tac-serif) !important;
				font-size: 21px !important;
				font-weight: 500 !important;
				letter-spacing: -.01em !important;
				color: var(--tac-navy) !important;
				white-space: nowrap !important;
				margin: 2px 0 3px !important;
				padding: 0 !important;
				line-height: 1.15 !important;
			}
			.tac-card-meta {
				display: flex !important;
				align-items: center !important;
				flex-wrap: nowrap !important;
				gap: 5px !important;
				font-size: 11px !important;
				color: var(--tac-muted) !important;
				margin: 0 0 3px !important;
				padding: 0 !important;
				white-space: nowrap !important;
				overflow: hidden !important;
				text-overflow: ellipsis !important;
			}
			.tac-card-loc {
				display: inline-flex !important;
				align-items: center !important;
				gap: 4px !important;
				font-size: 11.5px !important;
				font-weight: 500 !important;
				color: var(--tac-muted) !important;
				white-space: nowrap !important;
				flex-shrink: 0 !important;
			}
			.tac-card-loc svg {
				flex-shrink: 0 !important;
				vertical-align: middle !important;
			}
			.tac-card-sep {
				color: var(--tac-line2) !important;
				margin: 0 2px !important;
				flex-shrink: 0 !important;
			}
			.tac-card-tags {
				font-size: 10.5px !important;
				font-weight: 600 !important;
				color: var(--tac-muted) !important;
				letter-spacing: .06em !important;
				text-transform: uppercase !important;
				white-space: nowrap !important;
				overflow: hidden !important;
				text-overflow: ellipsis !important;
			}
			.tac-card-desc {
				margin: 0 !important;
				padding: 0 !important;
				font-size: 12px !important;
				line-height: 1.35 !important;
				color: var(--tac-ink2) !important;
				display: -webkit-box !important;
				-webkit-line-clamp: 1 !important;
				-webkit-box-orient: vertical !important;
				overflow: hidden !important;
			}
			.tac-card-foot {
				display: flex !important;
				justify-content: space-between !important;
				align-items: center !important;
				margin-top: 7px !important;
				padding-top: 6px !important;
				margin-bottom: 0 !important;
				padding-bottom: 0 !important;
				border-top: 1px solid var(--tac-line) !important;
				font-size: 11px !important;
				line-height: 1.2 !important;
				color: var(--tac-muted) !important;
			}
			.tac-card-grp {
				color: var(--tac-ink) !important;
				font-weight: 500 !important;
				white-space: nowrap !important;
				overflow: hidden !important;
				text-overflow: ellipsis !important;
				max-width: 65% !important;
			}
			.tac-card-time {
				color: var(--tac-muted) !important;
				white-space: nowrap !important;
				flex-shrink: 0 !important;
			}
			.job-card-new h3,
			.job-card-new p,
			.tac-card h3,
			.tac-card p {
				margin-bottom: 0 !important;
			}

			/* All Filters Drawer Styling */
			#tac-filters-overlay {
				display: none;
				position: fixed;
				inset: 0;
				background: rgba(20,52,79,.32);
				z-index: 99998;
				backdrop-filter: blur(2px);
			}
			#tac-filters-sidebar {
				position: fixed;
				top: 0;
				right: -450px;
				width: 440px;
				max-width: 95vw;
				height: 100%;
				background: #fff !important;
				z-index: 99999;
				box-shadow: 0 20px 44px -14px rgba(20,52,79,.30);
				border-left: 1px solid var(--tac-line);
				transition: right 0.26s var(--tac-ease);
				display: flex;
				flex-direction: column;
				font-family: var(--tac-sans);
			}
			#tac-filters-sidebar.open {
				right: 0 !important;
			}
			.tac-sidebar-header {
				flex: none;
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 20px 24px 16px;
				border-bottom: 1px solid var(--tac-line);
				background: #fff;
			}
			.tac-sidebar-header h2, .tac-sidebar-header h3 {
				margin: 0 !important;
				font-family: var(--tac-serif) !important;
				font-size: 24px !important;
				font-weight: 500 !important;
				letter-spacing: -.01em !important;
				color: var(--tac-ink) !important;
				text-transform: none !important;
			}
			.tac-sidebar-clear,
			.tac-sidebar-clear:hover,
			.tac-sidebar-clear:focus,
			.tac-sidebar-clear:active,
			#tac-sidebar-clear-btn,
			#tac-sidebar-clear-btn:hover,
			#tac-sidebar-clear-btn:focus,
			#tac-sidebar-clear-btn:active {
				background: transparent !important;
				background-color: transparent !important;
				border: none !important;
				box-shadow: none !important;
				outline: none !important;
				padding: 0 !important;
				margin: 0 !important;
				border-radius: 0 !important;
				font-family: inherit !important;
				font-size: 13px !important;
				font-weight: 600 !important;
				color: var(--tac-cobalt) !important;
				cursor: pointer !important;
				text-decoration: underline !important;
				text-underline-offset: 2px !important;
				display: inline-block !important;
				line-height: inherit !important;
			}
			.tac-sidebar-clear:hover,
			#tac-sidebar-clear-btn:hover {
				color: var(--tac-navy) !important;
				opacity: 0.85 !important;
			}
			.tac-sidebar-close,
			#tac-sidebar-close-btn {
				width: 32px !important;
				height: 32px !important;
				min-width: 32px !important;
				max-width: 32px !important;
				min-height: 32px !important;
				max-height: 32px !important;
				aspect-ratio: 1 / 1 !important;
				border-radius: 50% !important;
				border: 1px solid var(--tac-line) !important;
				background: #fff !important;
				color: var(--tac-ink) !important;
				cursor: pointer !important;
				font-size: 18px !important;
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				padding: 0 !important;
				margin: 0 !important;
				box-sizing: border-box !important;
				flex-shrink: 0 !important;
				transition: background .12s, color .12s !important;
				line-height: 1 !important;
				outline: none !important;
				box-shadow: none !important;
			}
			.tac-sidebar-close:hover,
			#tac-sidebar-close-btn:hover {
				background: var(--tac-panel2) !important;
				color: var(--tac-ink) !important;
			}
			.tac-sidebar-body {
				flex: 1;
				min-height: 0;
				overflow-y: auto;
				padding: 8px 24px 24px;
			}
			.tac-sidebar-body::-webkit-scrollbar {
				width: 6px;
			}
			.tac-sidebar-body::-webkit-scrollbar-thumb {
				background: var(--tac-line2);
				border-radius: 6px;
			}
			.tac-sidebar-group-btn {
				display: flex !important;
				align-items: center !important;
				justify-content: space-between !important;
				width: 100% !important;
				padding: 16px 0 10px !important;
				background: transparent !important;
				border: none !important;
				border-top: 1px solid var(--tac-line) !important;
				cursor: pointer !important;
				text-align: left !important;
				margin-top: 4px !important;
			}
			.tac-sidebar-group-btn:first-of-type {
				border-top: none !important;
				margin-top: 0 !important;
			}
			.tac-sidebar-group-title {
				font-size: 11px !important;
				font-weight: 700 !important;
				letter-spacing: .12em !important;
				text-transform: uppercase !important;
				color: var(--tac-ink) !important;
			}
			.tac-sidebar-group-caret {
				font-size: 11px !important;
				color: var(--tac-muted) !important;
				transition: transform .18s ease !important;
			}
			.tac-sidebar-group-btn.closed .tac-sidebar-group-caret {
				transform: rotate(-90deg) !important;
			}
			.tac-filter-row {
				padding: 6px 0 10px;
			}
			.tac-filter-row-label {
				display: flex;
				align-items: center;
				flex-wrap: wrap;
				gap: 6px;
				font-size: 12.5px;
				font-weight: 500;
				color: var(--tac-ink2);
				margin-bottom: 7px;
			}
			.tac-filter-row-label.is-active {
				font-weight: 600 !important;
				color: var(--tac-ink) !important;
			}
			.tac-filter-pills-wrap {
				display: flex;
				flex-wrap: wrap;
				gap: 6px;
			}
			.tac-drawer-pill {
				height: 28px !important;
				padding: 0 12px !important;
				border-radius: 999px !important;
				font-family: inherit !important;
				font-size: 12px !important;
				font-weight: 500 !important;
				cursor: pointer !important;
				white-space: nowrap !important;
				border: 1px solid var(--tac-line2) !important;
				background: #fff !important;
				color: var(--tac-ink) !important;
				display: inline-flex !important;
				align-items: center !important;
				line-height: 1 !important;
				transition: border-color .15s, background .15s, color .15s !important;
				user-select: none !important;
				outline: none !important;
				box-shadow: none !important;
			}
			.tac-drawer-pill:hover:not(.active) {
				border-color: var(--tac-ink) !important;
			}
			.tac-drawer-pill.active {
				background: var(--tac-blue-soft) !important;
				border-color: var(--tac-cobalt) !important;
				color: var(--tac-navy) !important;
				font-weight: 600 !important;
			}
			.tac-pill-badge {
				margin-left: 5px !important;
				font-size: 10.5px !important;
				font-weight: 600 !important;
				color: var(--tac-faint) !important;
			}
			.tac-pill-remove {
				margin-left: 5px !important;
				font-size: 12px !important;
				line-height: 1 !important;
				opacity: .7 !important;
			}
			.tac-drawer-search-input, .tac-numeric-input {
				width: 100% !important;
				height: 34px !important;
				padding: 0 12px !important;
				border: 1px solid var(--tac-line) !important;
				border-radius: 8px !important;
				font-family: inherit !important;
				font-size: 13px !important;
				color: var(--tac-ink) !important;
				background: #fff !important;
				box-sizing: border-box !important;
				margin-bottom: 8px !important;
				outline: none !important;
			}
			.tac-drawer-search-input:focus, .tac-numeric-input:focus {
				border-color: var(--tac-cobalt) !important;
				outline: 2px solid var(--tac-cobalt) !important;
				outline-offset: -1px !important;
			}
			.tac-drawer-toggle-row {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 12px;
				padding: 5px 0;
			}
			.tac-switch-track {
				flex: none;
				position: relative;
				width: 36px;
				height: 20px;
				border-radius: 999px;
				background: var(--tac-line2);
				cursor: pointer;
				transition: background .15s;
			}
			.tac-switch-knob {
				position: absolute;
				top: 2px;
				left: 2px;
				width: 16px;
				height: 16px;
				border-radius: 50%;
				background: #fff;
				box-shadow: 0 1px 2px rgba(0,0,0,.25);
				transition: left .15s var(--tac-ease);
			}
			.tac-switch-track.active {
				background: var(--tac-cobalt) !important;
			}
			.tac-switch-track.active .tac-switch-knob {
				left: 18px !important;
			}
			.tac-filter-operator {
				font-weight: 400 !important;
				color: var(--tac-muted) !important;
				font-size: 11.5px !important;
				margin-left: 2px !important;
			}
			.tac-filter-must-badge {
				padding: 2px 8px !important;
				border-radius: 999px !important;
				font-size: 10px !important;
				font-weight: 700 !important;
				letter-spacing: .02em !important;
				background: var(--tac-blue-soft) !important;
				color: var(--tac-navy) !important;
			}
			.tac-sidebar-footer {
				flex: none;
				border-top: 1px solid var(--tac-line);
				padding: 14px 24px 18px;
				background: #fff;
			}
			.tac-sidebar-btn-apply {
				width: 100% !important;
				height: 46px !important;
				border: none !important;
				border-radius: 10px !important;
				font-family: inherit !important;
				font-size: 14px !important;
				font-weight: 700 !important;
				color: var(--tac-ink) !important;
				cursor: pointer !important;
				background-color: var(--tac-lime) !important;
				background-image: var(--tac-y-grad) !important;
				box-shadow: var(--tac-y-shadow) !important;
				transition: transform 140ms var(--tac-ease), box-shadow 140ms var(--tac-ease) !important;
			}
			.tac-sidebar-btn-apply:hover {
				background-image: var(--tac-y-grad-hi) !important;
				box-shadow: var(--tac-y-shadow-hover) !important;
				transform: translateY(-1px) !important;
			}
			.tac-sidebar-btn-apply:active {
				transform: none !important;
			}

			/* =========================================================================
			   MODAL: SINGLE POST POPUP (v25 Design)
			   ========================================================================= */
			#tac-job-modal-overlay {
				display: none;
				position: fixed;
				inset: 0;
				background: rgba(20, 52, 79, 0.45);
				backdrop-filter: blur(4px);
				z-index: 999999;
				align-items: center;
				justify-content: center;
				padding: 30px 20px;
				box-sizing: border-box;
			}
			#tac-job-modal {
				background: #FFFFFF;
				width: min(880px, 96vw);
				max-height: 90vh;
				overflow-y: auto;
				overscroll-behavior: contain;
				border-radius: 16px;
				box-shadow: 0 30px 80px rgba(20, 52, 79, 0.28);
				border: 1px solid var(--tac-line);
				box-sizing: border-box;
				position: relative;
			}
			#tac-job-modal::-webkit-scrollbar {
				width: 6px;
			}
			#tac-job-modal::-webkit-scrollbar-thumb {
				background: var(--tac-line2);
				border-radius: 6px;
			}

			/* Modal Hero Header (Deep Navy Radial Gradient) */
			.tac-modal-header {
				position: relative;
				padding: 26px 30px 24px;
				background: radial-gradient(60% 55% at 70% 34%, #6E93B8 0%, #3F6B94 38%, #1F4467 72%, #14304A 100%);
				color: #FFFFFF;
				border-top-left-radius: 15px;
				border-top-right-radius: 15px;
			}
			.tac-modal-close,
			#modal-close-btn {
				position: absolute !important;
				top: 18px !important;
				right: 20px !important;
				z-index: 10 !important;
				width: 32px !important;
				height: 32px !important;
				min-width: 32px !important;
				max-width: 32px !important;
				min-height: 32px !important;
				max-height: 32px !important;
				aspect-ratio: 1 / 1 !important;
				border-radius: 50% !important;
				background: rgba(255, 255, 255, 0.16) !important;
				border: 1px solid rgba(255, 255, 255, 0.35) !important;
				color: #FFFFFF !important;
				font-size: 18px !important;
				cursor: pointer !important;
				display: inline-flex !important;
				align-items: center !important;
				justify-content: center !important;
				padding: 0 !important;
				margin: 0 !important;
				box-sizing: border-box !important;
				flex-shrink: 0 !important;
				transition: background 0.15s ease, color 0.15s ease !important;
				line-height: 1 !important;
				outline: none !important;
				box-shadow: none !important;
			}
			.tac-modal-close:hover,
			#modal-close-btn:hover {
				background: rgba(255, 255, 255, 0.28) !important;
				color: #FFFFFF !important;
			}

			/* Modal Header Tags */
			.tac-modal-tags {
				display: flex;
				flex-wrap: wrap;
				gap: 8px;
				margin-bottom: 12px;
				padding-right: 40px;
			}
			.tac-modal-tag {
				font-family: var(--tac-sans);
				font-size: 10.5px;
				font-weight: 700;
				text-transform: uppercase;
				letter-spacing: 0.08em;
				padding: 4px 12px;
				border-radius: 999px;
				border: 1px solid rgba(255, 255, 255, 0.3);
				background: rgba(255, 255, 255, 0.12);
				color: #FFFFFF;
			}

			/* Modal Title */
			.tac-modal-title {
				margin: 0 0 10px 0 !important;
				font-family: var(--tac-serif) !important;
				font-size: 28px !important;
				line-height: 1.15 !important;
				color: #FFFFFF !important;
				font-weight: 400 !important;
				letter-spacing: -0.01em !important;
			}

			/* Modal Employer / Subtitle Line */
			.tac-modal-emp {
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				gap: 16px;
				font-size: 13.5px;
				color: rgba(255, 255, 255, 0.85);
			}
			.tac-modal-emp .tac-emp-name {
				color: #FFFFFF;
				font-weight: 700;
			}

			/* Modal Pay Row */
			.tac-modal-pay-row {
				display: flex;
				flex-wrap: wrap;
				align-items: baseline;
				gap: 12px;
				margin-top: 14px;
			}
			.tac-modal-pay-val {
				font-family: var(--tac-serif);
				font-size: 34px;
				line-height: 1;
				color: #FFFFFF;
				font-weight: 600;
				letter-spacing: -0.01em;
			}
			.tac-modal-pay-meta {
				font-family: var(--tac-sans);
				font-size: 11px;
				font-weight: 700;
				color: rgba(255, 255, 255, 0.65);
				letter-spacing: 0.12em;
				text-transform: uppercase;
			}

			/* Modal 2-Column Body */
			.tac-modal-body-grid {
				display: grid;
				grid-template-columns: minmax(0, 1.45fr) minmax(260px, 1fr);
				background: #FFFFFF;
				border-bottom-left-radius: 15px;
				border-bottom-right-radius: 15px;
			}
			.tac-modal-main-col {
				padding: 24px 28px 28px;
				border-right: 1px solid var(--tac-line);
			}
			.tac-modal-side-col {
				padding: 24px 22px 28px;
				display: flex;
				flex-direction: column;
				gap: 16px;
				background: #FFFFFF;
			}

			/* Section Labels */
			.tac-modal-sec-head {
				font-family: var(--tac-sans);
				font-size: 10.5px;
				font-weight: 700;
				color: var(--tac-ink);
				letter-spacing: 0.12em;
				text-transform: uppercase;
				margin: 0 0 8px;
			}
			.tac-modal-desc-p {
				margin: 0 0 22px;
				font-size: 13.5px;
				line-height: 1.55;
				color: #4A5568;
			}

			/* Posting Details Spec Categories */
			.tac-m-cat {
				margin-bottom: 14px;
			}
			.tac-m-cat-h {
				display: flex;
				align-items: baseline;
				justify-content: space-between;
				gap: 10px;
				margin-bottom: 6px;
			}
			.tac-m-cat-h h5 {
				margin: 0;
				font-family: var(--tac-sans);
				font-size: 10px;
				font-weight: 700;
				color: var(--tac-ink);
				letter-spacing: 0.1em;
				text-transform: uppercase;
			}
			.tac-m-cat-h span {
				font-size: 11px;
				color: var(--tac-muted);
			}
			.tac-m-sub {
				font-size: 11.5px;
				font-weight: 500;
				color: var(--tac-muted);
				margin: 8px 0 5px;
			}
			.tac-m-spec {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 1px;
				background: var(--tac-blue-line);
				border: 1px solid var(--tac-blue-line);
				border-radius: 10px;
				overflow: hidden;
				margin-bottom: 8px;
			}
			.tac-m-spec.single-col {
				grid-template-columns: 1fr;
			}
			.tac-m-spec > div {
				background: #FFFFFF;
				padding: 10px 14px;
			}
			.tac-m-spec .k {
				font-size: 9.5px;
				font-weight: 700;
				color: var(--tac-muted);
				font-family: var(--tac-sans);
				text-transform: uppercase;
				letter-spacing: 0.12em;
				margin-bottom: 4px;
			}
			.tac-m-spec .v {
				font-size: 13.5px;
				font-weight: 600;
				color: var(--tac-ink);
			}

			/* Sidebar Actions */
			.tac-m-cta {
				display: flex;
				flex-direction: column;
				gap: 9px;
			}
			.tac-m-btn-apply {
				width: 100% !important;
				height: 44px !important;
				background-color: var(--tac-lime) !important;
				background-image: var(--tac-y-grad) !important;
				box-shadow: var(--tac-y-shadow) !important;
				border: none !important;
				border-radius: 10px !important;
				font-family: inherit !important;
				font-size: 13.5px !important;
				font-weight: 700 !important;
				color: var(--tac-ink) !important;
				cursor: pointer !important;
				display: flex !important;
				align-items: center !important;
				justify-content: center !important;
				gap: 8px !important;
				text-decoration: none !important;
				transition: transform 140ms var(--tac-ease), box-shadow 140ms var(--tac-ease) !important;
			}
			.tac-m-btn-apply:hover {
				background-image: var(--tac-y-grad-hi) !important;
				box-shadow: var(--tac-y-shadow-hover) !important;
				transform: translateY(-1px) !important;
			}
			.tac-m-btn-save {
				width: 100% !important;
				height: 44px !important;
				background: #FFFFFF !important;
				border: 1px solid var(--tac-line2) !important;
				border-radius: 10px !important;
				font-family: inherit !important;
				font-size: 13.5px !important;
				font-weight: 600 !important;
				color: var(--tac-ink) !important;
				cursor: pointer !important;
				display: flex !important;
				align-items: center !important;
				justify-content: center !important;
				transition: border-color 0.15s !important;
			}
			.tac-m-btn-save:hover {
				border-color: var(--tac-ink) !important;
			}
			.tac-m-showmap {
				background: none !important;
				border: none !important;
				padding: 0 !important;
				font-family: inherit !important;
				font-size: 13px !important;
				font-weight: 600 !important;
				color: var(--tac-cobalt) !important;
				text-decoration: underline !important;
				text-underline-offset: 3px !important;
				cursor: pointer !important;
				align-self: flex-start !important;
				margin-top: 2px !important;
			}
			.tac-m-meta {
				margin-top: auto;
				padding-top: 18px;
				border-top: 1px solid var(--tac-line);
				display: flex;
				justify-content: space-between;
				align-items: center;
				gap: 12px;
				font-size: 10.5px;
				font-weight: 600;
				color: var(--tac-muted);
				letter-spacing: 0.1em;
				text-transform: uppercase;
				flex-wrap: wrap;
			}

			/* =========================================================================
			   TYPEAHEAD SUGGESTIONS DROPDOWN (v25)
			   ========================================================================= */
			.tac-qs-where {
				position: relative !important;
			}
			#tac-loc-sug.tac-loc-sug,
			.tac-loc-sug {
				position: absolute !important;
				top: calc(100% + 8px) !important;
				left: 0 !important;
				width: 280px !important;
				max-width: 90vw !important;
				background: #FFFFFF !important;
				background-color: #FFFFFF !important;
				border: 1px solid var(--tac-line) !important;
				border-radius: 14px !important;
				box-shadow: 0 16px 40px rgba(20, 52, 79, 0.16) !important;
				z-index: 9999999 !important;
				overflow: hidden !important;
				padding: 6px 0 !important;
				box-sizing: border-box !important;
				display: none;
			}
			#tac-loc-sug .tac-loc-sug-item,
			div#tac-loc-sug .tac-loc-sug-item,
			div#tac-loc-sug div.tac-loc-sug-item,
			.tac-loc-sug .tac-loc-sug-item {
				display: block !important;
				width: 100% !important;
				padding: 9px 18px !important;
				margin: 0 !important;
				text-align: left !important;
				background: transparent !important;
				background-color: transparent !important;
				background-image: none !important;
				border: none !important;
				border-radius: 0 !important;
				box-shadow: none !important;
				text-shadow: none !important;
				outline: none !important;
				font-family: var(--tac-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
				font-size: 13.5px !important;
				font-weight: 500 !important;
				line-height: 1.4 !important;
				color: #16181B !important;
				cursor: pointer !important;
				transition: background 0.12s ease, color 0.12s ease !important;
				box-sizing: border-box !important;
			}
			#tac-loc-sug .tac-loc-sug-item:hover,
			#tac-loc-sug .tac-loc-sug-item:focus,
			#tac-loc-sug .tac-loc-sug-item.on,
			div#tac-loc-sug .tac-loc-sug-item:hover,
			div#tac-loc-sug .tac-loc-sug-item:focus,
			div#tac-loc-sug .tac-loc-sug-item.on,
			.tac-loc-sug .tac-loc-sug-item:hover,
			.tac-loc-sug .tac-loc-sug-item.on {
				background: #E6EEF7 !important;
				background-color: #E6EEF7 !important;
				color: #1B5CB0 !important;
				font-weight: 600 !important;
			}

			/* =========================================================================
			   LOCATION PICKER MODAL (v25 3-Step Design)
			   ========================================================================= */
			#tac-loc-picker-overlay {
				display: none;
				position: fixed !important;
				top: 0 !important;
				left: 0 !important;
				right: 0 !important;
				bottom: 0 !important;
				width: 100vw !important;
				height: 100vh !important;
				background: rgba(20, 52, 79, 0.45) !important;
				backdrop-filter: blur(4px) !important;
				-webkit-backdrop-filter: blur(4px) !important;
				z-index: 999999999 !important;
				align-items: center !important;
				justify-content: center !important;
				padding: 24px !important;
				box-sizing: border-box !important;
			}
			#tac-loc-picker-overlay.open {
				display: flex !important;
			}
			#tac-loc-picker-modal {
				background: #FFFFFF !important;
				width: min(520px, 95vw) !important;
				border-radius: 16px !important;
				box-shadow: 0 30px 80px rgba(20, 52, 79, 0.28) !important;
				border: 1px solid var(--tac-line) !important;
				overflow: hidden !important;
				box-sizing: border-box !important;
				position: relative !important;
			}
			.tac-lp-head {
				display: flex !important;
				align-items: center !important;
				justify-content: space-between !important;
				padding: 22px 26px 14px !important;
			}
			.tac-lp-title {
				font-family: var(--tac-serif) !important;
				font-size: 24px !important;
				font-weight: 400 !important;
				color: var(--tac-ink) !important;
				margin: 0 !important;
			}
			.tac-lp-close {
				width: 32px !important;
				height: 32px !important;
				border-radius: 50% !important;
				border: 1px solid var(--tac-line2) !important;
				background: #FFFFFF !important;
				color: var(--tac-ink) !important;
				font-size: 14px !important;
				cursor: pointer !important;
				display: flex !important;
				align-items: center !important;
				justify-content: center !important;
				transition: background 0.15s !important;
				padding: 0 !important;
				margin: 0 !important;
			}
			.tac-lp-close:hover {
				background: var(--tac-panel2) !important;
			}
			.tac-lp-body {
				padding: 0 26px 20px !important;
				min-height: 220px !important;
				box-sizing: border-box !important;
			}
			.tac-lp-back {
				display: inline-flex !important;
				align-items: center !important;
				gap: 4px !important;
				font-family: var(--tac-sans) !important;
				font-size: 13px !important;
				font-weight: 600 !important;
				color: #1B5CB0 !important;
				background: transparent !important;
				border: none !important;
				cursor: pointer !important;
				padding: 0 !important;
				margin: 0 0 10px 0 !important;
				text-decoration: none !important;
			}
			.tac-lp-back:hover {
				text-decoration: underline !important;
			}
			.tac-lp-step {
				font-family: var(--tac-sans) !important;
				font-size: 10.5px !important;
				font-weight: 700 !important;
				letter-spacing: 0.12em !important;
				text-transform: uppercase !important;
				color: var(--tac-muted) !important;
				margin-bottom: 12px !important;
			}
			.tac-lp-search {
				width: 100% !important;
				box-sizing: border-box !important;
				height: 42px !important;
				margin-bottom: 10px !important;
				padding: 0 14px !important;
				border: 1.5px solid #CBD5E1 !important;
				border-radius: 10px !important;
				font-family: var(--tac-sans) !important;
				font-size: 13.5px !important;
				color: #16181B !important;
				background: #FFFFFF !important;
				outline: none !important;
				transition: border-color 0.15s, box-shadow 0.15s !important;
			}
			.tac-lp-search:focus {
				border-color: #1B5CB0 !important;
				box-shadow: 0 0 0 3px rgba(27, 92, 176, 0.14) !important;
			}
			.tac-lp-count {
				font-family: var(--tac-sans) !important;
				font-size: 12.5px !important;
				font-weight: 500 !important;
				color: #64748B !important;
				margin-bottom: 12px !important;
			}
			.tac-lp-opts {
				display: flex !important;
				flex-wrap: wrap !important;
				gap: 8px !important;
				max-height: 220px !important;
				overflow-y: auto !important;
				padding: 2px 0 6px !important;
			}
			button.tac-lp-fo,
			.tac-lp-fo {
				display: inline-flex !important;
				align-items: center !important;
				height: 32px !important;
				padding: 0 14px !important;
				border-radius: 999px !important;
				border: 1px solid #CBD5E1 !important;
				background: #FFFFFF !important;
				background-color: #FFFFFF !important;
				background-image: none !important;
				box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
				font-family: var(--tac-sans) !important;
				font-size: 12.5px !important;
				font-weight: 500 !important;
				color: #16181B !important;
				cursor: pointer !important;
				white-space: nowrap !important;
				transition: all 0.12s ease !important;
				margin: 0 !important;
				outline: none !important;
			}
			button.tac-lp-fo:hover,
			.tac-lp-fo:hover {
				border-color: #16181B !important;
				background: #F8FAFC !important;
				background-color: #F8FAFC !important;
			}
			button.tac-lp-fo.on,
			.tac-lp-fo.on {
				background: #E6EEF7 !important;
				background-color: #E6EEF7 !important;
				border-color: #1B5CB0 !important;
				color: #14344F !important;
				font-weight: 600 !important;
			}
			.tac-lp-none {
				font-family: var(--tac-sans) !important;
				font-size: 13px !important;
				line-height: 1.5 !important;
				color: #64748B !important;
				margin-top: 10px !important;
			}
			.tac-lp-map-box {
				border: 1px solid var(--tac-blue-line) !important;
				border-radius: 12px !important;
				padding: 10px !important;
				background: #FFFFFF !important;
			}
			.tac-lp-svg {
				width: 100% !important;
				height: auto !important;
				display: block !important;
			}
			.tac-lp-st {
				fill: #FFFFFF !important;
				stroke: #CBD5E1 !important;
				stroke-width: 0.8 !important;
				cursor: pointer !important;
				transition: fill 0.15s, stroke 0.15s !important;
			}
			.tac-lp-st:hover {
				fill: #FAE54B !important;
			}
			.tac-lp-st.selected,
			.tac-lp-st.on {
				fill: #1B5CB0 !important;
				stroke: #14344F !important;
			}
			.tac-lp-lbl text {
				font-family: var(--tac-sans) !important;
				font-size: 8.5px !important;
				font-weight: 700 !important;
				fill: #64748B !important;
				text-anchor: middle !important;
				dominant-baseline: central !important;
				pointer-events: none !important;
				transition: fill 0.15s !important;
			}
			.tac-lp-lbl text.selected,
			.tac-lp-lbl text.on {
				fill: #FFFFFF !important;
			}
			.tac-lp-readout {
				margin-top: 10px !important;
				font-size: 13px !important;
				font-weight: 500 !important;
				color: #64748B !important;
				min-height: 20px !important;
			}
			.tac-lp-foot {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 12px;
				padding: 16px 26px 22px;
				border-top: 1px solid var(--tac-line);
				background: #FFFFFF;
			}
			.tac-lp-cancel {
				border: 1px solid var(--tac-line2) !important;
				background: #FFFFFF !important;
				color: var(--tac-ink) !important;
				border-radius: 10px !important;
				height: 44px !important;
				padding: 0 24px !important;
				font-family: inherit !important;
				font-size: 13.5px !important;
				font-weight: 600 !important;
				cursor: pointer !important;
				transition: border-color 0.15s !important;
			}
			.tac-lp-cancel:hover {
				border-color: var(--tac-ink) !important;
			}
			.tac-lp-use {
				flex: 1 !important;
				height: 44px !important;
				background-color: var(--tac-lime) !important;
				background-image: var(--tac-y-grad) !important;
				box-shadow: var(--tac-y-shadow) !important;
				border: none !important;
				border-radius: 10px !important;
				font-family: inherit !important;
				font-size: 13.5px !important;
				font-weight: 700 !important;
				color: var(--tac-ink) !important;
				cursor: pointer !important;
				display: flex !important;
				align-items: center !important;
				justify-content: center !important;
				transition: transform 140ms var(--tac-ease), box-shadow 140ms var(--tac-ease) !important;
			}
			.tac-lp-use:hover:not(:disabled) {
				background-image: var(--tac-y-grad-hi) !important;
				box-shadow: var(--tac-y-shadow-hover) !important;
				transform: translateY(-1px) !important;
			}
			.tac-lp-use:disabled {
				opacity: 0.5 !important;
				cursor: default !important;
				box-shadow: none !important;
				transform: none !important;
			}

			@media (max-width: 820px) {
				.tac-modal-body-grid {
					grid-template-columns: 1fr;
				}
				.tac-modal-main-col {
					border-right: none;
					border-bottom: 1px solid var(--tac-line);
				}
				.tac-modal-title {
					font-size: 22px !important;
				}
			}

			@media (max-width: 960px) {
				.tac-split-canvas {
					grid-template-columns: 1fr !important;
				}
				.tac-qs {
					max-width: 100%;
				}
				.tac-xrail.open .tac-x-box, .tac-xrail.open .tac-x-body {
					grid-template-columns: 140px minmax(0, calc(100vw - 70px));
				}
			}

			/* "any of these" OR Operator Text (Hidden by default, shown when activeCount >= 2) */
			.tac-filter-operator {
				display: none !important;
				font-weight: 400 !important;
				color: #6E6F72 !important;
				font-size: 12px !important;
				margin-left: 4px !important;
				margin-right: 2px !important;
				user-select: none !important;
			}
			.tac-filter-operator.show-operator {
				display: inline-block !important;
			}

			/* "Required" Badge (Hidden by default, shown only when activeCount >= 1) */
			.tac-filter-must-badge {
				display: none !important;
				flex: none !important;
				align-items: center !important;
				justify-content: center !important;
				padding: 2px 9px !important;
				border-radius: 999px !important;
				font-size: 10.5px !important;
				font-weight: 700 !important;
				letter-spacing: 0.02em !important;
				background: #0F2C46 !important;
				background-color: #0F2C46 !important;
				color: #FFFFFF !important;
				line-height: 1.25 !important;
				user-select: none !important;
				vertical-align: middle !important;
				margin-left: 6px !important;
			}
			.tac-filter-must-badge.show-badge {
				display: inline-flex !important;
			}
