/* BIGBAT58 — premium black & gold design layer */

:root {
	--bb58-font-display: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	--bb58-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--bb58-space-section: clamp(3.5rem, 8vw, 6rem);
	--bb58-space-block: clamp(1.5rem, 4vw, 2.5rem);
	--bb58-radius-lg: 12px;
	--bb58-radius-md: 8px;
	--bb58-shadow-card: 0 24px 48px color-mix(in srgb, var(--color-background) 60%, black);
	--bb58-shadow-glow: 0 0 40px color-mix(in srgb, var(--color-primary) 18%, transparent);
	--bb58-transition: 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

body {
	font-family: var(--bb58-font-body);
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.0625rem);
	line-height: 1.7;
	letter-spacing: 0.01em;
	-webkit-font-smoothing: antialiased;
}

.bb58-container {
	width: min(100% - 2.5rem, 1280px);
}

/* Typography scale */
h1,
.bb58-page-header__title {
	font-family: var(--bb58-font-display);
	font-size: clamp(2rem, 1.5rem + 2.5vw, 3.25rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

h2,
.bb58-section__heading {
	font-family: var(--bb58-font-display);
	font-size: clamp(1.625rem, 1.25rem + 1.5vw, 2.375rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
}

h3,
.bb58-card__title {
	font-size: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
	font-weight: 600;
	line-height: 1.3;
}

.bb58-section__intro,
.bb58-page-header__intro {
	font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
	color: color-mix(in srgb, var(--color-text) 82%, transparent);
	max-width: 58ch;
}

/* Header styles live in assets/css/header.css */

/* Buttons */
.bb58-btn {
	padding: 0.8rem 1.6rem;
	border-radius: var(--bb58-radius-md);
	font-size: 0.9375rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: 0 4px 16px color-mix(in srgb, var(--color-primary) 25%, transparent);
	transition:
		background-color var(--bb58-transition),
		transform var(--bb58-transition),
		box-shadow var(--bb58-transition);
}

.bb58-btn:hover,
.bb58-btn:focus {
	transform: translateY(-1px);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--color-primary) 35%, transparent);
}

/* Sections */
.bb58-section {
	padding-block: var(--bb58-space-section);
}

.bb58-section__header {
	margin-bottom: var(--bb58-space-block);
}

.bb58-section__heading {
	margin: 0 0 0.75rem;
	color: var(--color-text);
}

.bb58-section__heading::after {
	content: "";
	display: block;
	width: 3rem;
	height: 3px;
	margin-top: 0.75rem;
	background: linear-gradient(90deg, var(--color-primary), transparent);
	border-radius: 2px;
}

/* Cards */
.bb58-card {
	border-radius: var(--bb58-radius-lg);
	border: 1px solid color-mix(in srgb, var(--color-primary) 14%, transparent);
	background: linear-gradient(
		165deg,
		color-mix(in srgb, var(--color-card-background) 100%, white 2%),
		var(--color-card-background)
	);
	box-shadow: var(--bb58-shadow-card);
	overflow: hidden;
	transition:
		transform var(--bb58-transition),
		border-color var(--bb58-transition),
		box-shadow var(--bb58-transition);
}

.bb58-card:hover {
	transform: translateY(-4px);
	border-color: color-mix(in srgb, var(--color-primary) 35%, transparent);
	box-shadow: var(--bb58-shadow-card), var(--bb58-shadow-glow);
}

.bb58-card__media img {
	transition: transform 0.5s ease;
}

.bb58-card:hover .bb58-card__media img {
	transform: scale(1.04);
}

.bb58-card__body {
	padding: 1.25rem 1.5rem 1.5rem;
}

.bb58-card__title a {
	color: var(--color-text);
	text-decoration: none;
	transition: color var(--bb58-transition);
}

.bb58-card__title a:hover,
.bb58-card__title a:focus {
	color: var(--color-primary);
}

/* Grids */
.bb58-grid {
	gap: clamp(1.25rem, 3vw, 2rem);
}

/* Why choose / features — archive pages */
.bb58-features {
	gap: clamp(1.25rem, 3vw, 2rem);
}

.bb58-feature {
	padding: 1.75rem;
	border-radius: var(--bb58-radius-lg);
	border: 1px solid color-mix(in srgb, var(--color-primary) 12%, transparent);
	background: var(--color-card-background);
	transition:
		border-color var(--bb58-transition),
		transform var(--bb58-transition);
}

.bb58-feature:hover {
	border-color: color-mix(in srgb, var(--color-primary) 30%, transparent);
	transform: translateY(-2px);
}

.bb58-feature__title {
	color: var(--color-primary);
	margin: 0 0 0.5rem;
}

/* Page headers */
.bb58-page-header {
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
	border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 15%, transparent);
	background: linear-gradient(
		180deg,
		color-mix(in srgb, var(--color-secondary) 80%, var(--color-background)),
		var(--color-background)
	);
}

.bb58-page-header__title {
	margin: 0 0 0.75rem;
	color: var(--color-text);
}

/* Subtle entrance animation */
@media (prefers-reduced-motion: no-preference) {
	.bb58-section:not(.bb58-home-section),
	.bb58-page-header,
	.bb58-card {
		animation: bb58-fade-up 0.6s ease both;
	}

	.bb58-grid > *:nth-child(2) { animation-delay: 0.05s; }
	.bb58-grid > *:nth-child(3) { animation-delay: 0.1s; }
	.bb58-grid > *:nth-child(4) { animation-delay: 0.15s; }
	.bb58-grid > *:nth-child(5) { animation-delay: 0.2s; }
	.bb58-grid > *:nth-child(6) { animation-delay: 0.25s; }
}

@keyframes bb58-fade-up {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

