/* Partner network map on the live site. Ported from the redesign theme's style.css; selectors carry .cs-partners
   so Astra / Elementor kit button and input styles don't win. */
.cs-partners {
	--cs-navy: #0F2555;
	--cs-blue: #1C3F8F;
	--cs-red: #D0212B;
	--cs-ink: #1A1D24;
	--cs-text: #4A5263;
	--cs-muted: #5C6478;
	--cs-faint: #8B8F99;
	--cs-line: #E3DFD5;
	--cs-line-2: #DDD8CB;
	--cs-sand: #F2F0EA;
	--cs-mono: 'Fira Mono', ui-monospace, Menlo, monospace;
	margin: 0 0 40px;
	text-align: left;
}
.cs-partners .cs-btn { display: inline-block; padding: 15px 26px; font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; text-transform: none; letter-spacing: normal; background: var(--cs-red); color: #fff; border: 0; border-radius: 0; cursor: pointer; }
.cs-partners .cs-btn:hover, .cs-partners .cs-btn:focus { background: #B01B24; color: #fff; }

.cs-partners__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 20px; align-items: start; }
.cs-partners__map-wrap { position: relative; isolation: isolate; background: #E8E4D9; border: 1px solid var(--cs-line); }
.cs-partners__map { height: 560px; }
.cs-partners .cs-partners__search { position: absolute; left: 16px; right: 16px; bottom: 16px; z-index: 1000; margin: 0; padding: 14px 16px; background: #fff; border: 1px solid var(--cs-line); box-shadow: 0 16px 40px rgba(20,24,34,.14); }
.cs-partners .cs-partners__search label { display: block; margin-bottom: 8px; font-family: var(--cs-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--cs-red); }
.cs-partners .cs-partners__search div { display: flex; gap: 8px; }
.cs-partners .cs-partners__search input { flex: 1; min-width: 0; margin: 0; padding: 11px 12px; font-size: 15px; color: var(--cs-ink); background: #fff; border: 1px solid var(--cs-line-2); border-radius: 0; }
.cs-partners .cs-partners__search .cs-btn { padding: 11px 18px; font-size: 14px; }
.cs-partners .cs-partners__msg { margin: 8px 0 0; font-size: 13px; color: var(--cs-text); }

.cs-partners .cs-partners__list { list-style: none; margin: 0; padding: 0; max-height: 562px; overflow-y: auto; background: #fff; border: 1px solid var(--cs-line); }
.cs-partners .cs-partners__list li { margin: 0; padding: 12px 16px; border-bottom: 1px solid var(--cs-line); }
.cs-partners .cs-partners__list li:last-child { border-bottom: 0; }
.cs-partners .cs-partners__list li:has(button.is-active) { background: var(--cs-sand); box-shadow: inset 3px 0 0 var(--cs-red); }
.cs-partners .cs-partners__list button,
.cs-partners .cs-partners__list button:hover,
.cs-partners .cs-partners__list button:focus { display: block; width: 100%; margin: 0; padding: 0; text-align: left; background: none; border: 0; border-radius: 0; box-shadow: none; cursor: pointer; font: inherit; color: inherit; text-transform: none; letter-spacing: normal; }
.cs-partners .cs-partners__list button b { display: block; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--cs-ink); }
.cs-partners .cs-partners__list button span { display: block; margin-top: 2px; font-family: var(--cs-mono); font-size: 11px; letter-spacing: .06em; color: var(--cs-red); }
.cs-partners .cs-partners__list button:hover b, .cs-partners .cs-partners__list button.is-active b { color: var(--cs-navy); }
.cs-partners .cs-partners__list small { display: block; margin-top: 4px; font-size: 12.5px; color: var(--cs-muted); }
.cs-partners .cs-partners__list small a { color: var(--cs-blue); text-decoration: none; }

.cs-pin { display: block; width: 22px; height: 22px; border-radius: 50%; background: var(--cs-navy); border: 3px solid #fff; box-shadow: 0 0 0 1px var(--cs-navy), 0 4px 10px rgba(15,37,85,.35); transition: transform .15s; }
.cs-pin.is-active { background: var(--cs-red); box-shadow: 0 0 0 1px var(--cs-red), 0 4px 12px rgba(208,33,43,.45); transform: scale(1.25); }
.cs-partners .leaflet-popup-content-wrapper { border-radius: 0; box-shadow: 0 16px 40px rgba(20,24,34,.18); }
.cs-partners .leaflet-popup-content { margin: 12px 14px; }
.cs-popup { display: grid; gap: 3px; font-size: 13px; color: var(--cs-text); }
.cs-popup b { font-size: 14px; color: var(--cs-navy); }
.cs-popup small { font-family: var(--cs-mono); font-size: 10.5px; letter-spacing: .04em; color: var(--cs-faint); }
.cs-partners .leaflet-control-zoom { border: 0; box-shadow: 0 6px 18px rgba(20,24,34,.14); }
.cs-partners .leaflet-control-zoom a { border-radius: 0 !important; color: var(--cs-navy); }
/* Astra sets img max-width / height on all images, which breaks Leaflet tiles. */
.cs-partners .leaflet-container img { max-width: none !important; max-height: none !important; }

.cs-partners__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding: 22px 24px; background: var(--cs-navy); }
.cs-partners .cs-partners__cta p { margin: 0; color: #AEBBD8; }
.cs-partners .cs-partners__cta b { display: block; font-size: 18px; font-weight: 600; color: #fff; }

@media (max-width: 921px) {
	.cs-partners__grid { grid-template-columns: 1fr; }
	.cs-partners__map { height: 440px; }
	.cs-partners .cs-partners__list { max-height: none; }
}
@media (max-width: 600px) {
	.cs-partners__map { height: 360px; }
	.cs-partners .cs-partners__search { position: static; border: 0; border-top: 1px solid var(--cs-line); box-shadow: none; }
}
