/* Sponsored placements (includes/sponsored.php). Colours follow the theme tokens when present. */
.tbg-promo-label {
	position: absolute; inset-block-start: 10px; inset-inline-end: 10px; z-index: 2;
	padding: 2px 10px; border-radius: 999px;
	background: rgba(6, 60, 48, .88); color: #fff; font-size: 13px; font-weight: 700; line-height: 22px;
}
.tbg-card__media { position: relative; }
/* On a card: top corner opposite the favourite heart; the category chip keeps the bottom corner. */
.tbg-card__media .tbg-promo-label { inset-inline-end: auto; inset-inline-start: 10px; inset-block-start: 10px; }

.tbg-promo { margin: 0 0 32px; padding: 20px; border-radius: 20px; background: #f4f8f6; border: 1px solid var(--c-border, #dae5df); }
.tbg-promo__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.tbg-promo__title { margin: 0; font-size: 20px; color: var(--c-green-800, #063c30); }
.tbg-promo__what { font-size: 14px; color: var(--c-green-700, #07513d); }

.tbg-banner { margin: 32px auto; max-width: 1200px; padding-inline: 16px; }
.tbg-banner__item { position: relative; display: block; border-radius: 16px; overflow: hidden; }
.tbg-banner__item[hidden] { display: none; }
.tbg-banner__item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 1; object-fit: cover; }
.tbg-banner__item:focus-visible { outline: 3px solid var(--c-orange, #ff7a05); outline-offset: 3px; }
@media (max-width: 699px) {
	.tbg-banner__item img { aspect-ratio: 2 / 1; }
	.tbg-promo { padding: 16px; }
}
[data-tbg-featured] > li[hidden] { display: none; }
