.rmm-menu-list {
	border-bottom: 1px solid #e5e7eb;
}
.rmm-menu-item {
	padding: 12px 0;
	display: grid;
	grid-template-columns: auto 1fr auto;
	column-gap: 12px;
	row-gap: 4px;
	align-items: start;
	border-top: 1px solid #e5e7eb;
}
.rmm-menu-headline { display: contents; margin-bottom: 0; }
.rmm-menu-body { display: contents; }
.rmm-menu-thumb-inline {
	grid-column: 1;
	grid-row: 1 / span 3;
	width: 96px !important;
	height: 96px !important;
	border-radius: 6px;
	overflow: hidden;
	flex-shrink: 0;
}
.rmm-menu-thumb-inline img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important; /* 正方形に切り抜き */
	object-position: center center !important;
}
.rmm-menu-title {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: #1f2937 !important;
	border: none !important;
	background: transparent !important;
	text-align: left !important;
	/* 本番環境テーマの見出し系スタイルを打ち消し（縦書き/文字単位改行など） */
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
	white-space: normal !important;
}
.rmm-menu-price {
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
	color: #1f2937;
	font-weight: 800;
	font-size: 16px;
	white-space: nowrap;
}
.rmm-menu-price-value {
	margin-right: 2px;
}
.rmm-menu-thumb {
	grid-column: 1;
	margin: 8px 0;
}

