.flcd-finder {
	--flcd-primary: #075b35;
	--flcd-primary-dark: #034527;
	--flcd-accent: #dff2e8;
	--flcd-ink: #14231b;
	--flcd-muted: #5f6f66;
	--flcd-line: #d9e3dd;
	--flcd-soft: #f6f9f7;
	max-width: 1200px;
}

.flcd-finder__panel {
	background: #fff;
	border: 1px solid var(--flcd-line);
	border-radius: 14px;
	box-shadow: 0 5px 20px rgba(20, 35, 27, .06);
	color: var(--flcd-ink);
	padding: 20px;
}

.flcd-finder__title {
	color: var(--flcd-ink);
	font-size: clamp(1.35rem, 2.2vw, 1.9rem);
	margin: 0 0 5px;
}

.flcd-finder__description {
	color: var(--flcd-muted);
	font-size: .95rem;
	line-height: 1.5;
	margin: 0 0 15px;
	max-width: none;
}

.flcd-finder__form {
	align-items: end;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(420px, 1fr) auto auto auto;
}

.flcd-finder__form label:not(.flcd-finder__toggle) {
	color: var(--flcd-muted);
	font-size: .78rem;
	margin-bottom: 4px;
}

.flcd-finder__form input[type=search],
.flcd-finder__form select {
	background: var(--flcd-soft);
	border: 1px solid var(--flcd-line);
	border-radius: 8px;
	font-size: 1.05rem;
	min-height: 58px;
	padding: 14px 16px;
}

.flcd-finder__submit,
.flcd-finder__locate {
	border-radius: 8px;
	min-height: 58px;
	padding: 10px 16px;
}

.flcd-finder__submit {
	background: var(--flcd-primary);
	color: #fff;
}

.flcd-finder__locate {
	background: #fff;
	border: 1px solid var(--flcd-primary) !important;
	color: var(--flcd-primary-dark);
}

.flcd-finder__toggle {
	align-items: center;
	align-self: end;
	background: var(--flcd-soft);
	border: 1px solid var(--flcd-line);
	border-radius: 8px;
	color: var(--flcd-ink);
	display: flex;
	font-size: .88rem;
	grid-column: auto;
	justify-content: center;
	min-height: 58px;
	padding: 8px 12px;
}

.flcd-finder__toggles {
	display: flex;
	gap: 8px;
}

.flcd-finder__status {
	padding: 18px 2px 10px;
}

.flcd-finder__results {
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr;
}

.flcd-finder__ad-row {
	box-sizing: border-box;
	max-width: min(100%, var(--flcd-ad-width, 970px));
	overflow: hidden;
	width: 100%;
}

.flcd-finder__ad-row.is-left {
	margin-right: auto;
}

.flcd-finder__ad-row.is-center {
	margin-left: auto;
	margin-right: auto;
}

.flcd-finder__ad-row.is-right {
	margin-left: auto;
}

.flcd-finder__ad-row.has-height .flcd-finder__ad-content {
	min-height: var(--flcd-ad-height);
}

.flcd-finder__ad-label {
	color: var(--flcd-muted);
	font-size: .68rem;
	letter-spacing: .06em;
	margin-bottom: 5px;
	text-align: center;
	text-transform: uppercase;
}

.flcd-finder__ad-content {
	align-items: center;
	display: flex;
	justify-content: center;
	max-width: 100%;
	overflow: hidden;
	width: 100%;
}

.flcd-finder__ad-content img,
.flcd-finder__ad-content iframe {
	max-width: 100%;
}

.flcd-finder__ad-content > * {
	box-sizing: border-box;
	max-width: 100% !important;
}

.flcd-finder__card {
	align-items: center;
	background: #fff;
	border: 1px solid var(--flcd-line);
	border-radius: 14px;
	box-shadow: 0 4px 16px rgba(20, 35, 27, .055);
	display: grid;
	gap: 18px;
	grid-template-columns: 190px minmax(280px, 1.15fr) minmax(210px, .85fr) 165px;
	min-height: 182px;
	padding: 16px;
}

