/* 元湯 デジタルお食事メニュー。
   すべて .motoyu-menu / .motoyu-line / .motoyu-menu-page の中だけに効かせ、サイトの他の部分には影響させない。 */

.motoyu-menu {
	--mm-paper: #f7f0e3;
	--mm-card: #fffdf8;
	--mm-ink: #2b2620;
	--mm-sub: #6b6257;
	--mm-line: #e3d6bf;
	--mm-accent: #b8322a; /* 価格・おすすめの朱 */
	--mm-navy: #1f2d44;   /* 見出しの墨紺 */
	--mm-brush: "Yuji Syuku", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--mm-round: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	color: var(--mm-ink);
	font-family: var(--mm-round);
	line-height: 1.5;
}

.motoyu-menu *,
.motoyu-menu *::before,
.motoyu-menu *::after {
	box-sizing: border-box;
}

.motoyu-menu [hidden] {
	display: none !important;
}

/* ---- 店名・ひとこと ---- */

.motoyu-menu__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 18px;
	margin: 0 0 14px;
}

.motoyu-menu .motoyu-menu__shop {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	color: var(--mm-navy);
	font-family: var(--mm-brush);
	font-size: clamp(1.9rem, 5vw, 3.2rem);
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.1;
	background: none;
	border: 0;
}

.motoyu-menu .motoyu-menu__shop::before {
	content: "♨";
	color: var(--mm-accent);
	font-family: sans-serif;
	font-size: 0.85em;
}

.motoyu-menu .motoyu-menu__shop::after {
	content: none;
}

.motoyu-menu__tagline {
	margin: 0;
	color: var(--mm-ink);
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;
	font-size: clamp(0.85rem, 2vw, 1.15rem);
	letter-spacing: 0.18em;
}

/* ---- ブロック見出し（筆で塗ったような帯） ---- */

.motoyu-menu__heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 10px;
}

.motoyu-menu__heading::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--mm-navy);
	opacity: 0.35;
}

.motoyu-menu .motoyu-menu__heading h2 {
	margin: 0;
	padding: 4px 26px 5px 18px;
	color: #fff;
	font-family: var(--mm-brush);
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.3;
	background: var(--mm-navy);
	border: 0;
	clip-path: polygon(0 12%, 4% 0, 96% 6%, 100% 30%, 97% 100%, 3% 92%, 1% 60%);
}

.motoyu-menu .motoyu-menu__heading h2::before,
.motoyu-menu .motoyu-menu__heading h2::after {
	content: none;
}

/* ---- 写真つきカード ---- */

.motoyu-menu__section {
	margin: 0 0 20px;
}

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

.motoyu-menu__item {
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	background: var(--mm-card);
	border: 1px solid var(--mm-line);
	border-radius: 6px;
	box-shadow: 0 1px 4px rgba(70, 50, 20, 0.08);
}

.motoyu-menu__photo {
	position: relative;
	aspect-ratio: 16 / 10;
	background: #ece2cf;
}

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

.motoyu-menu__photo.is-empty {
	display: grid;
	place-items: center;
}

.motoyu-menu__no-photo {
	color: #a89a84;
	font-size: 0.8em;
	letter-spacing: 0.2em;
}

.motoyu-menu__badge {
	position: absolute;
	top: 6px;
	left: 6px;
	padding: 2px 9px;
	color: #fff;
	font-size: 0.72em;
	font-weight: 700;
	letter-spacing: 0.1em;
	background: var(--mm-accent);
	border-radius: 3px;
}

.motoyu-menu__sold-out {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #fff;
	font-size: 1.1em;
	font-weight: 900;
	letter-spacing: 0.2em;
	background: rgba(35, 30, 25, 0.62);
}

.motoyu-menu__item.is-sold-out .motoyu-menu__photo img {
	filter: grayscale(0.7);
}

.motoyu-menu__item.is-sold-out .motoyu-menu__body {
	opacity: 0.55;
}

/* 写真なし：写真の枠に品名を筆文字で */
.motoyu-menu__photo.is-no-photo {
	display: grid;
	place-items: center;
	padding: 8px;
	background: #f1e8d6;
	background-image: repeating-linear-gradient(115deg, rgba(160, 130, 90, 0.05) 0 2px, transparent 2px 7px);
}