.rmm-menu-thumb img {
	display: block !important;
	width: 100% !important;
	max-width: 320px !important;
	height: 160px !important;
	object-fit: cover !important;
	object-position: center center !important;
	border-radius: 6px !important;
}
.rmm-menu-desc {
	grid-column: 2 !important;
	grid-row: 3;
	color: #374151;
	font-size: 14px;
	line-height: 1.5;
	text-align: left !important;
}
.rmm-menu-desc p,
.rmm-menu-desc > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.rmm-menu-body p {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	line-height: 1.5 !important;
	text-align: left !important;
}
.rmm-menu-note {
	grid-column: 2 !important;
	grid-row: 2;
	margin: 0;
	color: #6b7280;
	font-size: 13px;
	text-align: left !important;
}
.rmm-menu-note:empty {
	display: none !important;
}
.rmm-menu-note p,
.rmm-menu-note > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* ========== Grouped (Category) 3-column layout ========== */
.rmm-menu-list.rmm-grouped {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	border-bottom: 0;
}
@media (min-width: 768px) {
	.rmm-menu-list.rmm-grouped {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 1024px) {
	.rmm-menu-list.rmm-grouped {
		grid-template-columns: repeat(2, 1fr);
	}
}
.rmm-menu-list.rmm-grouped {
	box-sizing: border-box;
}
@media (max-width: 980px) {
	/* 930px付近からのはみ出し対策：カテゴリは1列に戻す */
	.rmm-menu-list.rmm-grouped {
		grid-template-columns: 1fr;
	}
}
.rmm-menu-section-title {
	margin: 0 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: center !important;
	color: #1f2937 !important;
	border: none !important;
	background: transparent !important;
	display: flex;
	align-items: center;
	justify-content: center;
	/* イラストの左寄せ量（必要に応じて調整） */
	--rmm-illust-left-shift: 7px;
	/* イラストの表示サイズ（必要に応じて調整） */
	--rmm-illust-size: 40px;
	/* テキスト行の高さ基準（画像サイズと独立） */
	--rmm-illust-min-height: 30px;
	overflow: visible !important;
}
.rmm-menu-section .rmm-menu-item:first-of-type {
	border-top: 0;
}

.rmm-cat-title-first-wrap {
	position: relative;
	display: inline-block;
	min-height: var(--rmm-illust-min-height);
	overflow: visible;
}
.rmm-cat-title-first,
.rmm-cat-title-rest {
	display: inline-block;
}
.rmm-cat-title-illust {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(calc(-50% - var(--rmm-illust-left-shift)), -50%);
	z-index: 0;
	width: var(--rmm-illust-size) !important;
	height: var(--rmm-illust-size) !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain;
	pointer-events: none;
}
.rmm-cat-title-first {
	position: relative;
	z-index: 1;
}

/* ========== Tablet adjustments: prevent price overflow on 2-column layout ========== */
@media (max-width: 1024px) and (min-width: 481px) {
	.rmm-menu-item {
		grid-template-columns: minmax(64px, 88px) minmax(0, 1fr);
	}
	.rmm-menu-price {
		grid-column: 2;
		grid-row: 3;
		justify-self: start;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.rmm-menu-title,
	.rmm-menu-note,
	.rmm-menu-desc {
		min-width: 0;
	}
	.rmm-menu-desc {
		grid-row: 4;
	}
	.rmm-menu-thumb-inline {
		width: 88px !important;
		height: 88px !important;
	}
}

/* ========== Narrow PC widths (e.g., resized desktop windows) ========== */
@media (max-width: 1280px) and (min-width: 769px) {
	.rmm-menu-item {
		grid-template-columns: minmax(72px, 96px) minmax(0, 1fr);
	}
	.rmm-menu-price {
		grid-column: 2;
		grid-row: 3;
		justify-self: start;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.rmm-menu-title,
	.rmm-menu-note,
	.rmm-menu-desc {
		min-width: 0;
	}
	.rmm-menu-desc {
		grid-row: 4;
	}
	.rmm-menu-thumb-inline {
		width: 96px !important;
		height: 96px !important;
	}
}

/* ========== Prevent overflow outside entry-content ========== */
.entry-content .rmm-menu-list,
.entry-content .rmm-menu-item {
	max-width: 100%;
	overflow: hidden;
}
.entry-content .rmm-menu-item > * {
	min-width: 0;
	box-sizing: border-box;
}

/* Ensure entry-content never overflows horizontally */
.entry-content {
	overflow-x: hidden;
}
.entry-content .rmm-menu-price {
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
}

/* 追加の強制調整：幅980px以下で価格を下段・折り返し・左寄せに */
@media (max-width: 980px) {
	.entry-content .rmm-menu-item {
		grid-template-columns: minmax(64px, 88px) minmax(0, 1fr);
	}
	.entry-content .rmm-menu-price {
		grid-column: 2 !important;
		grid-row: 3 !important;
		justify-self: start !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-break: break-word;
		max-width: 100%;
	}
	.entry-content .rmm-menu-desc {
		grid-row: 4 !important;
	}
}

/* 補足説明が空のときは、行を繰り上げて余白を作らない（広めのブレイクポイントも含めて適用） */
@media (max-width: 1280px) {
	.rmm-menu-item:has(.rmm-menu-note:empty) .rmm-menu-price {
		grid-row: 2 !important;
	}
	.rmm-menu-item:has(.rmm-menu-note:empty) .rmm-menu-desc {
		grid-row: 3 !important;
	}
}

/* ========== Responsive adjustments: keep content within viewport ========== */
@media (max-width: 480px) {
	.rmm-menu-item {
		grid-template-columns: minmax(56px, 72px) minmax(0, 1fr);
	}
	.rmm-menu-thumb-inline {
		width: 72px !important;
		height: 72px !important;
		grid-row: 1 / span 2;
	}
	.rmm-menu-price {
		grid-column: 2;
		grid-row: 3;
		justify-self: start;
		margin-top: 2px;
		white-space: normal;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.rmm-menu-desc {
		grid-column: 1 / -1 !important;
		grid-row: 4;
	}
	.rmm-menu-thumb img {
		max-width: 100% !important;
		height: auto !important;
		aspect-ratio: 2 / 1;
	}
	.rmm-menu-title {
		font-size: 16px !important;
		word-break: break-word !important;
		overflow-wrap: anywhere !important;
	}
}
@media (max-width: 360px) {
	.rmm-menu-item {
		grid-template-columns: 1fr;
	}
	.rmm-menu-thumb-inline {
		grid-column: 1;
		grid-row: 1;
		margin-bottom: 6px;
	}
	.rmm-menu-price {
		grid-column: 1;
		grid-row: 3;
		justify-self: end;
	}
	.rmm-menu-desc {
		grid-row: 4;
	}
}


