:root {
	--hk-business-green:#123f2f;
	--hk-business-gold:#c79a2b;
	--hk-business-cream:#fffaf0;
	--hk-business-muted:#6a786f;
	--hk-business-line:rgba(18,63,47,.12);
}

/* Participant profile → real Places. */
.hk-business-places {
	margin:24px 0;
	padding:27px 28px 29px;
	border:1px solid var(--hk-business-line);
	border-radius:22px;
	background:linear-gradient(145deg,#fff 0%,#fffdf9 100%);
	box-shadow:0 14px 38px rgba(18,63,47,.055);
}
.hk-business-places * { box-sizing:border-box; }
.hk-business-places__head { display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:19px; }
.hk-business-places__head > div:first-child { min-width:0; }
.hk-business-places__head span { display:block;margin-bottom:5px;color:var(--hk-business-gold);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase; }
.hk-business-places__head h2 { margin:0;color:var(--hk-business-green);font-family:Georgia,"Times New Roman",serif;font-size:29px;font-weight:600;line-height:1.15; }
.hk-business-places__head p { max-width:720px;margin:7px 0 0;color:var(--hk-business-muted);font-size:13px;line-height:1.62; }
.hk-business-places__count { flex:0 0 auto;min-width:72px;padding:9px 11px;border:1px solid rgba(199,154,43,.25);border-radius:13px;background:var(--hk-business-cream);text-align:center; }
.hk-business-places__count strong,.hk-business-places__count small { display:block; }
.hk-business-places__count strong { color:var(--hk-business-green);font-size:20px;line-height:1; }
.hk-business-places__count small { margin-top:4px;color:#786d50;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em; }
.hk-business-places__grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:14px; }
.hk-business-place-card { min-width:0;overflow:hidden;border:1px solid rgba(18,63,47,.10);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(18,63,47,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.hk-business-place-card:hover { transform:translateY(-2px);border-color:rgba(199,154,43,.48);box-shadow:0 14px 30px rgba(18,63,47,.08); }
.hk-business-place-card__media { position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#f4f0e6;text-decoration:none!important; }
.hk-business-place-card__media > img,.hk-business-place-card__media > .hk-place-cover-placeholder { width:100%;height:100%;display:block; }
.hk-business-place-card__media > img { object-fit:cover;transition:transform .35s ease; }
.hk-business-place-card:hover .hk-business-place-card__media > img { transform:scale(1.025); }
.hk-business-place-card__media .hk-place-cover-placeholder { min-height:0; }
.hk-business-place-card__media .hk-place-cover-placeholder small { display:none; }
.hk-business-place-card__type,.hk-business-place-card__verified { position:absolute;z-index:2;top:10px;padding:6px 8px;border-radius:999px;font-size:9px;font-weight:820;line-height:1;backdrop-filter:blur(7px); }
.hk-business-place-card__type { left:10px;background:rgba(18,63,47,.9);color:#fff; }
.hk-business-place-card__verified { right:10px;border:1px solid rgba(255,255,255,.52);background:rgba(255,250,240,.94);color:var(--hk-business-green); }
.hk-business-place-card__body { padding:14px 15px 15px; }
.hk-business-place-card__location { display:block;overflow:hidden;color:#7a8781;font-size:10px;font-weight:700;white-space:nowrap;text-overflow:ellipsis; }
.hk-business-place-card__body h3 { margin:5px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:600;line-height:1.18; }
.hk-business-place-card__body h3 a { color:var(--hk-business-green)!important;text-decoration:none!important; }
.hk-business-place-card__body p { margin:7px 0 0;color:var(--hk-business-muted);font-size:11.5px;line-height:1.55; }
.hk-business-place-card__foot { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(18,63,47,.075); }
.hk-business-place-card__foot > a { flex:0 0 auto;color:var(--hk-business-green)!important;font-size:10.5px;font-weight:820;text-decoration:none!important; }
.hk-business-place-card__foot > a:hover { color:var(--hk-business-gold)!important; }
.hk-business-place-card__rating { display:inline-flex;align-items:baseline;gap:3px;color:var(--hk-business-green); }
.hk-business-place-card__rating b { font-size:12px; }
.hk-business-place-card__rating small,.hk-business-place-card__new { color:#8b8f88;font-size:9.5px;font-weight:720; }

/* Place → participant profile. */
.hk-place-representative-card.is-linked { border-color:rgba(199,154,43,.24);background:linear-gradient(145deg,#fff 0%,#fffaf0 100%); }
.hk-business-representative-link { display:block;margin-top:2px;color:inherit!important;text-decoration:none!important; }
.hk-business-representative-link .hk-place-representative-card__person { margin-top:13px; }
.hk-business-representative-link__cta { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:11px;border-top:1px solid rgba(18,63,47,.09);color:var(--hk-business-green);font-size:10.5px;font-weight:820; }
.hk-business-representative-link__cta i { color:var(--hk-business-gold);font-size:14px;font-style:normal;transition:transform .18s ease; }
.hk-business-representative-link:hover .hk-business-representative-link__cta { color:var(--hk-business-gold); }
.hk-business-representative-link:hover .hk-business-representative-link__cta i { transform:translateX(3px); }

/* Private “Мої місця” makes the profile relationship explicit without adding another menu. */
.hk-my-places-hero__actions { display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap; }
.hk-business-profile-identity { display:flex;align-items:center;gap:11px;margin-top:16px;padding:10px 12px;border:1px solid rgba(199,154,43,.23);border-radius:14px;background:rgba(255,250,240,.72);width:max-content;max-width:100%; }
.hk-business-profile-identity__mark { flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--hk-business-green);color:var(--hk-business-gold);font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:700; }
.hk-business-profile-identity__copy { min-width:0; }
.hk-business-profile-identity__copy strong,.hk-business-profile-identity__copy small { display:block; }
.hk-business-profile-identity__copy strong { overflow:hidden;color:var(--hk-business-green);font-size:11.5px;white-space:nowrap;text-overflow:ellipsis; }
.hk-business-profile-identity__copy small { margin-top:2px;color:#7e827d;font-size:9.5px; }
.hk-business-profile-identity__link { margin-left:5px;color:var(--hk-business-green)!important;font-size:10.5px;font-weight:820;text-decoration:none!important;white-space:nowrap; }
.hk-business-profile-identity__link:hover { color:var(--hk-business-gold)!important; }

@media (max-width:980px) {
	.hk-business-places { margin:18px 0;padding:21px 18px 22px;border-radius:18px; }
	.hk-business-places__head h2 { font-size:25px; }
	.hk-business-places__head { gap:14px; }
	.hk-business-places__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.hk-my-places-hero__actions { justify-content:flex-start; }
}
@media (max-width:640px) {
	.hk-business-places__head { display:block; }
	.hk-business-places__count { display:inline-flex;align-items:baseline;gap:4px;min-width:0;margin-top:12px;padding:7px 9px; }
	.hk-business-places__count strong { font-size:16px; }
	.hk-business-places__count small { margin-top:0; }
	.hk-business-places__grid { grid-template-columns:1fr; }
	.hk-business-place-card__body h3 { font-size:19px; }
	.hk-business-profile-identity { width:100%;align-items:flex-start;flex-wrap:wrap; }
	.hk-business-profile-identity__link { flex:1 0 100%;margin:2px 0 0 45px; }
	.hk-my-places-hero__actions { display:grid;grid-template-columns:1fr; }
	.hk-my-places-hero__actions .hk-place-button { width:100%;margin-top:0!important; }
}

/* Self-contained placeholder because Places' large stylesheet is intentionally not loaded on vendor profiles. */
.hk-business-place-card .hk-place-cover-placeholder {
	display:grid;
	place-content:center;
	gap:7px;
	width:100%;
	height:100%;
	background:radial-gradient(circle at 30% 22%,rgba(199,154,43,.18),transparent 26%),linear-gradient(145deg,#f7f0df,#edf3ee);
	color:var(--hk-business-green);
	text-align:center;
}
.hk-business-place-card .hk-place-cover-placeholder > span { display:grid;place-items:center;color:var(--hk-business-gold); }
.hk-business-place-card .hk-place-cover-placeholder svg { width:31px;height:31px;display:block; }
@media (min-width:641px) and (max-width:980px) {
	.hk-my-places-hero__actions .hk-place-button { width:auto;margin-top:0!important; }
}

/* 1.0.1 — desktop polish: keep the linked Place prominent without letting the cover dominate the profile. */
@media (min-width:981px) {
	.hk-business-place-card__media { aspect-ratio:16/7; }
	.hk-business-place-card__foot { margin-top:13px;padding-top:12px; }
	.hk-business-place-card__rating b { font-size:13.5px;font-weight:850; }
	.hk-business-place-card__rating small { color:#6f7a73;font-size:10.5px;font-weight:760; }
	.hk-business-place-card__foot > a { font-size:11.5px;font-weight:850;letter-spacing:.005em; }
	.hk-business-place-card__foot > a span { color:var(--hk-business-gold);font-size:13px; }
}


/* 1.1.0 — product → Place: close the business loop on public listing pages. */
.hk-listing-place {
	display:grid;
	grid-template-columns:54px minmax(0,1fr) auto;
	align-items:center;
	gap:16px;
	width:100%;
	margin:16px 0 20px;
	padding:18px 19px;
	border:1px solid rgba(199,154,43,.28);
	border-radius:18px;
	background:
		radial-gradient(circle at 92% 0%,rgba(199,154,43,.10),transparent 32%),
		linear-gradient(145deg,#fff 0%,#fffdf8 100%);
	box-shadow:0 10px 28px rgba(18,63,47,.055);
	box-sizing:border-box;
}
.hk-listing-place * { box-sizing:border-box; }
.hk-listing-place__mark {
	display:grid;
	place-items:center;
	width:54px;
	height:54px;
	border-radius:16px;
	background:var(--hk-business-green);
	color:var(--hk-business-gold);
	box-shadow:0 9px 21px rgba(18,63,47,.12);
}
.hk-listing-place__mark svg { display:block;width:25px;height:25px; }
.hk-listing-place__content { min-width:0; }
.hk-listing-place__eyebrow {
	display:flex;
	align-items:center;
	gap:9px;
	flex-wrap:wrap;
	margin-bottom:4px;
}
.hk-listing-place__eyebrow > span {
	color:var(--hk-business-gold);
	font-size:9.5px;
	font-weight:900;
	line-height:1.2;
	letter-spacing:.13em;
	text-transform:uppercase;
}
.hk-listing-place__eyebrow > small {
	display:inline-flex;
	align-items:center;
	gap:4px;
	padding:3px 7px;
	border:1px solid rgba(18,63,47,.12);
	border-radius:999px;
	background:#f2f8f4;
	color:var(--hk-business-green);
	font-size:8.5px;
	font-weight:820;
	line-height:1;
}
.hk-listing-place__eyebrow > small i {
	display:grid;
	place-items:center;
	width:14px;
	height:14px;
	border-radius:50%;
	background:var(--hk-business-green);
	color:#fff;
	font-size:8px;
	font-style:normal;
}
.hk-listing-place__content h3 {
	margin:0!important;
	font-family:Georgia,"Times New Roman",serif!important;
	font-size:22px!important;
	font-weight:600!important;
	line-height:1.2!important;
}
.hk-listing-place__content h3 a {
	color:var(--hk-business-green)!important;
	text-decoration:none!important;
}
.hk-listing-place__content h3 a:hover { color:var(--hk-business-gold)!important; }
.hk-listing-place__meta {
	display:flex;
	align-items:center;
	gap:6px;
	margin:5px 0 0!important;
	color:#64756c;
	font-size:11.5px;
	font-weight:720;
	line-height:1.45;
}
.hk-listing-place__mini-pin {
	display:inline-flex;
	flex:0 0 16px;
	width:16px;
	height:16px;
	color:var(--hk-business-gold);
}
.hk-listing-place__mini-pin svg { width:16px;height:16px;display:block; }
.hk-listing-place__note {
	margin:5px 0 0!important;
	color:#819087;
	font-size:10.5px;
	line-height:1.45;
}
.hk-listing-place__actions {
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:8px;
	flex-wrap:wrap;
}
.hk-listing-place__open,
.hk-listing-place__map {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:40px;
	padding:9px 13px;
	border-radius:11px;
	font-size:10.5px;
	font-weight:850;
	line-height:1.1;
	text-decoration:none!important;
	white-space:nowrap;
	transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}
.hk-listing-place__open {
	border:1px solid var(--hk-business-green);
	background:var(--hk-business-green);
	color:#fff!important;
	box-shadow:0 7px 16px rgba(18,63,47,.10);
}
.hk-listing-place__open span { margin-left:5px;color:#f0ce72;font-size:13px;transition:transform .16s ease; }
.hk-listing-place__open:hover { border-color:var(--hk-business-gold);background:var(--hk-business-gold);color:#123f2f!important;transform:translateY(-1px); }
.hk-listing-place__open:hover span { color:#123f2f;transform:translateX(2px); }
.hk-listing-place__map {
	border:1px solid rgba(18,63,47,.16);
	background:#fff;
	color:var(--hk-business-green)!important;
}
.hk-listing-place__map:hover { border-color:rgba(199,154,43,.55);color:var(--hk-business-gold)!important;transform:translateY(-1px); }

@media (max-width:782px) {
	.hk-listing-place {
		grid-template-columns:44px minmax(0,1fr);
		gap:12px;
		margin:14px 0 16px;
		padding:15px;
		border-radius:16px;
	}
	.hk-listing-place__mark { width:44px;height:44px;border-radius:13px;align-self:start; }
	.hk-listing-place__mark svg { width:21px;height:21px; }
	.hk-listing-place__content h3 { font-size:20px!important; }
	.hk-listing-place__meta { font-size:11px; }
	.hk-listing-place__note { font-size:10px; }
	.hk-listing-place__actions {
		grid-column:1/-1;
		display:grid;
		grid-template-columns:1fr;
		width:100%;
		margin-top:2px;
	}
	.hk-listing-place__open,
	.hk-listing-place__map { width:100%;min-height:44px;font-size:11.5px; }
}
