/* hendlwagen.info - minimal, fast-loading stylesheet */

:root {
	--bg: #faf7f2;
	--fg: #2b2b2b;
	--muted: #6b6b6b;
	--accent: #c0392b;
	--card: #ffffff;
	--border: #e2ddd4;
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	background: var(--bg);
	color: var(--fg);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	line-height: 1.5;
}

.site-header {
	background: var(--accent);
	padding: 0.75rem 1rem;
}

.brand {
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.25rem;
	letter-spacing: 0.02em;
}

main {
	max-width: 900px;
	margin: 0 auto;
	padding: 1rem;
}

h1 { font-size: 1.6rem; margin: 0.5rem 0; }
h2 { font-size: 1.2rem; margin: 1.5rem 0 0.5rem; }

.subtitle { color: var(--muted); margin-top: 0; }

.loading, .error { color: var(--muted); }
.error { color: var(--accent); }

/* Map */
.map {
	height: 320px;
	width: 100%;
	border: 1px solid var(--border);
	border-radius: 6px;
	margin: 1rem 0;
	background: #e8e8e8;
}

/* Truck list */
.truck-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

.truck-item a {
	display: block;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 6px;
	padding: 0.75rem 1rem;
	text-decoration: none;
	color: inherit;
}

.truck-item a:hover { border-color: var(--accent); }

.truck-name { display: block; font-weight: 600; }
.truck-address { display: block; color: var(--muted); font-size: 0.9rem; }

/* Detail view */
.back { margin: 0.5rem 0; }
.back a { color: var(--accent); text-decoration: none; }

.description { color: var(--muted); }

.contact p { margin: 0.25rem 0; }

.hours { border-collapse: collapse; }
.hours th, .hours td { text-align: left; padding: 0.2rem 1rem 0.2rem 0; }
.hours th { color: var(--muted); font-weight: 500; }

.menu { list-style: none; margin: 0; padding: 0; }
.menu-item {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.25rem 1rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--border);
}
.menu-name { font-weight: 600; }
.menu-price { color: var(--accent); font-weight: 600; white-space: nowrap; }
.menu-desc { grid-column: 1 / -1; color: var(--muted); font-size: 0.9rem; }

.site-footer {
	max-width: 900px;
	margin: 2rem auto 1rem;
	padding: 0 1rem;
	color: var(--muted);
	font-size: 0.85rem;
}
.site-footer a { color: var(--muted); }
