/* latin-ext */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/Inter-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/Inter-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--bs-font-sans-serif: 'Inter', system-ui, -apple-system, sans-serif;
	--bs-body-font-family: var(--bs-font-sans-serif);
}

body {
	font-family: var(--bs-font-sans-serif);
	background-color: #f8fafc;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.navbar {
	background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 100%);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.navbar-brand {
	font-weight: 700;
	font-size: 1.3rem;
	letter-spacing: -0.5px;
}

.navbar-brand i {
	margin-right: 6px;
}

main {
	flex: 1;
}

.card {
	border: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}

.card:hover .btn-primary {
	background: #1d4ed8;
	border-color: #1d4ed8;
}

.card-ride {
	border-left: 4px solid #2563eb;
}

.card-ride.card-ride--full {
	border-left-color: #ef4444;
	opacity: 0.75;
}

.card-request {
	border-left: 4px solid #f59e0b;
}

.badge-seats {
	font-size: 0.85rem;
	padding: 4px 10px;
}

.btn-primary {
	background: #2563eb;
	border-color: #2563eb;
}

.btn-primary:hover {
	background: #1d4ed8;
	border-color: #1d4ed8;
}

.btn-warning {
	background: #f59e0b;
	border-color: #f59e0b;
	color: #fff;
}

.btn-warning:hover {
	background: #d97706;
	border-color: #d97706;
	color: #fff;
}

.event-header {
	background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 100%);
	color: white;
	border-radius: 0 0 1rem 1rem;
	padding: 2rem 0;
	margin-bottom: 2rem;
}

.text-muted-light {
	color: #94a3b8 !important;
}

footer {
	background: #1e293b;
	color: #94a3b8;
	padding: 1.5rem 0;
	margin-top: 3rem;
}

footer a {
	color: #cbd5e1;
	text-decoration: none;
	transition: color 0.2s ease;
}

footer a:hover {
	color: #ffffff;
	text-decoration: underline;
}

.gdpr-content h2 {
	color: #1e3a5f;
	margin-top: 1.5rem;
}

.flash-message {
	position: fixed;
	top: 70px;
	right: 20px;
	z-index: 1050;
	min-width: 300px;
	animation: slideIn 0.3s ease;
}

@keyframes slideIn {
	from { transform: translateX(100%); opacity: 0; }
	to { transform: translateX(0); opacity: 1; }
}

.nav-tabs .nav-link {
	font-weight: 500;
	color: #64748b;
}

.nav-tabs .nav-link.active {
	color: #2563eb;
	border-bottom: 2px solid #2563eb;
}

.empty-state {
	text-align: center;
	padding: 3rem 1rem;
	color: #94a3b8;
}

.empty-state i {
	font-size: 3rem;
	margin-bottom: 1rem;
	display: block;
}

/* CO2 banner */
.co2-banner {
	background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 50%, #a7f3d0 100%);
	border: 1px solid #6ee7b7;
	border-radius: 1rem;
	padding: 2rem;
	position: relative;
	overflow: hidden;
}

.co2-banner::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 300px;
	height: 300px;
	background: radial-gradient(circle, rgba(16, 185, 129, 0.1) 0%, transparent 70%);
	pointer-events: none;
}

.co2-number {
	font-size: 2.5rem;
	font-weight: 800;
	color: #059669;
	line-height: 1;
	letter-spacing: -1px;
}

.co2-unit {
	font-size: 1rem;
	font-weight: 600;
	color: #047857;
	margin-top: 4px;
}

.co2-stat {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: #065f46;
}

.co2-stat i {
	font-size: 1.1rem;
	color: #10b981;
}

.co2-stat-number {
	font-weight: 700;
	font-size: 1.2rem;
}

.co2-stat-label {
	font-size: 0.9rem;
	color: #047857;
}

.co2-tree-icon {
	font-size: 2.2rem;
	color: #10b981;
	display: block;
	margin-bottom: 4px;
	animation: gentle-pulse 3s ease-in-out infinite;
}

.co2-equiv {
	font-size: 0.95rem;
	font-weight: 500;
	color: #065f46;
	margin-bottom: 8px;
}

.co2-methodology-link {
	display: inline-block;
	font-size: 0.85rem;
	color: #059669;
	text-decoration: none;
	border-bottom: 1px dashed #059669;
	transition: color 0.2s;
}

.co2-methodology-link:hover {
	color: #047857;
	border-bottom-style: solid;
}

@keyframes gentle-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.08); }
}
