@charset "utf-8";
/* menu.html だけで使うスタイル */

:root { --orange-accent: #d66a35; }   /* ドリンクセット案内の色(warabidrinkのアクセント色と同じ) */

/* ---------- メニューの種類へのリンク(黒帯) ---------- */
.menu-guide ul {
	background: #242422 url(../images/ui-quicknav-bg.webp);
	text-align: center;
	font-size: 0;   /* inline-block の間のすき間を消す */
}
.menu-guide li { display: inline-block; font-size: 14px; }
.menu-guide a { display: block; padding: 10px 20px; color: #fff; }
@media (max-width: 640px) {
	.menu-guide li { display: block; }
}

/* ---------- 「テイクアウト」「店内メニュー」の大きな区切り ---------- */
.takeout-sheet { max-width: 700px; }   /* 画像640px + 左右の余白 */
@media (max-width: 640px) {
	.menu-group { padding-top: 15px; }
	.takeout-sheet { padding-bottom: 15px; }
	.takeout-sheet a { width: 80%; margin-inline: auto; }
}

/* ---------- 種類ごとのまとまり(限定商品・お飲み物 …) ---------- */
.menu-category {
	display: flow-root;   /* 中の見出しの余白を外へはみ出させない */
	padding-bottom: 30px;
}
.menu-category .headline { margin-top: 1em; }
@media (max-width: 640px) {
	.menu-category .headline { margin-top: 15px; }
	.section-title + .menu-category { padding-top: 30px; }
	.menu-group :is(h2, h3)[id] { scroll-margin-top: 30px; }   /* ページ内リンクで見出しが画面の端に貼り付かないように */
}

/* 中央寄せの箱(価格表・案内など)は幅640pxまで */
.price-list,
.drink-set,
.drink-set-reminder,
.cake-set,
.menu-notice {
	max-width: 640px;
	margin-inline: auto;
}
@media (max-width: 640px) {
	.price-list,
	.drink-set,
	.drink-set-reminder,
	.cake-set,
	.menu-notice { margin-inline: 15px; }
}

/* ---------- 商品の写真グリッド ---------- */
.product-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 49px 4%;
	padding: 15px 30px 0;
}
.product-grid.three-columns { grid-template-columns: repeat(3, 1fr); }
.product-grid img { display: block; width: 100%; }
.product-grid.framed img {   /* 白い枠付きの正方形 */
	aspect-ratio: 1;
	object-fit: cover;
	background: #fff;
	border: 1px solid #ddd;
}
.product-grid h4 {
	font-size: 18.2px;
	font-weight: 700;
	color: var(--green);
}
.product-grid .price { margin: 0; }
.limited-tag { font-weight: 400; color: #a3413a; }
@media (max-width: 640px) {
	.product-grid { grid-template-columns: 1fr; gap: 14px 4%; padding: 44px 15px 0; }
	.product-grid.three-columns { grid-template-columns: repeat(2, 1fr); padding-top: 30px; }
}

/* ---------- 文字の価格表 ---------- */
.price-list { margin-top: 30px; }
.price-list div {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 12px;
	padding: 10px 4px;
	border-bottom: 1px dotted #ccc;
	font-size: 16px;
	color: var(--text-dark);
}
.price-list div:last-child { border-bottom: 0; }
.price-list dt { flex: 1 1 auto; }
.price-list dd { margin-left: auto; font-weight: 700; white-space: nowrap; }
@media (max-width: 640px) {
	.price-list div { font-size: 14px; }
}

/* ---------- ドリンクセットの案内 ---------- */
.drink-set {
	margin-top: 10px;
	padding: 24px 28px;
	background: #fdf1e6;
	border: 1px solid #f0cba3;
	border-left: 6px solid var(--orange-accent);
	color: var(--text-dark);
}
.drink-set h3 { margin-bottom: 8px; font-size: 20px; font-weight: 700; color: #a8461f; }
.drink-set p { margin-bottom: 16px; color: inherit; }
.drink-set-options { display: flex; gap: 16px; }
.drink-set-options > div {
	flex: 1 1 0;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #f0cba3;
	border-radius: 12px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
}
.drink-set-options h4 {   /* セット名の下に価格 */
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px dashed #f0cba3;
	font-size: 18px;
	font-weight: 700;
}
.drink-set-options h4 span { display: block; margin-top: 8px; color: #a8461f; }
.drink-set-options p { margin: 0 0 6px; font-size: 13px; color: #999; }
.drink-set-options ul { padding-left: 1.2em; list-style: disc; font-size: 15px; }
.drink-set-options li { padding: 2px 0; }
@media (max-width: 640px) {
	.drink-set { margin-bottom: 30px; }
	.drink-set-options { flex-direction: column; }
}

/* 各セクションから上のドリンクセット案内へ誘導する一言 */
.drink-set-reminder {
	margin-top: 30px;
	margin-bottom: 20px;
	padding: 10px 16px;
	background: #fdf1e6;
	border-left: 4px solid var(--orange-accent);
	font-size: 14px;
	color: var(--text-dark);
}
.drink-set-reminder a { font-weight: 700; text-decoration: underline; color: #a8461f; }
.drink-set-reminder a:hover { color: var(--orange-accent); }

/* ---------- 本日のケーキセット ---------- */
.cake-set { padding: 30px 0; }
.cake-set img { display: block; width: 100%; height: auto; margin-bottom: 16px; }
.cake-set div {
	padding: 20px 24px;
	background: #fdf1e6;
	border: 1px solid #f0cba3;
	text-align: center;
}
.cake-set .badge {
	display: inline-block;
	margin-bottom: 10px;
	padding: 3px 10px;
	background: var(--orange-accent);
	font-size: 12px;
	font-weight: 700;
	color: #fff;
}
.cake-set p { margin: 0; font-size: 13px; color: #777; }
.cake-set .price { margin-bottom: 10px; font-size: 15px; font-weight: 700; color: var(--text-dark); }
@media (max-width: 640px) {
	.cake-set { padding: 44px 0 0; }
}

/* ---------- 注意書き(オーダーストップ・税込表記) ---------- */
.menu-notice {
	padding: 10px 14px;
	background: #f5f2ec;
	border-left: 3px solid #b8a888;
	font-size: 12px;
	color: #777;
}
.menu-notice p,
p.menu-notice { margin-block: 0; font-size: 12px; color: #777; }
.menu-notice p + p { margin-top: 2px; }
@media (max-width: 640px) {
	.menu-group:last-child { padding-bottom: 15px; }
}
