	*{
		margin:0;
		padding:0;
		box-sizing:border-box;
		font-family:Segoe UI, sans-serif;
	}

	body{
		background:#020d1e;
		color:#fff;
	}

	/* NAVBAR */
	.navbar{
		background:#0c2740;
		height:70px;
		display:flex;
		align-items:center;
		justify-content:space-between;
		padding:0 25px;
		box-shadow:0 2px 10px rgba(0,0,0,.4);
	}

	.logo{
		display:flex;
		align-items:center;
		font-family: 'Livvic', sans-serif;
		gap:20px;
	}

	.logo h1{
		color:#37b3ff;
		font-size:22px;
		font-weight: 600;
	}

	.nav-links{
		display:flex;
		gap:35px;
	}

	.nav-links a{
		font-family: 'Livvic', sans-serif;
		font-size: 1.2rem;
		font-weight: 600;
		color:white;
		text-decoration:none;
		transition:.3s;
	}

	.nav-links a:hover{
		color:#46bbff;
	}
	


	/* CONTENT */
	.container{
		width:1300px;
		max-width:95%;
		margin:30px auto;
	}

	.grid{
		display:grid;
		grid-template-columns:repeat(auto-fit,minmax(350px,1fr));
		gap:25px;
	}

	.card{
		background:#101a29;
		border-radius:14px;
		padding:22px;
		min-height:220px;
		box-shadow:
			0 0 30px rgba(0,0,0,.35),
			inset 0 1px 0 rgba(255,255,255,.04);
	}