.flcd-finder__card:hover {
	box-shadow: 0 8px 24px rgba(20, 35, 27, .10);
	transform: translateY(-1px);
}

.flcd-finder__logo-frame {
	align-items: center;
	align-self: center;
	background: var(--flcd-soft);
	border: 1px solid var(--flcd-line);
	border-radius: 9px;
	display: flex;
	justify-content: center;
	height: 142px;
	padding: 14px;
}

.flcd-finder__logo {
	height: auto;
	max-height: 100px;
	max-width: 100%;
	object-fit: contain;
	width: 250px;
}

.flcd-finder__logo-fallback {
	color: var(--flcd-primary-dark);
	font-size: 1rem;
	font-weight: 900;
	text-align: center;
}

.flcd-finder__card-body {
	min-width: 0;
}

.flcd-finder__brand {
	font-size: .72rem;
	margin-bottom: 2px;
}

.flcd-finder__card h3 {
	font-size: clamp(1.12rem, 2vw, 1.35rem);
	margin: 0 0 9px;
}

.flcd-finder__distance {
	align-items: baseline;
	background: var(--flcd-accent);
	border: 1px solid #acd6bf;
	border-radius: 8px;
	color: var(--flcd-primary-dark);
	display: inline-flex;
	gap: 6px;
	margin: 0;
	padding: 6px 10px;
}

.flcd-finder__distance strong {
	font-size: 1.3rem;
	line-height: 1;
}

