/* SPC Pro-inspired theme tokens (derived, not copied) */
:root {
	--spc-primary: #752645;
	--spc-accent: #f7cb24;
	--spc-ink: #020101;
	--spc-muted: #54595f;

	--spc-bg: #fbfbfc;
	--spc-card-radius: 20px;
	--spc-card-shadow: 0 10px 30px rgba(2, 1, 1, 0.10);
	--spc-pill-radius: 999px;
}

/* Bootstrap v5.3 CSS variable overrides */
:root {
	--bs-body-bg: var(--spc-bg);
	--bs-body-color: var(--spc-ink);
	--bs-primary: var(--spc-primary);
	--bs-primary-rgb: 117, 38, 69;
	--bs-secondary: var(--spc-muted);
	--bs-secondary-rgb: 84, 89, 95;
	--bs-link-color: var(--spc-primary);
	--bs-link-hover-color: #5e1f37;
	--bs-border-color: rgba(2, 1, 1, 0.12);
	--bs-font-sans-serif: Roboto, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

body { background: var(--spc-bg); }

h1, h2, h3, h4, h5, h6,
.navbar-brand {
	font-family: "Roboto Slab", Roboto, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* Container width closer to SPC Pro layout */
@media (min-width: 1200px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl,
	.container-xxl {
		max-width: 1140px;
	}
}

/* Navbar */
.navbar.bg-body-tertiary {
	background: #ffffff !important;
}

.navbar {
	box-shadow: 0 6px 18px rgba(2, 1, 1, 0.06);
}

.navbar-brand {
	font-weight: 700;
	letter-spacing: 0.2px;
	color: var(--spc-primary);
}

/* Cards */
.card {
	border-radius: var(--spc-card-radius);
	border: 0;
	box-shadow: var(--spc-card-shadow);
	background: linear-gradient(180deg, #ffffff 0%, #f2f2f2 100%);
}

/* Buttons (pill style) */
.btn {
	border-radius: var(--spc-pill-radius);
	font-weight: 600;
	letter-spacing: 0.2px;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.btn:focus-visible {
	box-shadow: 0 0 0 0.25rem rgba(117, 38, 69, 0.25);
}

/* Primary action: black -> yellow hover */
.btn-primary {
	--bs-btn-color: #ffffff;
	--bs-btn-bg: var(--spc-ink);
	--bs-btn-border-color: var(--spc-ink);
	--bs-btn-hover-color: var(--spc-ink);
	--bs-btn-hover-bg: var(--spc-accent);
	--bs-btn-hover-border-color: var(--spc-accent);
	--bs-btn-active-color: var(--spc-ink);
	--bs-btn-active-bg: var(--spc-accent);
	--bs-btn-active-border-color: var(--spc-accent);
}

/* Outline secondary used widely in the UI: black outline -> black fill */
.btn-outline-secondary {
	--bs-btn-color: var(--spc-ink);
	--bs-btn-border-color: var(--spc-ink);
	--bs-btn-hover-color: #ffffff;
	--bs-btn-hover-bg: var(--spc-ink);
	--bs-btn-hover-border-color: var(--spc-ink);
	--bs-btn-active-color: #ffffff;
	--bs-btn-active-bg: var(--spc-ink);
	--bs-btn-active-border-color: var(--spc-ink);
}

/* Outline primary: burgundy outline -> burgundy fill */
.btn-outline-primary {
	--bs-btn-color: var(--spc-primary);
	--bs-btn-border-color: var(--spc-primary);
	--bs-btn-hover-color: #ffffff;
	--bs-btn-hover-bg: var(--spc-primary);
	--bs-btn-hover-border-color: var(--spc-primary);
	--bs-btn-active-color: #ffffff;
	--bs-btn-active-bg: var(--spc-primary);
	--bs-btn-active-border-color: var(--spc-primary);
}

/* Forms */
.form-control:focus,
.form-select:focus {
	border-color: rgba(117, 38, 69, 0.6);
	box-shadow: 0 0 0 0.25rem rgba(117, 38, 69, 0.20);
}

/* Tables */
.table td, .table th { vertical-align: middle; }