.motoyu-menu__photo-name {
	color: var(--mm-navy);
	font-family: var(--mm-brush);
	font-size: clamp(1.1rem, 2.6vw, 1.9rem);
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-align: center;
}

/* 売り切れの見せ方（スプレッドシート settings の sold_out_style）
   cover … 写真を暗くして白文字（標準）
   stamp … 写真は見えたまま、朱色の判子を斜めに押す
   band  … 写真の中央に朱色の帯 */
.motoyu-menu__sold-out b {
	font-weight: inherit;
}

.motoyu-menu.is-sold-stamp .motoyu-menu__sold-out {
	background: rgba(255, 253, 248, 0.3);
}

.motoyu-menu.is-sold-stamp .motoyu-menu__sold-out b {
	padding: 0.25em 0.6em;
	color: var(--mm-accent);
	font-family: var(--mm-brush);
	font-size: clamp(1rem, 2.2vw, 1.5rem);
	font-weight: 400;
	letter-spacing: 0.1em;
	background: rgba(255, 253, 248, 0.88);
	border: 3px double var(--mm-accent);
	border-radius: 6px;
	transform: rotate(-12deg);
}

.motoyu-menu.is-sold-band .motoyu-menu__sold-out {
	background: transparent;
}

.motoyu-menu.is-sold-band .motoyu-menu__sold-out b {
	width: 100%;
	padding: 6px 0;
	text-align: center;
	background: rgba(184, 50, 42, 0.92);
}

.motoyu-menu.is-sold-stamp .motoyu-menu__item.is-sold-out .motoyu-menu__photo img,
.motoyu-menu.is-sold-band .motoyu-menu__item.is-sold-out .motoyu-menu__photo img {
	filter: grayscale(0.35);
}
/* 写真大：品名は左、価格は右に横並び（完成図の上3段） */
.motoyu-menu__body {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0 8px;
	padding: 7px 10px 8px;
}

.motoyu-menu .motoyu-menu__name {
	margin: 0;
	padding: 0;
	color: var(--mm-ink);
	font-family: var(--mm-round);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.35;
	background: none;
	border: 0;
}

.motoyu-menu .motoyu-menu__name::before,
.motoyu-menu .motoyu-menu__name::after {
	content: none;
}

.motoyu-menu__price {
	color: var(--mm-accent);
	font-size: 1.05rem;
	font-weight: 900;
	white-space: nowrap;
}

.motoyu-menu__price small,
.motoyu-menu__line-price small {
	margin-left: 1px;
	font-size: 0.7em;
}

.motoyu-menu__desc {
	flex-basis: 100%;
	margin: 3px 0 0;
	color: var(--mm-sub);
	font-size: 0.78rem;
}

/* 写真小（一品料理）：品名と価格を中央にたてに */
.motoyu-menu__section.is-photo-small .motoyu-menu__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.motoyu-menu__section.is-photo-small .motoyu-menu__photo {
	aspect-ratio: 4 / 3;
}

.motoyu-menu__section.is-photo-small .motoyu-menu__body {
	flex-direction: column;
	align-items: center;
	padding: 5px 4px 6px;
	text-align: center;
}

.motoyu-menu__section.is-photo-small .motoyu-menu__name {
	font-size: 0.82rem;
}

.motoyu-menu__section.is-photo-small .motoyu-menu__price {
	font-size: 0.9rem;
}

/* 文字だけ（お飲み物）：点線でつなぐお品書き */
.motoyu-menu__lines {
	margin: 0;
	padding: 4px 8px 0 12px;
	list-style: none;
}

.motoyu-menu__line {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	padding: 4px 0;
	font-size: 1rem;
	font-weight: 700;
}

.motoyu-menu__line::before {
	content: none;
}

.motoyu-menu__line-name {
	white-space: nowrap;
}

.motoyu-menu__leader {
	flex: 1;
	min-width: 16px;
	border-bottom: 2px dotted #9d8f7a;
	transform: translateY(-4px);
}

.motoyu-menu__line-price {
	color: var(--mm-accent);
	font-weight: 900;
	white-space: nowrap;
}

.motoyu-menu__line-sold {
	color: var(--mm-sub);
	font-size: 0.85em;
	white-space: nowrap;
}

