/* =========================================================
   index.html
   ========================================================= */

:root
		{
			--red: #b5161c;
			--red-dark: #7e0e13;
			--cream: #fff4cf;
			--cream-2: #f6dfa1;
			--ink: #2a2018;
			--muted: #725f4d;
			--line: rgba(126, 14, 19, .20);
			--white: #fffdf6;
		}

		*
		{
			box-sizing: border-box;
		}

		html
		{
			scroll-behavior: smooth;
		}

		body
		{
			margin: 0;
			font-family: Arial, Helvetica, sans-serif;
			color: var(--ink);
			background:
				radial-gradient(circle at 15% 10%, rgba(255,255,255,.8), transparent 24rem),
				linear-gradient(135deg, var(--cream), var(--cream-2));
		}

		a
		{
			color: inherit;
			text-decoration: none;
		}

		.header
		{
			min-height: 420px;
			display: grid;
			place-items: center;
			padding: 48px 24px;
			text-align: center;
			color: white;
			background:
				linear-gradient(rgba(0,0,0,.44), rgba(0,0,0,.68)),
				linear-gradient(135deg, #c52a22 0%, #7d0e12 45%, #2b1b13 100%);
			border-bottom: 8px solid #e0a51e;
		}

		.brand
		{
			max-width: 980px;
		}

		.logo
		{
			width: 190px;
			height: 190px;
			margin: 0 auto 22px;
			border-radius: 50%;
			overflow: hidden;
			box-shadow: 0 12px 35px rgba(0,0,0,.35);
		}

		.logo img
		{
			display: block;
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

		.header h1
		{
			margin: 0;
			font-family: Georgia, serif;
			font-size: clamp(46px, 7vw, 84px);
			font-style: italic;
			font-weight: 700;
			text-shadow: 0 4px 14px rgba(0,0,0,.35);
		}

		.header p
		{
			margin: 12px 0 0;
			font-size: 20px;
			letter-spacing: .5px;
		}

		.contact
		{
			margin-top: 24px;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 10px 24px;
			font-weight: 700;
		}

		.nav
		{
			position: sticky;
			top: 0;
			z-index: 10;
			display: flex;
			gap: 8px;
			overflow-x: auto;
			padding: 12px 18px;
			background: rgba(35, 22, 15, .96);
			box-shadow: 0 4px 14px rgba(0,0,0,.2);
			scrollbar-width: thin;
		}

		.nav a
		{
			flex: 0 0 auto;
			padding: 10px 14px;
			border-radius: 999px;
			color: white;
			font-size: 14px;
			font-weight: 700;
		}

		.nav a:hover
		{
			background: var(--red);
		}

		.main
		{
			width: min(1500px, calc(100% - 32px));
			margin: 36px auto 70px;
		}

		.section
		{
			margin: 0 0 42px;
			padding: 28px;
			border: 1px solid rgba(126,14,19,.15);
			border-radius: 24px;
			background: rgba(255, 253, 246, .78);
			box-shadow: 0 10px 30px rgba(94, 58, 20, .10);
			backdrop-filter: blur(3px);
		}

		.section-title
		{
			margin: 0 0 8px;
			font-family: Georgia, serif;
			font-size: clamp(34px, 4vw, 54px);
			font-style: italic;
			color: var(--red);
			text-align: center;
		}

		.section-subtitle
		{
			margin: 0 0 26px;
			color: var(--muted);
			text-align: center;
		}

		.grid
		{
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0 28px;
		}

		.menu-item
		{
			display: grid;
			grid-template-columns: 52px 1fr auto;
			gap: 12px;
			align-items: start;
			padding: 14px 0;
			border-bottom: 1px dashed var(--line);
		}

		.nr
		{
			color: var(--red);
			font-weight: 800;
		}

		.name
		{
			font-weight: 900;
			text-transform: uppercase;
		}

		.desc
		{
			display: block;
			margin-top: 4px;
			color: var(--muted);
			font-size: 14px;
			line-height: 1.35;
			text-transform: none;
			font-weight: 400;
		}

		.price
		{
			white-space: nowrap;
			color: var(--red);
			font-size: 18px;
			font-weight: 900;
		}

		.price small
		{
			display: block;
			color: var(--muted);
			font-size: 10px;
			font-weight: 700;
			text-align: right;
		}

		.offer-grid
		{
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: 16px;
		}

		.offer
		{
			padding: 20px;
			border-radius: 18px;
			background: linear-gradient(145deg, #fffdf8, #f7e6b7);
			border: 1px solid var(--line);
			text-align: center;
		}

		.offer h3
		{
			margin: 0 0 10px;
			color: var(--red);
			font-family: Georgia, serif;
			font-size: 25px;
		}

		.offer p
		{
			min-height: 72px;
			margin: 0;
			font-size: 14px;
			line-height: 1.45;
		}

		.offer strong
		{
			display: block;
			margin-top: 14px;
			font-size: 25px;
			color: var(--red-dark);
		}

		.note
		{
			margin-top: 22px;
			padding: 16px 18px;
			border-left: 5px solid #d8a21c;
			background: rgba(255, 243, 201, .75);
			font-size: 14px;
			line-height: 1.5;
		}

		.footer
		{
			padding: 38px 24px;
			background: #24170f;
			color: #f7ead2;
			text-align: center;
		}

		.footer strong
		{
			color: #f0bd3b;
		}

		@media (max-width: 1050px)
		{
			.offer-grid
			{
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}
		}

		@media (max-width: 760px)
		{
			.grid
			{
				grid-template-columns: 1fr;
			}

			.offer-grid
			{
				grid-template-columns: 1fr;
			}

			.section
			{
				padding: 20px 16px;
			}

			.menu-item
			{
				grid-template-columns: 42px 1fr auto;
			}
		}
	

/* Allergene und Zusatzstoffe */
.allergen-code
{
	display: inline-block;
	margin-left: 6px;
	font-size: .72em;
	font-weight: 800;
	letter-spacing: .03em;
	color: var(--red);
	white-space: nowrap;
}

.legend-code
{
	font-weight: 800;
	color: var(--red);
}

@media (max-width: 640px)
{
	.allergen-code
	{
		white-space: normal;
		margin-left: 4px;
	}
}

/* Überarbeitungen nach Abstimmung */
.grid.split-grid { position:relative; column-gap:38px; }
.grid.split-grid > .menu-item:nth-child(even) { border-left:2px solid rgba(198,24,32,.38); padding-left:22px; }
.offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; position:relative; }
.offer-grid:after { display:none; }
.offer { margin:8px 0; text-align:left; }
.offer h3 { text-align:center; }
.offer ul { margin:8px 0 14px; padding-left:22px; line-height:1.55; }
.offer .offer-price { display:block; text-align:center; color:var(--red); font-size:20px; font-weight:900; }
.pizza-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; position:relative; }
.pizza-columns:after { content:""; position:absolute; top:0; bottom:0; left:50%; width:2px; background:rgba(198,24,32,.45); transform:translateX(-1px); }
.pizza-table { display:block; min-width:0; }
.pizza-head,.pizza-row { display:grid; grid-template-columns:50px minmax(0,1fr) 82px 82px; }
.pizza-head { color:var(--red); font-weight:900; font-size:16px; border-bottom:1px solid rgba(198,24,32,.5); }
.pizza-head > div,.pizza-row > div { padding:10px 9px; }
.pizza-row { border-bottom:1px dashed var(--line); align-items:stretch; }
.pizza-row .p-nr { color:var(--red); font-weight:900; }
.pizza-row .p-name { font-weight:900; text-transform:uppercase; }
.pizza-row .p-desc { display:block; margin-top:4px; color:var(--muted); font-size:13px; line-height:1.35; font-weight:400; text-transform:none; }
.pizza-head .small,.pizza-row .small { background:#fff3cf; text-align:center; }
.pizza-head .large,.pizza-row .large { background:#fbe1dc; text-align:center; }
.pizza-row .small,.pizza-row .large { color:var(--red); font-weight:900; display:flex; align-items:center; justify-content:center; white-space:nowrap; }
.drink-table { max-width:980px; margin:0 auto; }
.drink-head,.drink-row { display:grid; grid-template-columns:62px minmax(0,1fr) 120px 120px; }
.drink-head { color:var(--red); font-weight:900; border-bottom:1px solid rgba(198,24,32,.5); }
.drink-head > div,.drink-row > div { padding:11px 12px; }
.drink-row { border-bottom:1px dashed var(--line); }
.drink-row .d-nr { color:var(--red); font-weight:900; }
.drink-row .d-name { font-weight:900; text-transform:uppercase; }
.drink-head .small,.drink-row .small { background:#fff3cf; text-align:center; }
.drink-head .large,.drink-row .large { background:#fbe1dc; text-align:center; }
.drink-row .small,.drink-row .large { color:var(--red); font-weight:900; text-align:center; }
.category-note { text-align:center; color:var(--muted); margin:-14px 0 20px; }
@media(max-width:900px){
 .pizza-columns{grid-template-columns:1fr;gap:22px}.pizza-columns:after,.offer-grid:after{display:none}
 .offer-grid{grid-template-columns:1fr}
 .grid.split-grid{grid-template-columns:1fr}.grid.split-grid>.menu-item:nth-child(even){border-left:0;padding-left:0}
 .pizza-head,.pizza-row{grid-template-columns:42px minmax(0,1fr) 68px 68px}.pizza-head>div,.pizza-row>div{padding:9px 6px}
 .drink-head,.drink-row{grid-template-columns:50px minmax(0,1fr) 86px 86px}.drink-head>div,.drink-row>div{padding:9px 6px}
}

/* Responsive Feinschliff */
@media (max-width: 760px)
{
	.section-title
	{
		font-size: clamp(30px, 9vw, 48px);
		line-height: 1.08;
		overflow-wrap: anywhere;
	}

	.section-subtitle
	{
		margin-top: -8px;
		line-height: 1.35;
	}

	.pizza-columns
	{
		overflow: hidden;
	}

	.pizza-table,
	.drink-table
	{
		width: 100%;
		min-width: 0;
	}

	.pizza-head,
	.pizza-row
	{
		grid-template-columns: 34px minmax(0, 1fr) 58px 58px;
		font-size: 13px;
	}

	.pizza-head > div,
	.pizza-row > div
	{
		padding: 8px 4px;
		min-width: 0;
	}

	.pizza-row .p-name,
	.pizza-row .p-desc,
	.menu-item .name,
	.menu-item .desc
	{
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.drink-head,
	.drink-row
	{
		grid-template-columns: 42px minmax(0, 1fr) 64px 64px;
		font-size: 13px;
	}

	.drink-head > div,
	.drink-row > div
	{
		padding: 8px 4px;
		min-width: 0;
	}
}

@media (max-width: 430px)
{
	.section
	{
		padding-left: 10px;
		padding-right: 10px;
	}

	.pizza-head,
	.pizza-row
	{
		grid-template-columns: 30px minmax(0, 1fr) 52px 52px;
	}

	.pizza-head,
	.pizza-row,
	.drink-head,
	.drink-row
	{
		font-size: 12px;
	}

	.pizza-row .p-desc
	{
		font-size: 11px;
	}

	.drink-head,
	.drink-row
	{
		grid-template-columns: 38px minmax(0, 1fr) 58px 58px;
	}
}

.site-header{min-height:0;display:block;padding:0;text-align:left;border-bottom:5px solid #d6a21c;background:linear-gradient(135deg,#4a0909,#8d0d0d 50%,#4a0909)}
.site-header .header-inner{width:min(1180px,calc(100% - 32px));margin:auto;padding:28px 0 24px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:34px;align-items:center}.site-header .logo{width:170px;height:170px;margin:0;border-radius:50%;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.28)}.site-header .logo img{width:100%;height:100%;object-fit:contain}.site-header .brand{max-width:none;text-align:center}.site-header .brand h1{margin:0;font-family:Georgia,serif;font-size:clamp(52px,7vw,92px);font-style:italic;line-height:.95}.site-header .claim{margin:10px 0 14px;font-size:clamp(15px,2vw,22px);letter-spacing:6px}.site-header .contact{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;font-size:18px;font-weight:700}.order-title{margin:20px 0 10px;color:#ffd04b;font-size:22px;font-weight:800;text-align:center}.order-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.order-button{min-width:300px;padding:15px 22px;border:2px solid #fff;border-radius:13px;font-size:18px;font-weight:800;text-align:center}.order-button.direct{background:linear-gradient(#fff8dc,#f5d77e);color:#8a1111}.order-button.lieferando{background:#ff6500;color:#fff}.top-nav{background:#21130d;color:#fff}.top-nav-inner{width:min(1180px,calc(100% - 32px));margin:auto;padding:12px 0;display:flex;justify-content:center;gap:10px}.top-nav a{padding:9px 20px;border:1px solid #d6a21c;border-radius:24px;color:#fff;font-size:14px;font-weight:800;text-transform:uppercase}.top-nav a.active{background:#bd171c;border-color:#fff}
.menu-layout{width:min(1740px,calc(100% - 32px));margin:30px auto 70px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:start}.menu-content.main{width:100%;margin:0;min-width:0}.category-sidebar{position:sticky;top:18px;z-index:8}.category-sidebar-inner{overflow:hidden;border:1px solid rgba(214,162,28,.65);border-radius:18px;background:#21130d;box-shadow:0 8px 24px rgba(0,0,0,.18)}.category-heading{padding:17px 18px;background:#7e0e13;color:#fff;font-family:Georgia,serif;font-size:23px;font-weight:700;text-align:center}.category-sidebar a{display:block;padding:11px 18px;border-top:1px solid rgba(214,162,28,.22);color:#fff;font-size:14px;font-weight:700}.category-sidebar a:hover,.category-sidebar a.is-active{padding-left:23px;background:#b5161c}.mobile-category-nav{display:none}
.site-footer{margin-top:0;padding:0;background:#171412;color:#eee;text-align:left;border-top:4px solid #d6a21c}.site-footer .footer-inner{width:min(1180px,calc(100% - 32px));margin:auto;padding:28px 0;display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:center}.site-footer strong{color:#ffd04b}.footer-links{display:flex;gap:8px;justify-content:center}.footer-links a{color:#fff;text-decoration:underline}.footer-copy{text-align:right}
@media(max-width:980px){.site-header .header-inner{grid-template-columns:1fr;justify-items:center;gap:18px}.site-header .logo{width:145px;height:145px}.site-header .claim{letter-spacing:3px}.site-header .contact{flex-direction:column;align-items:center;font-size:16px}.menu-layout{display:block;width:min(100% - 24px,1500px);margin-top:18px}.category-sidebar{display:none}.mobile-category-nav{display:block;position:sticky;top:0;z-index:20;margin-bottom:18px}.category-toggle{width:100%;padding:14px 18px;border:1px solid #d6a21c;border-radius:12px;background:#21130d;color:#fff;font:inherit;font-weight:800;text-align:left;cursor:pointer}.mobile-category-menu{display:none;max-height:68vh;overflow-y:auto;margin-top:6px;padding:8px;border:1px solid #d6a21c;border-radius:12px;background:#21130d}.mobile-category-menu.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.mobile-category-menu a{padding:10px 11px;border-radius:8px;color:#fff;font-size:13px;font-weight:700}.site-footer .footer-inner{grid-template-columns:1fr;text-align:center}.footer-copy{text-align:center}}
@media(max-width:640px){.order-buttons{flex-direction:column;width:100%}.order-button{min-width:0;width:100%}.mobile-category-menu.open{grid-template-columns:1fr}.menu-layout{width:calc(100% - 16px)}}

html{scroll-behavior:smooth}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:100;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:2px solid #d6a21c;border-radius:50%;background:#8d0d0d;color:#fff;font-size:28px;font-weight:800;text-decoration:none;box-shadow:0 5px 16px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(12px);transition:.2s}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:#b5161c;color:#ffd04b}.top-menu-link{color:#ffd04b!important}@media(max-width:640px){.back-to-top{right:14px;bottom:14px;width:46px;height:46px;font-size:25px}}

/* =========================================================
   about_us.html
   ========================================================= */

:root { --rot:#7b0808; --gold:#d6a21c; --creme:#fff8e8; --text:#2d211a; }
		* { box-sizing:border-box; }
		body { margin:0; background:#f7e9c7; color:var(--text); font-family:Arial,Helvetica,sans-serif; }
		.header { background:linear-gradient(135deg,#4a0909,#8d0d0d,#4a0909); color:#fff; border-bottom:5px solid var(--gold); }
		.header-inner { width:min(1180px,calc(100% - 32px)); margin:auto; padding:28px 0 24px; display:grid; grid-template-columns:180px 1fr; gap:34px; align-items:center; }
		.logo { width:170px; height:170px; border-radius:50%; overflow:hidden; box-shadow:0 4px 14px rgba(0,0,0,.28); }
		.logo img { display:block; width:100%; height:100%; object-fit:contain; }
		.brand { text-align:center; }
		.brand h1 { margin:0; font-family:Georgia,serif; font-size:clamp(52px,7vw,92px); font-style:italic; line-height:.95; }
		.claim { margin:10px 0 14px; font-size:clamp(15px,2vw,22px); letter-spacing:6px; text-transform:uppercase; }
		.contact { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 28px; font-size:18px; font-weight:700; }
		.order-title { margin:20px 0 10px; color:#ffd04b; font-size:22px; font-weight:800; }
		.order-buttons { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
		.order-button { min-width:300px; padding:15px 22px; border-radius:13px; text-decoration:none; font-weight:800; font-size:18px; border:2px solid #fff; }
		.direct { background:linear-gradient(#fff8dc,#f5d77e); color:#8a1111; }
		.lieferando { background:#ff6500; color:#fff; }
		.nav { background:#21130d; color:#fff; }
		.nav-inner { width:min(1180px,calc(100% - 32px)); margin:auto; padding:12px 0; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
		.nav a { padding:9px 20px; border:1px solid var(--gold); border-radius:24px; color:#fff; text-decoration:none; font-size:14px; font-weight:800; text-transform:uppercase; }
		.nav a.active { background:#bd171c; border-color:#fff; }
		main { width:min(1180px,calc(100% - 32px)); margin:26px auto; }
		.card { background:#fffaf0; border:1px solid #ead6aa; border-radius:25px; padding:clamp(24px,4vw,48px); }
		.page-title { margin:0 0 30px; text-align:center; color:#b8171c; font-family:Georgia,serif; font-size:clamp(44px,6vw,68px); font-style:italic; }
		.imprint { max-width:780px; margin:auto; }
		.imprint h2 { color:#a70e13; font-size:28px; }
		.imprint-grid { display:grid; grid-template-columns:190px 1fr; border-top:1px solid #decda9; }
		.imprint-label,.imprint-value { padding:13px 10px; border-bottom:1px solid #decda9; }
		.imprint-label { font-weight:800; }
		.note { margin-top:28px; padding:18px 20px; background:#fff2cd; border-left:4px solid var(--gold); line-height:1.55; }
		.footer { margin-top:30px; padding:0; background:#171412; color:#eee; text-align:left; border-top:4px solid var(--gold); }
		.footer-inner { width:min(1180px,calc(100% - 32px)); margin:auto; padding:28px 0; display:grid; grid-template-columns:1fr auto 1fr; gap:32px; align-items:center; }
		.footer-links { display:flex; gap:8px; justify-content:center; align-items:center; }
		.footer-copy { text-align:right; }
		.footer a { color:#fff; }
		@media (max-width:760px) {
			.header-inner { grid-template-columns:1fr; justify-items:center; }
			.logo { width:145px; height:145px; }
			.contact { flex-direction:column; align-items:center; font-size:16px; }
			.order-buttons { flex-direction:column; width:100%; }
			.order-button { min-width:0; width:100%; }
			.imprint-grid { grid-template-columns:1fr; }
			.imprint-label { padding-bottom:2px; border-bottom:0; color:#8e1115; }
			.imprint-value { padding-top:3px; }
			.footer-inner { grid-template-columns:1fr; text-align:center; }
			.footer-copy { text-align:center; }
		}