/*	.logincard{
		background:#101a29;
		border-radius:14px;
		padding:22px;
		min-height:220px;
		box-shadow:
			0 0 30px rgba(0,0,0,.35),
			inset 0 1px 0 rgba(255,255,255,.04);
	} */
	
	.logincard{
		background:#101a29;
		border-radius:14px;
		padding:22px;
		min-height:220px;

		display:flex;
		flex-direction:column;
		align-items:center;

		box-shadow:
			0 0 30px rgba(0,0,0,.35),
			inset 0 1px 0 rgba(255,255,255,.04);
	}

	.loginpar {
		color:#D6F0FF;
		font-size:15px;
		font-family: "Livvic", sans-serif;
	}

	.card h2{
		color:#43adff;
		margin-bottom:15px;
		font-size:20px;
	}

	.card p{
		line-height:1.6;
		color:#e5e5e5;
	}

	.departure{
		margin-top:15px;
		padding-bottom:10px;
		border-bottom:1px solid rgba(255,255,255,.08);
	}

	.time{
		color:#49b8ff;
		font-weight:bold;
		font-size:22px;
	}

	.destination{
		font-size:18px;
		margin-left:10px;
	}

	.train-info{
		margin-top:4px;
		color:#9fb1c3;
		font-size:13px;
	}
	
	.smalltext {
		font-size: 10px;
	}

	#departures {
		text-align: left;
	}

	.departure-row {
		margin-bottom: 10px;
		padding-bottom: 8px;
		border-bottom: 1px solid rgba(255,255,255,0.1);
	}

	.departure-row .time {
		font-weight: 600;
		color: #4fc3f7;
		display: inline-block;
		width: 50px;
	}

	.departure-row .dest {
		font-weight: 500;
		display: inline-block;
	}

	.departure-row .meta {
		display: block;
		font-size: 10px;
		color: #aaa;
	}
	
	/* ==========================================
	   RESPONSIVE NAVBAR / HAMBURGER MENU
	   ========================================== */

	/* Hamburger knop opbouwen (standaard verborgen op desktop) */
	.menu-toggle {
		display: none;
		flex-direction: column;
		justify-content: space-between;
		width: 28px;
		height: 20px;
		background: transparent;
		border: none;
		cursor: pointer;
		padding: 0;
		z-index: 1000;
	}

	.hamburger-bar {
		height: 3px;
		width: 100%;
		background-color: #ffffff;
		border-radius: 2px;
		transition: all 0.3s ease-in-out;
	}

	/* Mobiele weergave (schermen t/m 768px) */
	@media (max-width: 768px) {
		.menu-toggle {
			display: flex; /* Hamburger-knop tonen op mobiel */
		}

		.nav-wrapper {
			display: none; /* Standaard verbergen op mobiel */
			position: absolute;
			top: 70px; /* Direct onder de navbar (height: 70px) */
			left: 0;
			width: 100%;
			background: #0c2740; /* Matcht met jouw .navbar achtergrond */
			box-shadow: 0 8px 15px rgba(0,0,0,0.5);
			padding: 15px 0;
			z-index: 999;
			border-top: 1px solid rgba(255,255,255,0.05);
		}

		/* Klas die JS toevoegt wanneer het menu openklapt */
		.nav-wrapper.is-active {
			display: block;
		}

		.nav-links {
			flex-direction: column;
			gap: 0;
			width: 100%;
		}

		.nav-links a {
			display: block;
			padding: 12px 25px;
			width: 100%;
			font-size: 1.1rem;
			border-bottom: 1px solid rgba(255,255,255,0.05);
		}

		.nav-links a:hover {
			background: rgba(255,255,255,0.03);
		}

		/* Animatie: transformeer de 3 streepjes naar een kruis 'X' */
		.menu-toggle[aria-expanded="true"] .hamburger-bar:nth-child(1) {
			transform: translateY(8.5px) rotate(45deg);
			background-color: #37b3ff;
		}
		.menu-toggle[aria-expanded="true"] .hamburger-bar:nth-child(2) {
			opacity: 0;
		}
		.menu-toggle[aria-expanded="true"] .hamburger-bar:nth-child(3) {
			transform: translateY(-8.5px) rotate(-45deg);
			background-color: #37b3ff;
		}
	}
	
	.departure-row.cancelled .dest {
		text-decoration: line-through;
		opacity: 0.6;
	}
	
	/* Dienst Grid Layout */
	.dienst-widget {
		color: #ffffff;
		font-family: system-ui, -apple-system, sans-serif;
	}

	.dienst-titel {
		font-size: 1.25rem;
		font-weight: 600;
		margin-bottom: 25px;
	}

	.dienst-grid {
		display: grid;
		grid-template-columns: 100px 1fr;
		row-gap: 25px;
		align-items: start;
	}

	.dienst-label {
		font-size: 1.1rem;
		font-weight: 600;
	}

	/* Rit & Stops Tabel */
	.rit-titel {
		font-size: 1.15rem;
		font-weight: bold;
		margin-bottom: 12px;
	}

	.stops-table {
		display: flex;
		flex-direction: column;
		gap: 6px;
		max-width: 320px;
	}

	.stop-row {
		display: grid;
		grid-template-columns: 80px 55px 55px 1fr;
		align-items: center;
		font-size: 1.05rem;
	}

	/* Gepasseerde stations worden donker / vervaagd */
	.stop-row.passed {
		opacity: 0.35;
	}

	/* Aan perron highlight */
	.stop-row.at-platform .stop-code {
		font-weight: bold;
		color: #38bdf8;
	}

	.perron-badge {
		font-size: 0.75rem;
		background-color: #0284c7;
		color: #fff;
		padding: 1px 5px;
		border-radius: 3px;
		margin-left: 5px;
	}

	/* Vertraging & Rode tijd */
	.stop-dep.has-delay {
		color: #ef4444; /* Rood */
		font-weight: bold;
	}

	.delay-tag {
		color: #ef4444;
		font-weight: bold;
		font-size: 0.9em;
		margin-left: 3px;
	}

	.taak-sub {
		color: #ffffff;
		margin-top: 4px;
	}

	.trein-link {
		color: #38bdf8;
		text-decoration: underline;
	}