/* Restaurant Menu Widget Styles */

.iew-restaurant-menu {
	--iew-menu-gap: 20px;
	--iew-menu-category-bg: var(--e-global-color-background, #f8f9fa);
	--iew-menu-category-padding: 20px;
	--iew-menu-dish-spacing: 20px;
}

.iew-restaurant-menu__header {
	margin-bottom: 40px;
}

.iew-restaurant-menu__title {
	margin: 0 0 10px 0;
}

.iew-restaurant-menu__description {
}

/* Categories */
.iew-restaurant-menu__categories {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.iew-restaurant-menu__category {
	background-color: var(--iew-menu-category-bg);
	padding: var(--iew-menu-category-padding);
	border-radius: 8px;
}

.iew-restaurant-menu__category-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 20px 0;
}

.iew-restaurant-menu__category-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
}

.iew-restaurant-menu__category-icon i,
.iew-restaurant-menu__category-icon svg {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

.iew-restaurant-menu__category-icon svg,
.iew-restaurant-menu__category-icon svg * {
	fill: currentColor;
	stroke: currentColor;
}

/* Dishes Container */
.iew-restaurant-menu__dishes {
	display: flex;
	flex-direction: column;
	gap: var(--iew-menu-dish-spacing);
}

/* Individual Dish - Classic Layout */
.iew-restaurant-menu__dish {
	display: flex;
	flex-direction: column;
}

.iew-restaurant-menu__dish-content {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.iew-restaurant-menu__dish-header {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 8px;
	position: relative;
}

.iew-restaurant-menu__dish-name {
	white-space: nowrap;
}

.iew-restaurant-menu__dish-dots {
	flex: 1;
	border-bottom: 2px dotted var(--e-global-color-muted, #cccccc);
	margin: 0 5px;
	min-width: 20px;
}

.iew-restaurant-menu--classic.iew-restaurant-menu-show-dots .iew-restaurant-menu__dish-dots {
	display: block;
}

.iew-restaurant-menu--classic:not(.iew-restaurant-menu-show-dots) .iew-restaurant-menu__dish-dots {
	display: none;
}

.iew-restaurant-menu__dish-price {
	white-space: nowrap;
	flex-shrink: 0;
}

/* Dots Color Control */
.iew-restaurant-menu--classic.iew-restaurant-menu-show-dots .iew-restaurant-menu__dish-dots {
	border-bottom-color: var(--e-global-color-muted, #cccccc);
}

.iew-restaurant-menu__dish-description {
	margin-top: 5px;
}

/* Badge */
.iew-restaurant-menu__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	background-color: var(--e-global-color-primary, #e74c3c);
	color: var(--e-global-color-background, #ffffff);
	padding: 4px 8px;
	border-radius: 4px;
	white-space: nowrap;
	flex-shrink: 0;
}

.iew-restaurant-menu__badge-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
}

.iew-restaurant-menu__badge i,
.iew-restaurant-menu__badge svg {
	width: 12px;
	height: 12px;
	font-size: 12px;
}

.iew-restaurant-menu__badge-icon svg,
.iew-restaurant-menu__badge-icon svg * {
	fill: currentColor;
	stroke: currentColor;
}

.iew-restaurant-menu__dish-header .iew-restaurant-menu__badge {
	order: -1;
}

.iew-restaurant-menu__badge--after {
	order: 1;
}



/* Price Alignment */
.iew-restaurant-menu-price-left .iew-restaurant-menu__dish-header {
	flex-direction: row-reverse;
	justify-content: flex-start;
}

.iew-restaurant-menu-price-left.iew-restaurant-menu--compact .iew-restaurant-menu__dish-header {
	flex-direction: row;
	grid-template-columns: auto 1fr;
}

/* Responsive Design */
@media (max-width: 768px) {
	.iew-restaurant-menu__category {
		padding: 15px;
	}
}

@media (max-width: 480px) {
	.iew-restaurant-menu__header {
		margin-bottom: 25px;
	}

	.iew-restaurant-menu__categories {
		gap: 25px;
	}

	.iew-restaurant-menu--classic.iew-restaurant-menu-price-right .iew-restaurant-menu__dish-header::after,
	.iew-restaurant-menu--classic.iew-restaurant-menu-price-right .iew-restaurant-menu__dish-header::before {
		display: none;
	}

	.iew-restaurant-menu__dish-header {
		flex-wrap: nowrap;
	}
}

/* Print Styles */
@media print {
	.iew-restaurant-menu {
		background: var(--e-global-color-background, #ffffff);
	}

	.iew-restaurant-menu__category {
		break-inside: avoid;
		page-break-inside: avoid;
	}

	.iew-restaurant-menu--modern .iew-restaurant-menu__dish {
		break-inside: avoid;
		page-break-inside: avoid;
	}
}
