/* FullBL Menu Sync for Loyverse — frontend
 * Accent, gap and columns come from settings via inline CSS custom properties
 * on :root (see FBMSL_Assets). Fallbacks below apply when assets are not enqueued.
 */
.fbmsl-menu {
	color: var(--fbmsl-accent, #1a1a1a);
}

.fbmsl-menu__category {
	margin: 2rem 0 1rem;
	font-size: 1.5rem;
	font-weight: 600;
}

.fbmsl-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--fbmsl-gap, 1.5rem);
}

.fbmsl-menu--grid .fbmsl-menu__list {
	grid-template-columns: repeat(var(--fbmsl-columns, 2), minmax(0, 1fr));
}

.fbmsl-menu--list .fbmsl-menu__list {
	grid-template-columns: 1fr;
}

.fbmsl-menu__item {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-width: 0;
}

.fbmsl-menu--list .fbmsl-menu__item {
	flex-direction: row;
	align-items: flex-start;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid color-mix(in srgb, var(--fbmsl-accent, #1a1a1a) 15%, transparent);
}

.fbmsl-menu__image {
	display: block;
	overflow: hidden;
}

.fbmsl-menu__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.fbmsl-menu--list .fbmsl-menu__image {
	flex: 0 0 7.5rem;
}

.fbmsl-menu--list .fbmsl-menu__image img {
	aspect-ratio: 1;
}

.fbmsl-menu__body {
	flex: 1;
	min-width: 0;
}

.fbmsl-menu__header {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: baseline;
}

.fbmsl-menu__title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
}

.fbmsl-menu__title a {
	color: inherit;
	text-decoration: none;
}

.fbmsl-menu__title a:hover,
.fbmsl-menu__title a:focus {
	text-decoration: underline;
}

.fbmsl-menu__price,
.fbmsl-single__price {
	font-weight: 600;
	white-space: nowrap;
}

.fbmsl-menu__description {
	margin-top: 0.35rem;
	opacity: 0.85;
	font-size: 0.95rem;
	line-height: 1.45;
}

.fbmsl-menu__variants,
.fbmsl-single__variants {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
	font-size: 0.9rem;
}

.fbmsl-menu__variants li,
.fbmsl-single__variants li {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.2rem 0;
}

.fbmsl-archive__header,
.fbmsl-single__header {
	margin-bottom: 1.5rem;
}

.fbmsl-archive__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}

.fbmsl-archive__nav a,
.fbmsl-single__breadcrumb a,
.fbmsl-archive__parent a {
	color: inherit;
}

.fbmsl-single__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 28rem;
	object-fit: cover;
}

.fbmsl-single__content {
	margin-top: 1rem;
	line-height: 1.6;
}

.fbmsl-empty {
	opacity: 0.75;
}

@media (max-width: 720px) {
	.fbmsl-menu--grid .fbmsl-menu__list {
		grid-template-columns: 1fr;
	}

	.fbmsl-menu--list .fbmsl-menu__item {
		flex-direction: column;
	}

	.fbmsl-menu--list .fbmsl-menu__image {
		flex-basis: auto;
		width: 100%;
	}
}
