/* Love and Save buttons, and the Most Loved list: for any page (btown-map). */
.btown-actions { --btown-accent: var(--bo-dir-accent, #9e1b1f); display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 0.75rem; }
.btown-actions button {
	display: inline-flex; align-items: center; gap: 0.35rem; min-height: 40px; padding: 0.45rem 0.95rem;
	border: 1px solid #ded9d2; border-radius: 999px; background: #fff; color: #252525;
	font: inherit; font-size: 0.9rem; font-weight: 600; cursor: pointer;
}
.btown-actions button:hover { border-color: var(--btown-accent); color: var(--btown-accent); }
.btown-actions button:focus-visible { outline: 3px solid rgba(158, 27, 31, 0.3); outline-offset: 2px; }
.btown-actions button[aria-pressed="true"] { border-color: var(--btown-accent); background: #f6f2ec; color: #761317; }
.btown-love__icon { color: var(--btown-accent); }
.btown-love[aria-pressed="false"] .btown-love__icon { color: #625f5a; }
.btown-love__count { font-variant-numeric: tabular-nums; }
.btown-actions__note { flex-basis: 100%; margin: 0; color: #625f5a; font-size: 0.85rem; }
.btown-actions__note:empty { display: none; }
.btown-actions__note a { color: var(--btown-accent); }

/* in a list: the heart and the star only, side by side */
.btown-actions--mini { margin: 0; flex-wrap: nowrap; gap: 0.35rem; }
.btown-actions--mini button { min-height: 44px; min-width: 44px; justify-content: center; padding: 0.35rem 0.7rem; }
.btown-actions--mini .btown-love__label, .btown-actions--mini .btown-save__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.btown-actions--mini .btown-actions__note { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Cloudflare's check appears here, only when it needs a tap */
.btown-turnstile { position: fixed; z-index: 99999; left: 50%; bottom: 24px; transform: translateX(-50%); padding: 10px 12px; border-radius: 12px; background: #fff; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25); }
.btown-turnstile[hidden] { display: none; }

/* the Most Loved list */
.btown-loved { margin: 1.5rem 0; color: #252525; }
.btown-loved__title { margin: 0 0 0.75rem; }
.btown-loved__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.btown-loved__item {
	display: grid; grid-template-columns: 1.6rem 56px minmax(0, 1fr) auto; align-items: center; gap: 0.75rem;
	padding: 0.6rem 0.75rem; border: 1px solid #ded9d2; border-radius: 14px; background: #fff;
}
.btown-loved__rank { font-weight: 700; font-variant-numeric: tabular-nums; color: #625f5a; text-align: center; }
.btown-loved__photo { display: block; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: #f6f2ec; }
.btown-loved__img { display: block; width: 56px; height: 56px; object-fit: cover; }
.btown-loved__noimg { display: block; width: 56px; height: 56px; }
.btown-loved__body { min-width: 0; display: grid; gap: 0.1rem; }
.btown-loved__name { font-weight: 700; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.btown-loved__name:hover { color: #9e1b1f; text-decoration: underline; }
.btown-loved__cat { font-size: 0.82rem; color: #625f5a; }
.btown-loved__map { font-size: 0.82rem; color: #9e1b1f; }
.btown-loved__empty, .btown-loved__more { margin: 0.75rem 0 0; font-size: 0.95rem; }
.btown-loved__more a { color: #9e1b1f; }
@media (max-width: 520px) {
	.btown-loved__item { grid-template-columns: 1.2rem 48px minmax(0, 1fr); }
	.btown-loved__photo, .btown-loved__img, .btown-loved__noimg { width: 48px; height: 48px; }
	.btown-loved__item .btown-actions { grid-column: 3; justify-self: start; }
}