.motoyu-menu__line.is-sold-out .motoyu-menu__line-name {
	color: var(--mm-sub);
	text-decoration: line-through;
}

.motoyu-menu__status {
	margin: 40px 0;
	color: var(--mm-sub);
	text-align: center;
}

.motoyu-menu__note {
	margin: 8px 0 0;
	color: var(--mm-sub);
	font-size: 0.75rem;
	text-align: center;
}

/* とても細い画面は1列 */
@media (max-width: 339px) {
	.motoyu-menu__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 大きめのスマホ・小さいタブレット縦：3列 */
@media (min-width: 600px) {
	.motoyu-menu__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.motoyu-menu__section.is-photo-small .motoyu-menu__grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* タブレット縦・小さめPC：4列 */
@media (min-width: 820px) {
	.motoyu-menu__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 12px;
	}

	.motoyu-menu .motoyu-menu__name {
		font-size: 1.1rem;
	}

	.motoyu-menu__price {
		font-size: 1.2rem;
	}
}

/* 10〜11インチタブレット横・PC：完成図どおり5列。一品料理とお飲み物は横に並べる */
@media (min-width: 1080px) {
	.motoyu-menu__grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 12px;
	}

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

	.motoyu-menu__row > .motoyu-menu__section + .motoyu-menu__section {
		padding-left: 28px;
		border-left: 1px solid rgba(31, 45, 68, 0.35);
	}

	.motoyu-menu__row .motoyu-menu__section {
		margin-bottom: 0;
	}

	.motoyu-menu__line {
		font-size: 1.1rem;
	}
}

/* ---- 単体ページ（固定ページ「元湯メニュー（単体表示）」） ---- */

.motoyu-menu-page {
	margin: 0;
	color: #2b2620;
	/* 和紙のような生成り */
	background-color: #f5eee0;
	background-image:
		radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.55), transparent 45%),
		radial-gradient(circle at 85% 80%, rgba(226, 210, 180, 0.45), transparent 50%),
		repeating-linear-gradient(115deg, rgba(160, 130, 90, 0.035) 0 2px, transparent 2px 7px);
	-webkit-text-size-adjust: 100%;
}

.motoyu-menu-page__main {
	max-width: 1600px;
	margin: 0 auto;
	padding: 14px 12px 32px;
}

@media (min-width: 820px) {
	.motoyu-menu-page__main {
		padding: 20px 24px 40px;
	}
}

/* ---- LINEお友だち登録の案内 [motoyu_line] ---- */

.motoyu-line {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 8px 0 16px;
	padding: 12px 14px;
	color: #2b2620;
	font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;
	background: #fffdf8;
	border: 1px solid #e3d6bf;
	border-left: 6px solid #06c755; /* LINEの緑 */
	border-radius: 8px;
	box-sizing: border-box;
}

.motoyu-line__qr {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 96px;
	height: 96px;
	color: #a89a84;
	font-size: 0.7rem;
	line-height: 1.5;
	text-align: center;
	background: #fff;
	border: 1px solid #e3d6bf;
	border-radius: 6px;
}

.motoyu-line__qr img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.motoyu-line__text {
	min-width: 0;
}

.motoyu-line__title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
}

.motoyu-line__offer {
	margin: 2px 0 0;
	color: #b8322a;
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1.35;
}

.motoyu-line__note {
	margin: 4px 0 0;
	color: #6b6257;
	font-size: 0.78rem;
}

.motoyu-line__button {
	display: inline-block;
	margin-top: 8px;
	padding: 8px 18px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	background: #06c755;
	border-radius: 999px;
}

@media (min-width: 700px) {
	.motoyu-line {
		gap: 24px;
		padding: 16px 24px;
	}

	.motoyu-line__qr {
		width: 132px;
		height: 132px;
	}

	.motoyu-line__title {
		font-size: 1.15rem;
	}

	.motoyu-line__offer {
		font-size: 1.9rem;
	}

	.motoyu-line__note {
		font-size: 0.9rem;
	}

	/* 店内タブレットなど大きな画面ではQRを読んでもらうので、ボタンは出さない */
	.motoyu-line__button {
		display: none;
	}
}
