/**
 * Shared premium card shell — equal height, media, typography, hover.
 * Applied across homepage, archives, and landings.
 */

.bb58-premium-card,
.bb58-premium-promo,
.bb58-premium-provider,
.bb58-premium-news,
.bb58-premium-guide,
.bb58-news-archive-card,
.bb58-guide-archive-card,
.bb58-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: var(--bb58-radius-lg, 14px);
	border: 1px solid var(--bb58-border-gold, color-mix(in srgb, var(--color-primary) 22%, transparent));
	box-shadow: var(--bb58-shadow-card, 0 24px 48px color-mix(in srgb, #000 45%, transparent));
	overflow: hidden;
	transition:
		transform var(--bb58-transition, 0.28s ease),
		box-shadow var(--bb58-transition, 0.28s ease),
		border-color var(--bb58-transition, 0.28s ease);
}

.bb58-premium-card:hover,
.bb58-premium-promo:hover,
.bb58-premium-provider:hover,
.bb58-premium-news:hover,
.bb58-premium-guide:hover,
.bb58-news-archive-card:hover,
.bb58-guide-archive-card:hover,
.bb58-card:hover {
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--color-primary) 45%, transparent);
	box-shadow:
		var(--bb58-shadow-card, 0 24px 48px color-mix(in srgb, #000 45%, transparent)),
		var(--bb58-shadow-glow, 0 0 40px color-mix(in srgb, var(--color-primary) 18%, transparent));
}

.bb58-premium-card__media,
.bb58-premium-promo__media,
.bb58-premium-news__media,
.bb58-news-archive-card__media,
.bb58-guide-archive-card__media,
.bb58-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 60% at 50% 40%, color-mix(in srgb, var(--color-primary) 14%, transparent), transparent 65%),
		linear-gradient(160deg, #1a1a1e 0%, #101014 100%);
}

.bb58-premium-card__media img,
.bb58-premium-promo__media img,
.bb58-premium-news__media img,
.bb58-news-archive-card__media img,
.bb58-guide-archive-card__media img,
.bb58-card__media img,
.bb58-img-fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.bb58-img-fallback {
	object-fit: contain !important;
	background:
		radial-gradient(ellipse 60% 50% at 50% 45%, color-mix(in srgb, var(--color-primary) 16%, transparent), transparent 70%),
		linear-gradient(160deg, #1c1a16 0%, #121214 100%);
}

.bb58-card-media-placeholder__brand,
.bb58-guide-archive-card__thumb-fallback .bb58-card-media-placeholder__brand,
.bb58-news-card-media__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	width: 100%;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	color: color-mix(in srgb, var(--color-primary) 85%, #fff);
	text-transform: uppercase;
}

.bb58-guide-archive-card__thumb-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 10rem;
	background:
		radial-gradient(ellipse 70% 60% at 50% 40%, color-mix(in srgb, var(--color-primary) 14%, transparent), transparent 65%),
		linear-gradient(160deg, #1a1a1e 0%, #101014 100%);
}

.bb58-premium-card__body,
.bb58-premium-promo__body,
.bb58-premium-news__body,
.bb58-premium-guide__body,
.bb58-news-archive-card__body,
.bb58-guide-archive-card__body,
.bb58-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 0.65rem;
	padding: 1rem 1.1rem 1.15rem;
}

.bb58-premium-news__excerpt,
.bb58-premium-guide__excerpt,
.bb58-news-archive-card__excerpt,
.bb58-guide-archive-card__excerpt,
.bb58-card__description,
.bb58-premium-promo__subtitle,
.bb58-premium-provider__description {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: color-mix(in srgb, var(--color-text) 78%, transparent);
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}

.bb58-premium-news__readmore,
.bb58-premium-guide__link,
.bb58-news-archive-card__cta,
.bb58-guide-archive-card__cta,
.bb58-premium-provider__cta,
.bb58-card__actions {
	margin-top: auto;
}

/* Keep card CTAs sentence-case so SEO/accessibility names stay descriptive. */
.bb58-premium-news__readmore,
.bb58-premium-guide__link,
.bb58-news-archive-card__cta,
.bb58-guide-archive-card__cta {
	text-transform: none;
	letter-spacing: 0.02em;
}

.bb58-premium-news__title,
.bb58-premium-guide__title,
.bb58-news-archive-card__title,
.bb58-guide-archive-card__title,
.bb58-card__title,
.bb58-premium-promo__title,
.bb58-premium-card__title,
.bb58-home-feature__title,
.bb58-home-trust-badge__title,
.bb58-home-responsible__title {
	margin: 0;
	font-size: clamp(1rem, 1.4vw, 1.125rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.015em;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/* Equal-height grids used across homepage + archives */
.bb58-home-features__grid,
.bb58-home-trust-security__grid,
.bb58-home-responsible__grid,
.bb58-premium-benefits__grid,
.bb58-promotions-grid,
.bb58-providers-grid,
.bb58-games-grid {
	align-items: stretch;
}

.bb58-home-feature,
.bb58-home-trust-badge,
.bb58-home-responsible__item,
.bb58-premium-benefit {
	height: 100%;
}

@media (max-width: 640px) {
	.bb58-premium-card__body,
	.bb58-premium-promo__body,
	.bb58-premium-news__body,
	.bb58-premium-guide__body,
	.bb58-news-archive-card__body,
	.bb58-guide-archive-card__body,
	.bb58-card__body {
		padding: 0.85rem 0.9rem 1rem;
	}

	.bb58-premium-news__excerpt,
	.bb58-premium-guide__excerpt,
	.bb58-news-archive-card__excerpt,
	.bb58-guide-archive-card__excerpt {
		-webkit-line-clamp: 2;
		font-size: 0.875rem;
	}
}
