/* Heart River Store Locator — store finder and search box. Colors follow the theme's --hrs-* variables when present. */

.hrs-finder {
	--sl-ink: var(--hrs-ink, #0e0c0a);
	--sl-text: var(--hrs-text-dark, #2a221b);
	--sl-muted: var(--hrs-muted-dark, #62564a);
	--sl-gold: var(--hrs-gold, #c9942b);
	--sl-gold-ink: var(--hrs-gold-ink, #8a5a12);
	--sl-line: var(--hrs-line-light, rgba(42, 34, 27, .16));
	--sl-display: var(--hrs-display, Georgia, serif);
	--sl-body: var(--hrs-body, "Helvetica Neue", Arial, sans-serif);
	color: var(--sl-text);
	font-family: var(--sl-body);
}

.hrs-sl-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Search */
.hrs-finder__search { margin: 0 0 18px; }
.hrs-finder__label {
	display: block;
	margin-bottom: 10px;
	font: 500 11px/1.4 var(--sl-body);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--sl-gold-ink);
}
.hrs-finder__bar { display: flex; flex-wrap: wrap; gap: 10px; }
.hrs-finder__input {
	flex: 1 1 260px;
	min-width: 0;
	padding: 16px 18px !important;
	border: 1px solid rgba(42, 34, 27, .28) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--sl-text) !important;
	font: 400 16px/1.4 var(--sl-body) !important;
}
.hrs-finder__input:focus { border-color: var(--sl-gold) !important; outline: 2px solid rgba(201, 148, 43, .35); outline-offset: 0; }
.hrs-finder__go,
.hrs-finder__locate {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0 26px;
	min-height: 54px;
	border: 1px solid var(--sl-ink);
	border-radius: 0;
	background: var(--sl-ink);
	color: #f5efe4;
	font: 500 12px/1 var(--sl-body);
	letter-spacing: .22em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s, color .3s, border-color .3s;
}
.hrs-finder__go:hover { border-color: var(--sl-gold-ink); background: var(--sl-gold-ink); }
.hrs-finder__locate { background: transparent; color: var(--sl-text); border-color: rgba(42, 34, 27, .35); }
.hrs-finder__locate:hover { background: var(--sl-ink); color: #f5efe4; }

/* Filters */
.hrs-finder__filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.hrs-finder__chip {
	padding: 9px 14px;
	border: 1px solid rgba(42, 34, 27, .25);
	border-radius: 999px;
	background: transparent;
	color: var(--sl-text);
	font: 500 11px/1 var(--sl-body);
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
}
.hrs-finder__chip[aria-pressed="true"] { border-color: var(--sl-ink); background: var(--sl-ink); color: #f5efe4; }

/* Status row */
.hrs-finder__top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px; margin: 0 0 16px; }
.hrs-finder__status { margin: 0; padding: 0 !important; font: 500 15px/1.5 var(--sl-body); color: var(--sl-muted); }
.hrs-finder__reset {
	padding: 0;
	border: 0;
	background: none;
	color: var(--sl-gold-ink);
	font: 500 12px/1 var(--sl-body);
	letter-spacing: .18em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
}

/* List + map */
.hrs-finder__layout {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 0;
	border: 1px solid var(--sl-line);
	background: #fff;
}
.hrs-finder__list {
	max-height: 640px;
	margin: 0 !important;
	padding: 0 !important;
	overflow-y: auto;
	list-style: none !important;
	overscroll-behavior: contain;
}
.hrs-finder__store {
	position: relative;
	margin: 0 !important;
	padding: 22px 24px 20px 26px !important;
	border-bottom: 1px solid var(--sl-line);
	list-style: none !important;
	cursor: pointer;
	transition: background-color .25s;
}
.hrs-finder__store::marker { content: none; }
.hrs-finder__store::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 3px;
	background: var(--sl-gold);
	transform: scaleY(0);
	transition: transform .3s;
}
.hrs-finder__store:hover,
.hrs-finder__store:focus-visible { background: #fbf8f2; outline: none; }
.hrs-finder__store.is-active { background: #f7f1e6; }
.hrs-finder__store.is-active::before,
.hrs-finder__store:focus-visible::before { transform: scaleY(1); }
.hrs-finder__store[hidden] { display: none; }

.hrs-finder__meta {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 6px;
	padding: 0 !important;
	font: 500 10.5px/1.4 var(--sl-body);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--sl-gold-ink);
}
.hrs-finder__distance { color: var(--sl-text); letter-spacing: .08em; }
.hrs-finder .hrs-finder__name {
	margin: 0 0 6px;
	padding: 0 !important;
	font: 500 22px/1.15 var(--sl-display) !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--sl-text);
}
.hrs-finder__address,
.hrs-finder__note { margin: 0 0 8px; padding: 0 !important; font: 400 15px/1.55 var(--sl-body); color: var(--sl-muted); }
.hrs-finder__note { font-style: italic; }
.hrs-finder__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0 !important; }
.hrs-finder__links a {
	font: 500 11px/1.4 var(--sl-body);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--sl-text) !important;
	text-decoration: underline;
	text-decoration-color: rgba(201, 148, 43, .7);
	text-underline-offset: 4px;
}
.hrs-finder__links a:hover { color: var(--sl-gold-ink) !important; }

.hrs-finder__map { min-height: 640px; background: #ece3d3; }
.hrs-finder__map[hidden] { display: none; }
.hrs-finder__iw { font: 400 14px/1.5 var(--sl-body); color: #2a221b; }
.hrs-finder__iw a { color: #8a5a12; font-weight: 500; }

@media (max-width: 980px) {
	.hrs-finder__layout { grid-template-columns: 1fr; }
	.hrs-finder__map { order: -1; min-height: 340px; }
	.hrs-finder__list { max-height: none; overflow: visible; }
}
@media (max-width: 600px) {
	.hrs-finder__go,
	.hrs-finder__locate { flex: 1 1 auto; justify-content: center; }
	.hrs-finder__store { padding: 18px 18px 16px 20px !important; }
}

/* Small search box ([hrs_store_search]); styled for dark sections, with a light-section variant. */
.hrs-store-search {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	max-width: 560px;
	margin: 0 auto;
}
.hrs-store-search input {
	flex: 1 1 240px;
	min-width: 0;
	padding: 16px 18px !important;
	border: 1px solid rgba(245, 239, 228, .45) !important;
	border-radius: 0 !important;
	background: rgba(14, 12, 10, .55) !important;
	color: #f5efe4 !important;
	font: 400 16px/1.4 var(--hrs-body, Arial, sans-serif) !important;
}
.hrs-store-search input::placeholder { color: rgba(245, 239, 228, .65); }
.hrs-store-search input:focus { border-color: var(--hrs-gold, #c9942b) !important; outline: none; }
.hrs-store-search button {
	padding: 0 28px;
	min-height: 54px;
	border: 1px solid var(--hrs-gold, #c9942b);
	border-radius: 0;
	background: var(--hrs-gold, #c9942b);
	color: #0e0c0a;
	font: 500 12px/1 var(--hrs-body, Arial, sans-serif);
	letter-spacing: .22em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s, border-color .3s;
}
.hrs-store-search button:hover { border-color: var(--hrs-gold-hi, #ddb05a); background: var(--hrs-gold-hi, #ddb05a); }
.hrs-light .hrs-store-search input { border-color: rgba(42, 34, 27, .28) !important; background: #fff !important; color: #2a221b !important; }
.hrs-light .hrs-store-search input::placeholder { color: #8a7f73; }