.flcd-finder__distance span {
	font-size: .74rem;
	font-weight: 900;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.flcd-finder__delivery-result-label {
	background: var(--flcd-accent);
	border-radius: 8px;
	color: var(--flcd-primary-dark);
	display: inline-block;
	font-weight: 850;
	margin: 0 0 10px;
	padding: 8px 11px;
}

.flcd-finder__card address {
	font-size: 1.1rem;
	line-height: 1.45;
}

.flcd-finder__map-link {
	color: var(--flcd-muted);
	display: block;
	margin: 12px 0 12px 10px;
	text-decoration: none;
}

.flcd-finder__map-link:hover,
.flcd-finder__map-link:focus {
	color: var(--flcd-primary);
	text-decoration: underline;
}

.flcd-finder__services {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 0;
}

.flcd-finder__service {
	border: 1px solid;
	border-radius: 7px;
	font-size: .9rem;
	font-weight: 850;
	min-width: 104px;
	padding: 8px 11px;
	text-align: center;
}

.flcd-finder__service.is-available {
	background: #e2f5ea;
	border-color: #8dceaa;
	color: #075b35;
}

.flcd-finder__service.is-unavailable {
	background: #f3f4f3;
	border-color: #d8ddda;
	color: #748078;
}

.flcd-finder__delivery-info {
	border: 0;
	color: var(--flcd-muted);
	font-size: 1rem;
	line-height: 1.45;
	margin: 0;
	padding: 0;
}

.flcd-finder__delivery-column {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-width: 0;
	padding: 9px 18px 9px 0;
}

.flcd-finder__text-link {
	align-self: flex-end;
	color: var(--flcd-primary);
	font-size: .95rem;
	font-weight: 850;
	margin-top: auto;
	padding-top: 12px;
	text-align: right;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.flcd-finder__text-link--plain {
	color: var(--flcd-muted);
	text-decoration: none;
}

.flcd-finder__actions {
	border-left: 1px solid var(--flcd-line);
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 8px 0 8px 18px;
	width: 100%;
}

.flcd-finder__action {
	align-items: center;
	border: 1px solid var(--flcd-primary);
	border-radius: 8px;
	display: flex;
	font-size: .9rem;
	font-weight: 900;
	justify-content: center;
	line-height: 1.2;
	min-height: 56px;
	padding: 10px 12px;
	text-align: center;
	text-decoration: none;
}

.flcd-finder__action--primary {
	background: var(--flcd-primary);
	color: #fff;
}

.flcd-finder__action--secondary {
	background: #fff;
	color: var(--flcd-primary-dark);
}

.flcd-finder__action--text {
	cursor: default;
}

.flcd-finder__action:hover,
.flcd-finder__action:focus {
	filter: brightness(.94);
}

/* Keep Elementor and theme-wide anchor styles from recoloring finder links. */
.flcd-finder a.flcd-finder__action,
.flcd-finder a.flcd-finder__action:visited {
	text-decoration: none !important;
}

.flcd-finder a.flcd-finder__action--primary,
.flcd-finder a.flcd-finder__action--primary:visited {
	color: #fff !important;
}

.flcd-finder a.flcd-finder__action--secondary,
.flcd-finder a.flcd-finder__action--secondary:visited {
	color: var(--flcd-primary-dark) !important;
}

.flcd-finder a.flcd-finder__map-link,
.flcd-finder a.flcd-finder__map-link:visited {
	color: var(--flcd-muted) !important;
}

.flcd-finder a.flcd-finder__map-link:hover,
.flcd-finder a.flcd-finder__map-link:focus,
.flcd-finder a.flcd-finder__text-link,
.flcd-finder a.flcd-finder__text-link:visited {
	color: var(--flcd-primary) !important;
}

@media (max-width: 980px) {
	.flcd-finder__form {
		grid-template-columns: minmax(260px, 1fr) auto auto auto;
	}

	.flcd-finder__toggle {
		grid-column: auto;
	}

	.flcd-finder__card {
		gap: 14px;
		grid-template-columns: 160px minmax(230px, 1fr) 180px 150px;
	}
}

@media (max-width: 860px) and (min-width: 721px) {
	.flcd-finder__form {
		grid-template-columns: 1fr auto auto;
	}

	.flcd-finder__location-field {
		grid-column: 1 / -1;
	}

	.flcd-finder__card {
		grid-template-columns: 155px minmax(0, 1fr) 155px;
	}

	.flcd-finder__logo-frame {
		grid-row: 1 / span 2;
	}

	.flcd-finder__delivery-column {
		grid-column: 2;
		padding: 0 14px 0 0;
	}

	.flcd-finder__actions {
		grid-column: 3;
		grid-row: 1 / span 2;
	}
}

@media (max-width: 720px) {
	.flcd-finder__panel {
		padding: 16px;
	}

	.flcd-finder__form {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.flcd-finder__location-field {
		grid-column: 1 / -1;
	}

	.flcd-finder__toggles {
		grid-column: 1 / -1;
		width: 100%;
	}

	.flcd-finder__submit {
		grid-column: 1;
		width: 100%;
	}

	.flcd-finder__locate {
		grid-column: 2;
		width: 100%;
	}

	.flcd-finder__toggle {
		flex: 1;
	}

	.flcd-finder__card {
		align-items: stretch;
		grid-template-columns: 1fr;
		gap: 15px;
		padding: 15px;
	}

	.flcd-finder__logo-frame {
		height: 130px;
	}

	.flcd-finder__logo {
		max-height: 100px;
	}

	.flcd-finder__actions {
		border-left: 0;
		border-top: 1px solid var(--flcd-line);
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 15px 0 0;
	}

	.flcd-finder__delivery-column {
		min-height: 0;
		padding: 0;
	}

	.flcd-finder__map-link {
		display: block;
		margin: 12px 0;
	}

	.flcd-finder__text-link {
		align-self: flex-start;
		text-align: left;
	}
}

@media (max-width: 440px) {
	.flcd-finder__toggles {
		gap: 6px;
	}

	.flcd-finder__toggle {
		align-self: stretch;
		font-size: .76rem;
		gap: 6px;
		line-height: 1.2;
		min-width: 0;
		padding: 7px 6px;
	}

	.flcd-finder__toggle input {
		flex: 0 0 18px;
		height: 18px;
		width: 18px;
	}

	.flcd-finder__actions {
		grid-template-columns: 1fr;
	}
}
