/* ==== Price page only ==== */
.table{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.table .row{display:grid;grid-template-columns:1.2fr .6fr .6fr;padding:14px 16px}
.table .head{background:#f3f4f6;font-weight:700}
.table .row:nth-child(even){background:#fafafa}
.price{font-weight:800}

/* カード型メニュー */
.menu-grid{display:grid;gap:20px;grid-template-columns:repeat(1,minmax(0,1fr))}
@media(min-width:900px){ .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
.menu-card{display:flex;flex-direction:column;overflow:hidden}
.menu-media{aspect-ratio:16/9;background:linear-gradient(135deg,#eef6ff,#eaf2ff);border-bottom:1px solid var(--line)}
.menu-body{padding:16px}
.menu-title{font-weight:800;margin:6px 0}
.menu-price{font-size:22px;font-weight:900;margin-top:2px}
.menu-meta{color:var(--muted);font-size:14px;margin-top:4px}
.menu-note{color:var(--muted);font-size:13px;margin-top:4px}
.menu-cta{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--line)}

/* オプションのワイドテーブル */
.opt-table{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.opt-row{display:grid;grid-template-columns:1.2fr .6fr 1.2fr;padding:16px}
.opt-row.opt-head{background:#f3f4f6;font-weight:700}
.opt-row:nth-child(even){background:#fafafa}

/* FAQ（共通と被らない最小セット） */
.faq-acc{display:grid;gap:12px;margin-top:12px}
.faq-acc details{border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#fff}
.faq-acc summary{cursor:pointer;font-weight:700}
.faq-acc p{color:var(--muted);margin:8px 0 0}

.menu-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
