/* Де нас знайти — карта зі списком. Кольори беруться з теми, з запасними значеннями. */
.lk-loc-wrap {
	--loc-bg: var(--bg, #E5E0D4);
	--loc-panel: #EBE6DB;
	--loc-line: var(--line, #FFFFFF);
	--loc-ink: var(--ink, #2B241F);
	--loc-text: var(--text, #4A3F37);
	--loc-muted: var(--ftr-small, #A89A87);
	--loc-accent: var(--accent, #8C5A3C);
	--loc-dark: var(--btn, #3A3632);
	--loc-light: var(--light, #F4EEE3);
	--loc-serif: var(--serif, 'Noto Serif Display', Georgia, serif);
	--loc-sans: var(--sans, 'Manrope', system-ui, sans-serif);
	--loc-ease: cubic-bezier(.16, 1, .3, 1);
}

/* ---------- Логотипи мереж ---------- */
.lk-loc-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 56px; margin-top: 48px; }
.lk-loc-logos__item { display: block; line-height: 0; }
.lk-loc-logos__item img { height: var(--lk-logo-h, 163px); width: auto; max-width: 100%; display: block; }

/* ---------- Карта + список ---------- */
.lk-loc {
	display: grid; grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
	height: var(--lk-map-h, 620px); margin-top: 56px;
	border: 1px solid var(--loc-line); background: var(--loc-panel);
	font-family: var(--loc-sans); color: var(--loc-ink); text-align: left;
}
.lk-loc__panel { display: flex; flex-direction: column; min-height: 0; border-right: 1px solid var(--loc-line); }
.lk-loc__tools { padding: 22px 24px 18px; display: flex; flex-direction: column; gap: 14px; border-bottom: 1px solid var(--loc-line); }
.lk-loc__count { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--loc-muted); }
.lk-loc__count [data-lk-count] { color: var(--loc-accent); }

.lk-loc__search { position: relative; display: flex; align-items: center; color: var(--loc-text); }
.lk-loc__search svg { position: absolute; left: 0; pointer-events: none; opacity: .7; }
.lk-loc__search input {
	width: 100%; padding: 10px 0 10px 26px; border: 0; border-bottom: 1px solid rgba(43, 36, 31, .22); border-radius: 0;
	background: transparent; font: inherit; font-size: 16px; color: var(--loc-ink); outline: 0; transition: border-color .3s ease;
}
.lk-loc__search input:focus { border-bottom-color: var(--loc-ink); }
.lk-loc__search input::placeholder { color: var(--loc-muted); }

.lk-loc__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lk-loc__chip {
	font: inherit; font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; line-height: 1;
	padding: 9px 14px; border: 1px solid rgba(43, 36, 31, .2); background: transparent; color: var(--loc-ink); cursor: pointer;
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.lk-loc__chip span { margin-left: 4px; color: var(--loc-muted); }
.lk-loc__chip:hover { border-color: var(--loc-ink); }
.lk-loc__chip.is-active { background: var(--loc-dark); border-color: var(--loc-dark); color: var(--loc-light); }
.lk-loc__chip.is-active span { color: rgba(244, 238, 227, .6); }

.lk-loc__list { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; min-height: 0; scrollbar-width: thin; scrollbar-color: rgba(43, 36, 31, .25) transparent; }
.lk-loc__item { position: relative; border-bottom: 1px solid var(--loc-line); transition: background .3s ease; }
.lk-loc__item::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--loc-accent);
	transform: scaleY(0); transform-origin: top; transition: transform .5s var(--loc-ease);
}
.lk-loc__item.is-hover { background: rgba(255, 255, 255, .32); }
.lk-loc__item.is-active { background: rgba(255, 255, 255, .55); }
.lk-loc__item.is-hover::before, .lk-loc__item.is-active::before { transform: scaleY(1); }
.lk-loc__card {
	display: flex; flex-direction: column; gap: 3px; width: 100%; padding: 20px 68px 20px 24px;
	background: none; border: 0; font: inherit; text-align: left; color: inherit; cursor: pointer;
}
.lk-loc__card:focus-visible { outline: 2px solid var(--loc-accent); outline-offset: -2px; }
.lk-loc__chain { font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--loc-accent); }
.lk-loc__name { font-family: var(--loc-serif); font-size: 22px; line-height: 1.2; color: var(--loc-ink); }
.lk-loc__addr { font-size: 15px; line-height: 1.5; color: var(--loc-text); }
.lk-loc__hours { font-size: 13px; line-height: 1.5; color: var(--loc-muted); }
.lk-loc__route {
	position: absolute; right: 20px; top: 20px; width: 38px; height: 38px; display: grid; place-items: center;
	border: 1px solid rgba(43, 36, 31, .2); border-radius: 50%; color: var(--loc-ink);
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.lk-loc__route:hover { background: var(--loc-dark); border-color: var(--loc-dark); color: var(--loc-light); }
.lk-loc__empty { margin: 0; padding: 24px; color: var(--loc-text); font-size: 15px; }

.lk-loc__mapbox { position: relative; min-width: 0; min-height: 0; }
.lk-loc__map { position: absolute; inset: 0; background: #E9E4D8; z-index: 0; font-family: var(--loc-sans); }
/* Теплий відтінок карти під палітру сайту */
.lk-loc__map .leaflet-tile-pane { filter: grayscale(.75) sepia(.32) saturate(.9) brightness(1.04) contrast(.9); }
.lk-loc__reset {
	position: absolute; left: 16px; top: 16px; z-index: 500;
	font: inherit; font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
	padding: 10px 16px; background: var(--loc-light); color: var(--loc-ink); border: 0; cursor: pointer;
	box-shadow: 0 6px 20px rgba(36, 29, 24, .14); transition: background .3s ease, color .3s ease;
}
.lk-loc__reset:hover { background: var(--loc-dark); color: var(--loc-light); }

/* Leaflet-контроли */
.lk-loc .leaflet-bar { border: 0; border-radius: 0; box-shadow: 0 6px 20px rgba(36, 29, 24, .14); }
.lk-loc .leaflet-bar a {
	width: 38px; height: 38px; line-height: 38px; border-radius: 0 !important; border-bottom: 1px solid #E5E0D4;
	background: var(--loc-light); color: var(--loc-ink); font: 300 22px/38px var(--loc-sans);
}
.lk-loc .leaflet-bar a:hover { background: var(--loc-dark); color: var(--loc-light); }
.lk-loc .leaflet-control-attribution { background: rgba(244, 238, 227, .8); color: var(--loc-text); font-size: 10px; }
.lk-loc .leaflet-control-attribution a { color: var(--loc-text); }

/* ---------- Маркер ---------- */
.lk-pin-wrap { background: none; border: 0; }
/* Крапля 28×28, повернута так, що гострий кут дивиться вниз і стоїть рівно в iconAnchor [17, 42] */
.lk-pin {
	position: absolute; left: 3px; top: 8px; width: 28px; height: 28px; box-sizing: border-box;
	border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
	background: var(--btn, #3A3632); border: 2px solid var(--light, #F4EEE3);
	box-shadow: -2px 3px 10px rgba(36, 29, 24, .3);
	transition: background .3s ease, transform .45s cubic-bezier(.16, 1, .3, 1);
}
.lk-pin__dot { position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--light, #F4EEE3); }
.lk-pin-wrap.is-hover .lk-pin, .lk-pin.is-active { background: var(--accent, #8C5A3C); transform: rotate(-45deg) scale(1.18); }
.lk-pin.is-active::after {
	content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 2px solid var(--accent, #8C5A3C);
	animation: lk-pin-pulse 1.8s ease-out infinite;
}
@keyframes lk-pin-pulse { from { opacity: .7; transform: scale(.6); } to { opacity: 0; transform: scale(1.5); } }

/* ---------- Підказка при наведенні ---------- */
.leaflet-tooltip.lk-tip {
	padding: 10px 14px; border: 0; border-radius: 0; background: #241D18; color: #F4EEE3;
	box-shadow: 0 10px 30px rgba(36, 29, 24, .25); font-family: var(--sans, 'Manrope', sans-serif); white-space: nowrap;
}
.leaflet-tooltip-top.lk-tip::before { border-top-color: #241D18; }
.lk-tip__name { font-family: var(--serif, 'Noto Serif Display', serif); font-size: 17px; line-height: 1.25; }
.lk-tip__addr { font-size: 13px; color: #C9BCA9; margin-top: 2px; }
.lk-tip__hours { font-size: 12px; color: #A89A87; }

/* ---------- Картка точки ---------- */
.lk-popup .leaflet-popup-content-wrapper {
	border-radius: 0; background: var(--light, #F4EEE3); color: var(--ink, #2B241F);
	box-shadow: 0 18px 50px rgba(36, 29, 24, .25); padding: 0;
}
.lk-popup .leaflet-popup-tip { background: var(--light, #F4EEE3); }
.lk-popup .leaflet-popup-content { margin: 20px 22px 18px; font-family: var(--sans, 'Manrope', sans-serif); line-height: 1.5; }
.lk-popup a.leaflet-popup-close-button { top: 8px; right: 8px; width: 28px; height: 28px; font: 300 22px/28px var(--sans, sans-serif); color: var(--text, #4A3F37); }
.lk-pop__logo { display: block; height: 46px; width: auto; max-width: 160px; margin-bottom: 12px; }
.lk-pop__chain { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent, #8C5A3C); margin-bottom: 6px; }
.lk-pop__name { font-family: var(--serif, 'Noto Serif Display', serif); font-size: 22px; line-height: 1.2; margin: 0 0 8px; padding-right: 18px; }
.lk-pop__row { display: block; font-size: 14px; color: var(--text, #4A3F37); }
.lk-pop__row--muted { color: #8A7C6B; font-size: 13px; }
a.lk-pop__phone { color: var(--ink, #2B241F); margin-top: 4px; }
.lk-pop__note { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(43, 36, 31, .12); font-size: 13px; color: var(--text, #4A3F37); }
.lk-pop__actions { display: flex; align-items: center; gap: 16px; margin-top: 14px; }
.lk-popup a.lk-pop__btn {
	display: inline-block; padding: 11px 18px; background: var(--btn, #3A3632); color: var(--light, #F4EEE3);
	font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; transition: background .3s ease;
}
.lk-popup a.lk-pop__btn:hover { background: var(--ink, #2B241F); color: var(--light, #F4EEE3); }
.lk-popup a.lk-pop__link { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink, #2B241F); border-bottom: 1px solid var(--accent, #8C5A3C); }

/* ---------- Адаптив ---------- */
@media (max-width: 1100px) {
	.lk-loc { grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); }
	.lk-loc__name { font-size: 20px; }
}
@media (max-width: 900px) {
	.lk-loc { display: flex; flex-direction: column; height: auto; margin-top: 36px; }
	.lk-loc__mapbox { order: -1; height: min(62vh, 420px); border-bottom: 1px solid var(--loc-line); }
	.lk-loc__panel { border-right: 0; }
	.lk-loc__list { overflow: visible; }
}
@media (max-width: 600px) {
	.lk-loc-logos { margin-top: 32px; gap: 20px 32px; }
	.lk-loc-logos__item img { height: min(var(--lk-logo-h, 163px), 110px); }
	.lk-loc { margin-left: -16px; margin-right: -16px; border-left: 0; border-right: 0; }
	.lk-loc__mapbox { height: 360px; }
	.lk-loc__tools { padding: 18px 16px 14px; }
	.lk-loc__card { padding: 18px 64px 18px 16px; }
	.lk-loc__route { right: 16px; top: 18px; }
	.lk-loc__name { font-size: 19px; }
	.lk-loc__chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px; scrollbar-width: none; }
	.lk-loc__chips::-webkit-scrollbar { display: none; }
	.lk-loc__chip { flex: none; }
	.leaflet-tooltip.lk-tip { white-space: normal; max-width: 220px; }
}
@media (prefers-reduced-motion: reduce) {
	.lk-pin.is-active::after { animation: none; }
}
