/**
 * MenuForge Vallucci - Frontend Styles
 * Design basierend auf vallucci.restaurant Website
 */

:root {
	--vallucci-primary: #092c5d;        /* Dunkelblau (Original) */
	--vallucci-secondary: #c9a227;       /* Gold */
	--vallucci-bg: #efecd8;              /* Cremig/Beige (Original) */
	--vallucci-text: #2c3444;            /* Textfarbe (Original) */
	--vallucci-text-light: #666666;
	--vallucci-border: #e0d6c8;
}

/* Menu Container */
.vallucci-menu {
	font-family: 'Georgia', 'Times New Roman', serif;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 20px;
	background: var(--vallucci-bg);
}

/* PDF Button */
.vallucci-menu-pdf {
	text-align: center;
	margin-bottom: 40px;
}

.vallucci-pdf-button {
	display: inline-block;
	padding: 12px 30px;
	background: var(--vallucci-primary);
	color: white;
	text-decoration: none;
	font-size: 14px;
	letter-spacing: 1px;
	transition: all 0.3s ease;
}

.vallucci-pdf-button:hover {
	background: var(--vallucci-secondary);
	color: var(--vallucci-primary);
}

/* Category Section */
.vallucci-category {
	margin-bottom: 60px;
	padding-bottom: 40px;
	border-bottom: 1px dotted var(--vallucci-border);
}

.vallucci-category:last-child {
	border-bottom: none;
}

/* Category Title */
.vallucci-category__title {
	font-family: 'Georgia', serif;
	font-size: 3.5rem;
	font-weight: 400;
	color: var(--vallucci-primary);
	text-align: center;
	margin-bottom: 10px;
	letter-spacing: 3px;
}

/* Category Subtitle */
.vallucci-category__subtitle {
	text-align: center;
	font-family: 'Times New Roman', serif;
	font-size: 20px;
	line-height: 32px;
	letter-spacing: -0.8px;
	color: #092c5d;
	text-transform: uppercase;
	margin-bottom: 30px;
}

/* Category Image */
.vallucci-category__image {
	text-align: center;
	margin-bottom: 30px;
}

.vallucci-category__image img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

/* Dishes Container */
.vallucci-dishes {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

/* Single Dish */
.vallucci-dish {
	padding: 0 20px;
}

/* Dish Header (Name + Price) */
.vallucci-dish__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 8px;
}

/* Dish Name (Italian) */
.vallucci-dish__name {
	font-family: 'Times New Roman', sans-serif;
	font-size: 22px;
	line-height: 22px;
	font-weight: 700;
	letter-spacing: -1px;
	color: #2c3444;
	text-transform: uppercase;
	margin: 0;
	flex: 1;
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
}

/* Dish Price */
.vallucci-dish__price {
	font-family: 'Times New Roman', sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 26px;
	letter-spacing: -1px;
	color: #2c3444;
	white-space: nowrap;
	flex-shrink: 0;
}

/* Dish Descriptions */
.vallucci-dish__desc {
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0px;
	margin: 4px 0;
}

.vallucci-dish__desc--de {
	color: #2c3444;
	font-style: normal;
}

.vallucci-dish__desc--en {
	color: #2c3444;
	font-style: normal;
}

/* Dish Image */
.vallucci-dish__image {
	margin-top: 15px;
}

.vallucci-dish__image img {
	max-width: 300px;
	height: auto;
	border-radius: 4px;
}

/* No Menu Message */
.vallucci-no-menu {
	text-align: center;
	color: var(--vallucci-text-light);
	font-style: italic;
	padding: 40px;
}

/* Responsive */
@media (max-width: 768px) {
	.vallucci-menu {
		padding: 20px 15px;
	}

	.vallucci-category__title {
		font-size: 1.8rem;
	}

	.vallucci-dish__header {
		flex-wrap: wrap;
		gap: 10px;
	}

	.vallucci-dish__name {
		flex: 1 1 100%;
		margin-bottom: 5px;
	}

	.vallucci-dish__price {
		font-weight: bold;
	}
}

/* ============================================
   LUNCH MENU STYLES
   ============================================ */

/* Lunch Menu Container */
.vallucci-lunch-menu {
	font-family: 'Georgia', 'Times New Roman', serif;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 20px;
	background: var(--vallucci-bg);
}

/* Lunch Title "MITTAGSKARTE" */
.vallucci-lunch-title {
	font-family: 'Georgia', serif;
	font-size: 3.5rem;
	font-weight: 400;
	color: var(--vallucci-primary);
	text-align: center;
	margin-bottom: 40px;
	letter-spacing: 3px;
	text-transform: uppercase;
}

/* Lunch Subtitle "von 11-14 Uhr" */
.vallucci-lunch-subtitle {
	font-family: 'Times New Roman', sans-serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 48px;
	letter-spacing: -2px;
	color: var(--vallucci-primary);
	text-align: center;
	margin-bottom: 30px;
}

/* Lunch Note "Wir bieten auch vegetarische Gerichte an." */
.vallucci-lunch-note {
	font-family: 'Times New Roman', sans-serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 48px;
	letter-spacing: -2px;
	color: var(--vallucci-primary);
	text-align: center;
	margin-bottom: 60px;
}

/* Lunch Dishes List */
.vallucci-lunch-dishes {
	list-style: none;
	padding: 0 0 0 196px;
	margin: 0 0 60px 0;
}

.vallucci-lunch-dish {
	font-family: 'Times New Roman', sans-serif;
	font-size: 24px;
	line-height: 26px;
	letter-spacing: -1px;
	font-weight: 700;
	color: #2c3444;
	text-transform: uppercase;
	text-align: left;
	margin-bottom: 40px;
	list-style: none;
}

/* Lunch Includes (Getränk, Salat/Dessert) */
.vallucci-lunch-includes {
	text-align: center;
	margin-bottom: 40px;
}

.vallucci-lunch-include-item {
	font-family: 'Times New Roman', serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--vallucci-primary);
	text-transform: uppercase;
	margin-bottom: 15px;
}

/* Lunch Price "= 13,50€" */
.vallucci-lunch-price {
	font-family: 'Times New Roman', serif;
	font-size: 3rem;
	font-weight: 700;
	color: var(--vallucci-primary);
	text-align: center;
}

/* Responsive - Lunch Menu */
@media (max-width: 768px) {
	.vallucci-lunch-menu {
		padding: 20px 15px;
	}

	.vallucci-lunch-title {
		font-size: 2.5rem;
	}

	.vallucci-lunch-subtitle {
		font-size: 1.5rem;
	}

	.vallucci-lunch-note {
		font-size: 1.2rem;
	}

	.vallucci-lunch-dish {
		font-size: 1.2rem;
		padding-right: 50px;
	}

	.vallucci-lunch-include-item {
		font-size: 1.5rem;
	}

	.vallucci-lunch-price {
		font-size: 2.5rem;
	}
}

/* Print Styles */
@media print {
	.vallucci-menu-pdf {
		display: none;
	}

	.vallucci-menu {
		background: white;
	}

	.vallucci-category {
		page-break-inside: avoid;
	}
}
